multiFASTA文件处理

时间:2009-11-24 10:55:23

标签: bioinformatics biopython fasta bioconductor bioperl

我很想知道是否有任何生物信息学工具可以处理multiFASTA文件,给我信息序列,长度,核苷酸/氨基酸含量等信息,并可能自动绘制描述性图。 R BIoconductor解决方案或BioPerl模块也可以,但我找不到任何东西。

你能帮帮我吗?非常感谢: - )

3 个答案:

答案 0 :(得分:7)

一些浮雕工具是一组可以帮助你的小工具。

要计算fasta条目的数量,我使用:  grep -c '^>' mySequences.fasta

为确保没有任何条目重复,我会在执行此操作时检查是否得到相同的数字:grep '^>' mySequences.fasta | sort | uniq | wc -l

答案 1 :(得分:2)

你可能也对 faSize 感兴趣,这是Kent Source Tree的一个工具,虽然这需要更多的努力(你必须加载和编译),而不仅仅是使用grep ..这是一些示例输出:

me@my-lab ~/data $ time faSize myfile.fna
215400419 bases (104761 N's 215295658 real 215295658 upper 0 lower) in 731620 sequences in 1 files
Total size: mean 294.4 sd 138.5 min 30 (F5854LK02GG895) max 1623 (F5854LK01AHBEH) median 307
N count: mean 0.1 sd 0.4
U count: mean 294.3 sd 138.5
L count: mean 0.0 sd 0.0
%0.00 masked total, %0.00 masked real

real    0m3.710s
user    0m3.541s
sys     0m0.164s

答案 2 :(得分:0)

应该注意(对于任何绊脚石的人,就像我刚才那样),有一个强大的python库专门用于处理这些称为Biopython的任务。在几行代码中,您可以快速访问上述所有问题的答案。以下是一些非常基本的示例,主要是从链接改编而来。本教程中还有样板GC%图和序列长度图。

In [1]: from Bio import SeqIO

In [2]: allSeqs = [seq_record for seq_record in SeqIO.parse('/home/kevin/stack/ls_orchid.fasta', """fasta""")]

In [3]: allSeqs[0]
Out[3]: SeqRecord(seq=Seq('CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGG...CGC', SingleLetterAlphabet()), id='gi|2765658|emb|Z78533.1|CIZ78533', name='gi|2765658|emb|Z78533.1|CIZ78533', description='gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA', dbxrefs=[])

In [4]: len(allSeqs) #number of unique sequences in the file
Out[4]: 94

In [5]: len(allSeqs[0].seq) # call len() on each SeqRecord.seq object
Out[5]: 740

In [6]: A_count = allSeqs[0].seq.count('A')
        C_count = allSeqs[0].seq.count('C')
        G_count = allSeqs[0].seq.count('G')
        T_count = allSeqs[0].seq.count('T')

        ​print A_count # number of A's

        144

In [7]: allSeqs[0].seq.count("AUG") # or count how many start codons
Out[7]: 0

In [8]: allSeqs[0].seq.translate() # translate DNA -> Amino Acid
Out[8]: Seq('RNKVSVGEPAEGSLMRPWNKRSSESGGPVYSAHRGHCSRGDPDLLLGRLGSVHG...*VY', HasStopCodon(ExtendedIUPACProtein(), '*'))