Pregunta:
Obtener la secuencia de proteína FASTA basada en palabras clave con Python
tahunami
2017-07-25 14:34:44 UTC
view on stackexchange narkive permalink

Me gustaría recopilar la secuencia de proteínas FASTA de Entrez con python 2.7. Estoy buscando proteínas que tengan las palabras clave: "terminasa" y "grande" en su nombre. Hasta ahora obtuve este código:

  de Bio import EntrezEntrez.email = "example@example.org" 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'))  

Sin embargo, puede conseguirme varias terminaciones de varios organismos, mientras que solo necesito bacteriófagos de forma terminaasa (específicamente Virus [taxid 10239], huésped: bacteria). Me las arreglé para obtener los identificadores de acceso nuccore de NCBI de los virus en los que estoy interesado, pero no sé cómo combinar esas dos informaciones. El archivo de identificación se ve así:

  NC_001341NC_001447NC_028834NC_023556 ...  

¿Necesito acceder a cada archivo gb de cada ID y buscar mi proteína deseada en eso?

¡Bienvenido a Bioinformática! ¿Intentó agregar "[taxid 10239], host: bacteria" en la búsqueda en Entrez? De las fastas recuperadas, también puede verificar si la identificación es de su interés y luego omitir las que no
Lo intenté, pero no sé si mi sintaxis es correcta. Debería ser: term = "terminase bacterias grandes [organismo]"
El término búsqueda sería la misma consulta que estableciste en la página del NCBI, que es '("Virus" [Organismo]) Y (host [Todos los campos] Y ("Bacteria" [Organismo] O "Bacteria Latreille et al. 1825" [Organismo] O bacterias [Todos los campos])) '
One responder:
tahunami
2017-07-25 17:28:13 UTC
view on stackexchange narkive permalink

Encontré lo que estaba buscando. En:

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

He añadido :

  searchterm = "(terminase la subunidad grande Y virus [Organismo]) Y Caudovirales Y refseq [Filtro]" searchResultHandle = Entrez.esearch (db = "proteína", term = término de búsqueda, retmax = 6000)  

que tampoco redujo mis búsquedas a los virus deseados. De acuerdo, no está filtrado por host, sino por un grupo de taxonomía, pero es suficiente para mi trabajo.

Gracias @Llopis por la ayuda adicional

Recuerde aceptar esta respuesta. El sistema no le permitirá aceptar su propia respuesta después de publicarla, pero debería poder hacerlo ahora.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...