2017-07-25 2 views
-1

Je voudrais rassembler la séquence de protéines FASTA de Entrez avec python 2.7. Je cherche des protéines qui ont les mots-clés: "terminase" et "large" dans leur nom. Jusqu'à présent, je suis arrivé ce code:Obtenir la séquence de protéine FASTA basée sur le mot-clé avec python

from Bio import Entrez 
Entrez.email = "[email protected]" 


searchResultHandle = Entrez.esearch(db="protein", term="terminase large", retmax=1000) 
searchResult = Entrez.read(searchResultHandle) 
ids = searchResult["IdList"] 

handle = Entrez.efetch(db="protein", id=ids, rettype="fasta", retmode="text") 
record = handle.read() 

out_handle = open('myfasta.fasta', 'w') 
out_handle.write(record.rstrip('\n')) 

Cependant, il peut me faire plusieurs terminases de divers organismes, alors que j'ai besoin que terminase bactériophage forme (specificly virus [taxid 10239], les bactéries hôtes J'ai réussi à obtenir le. nuccore adhésion ids de NCBI des virus j'Intersted, mais je ne sais pas comment combiner ces deux informations Le fichier id ressemble à ceci:.

NC_001341 
NC_001447 
NC_028834 
NC_023556 
... 

ai-je besoin d'accéder à tous les fichiers Go chaque identification et recherche de ma protéine désirée dedans?

+0

Salut, essayez de poster ceci sur le site de bio-informatique: https://bioinformatics.stackexchange.com/ – Plasma

+0

Je ne peux pas poster en 40 minutes:/sont ces sites connectés en d'une certaine manière? – tahunami

Répondre

1

J'ai trouvé ce que je cherchais. Dans:

searchResultHandle = Entrez.esearch(db="protein", term="terminase large", retmax=1000) 

J'ai ajouté:

searchterm = "(terminase large subunit AND viruses[Organism]) AND Caudovirales AND refseq[Filter]" 
searchResultHandle = Entrez.esearch(db="protein", term=searchterm, retmax=6000) 

qui norrowed le long de mes recherches sur les virus désirés. Certes, ce n'est pas filtré par l'hôte, mais par un groupe de taxonomie, mais cela suffit pour mon travail.

Merci @Llopis aide supplémentaire