ARM*_*ARM 1 python bioinformatics fasta
我有一个文本文件,其中每个ID行开头,>下一行是一系列字符.字符序列之后的下一行将是另一个以ID开头的ID行>.但在其中一些,而不是我有序列“Sequence unavailable”.ID行之后的序列可以是一行或多行.像这样的例子:
>ENSG00000173153|ENST00000000442|64073050;64074640|64073208;64074651
AAGCAGCCGGCGGCGCCGCCGAGTGAGGGGACGCGGCGCGGTGGGGCGGCGCGGCCCGAGGAGGCGGCGGAGGAGGGGCCGCCCGCGGCCCCCGGCTCACTCCGGCACTCCGGGCCGCTC
>ENSG00000004139|ENST00000003834
Sequence unavailable
Run Code Online (Sandbox Code Playgroud)
我想过滤掉那些ID “Sequence unavailable”.输出应如下所示:
输出:
>ENSG00000173153|ENST00000000442|64073050;64074640|64073208;64074651
AAGCAGCCGGCGGCGCCGCCGAGTGAGGGGACGCGGCGCGGTGGGGCGGCGCGGCCCGAGGAGGCGGCGGAGGAGGGGCCGCCCGCGGCCCCCGGCTCACTCCGGCACTCCGGGCCGCTC
Run Code Online (Sandbox Code Playgroud)
你知道如何在python中做到这一点吗?
与其他答案不同,我强烈建议不要手动解析FASTA格式.这不是太辛苦,但也有缺陷,并且由于高效,完善的测试实现存在是完全没有必要的:
使用Bio.SeqIOBioPython; 例如:
from Bio import SeqIO
for record in SeqIO.parse(filename, 'fasta'):
if record.seq != 'Sequenceunavailable':
SeqIO.write(record, outfile, 'fasta')
Run Code Online (Sandbox Code Playgroud)
请注意缺少的空间'Sequenceunavailable':以FASTA格式读取序列将省略空格.
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |