python 正则匹配行开头为‘>’的行

因为fasta文件格式通常为

>name1

ATGATAGTGTCTGTAGCTGACTGT

AGTGCTGTAGATAGCTAGCTAGTC

>name2

AGTCGATCGTAGTAGCTAGCTAGC

AGTCGATGCTAGCTAGCTACGAAA

需要识别每次以'>'开头的行来区分每段编码达到处理单条序列的目的,因此需要使用正则表达式来识别每次的名字行

1.规规矩矩的写法

import re
for line in open("aa.fasta"):
    line = line.strip('\n')
    regex = re.compile('^>') 
    m = re.match(regex,line)
    if m is not None:
        print line

输出为所有开头为'>'的行

2.可以把regex那行省略

import re
for line in open("aa.fasta"):
    line = line.strip('\n')
    m = re.match('^>',line)
    if m is not None:
        print line

3.还可以把m省略

import re
for line in open("aa.fasta"):
    line = line.strip('\n')
    if re.match('^>',line) is not None:
        print line

以上三种输出结果相同,都是输出以'>'开头的名字那行。