Dans certaines bases de données, seul l'ID est décrit dans fasta et la description correspondant à cet ID peut être dans un fichier séparé.
Cela peut être utile AHRD (https://github.com/groupschoof/AHRD/blob/master/README.textile) Parce qu'il ne convient pas pour optimiser les annotations à l'aide de J'ai écrit le script suivant qui fusionne les deux fichiers.
fasta_annotation_merge.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#fasta_Modifiez les informations d'annotation avec l'élément id comme clé
import sys
from Bio import SeqIO
import csv
fasta_in = sys.argv[1] #Dans le premier argument, spécifiez le fichier fasta que vous souhaitez modifier.
changer_in = sys.argv[2] #KeyID délimité par des tabulations dans le deuxième argument\t Spécifiez le fichier qui décrit l'annotation
for q in open(changer_in, "r"): #Ouvrez le fichier d'informations d'annotation
change = q.split('\t') #Mettre dans la liste des changements séparés par des tabulations
for record in SeqIO.parse(fasta_in, 'fasta'): #Ouvrez Fasta File Parse à l'aide de SeqIO(Lire un élément à la fois)
id_part = record.id #Lire la partie ID de fasta
seq = record.seq #Lire la partie tableau de fastan
if id_part == change[0]: #Si la partie id du fichier fasta et la partie id de l'élément de changeur correspondent. ..
fasta_seq = '>' + id_part + ' '+ change[1] + '\n' + seq + '\n' #Organiser au format fasta
print(fasta_seq) #Sortie fasta vers sortie standard
Recommended Posts