7
votes

Traitement des fichiers multifasta

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.

Pouvez-vous m'aider? Merci beaucoup: -)


0 commentaires

4 Réponses :


7
votes

Certains des outils Emboss sont une collection de petits outils pouvant vous aider.

  • seqstats retourne la longueur de la séquence
  • PEPSTATS 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

    Pour compter le nombre d'entrées FASTA, j'utilise: Grep -C '^>' MyEvers.fasta .

    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


0 commentaires

2
votes

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


0 commentaires

0
votes

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(), '*'))


0 commentaires

0
votes

La chape dans Python est brillante.

import screed
for record in screed.open(fastafilename):
    print(len(record.sequence))


0 commentaires