[Python-es] Problemas con el modulo re

alito s alito81 en gmail.com
Jue Mar 1 20:26:19 CET 2012


Hola a tod en s:
Me gustaría preguntarles una cosa, quizás muy básica pero llevo un ratito
rompiendome la cabeza. Resulta que estoy buscando una secuencia en
particular en un formato denominado fasta. Mi problema viene cuando quiero
que me ponga el nombre de la secuencia y además lo que estoy buscando en la
secuencia.
Por ejemplo, el archivo fasta consta de un ">" dónde se encuentra el nombre
de la secuencia, seguido por un "\n" y posteriormente la secuencia como tal.

"Ejemplo de formato fasta"
>hsa58962351 | 4568
CUGUACAGCCUCCUAGCUUUCC

Hice el siguiente programa:

inp = open(files, 'r')
myfile = inp.readlines()
for line in myfile:
     match1 = re.search(r'(>)(.*)(\n)', line)
     match2 = re.search(r'(UGAGGUAGUAGGUUGUAU)(\w+)', line)

# Es aqui donde ya me hago pelotas, porque lo que quiero es que me imprima
en la pantalla tanto el nombre de la secuencia como la línea donde entontro
mi secuencia determinada (match2).
# Entonces pongo algo así:
     if match2:
          print match1.group() + "\n"
          print match2.group() + "\n"

# Evidentemente aqui tengo un error garrafal porque match2 no lo encuentra,
simplemente porque no se encuentra en la misma línea dónde busco match1.
Entonces decidi hacer lo siguiente:

for line in myfile:
     match1 = re.search(r'(>)(.*)(\n)(UGAGGUAGUAGGUUGUAU)(\w+)', line)

Pero tampoco me funciona. Así que después de contarles mi trágica historia
quería ver si alguien de ustedes sabe como buscar en varias líneas o como
imprimir mis busquedas (el caso en donde busco match1 y match2) en la
pantalla.
Gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120301/aa6229cf/attachment.html>


Más información sobre la lista de distribución Python-es