python

Python: validar secuencia de ADN

En este post te mostraré un ejercicio sencillo en Python. Se trata de, dada una cadena que representa la secuencia de ADN, ver si es válida.

No creas que será algo complejo o algo que tenga que ver realmente con el ADN (o cosas de esas que van mucho más allá de la programación) sino que simplemente será un ejercicio para comprobar si una string contiene únicamente las letras A, C, T y G.

Validar string de ADN con Python

Lo que tenemos que hacer es comprobar si cada letra del string está dentro de las letras ya indicadas. No debemos distinguir mayúsculas ni minúsculas, es decir, tanto “a” como “A” son válidas así que vamos a transformar todas las letras a minúsculas para una comparación más simple.

En caso de que la letra no sea ninguna de las mencionadas, inmediatamente nos detenemos e indicamos que no es una secuencia válida.

Código fuente

El código fuente queda como a continuación:

def secuencia_valida(secuencia):
    for letra in secuencia:
        if not letra.lower() in "actg":
            return False
    return True

En este caso regresamos True o False, para que la función sea reusable a través de todo el código. Una forma de uso es:

# Probar
secuencia = "ACTGactgGCTA"
print("¿Es válida?")
print(secuencia_valida(secuencia))

Finalmente el código completo queda así:

def secuencia_valida(secuencia):
    for letra in secuencia:
        if not letra.lower() in "actg":
            return False
    return True


# Probar
secuencia = "ACTGactgGCTA"
print("¿Es válida?")
print(secuencia_valida(secuencia))

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.