我有太多这样的台词:
>ENSG00000100206|ENST00000216024|DMC1|2371|38568257;38570043|38568289;38570286
CTCAGACGTCGGGCCGACGCAAGGCCACGCGCGCGAACACACAGGTGCGGCCCCGGGCCA
CACGCACACCGTACAC
>ENSG00000001630|ENST00000003100|CYP51A1|3210|92134365|92134530
TATATCACAGTTTCTTTCTTTTTTTTTTTTTTTTTTTTGAGACAGAGTTTTGCTCTTGTT
GCCCAGGCTGGAGTACAGTGACGCAATCTCGGCTCACTGCAACCTTTGCCTCCCAGGTTC
>ENSG00000100206|ENST00000216024|DMC1|2371|38568257;38570043|38568289;38570286
TTAACTATAATCCCACTGCCTATTTTTTTATTTCTAAAAATATCATAAAAAGACACAAAA
第一行(从>
开始)是identifier,其他行是sequence,而且每个identifier都有自己的序列。在上述示例中,ENSG00000100206
是名称,ENST00000216024
是异构体。在我的文件中,有一些标识符行具有相同的名称,但其他所有内容都不同。
我想得到最长的序列为每个名字,使一个新的文件。这意味着每个名字只有一次重复(但顺序最长)。
对于上述示例,结果如下所示:
>ENSG00000100206|ENST00000216024|DMC1|2371|38568257;38570043|38568289;38570286
CTCAGACGTCGGGCCGACGCAAGGCCACGCGCGCGAACACACAGGTGCGGCCCCGGGCCA
CACGCACACCGTACAC
>ENSG00000001630|ENST00000003100|CYP51A1|3210|92134365|92134530
TATATCACAGTTTCTTTCTTTTTTTTTTTTTTTTTTTTGAGACAGAGTTTTGCTCTTGTT
GCCCAGGCTGGAGTACAGTGACGCAATCTCGGCTCACTGCAACCTTTGCCTCCCAGGTTC
你们知道用python怎么做吗?你知道吗
您可以从使用Biopython获得适当的FASTA格式解析器开始:http://biopython.org/wiki/SeqIO
然后遍历这些记录,并对它们执行所需的操作。这不仅可以节省您编写解析器的时间,还可以防止您完全出错。你知道吗
这一页的例子:
不要打印,而是创建一个dict
{record.id: record.length}
,只有当长度较长时才更新它。你知道吗相关问题 更多 >
编程相关推荐