es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Empareje la secuencia AA con el archivo fasta de proteína.

Estoy trabajando con archivos FASTA de proteínas. Quiero encontrar secuencias de proteínas que tengan secuencias AA similares (en un archivo .txt) utilizando python/biopython. He intentado mucho pero no puedo encontrar dónde estoy equivocado.

usando biopython

records=SeqIO.parse(“proteina.fasta”) #para extraer las secuencias de proteína del archivo FASTA
for record in records:
output=record.sec
print(output) #solo para mostrar cómo se ve la salida.
# Usé ** para resaltar el área deseada
#aquí
–>VVSRELQALEAIRQKDEEDABCKARFRGIFSH
–>VVSRPQREEARJKLMIRQKDEEDKARFRGIFSH
–>VVSRELQALEARIRDKARFRGIFSH
f=open(‘amino_acidos.txt’, ‘r’) #para obtener las secuencias AA del archivo de texto o lo que hay dentro del archivo
for i in f: #para mostrar cómo se ve este archivo
print(i)
–>’QALEA’, ‘KARFRG’, ‘QALEAR’,’KAKAKA’, ‘PAKAR’

para hacer coincidir mis secuencias AA con las secuencias de proteínas

for i in f:
for j in output:
if i in j:
print(‘encontrado’)
else:
print(‘no encontrado’)
#resultado
–> error
–> error
–>error

al escribir la secuencia AA en lugar de “i”, da respuestas correctas

for j in output:
if ‘QALEA’ in j:
print(‘encontrado’)
else:
print(‘no encontrado’)

#resultado

–> encontrado
–> no encontrado
–> encontrado

Aquí, ¿en qué estoy haciendo mal? Se agradecerá cualquier ayuda. Soy nuevo en la programación.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en el bucle donde intentas hacer coincidir las secuencias de AA con las secuencias de proteínas.

    En primer lugar, al leer las secuencias de AA del archivo de texto, la variable ‘f’ se convierte en un objeto de archivo que debe leerse línea por línea para obtener las cadenas de secuencia de AA reales. Entonces, después de abrir el archivo ‘amino_acids.txt’, debes leer su contenido usando el método readlines() o readline():

    “`f = open(‘amino_acids.txt’, ‘r’)
    aa_seqs = f.readlines() # para obtener las secuencias de AA del archivo de texto
    f.close()


    Esto te dará una lista 'aa_seqs' que contiene las cadenas de secuencia de AA que puedes utilizar en tu bucle. En segundo lugar, debes iterar a través de la lista ('aa_seqs') y comprobar cada secuencia de AA con cada secuencia de proteína en el archivo FASTA. Así que el bucle debería verse así: ```python for aa_seq in aa_seqs: for record in SeqIO.parse("protein.fasta","fasta"): protein_seq = str(record.seq) # convertir la secuencia a cadena if aa_seq in protein_seq: print('encontrado') else: print('no encontrado')

    Aquí, iteramos a través de la lista ‘aa_seqs’ y luego iteramos a través de cada secuencia de proteína en el archivo ‘protein.fasta’ utilizando SeqIO.parse(). Luego, para cada secuencia de proteína, la convertimos en una cadena usando str() y comprobamos si la secuencia actual de AA (‘aa_seq’) está presente en ella. Si es así, imprimimos ‘encontrado’, de lo contrario imprimimos ‘no encontrado’.

    ¡Espero que esto ayude!

Comments are closed.