Está en la página 1de 23

Practica de Python

- Diana Carolina Pérez Acosta

1. Enteros y flotantes: Define dos variables, una con un número entero y otra con un número
flotante. Luego, realiza las operaciones de suma, resta, multiplicación y división entre ellas.
Imprime los resultados.

a=5

b = 3.2

print(a + b)

print(a - b)

print(a * b)

print(a / b)

In

Output

2. Strings: Define una variable con tu nombre y otra con tu apellido. Combina ambas
variables para imprimir tu nombre completo.
nombre = "Juan"

apellido = "Perez"

nombre_completo = nombre + " " + apellido

print(nombre_completo)

In

Output

3. Strings: Toma un string largo y utiliza el método de string `.split()` para dividirlo en una lista
de palabras. Después, utiliza `.join()` para unirlo de nuevo.

texto = "Este es un texto de ejemplo"

palabras = texto.split()

texto_reconstruido = ' '.join(palabras)

print(texto_reconstruido)

In

Output
4. Ejercicio de listas: Crea una lista con los nombres de tus tres películas favoritas. Luego,
añade una cuarta película a la lista usando el método `.append()`.

peliculas = ["Titanic", "Avatar", "Inception", “x”]

peliculas.append({‘s’:gy})

print(peliculas)

In

Output

5. Listas avanzado: Crea una lista con los números del 1 al 10. Luego, utiliza slicing para
obtener los primeros 5 números.

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

primeros_cinco = numeros[:5]

print(primeros_cinco)

In

Output

6. Diccionarios: Crea un diccionario que contenga información sobre una persona: nombre,
edad y ciudad en la que vive. Luego, imprime el valor asociado a 'ciudad'.

persona = {"nombre": "Ana", "edad": 20, "ciudad": "Ibague"}


print(persona["ciudad"])

In

Output

7. Diccionarios: Modifica el diccionario del ejercicio anterior para añadir un nuevo par clave-
valor: 'ocupación' y tu ocupación.

persona["ocupacion"] = "Ingeniera"

print(persona)

In

Output

8. Booleanos: Escribe una expresión que compare dos números y devuelva un valor
booleano. Por ejemplo, puedes comprobar si un número es mayor, menor o igual que otro
número.

a=5
b=7

print(a < b)

In

Output

9. Conversión de tipos: Toma una lista de strings que representan números ("1", "2", "3", etc.)
y conviértelos en enteros o flotantes utilizando la función `int()` o `float()`.

lista_strings = ["1", "2", "3"]

lista_enteros = [int(numero) for numero in lista_strings]

print(lista_enteros)

In

Output

10. Ejercicio integrado: Crea un programa que solicite al usuario ingresar su nombre (string),
edad (entero) y altura (flotante). Almacena estos datos en un diccionario y luego imprime
el diccionario.
nombre = input("Introduce tu nombre: ")

edad = int(input("Introduce tu edad: "))

altura = float(input("Introduce tu altura (en metros): "))

datos_usuario = {"nombre": nombre, "edad": edad, "altura": altura}

print(datos_usuario)

In

Output

En Python, los strings (cadenas de texto) tienen varias funciones o métodos integrados que puedes
usar para manipular y trabajar con ellos. En bioinformática, estos métodos son particularmente
útiles para trabajar con secuencias de ADN, ARN y proteínas.

11. Método upper(): Convierte todos los caracteres de un string a mayúsculas. En


bioinformática, a menudo se utiliza para normalizar las secuencias de ADN o proteínas.

dna_seq = "atgc"

dna_seq = dna_seq.upper()

print(dna_seq) # Imprime: ATGC

In
Output

12. Método lower(): Convierte todos los caracteres de un string a minúsculas. También se usa
para normalizar las secuencias.

dna_seq = "ATGC"

dna_seq = dna_seq.lower()

print(dna_seq) # Imprime: atgc

In

Output

13. Método replace (old, new): Reemplaza todas las ocurrencias de una subcadena por otra.
Este método puede usarse, por ejemplo, para transcribir una secuencia de ADN a ARN.

dna_seq = "ATGC"

rna_seq = dna_seq.replace('T', 'U')

print(rna_seq) # Imprime: AUGC

In

Output
14. Método count(substring): Cuenta las ocurrencias de una subcadena dentro del string. Esto
puede usarse para contar la frecuencia de ciertos nucleótidos o aminoácidos.

dna_seq = "ATGCGC"

a_count = dna_seq.count('A')

print(a_count) # Imprime: 1

ppp.. calcule el porcentaje de G y C de una secuencia de ADN.

In

Output

15. Método find(substring): Encuentra la primera ocurrencia de una subcadena y devuelve su


índice. Si la subcadena no se encuentra, devuelve -1. Esto puede usarse para encontrar la
primera ocurrencia de un patrón en una secuencia.

dna_seq = "ATGCGC"

start_codon_index = dna_seq.find('ATG')

print(start_codon_index) # Imprime: 0

In
Output

16. Método split(delimiter): Divide un string en una lista de substrings utilizando un


delimitador especificado. En bioinformática, esto puede usarse para separar secuencias o
datos en un archivo de texto.

fasta_header = ">seq1|organism|gene"

header_parts = fasta_header.split('|')

print(header_parts) # Imprime: ['>seq1', 'organism', 'gene']

In

Output

17. Traducción de codones a aminoácidos:

En la traducción genética, los codones (grupos de 3 nucleótidos) se traducen a aminoácidos.


Puedes usar un diccionario para representar el código genético, luego usar un bucle y slicing para
traducir una secuencia de ADN en una secuencia de proteínas.

codon_table = {

"ATA": "I", "ATC": "I", "ATT": "I", "ATG": "M",

"ACA": "T", "ACC": "T", "ACG": "T", "ACT": "T",


"AAC": "N", "AAT": "N", "AAA": "K", "AAG": "K",

"AGC": "S", "AGT": "S", "AGA": "R", "AGG": "R",

"CTA": "L", "CTC": "L", "CTG": "L", "CTT": "L",

"CCA": "P", "CCC": "P", "CCG": "P", "CCT": "P",

"CAC": "H", "CAT": "H", "CAA": "Q", "CAG": "Q",

"CGA": "R", "CGC": "R", "CGG": "R", "CGT": "R",

"GTA": "V", "GTC": "V", "GTG": "V", "GTT": "V",

"GCA": "A", "GCC": "A", "GCG": "A", "GCT": "A",

"GAC": "D", "GAT": "D", "GAA": "E", "GAG": "E",

"GGA": "G", "GGC": "G", "GGG": "G", "GGT": "G",

"TCA": "S", "TCC": "S", "TCG": "S", "TCT": "S",

"TTC": "F", "TTT": "F", "TTA": "L", "TTG": "L",

"TAC": "Y", "TAT": "Y", "TAA": "_", "TAG": "_",

"TGC": "C", "TGT": "C", "TGA": "_", "TGG": "W",

dna_seq = "ATGGCGCGTATGAATAGCAATCCGAGCGTAA"

# La secuencia debe ser múltiplo de 3

if len(dna_seq) % 3 == 0:

protein_seq = ""

for i in range(0, len(dna_seq), 3):

codon = dna_seq[i:i+3]

protein_seq += codon_table[codon]

print(protein_seq)

else:

print("La secuencia no es múltiplo de 3")

In
Output

18. Contando el contenido de GC:

El contenido de GC (guanina y citosina) es un importante indicador en estudios de genómica y


bioinformática. Se puede calcular fácilmente usando los métodos de string en Python.

dna_seq = "ATGGCGCGTATGAATAGCAATCCGAGCGTAA
In

Output

Bucles en python

Los ciclos, o bucles, son una parte fundamental de la programación. En Python, los dos tipos
principales de bucles son `for` y `while`.

19. Bucle for: Es un tipo de ciclo que itera sobre una secuencia (que puede ser una lista, una
tupla, un diccionario, un conjunto o una cadena). Este tiene una variable que cambia su
valor a cada elemento de la secuencia en cada iteración del bucle.

# Iterar sobre una lista

for i in [1, 2, 3, 4, 5]:

print(i)

En el ejemplo anterior, `i` toma el valor de cada elemento en la lista `[1, 2, 3, 4, 5]` en cada
iteración del bucle. Primero `i` es 1, luego 2, luego 3, y así sucesivamente hasta que la lista se
agote.
# Calcular la longitud de varias secuencias de ADN

dna_sequences = ["ATGCGTA", "ATCGT", "ATCGTAGCTA"]

for seq in dna_sequences:

print(len(seq))

En este ejemplo, `seq` toma el valor de cada secuencia en la lista `dna_sequences` en cada
iteración del bucle.

In

Output

20. Bucle while: Este bucle se ejecuta mientras se cumpla una condición determinada.

# Imprimir números del 1 al 5

i=1

while i <= 5:

print(i)
i += 1

En el ejemplo anterior, el bucle `while` continúa mientras `i` sea menor o igual a 5. Dentro del
bucle, incrementamos `i` en 1 en cada iteración.

In

Output

21. Bucle while (find seq)

# Buscar una secuencia hasta que se encuentre un codón de parada.


https://pythontutor.com/visualize.html#mode=edit

dna_sequence = "ATCGTAGCTTAGTATAGCTA"

i=0

while dna_sequence[i:i+3] != "TAG":

i += 3

print("El codón de parada se encuentra en la posición:", i)

In
Output

## Condicionales

Los condicionales en Python son una forma de controlar el flujo de tu programa. Permiten que tu
código tome decisiones y realice diferentes acciones dependiendo de si se cumple una condición
específica. Las instrucciones condicionales en Python se crean usando las palabras clave `if`, `elif`
(abreviatura de "else if") y `else`.

22. if: Ejecuta un bloque de código si una condición es verdadera.

edad = 18..000000………………………..

…..

if edad >= 18:

print("Eres mayor de edad")

In

Output

dna_seq = "ATGCGTAC"

if "ATG" in dna_seq:
print("La secuencia contiene un codón de inicio")

In

Output

23. elif: Proporciona una nueva condición que se verifica solo si las condiciones anteriores no
fueron verdaderas.

edad = 16

if edad >= 18:

print("Eres mayor de edad")

elif edad < 18:

print("Eres menor de edad")

In

Output
codon = "ATG"

if codon == "ATG":

print("Este es un codón de inicio")

elif codon == "TAG":

print("Este es un codón de parada")

In

Output

24. else: Se ejecuta un bloque de código si ninguna de las condiciones anteriores es verdadera.

edad = 15ATA

if edad >= 18:

print("Eres mayor de edad")

else:

print("Eres menor de edad")

In

Output
codon = "AGT"

if codon == "ATG":

print("Este es un codón de inicio")

elif codon == "TAG":

print("Este es un codón de parada")

else:

print("Este es un codón regular")

In

Output

Recuerda que las condiciones en los condicionales de Python pueden ser tan complejas como
necesites, utilizando operadores lógicos (`and`, `or`, `not`) y comparativos (`==`, `!=`, `<`, `>`, `<=`,
`>=`).

## leer y escribir archivos

Los archivos FASTA son un formato común para secuencias de ADN, ARN y proteínas. Típicamente,
contienen una línea de encabezado que comienza con un carácter ">" seguido por información
identificativa, y luego líneas de secuencia.
25. Contar el número de secuencias en un archivo FASTA

# Contar el número de secuencias en un archivo FASTA

sequence_count = 0

with open("sequences.fasta", "r") as fasta_file:

for line in fasta_file:

if line.startswith(">"):

sequence_count += 1

print(f"El archivo contiene {sequence_count} secuencias.")

En este ejemplo, se abre el archivo FASTA para lectura ("r") y luego se lee línea por línea. Si una
línea comienza con ">", se considera el inicio de una nueva secuencia, y se incrementa el contador
de secuencias.

In

Output

26. Filtrar secuencias de un archivo FASTA basándose en su longitud

# Filtrar secuencias de un archivo FASTA que son mayores a una cierta longitud

min_length = 500
with open("sequences.fasta", "r") as fasta_file, open("filtered_sequences.fasta", "w") as
output_file:

sequence = ""

for line in fasta_file:

if line.startswith(">"):

if sequence and len(sequence) >= min_length:

output_file.write(header + sequence)

header = line

sequence = ""

else:

sequence += line.strip()

if sequence and len(sequence) >= min_length:

output_file.write(header + sequence)

In

Output

27. Genere una archivo fasta


# Define tu secuencia de ADN

secuencia_dna = "AGTACACTGGT"

# Define un identificador y descripción para la secuencia

id_secuencia = "mi_secuencia"

descripcion = "Esta es mi secuencia de ADN"

# Crea la cadena del encabezado en formato FASTA

encabezado = f">{id_secuencia} {descripcion}\n"

# Combina el encabezado y la secuencia de ADN

secuencia_fasta = encabezado + secuencia_dna + "\n"

# Escribe la secuencia en un archivo en formato FASTA

with open("mi_secuencia.fasta", "w") as archivo:

archivo.write(secuencia_fasta)

# input en la terminal

Puedes usar la función `input()` para leer datos desde la terminal en Python. A continuación, te
dejo un script que lee un identificador y una descripción desde la terminal, genera una secuencia
de ADN aleatoria y guarda la secuencia en un archivo FASTA:

In

Output
28. import random

# Define las bases posibles en el ADN

bases = ['A', 'T', 'C', 'G']

# Genera una secuencia aleatoria de 200 bases

secuencia_dna = ''.join(random.choice(bases) for _ in range(200))

# Lee un identificador y descripción para la secuencia desde la terminal

id_secuencia = input("Por favor, introduce un identificador para la secuencia: ")

descripcion = input("Por favor, introduce una descripción para la secuencia: ")

# Crea la cadena del encabezado en formato FASTA

encabezado = f">{id_secuencia} {descripcion}\n"

# Combina el encabezado y la secuencia de ADN

secuencia_fasta = encabezado + secuencia_dna + "\n"

# Escribe la secuencia en un archivo en formato FASTA

with open("mi_secuencia.fasta", "w") as archivo:

archivo.write(secuencia_fasta)

Cuando ejecutes este script, te pedirá que introduzcas un identificador y una descripción para la
secuencia. Luego, generará una secuencia aleatoria de ADN y la guardará en un archivo FASTA.
In

Output

También podría gustarte