J'étais curieux de savoir s'il y a un outil de bioinformatique de bioinformatique, vous pouvez traiter un fichier multifasta me donnant des infos comme le nombre de séquences, de longueur, de contenu nucléotidique / aminoacide, etc. et peut-être automatiquement des parcelles descriptives. Aussi une solution de bioconducteur R ou un module BIOPERL ferait, mais je n'ai rien réussi à trouver rien. P>
Pouvez-vous m'aider? Merci beaucoup: -) p>
4 Réponses :
Certains des outils Emboss sont une collection de petits outils pouvant vous aider. P>
seqstats code> retourne la longueur de la séquence li>
-
PEPSTATS code> devrait vous donner du contenu aminoacide, etc.
Certains outils offrent également des fonctions de traçage. Très utile.
http://emboss.sourceforge.net/apps/release/5.0 /emboss/apps/groups.html li>
ul>
Pour compter le nombre d'entrées FASTA, j'utilise:
Grep -C '^>' MyEvers.fasta code>. p>
Pour vous assurer qu'aucune des entrées ne sont dupliquées, je vérifie que je reçois le même numéro lorsque cela le faisait: Grep '^>' MyEversa | Trier | UNIQ | wc -l code> p>
Vous pouvez également être intéressé par Fasize em>, qui est un outil de la Arbre Source Kent , bien que cela nécessite un peu plus d'effort (vous devez télécharger et compiler) que d'utiliser Grep ... Voici un exemple de sortie: 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
Il convient de noter (pour que quiconque trébuchait sur cela, comme je viens de le faire) qu'il y a une bibliothèque de Python robuste spécialement conçue pour gérer ces tâches appelées BiopyTon . Dans quelques lignes de code, vous pouvez accéder rapidement à des réponses pour toutes les questions ci-dessus. Voici quelques exemples très basiques, principalement adaptés à partir du lien. Il y a une plaque de chaudière GC% de graphiques et de la longueur de séquence dans le didacticiel.
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(), '*'))
La chape dans Python est brillante.
import screed for record in screed.open(fastafilename): print(len(record.sequence))