我有一个fasta文件。从该文件中,我需要获取序列的末尾和/或开始处只包含GTACAGTAGG
和{
>m121012_054644_42133_c100390582550000001523038311021245_s1_p0/7/2516_3269
***GTACAGTAGG***GTACACACAGAACGCGACAAGGCCAGGCGCTGGAGGAACTCCAGCAGCTAGATGCAAGCGACTA
TCAGAGCGTTGGGTCCAGAACGAAGAACAGTCACTCAAGACTGCTTT***CAACGGTTTTGCC***
>m121012_054644_42133_c100390582550000001523038311021245_s1_p0/7/3312_3597
CGCGGCATCGAATTAATACGACTCACTATAGGTTTTTTTATTGGTATTTTCAGTTAGATTCTTTCTTCTTAGAGGGTACA
GAGAAAGGGAGAAAATAGCTACAGACATGGGAGTGAAAGGTAGGAAGAAGAGCGAAGCAGACATTATTCA
>m121012_054644_42133_c100390582550000001523038311021245_s1_p0/7/3708_4657
***CAACGGTTTTGCC***ACAAGATCAGGAACATAAGTCACCAGACTCAATTCATCCCCATAAGACCTCGGACCTCTCA
ATCCTCGAATTAGGATGTTCTCCCCATGGCGTACGGTCTATCAGTATATAAACCTGACATACTATAAAAAAGTATACCAT
TCTTATCATGTACAGTAGG***GTACAGTAGG***
>m121012_054644_42133_c100390582550000001523038311021245_s1_p0/7/4704_5021
***GTACAGTAGG***GTGGGAGAGATGGCAGAAAGGCAGAAAGGAGAAAGATTCAGGATAACTCTCCTGGAGGGGCGAG
GTGCCATTCCCTGTGGTCACTTATTCTAAAGGCCCCAACCCTTCAAC***CAACGGTTTTGCC***
>m121012_054644_42133_c100390582550000001523038311021245_s1_p0/8/4223_4358
AAATATTGGGTCAAAGAACCGTTACTTTTCTTATATATGCGGCGCGAGGTTTTATATACTGATAAGAACCTACGCCATGG
GACATCTAATTCAGAGGGAAGAAGGTCCATGTCTGTTTGGATGAAATTGAGTCTG
(添加*
以突出显示)
我需要一些方法来获取在序列的末尾和/或开始处只包含GTACAGTAGG和caacggtttgcc的序列,并将它们放在一个新的fasta文件中。我对这个很陌生。我甚至不知道是否能做到。提前感谢您的帮助。在
可能不是最好的方法,这取决于你的序列大小,但这将完成工作。在
虽然对于Python来说,检查一个字符串的结尾和/或开头是否具有特定的序列确实是一项非常简单的任务(请参阅^{} 和^{} ),但这并没有解决从FASTA文件中提取序列作为字符串的问题。这里有一些问题,例如序列必须与其注释分开,并且它们可以跨越多行。因此,将字符串方法直接应用于文件的行不会产生所需的结果。在
这就是为什么您需要一个真正的解析器来实现FASTA格式。解析器将处理一个FASTA文件,并将注释和序列作为Python字符串提供给您。BioPython确实提供了一个,您可以这样做:
我还可以推荐使用^{} (我正在开发的基于Python的蛋白质组学微框架)来操作FASTA文件:
^{pr2}$Python在字符串中内置了一个名为startswith()的方法,还有一个名为endswith()的方法。所以你可以测试它是从一个开始到另一个结束,反之亦然。在
相关问题 更多 >
编程相关推荐