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.
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()
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!