Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Replicación de ADN

Estas en el tema de Replicación de ADN en el foro de Python en Foros del Web. He empezado este año a programar, pero estoy teniendo varios problemas. En este momento estoy aprendiendo a usar strings y debo hacer un programa que ...
  #1 (permalink)  
Antiguo 21/04/2013, 16:29
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Pregunta Replicación de ADN

He empezado este año a programar, pero estoy teniendo varios problemas. En este momento estoy aprendiendo a usar strings y debo hacer un programa que replique la secuencia de ADN.
El primer paso es crear un ADN complementario.
Si el ADN original es este: CTACGCTAGCG
El ADN complementario sería así: GATGCGATCGC

Luego debo convertir el complementario en ARN mensajero, el cual se vería así:
GAUGCGAUCGC

Pero como sabrán un segmento válido de ARN solo puede empezar con AUG
En este caso, el ARN mensajero válido debe verse así
AUGCGAUCGC (he eliminado la G del principio)

El problema es como los caracteres de los strings son inmutables, no puedo sustituir los caracteres que quiero. Alguien me podría ayudar con este programa por favor! Se los agradecería bastante.
  #2 (permalink)  
Antiguo 21/04/2013, 17:23
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Replicación de ADN

Hace unos años alguien con una tarea similar pregunto eso.
http://www.forosdelweb.com/f130/reem...python-953626/

Te responderé lo mismo que le respondí en ese entonces.
Código Python:
Ver original
  1. from string import maketrans
  2. table = maketrans("AGTC", "TCAG")
  3. print "CTACGCTAGCG".translate(table)

Básicamente haces una tabla de traducción y luego utilizas el método translate (traducir). Es muy rápido y eficiente. Esta en la documentación http://docs.python.org/2/library/str...ring.maketrans

Otra cosa que puedes hacer es usar listas con cadenas de longitud 1, para poder tratar esta lista como un string mutable y solamente al final usar un ''.join(my_string) para convertir la lista a un string.

Por ultimo te recomendaría desarrollar tu pregunta por que si no fuera por que ya había resuelto este problema no tendría idea de lo quieres hacer. De hecho en la parte del ARN no tengo idea de que es lo quieres hacer. Ya que no provees el método o la tabla de traducción.
  #3 (permalink)  
Antiguo 21/04/2013, 19:29
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Replicación de ADN

Gracias por tu ayuda! Y tienes razón, me faltó desarrollar mejor la pregunta. Prácticamente, para obtener un ADN complementario, se utiliza esta tabla:
A--->T
T--->A
C---->G
G---->C

Del ADN complementario, se obtiene el ARN mensajero siguiendo ahora esta tabla:
A---->A
T---->U
C---->C
G---->G

Al final, el ARN debiera lucir algo así: GCAUGCGUAUCGU
Sin embargo, para que se puedan obtener proteínas, debe haber una traducción del ARN. Para que esto ocurra, el codón de inicio (el primer triplete de bases de la cadena de ARN) debe comenzar con AUG. En este caso, mi cadena de ARN comienza con GC y luego aparece AUG. Para que mi segmento de ARN sea válido, debo eliminar las bases GC, para que de esta manera, mi cadena de ARN comience con AUG.
  #4 (permalink)  
Antiguo 21/04/2013, 21:18
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Replicación de ADN

Lo ultimo es sencillo.

Puedes usar el método startswith para checar si la cadena empieza con AUG. Si no empieza con AUG le quitas la primera letra, así hasta que la cadena empiece con AUG o te quede una cadena con longitud menor a 3.

Etiquetas: caracteres, strings, sustituir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:21.