\n",
"\n",
"**Nombre del estudiante:** "
]
},
{
"cell_type": "markdown",
"id": "2a6deee2-1f5b-4183-baba-c286cdbdf353",
"metadata": {},
"source": [
"# **\"Biología Computacional con BASH\"**\n",
"## Trabajo con el terminal BASH y secuencias biológicas.\n",
"\n",
"El manejo de archivos de secuencias biológicas en bioinformática es fundamental para el análisis de datos genómicos. Los formatos más comunes incluyen FASTA, FASTQ, GFF y otros formatos específicos. A continuación se presentan técnicas para manipular estos archivos desde la terminal usando herramientas de Linux y Bash.\n",
"\n",
"Los archivos de secuencias biológicas, especialmente cuando contienen grandes volúmenes de datos (por ejemplo, resultados de secuenciación de alto rendimiento), pueden ser bastante grandes y difíciles de manejar. Sin embargo, con los comandos adecuados desde BASH, se pueden gestionar y procesar de manera eficiente.\n",
"\n",
"1. FASTA\n",
"2. FASTQ\n",
"3. GFF\n",
"4. etc\n",
"\n",
"\n",
"**¿Qué esperamos aprender en esta libreta?**\n",
"\n",
"En esta libreta de trabajo, vamos a explorar los siguientes temas:\n",
"\n",
"* Conocer como se estructuran los archivos FASTA y FASTQ\n",
"* Conocer cómo realizar scripts en BASH para bioinformática\n",
"* Conocer y usar las herramientas de edición de texto\n",
"* Automatizar procesos\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "538053a0-2093-4aa9-9bc6-1e3ecca20393",
"metadata": {},
"source": [
"## Archivos FASTA\n",
"\n",
"`FASTA`es uno de los formatos más utilizados para representar secuencias biológicas. Un archivo FASTA contiene secuencias de ADN, ARN o proteínas precedidas por un encabezado que comienza con un signo de mayor (>).\n"
]
},
{
"cell_type": "markdown",
"id": "6db21097-4db6-4d91-ba65-ca12eab6d98f",
"metadata": {},
"source": [
"Para comenzar, listemos veamos el contenido del archivo `sproteases_small_dna.fasta` dentro de nuestra carpeta de trabajo."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5eba0013-ac21-464d-bbbe-7cdb8579e2bd",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"grep \">\" -A3 sampledata/t-coffee/sproteases_small_dna.fasta |head -n 20"
]
},
{
"cell_type": "markdown",
"id": "58ca81bd-b534-4b48-ac45-e5760b2ec4d5",
"metadata": {},
"source": [
"Aquí podemos apreciar que este archivo contiene varias secuencias, las mismas que empiezan con la línea de descripción que inicia cpon el símbolo `>`. Cada secuencia está conformada bases nitrogenadas que conforman el código genético del ADN (ácido desoxirribonucleico). Estas bases son los componentes fundamentales que al combinarse en diversas secuencias contienen la información genética necesaria para el desarrollo y funcionamiento de los organismos vivos. En este ejemplo cada secuencia ha sido truncada en la tercera líne posterior a la descripción.\n",
"\n",
"Si quisieramos ver todo su contenido de este archivo podemos usar el comando `cat`"
]
},
{
"cell_type": "markdown",
"id": "9f6fb74d-4fa2-4ca1-b4d3-d69307336003",
"metadata": {},
"source": [
"## Archivos FASTQ\n",
"\n",
"Es un formato que contiene más información que un archivo FASTA, ya que incorpora la calidad de las lecturas de secuenciación. Un archivo FASTQ tiene cuatro líneas para cada secuencia: el identificador, la secuencia, un separador (+), y una línea con las calificaciones de calidad."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8372d8cd-80fc-4804-ada8-0e3c959f5bc8",
"metadata": {},
"outputs": [],
"source": [
"grep \">\" -A3 sampledata/t-coffee/sproteases_small.fasta|grep TRY3_AEDAE -A 4"
]
},
{
"cell_type": "markdown",
"id": "11a37272-6586-4e49-a487-c6441ff798fc",
"metadata": {},
"source": [
"para interpretar la información que tiene un archivo FASTQ se puede usar el comando fastqc, para ello debe instalarlo desde un terminal con:\n",
"\n",
"`sudo apt install fastqc`\n",
"\n",
"Y luego ejecutarlo con el archivo FASTQ a analizar.\n",
"\n",
"Como ejemplo puede descargar el archivo FASTQ de la Escherichia coli K1, para ello lo descargaremos con `wget` "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5fc80546-2fda-4ba0-88e0-bd3d48d81bc3",
"metadata": {},
"outputs": [],
"source": [
"wget -c ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR957/SRR957824/SRR957824_1.fastq.gz "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c03c13ce-ebf3-4293-84ce-8658295f1b44",
"metadata": {},
"outputs": [],
"source": [
"fastqc SRR957824_1.fastq"
]
},
{
"cell_type": "markdown",
"id": "db1636aa-0a38-4b87-be3a-2255b1de2c59",
"metadata": {},
"source": [
"Esta herramienta genera un informe visual que describe varios aspectos clave de la calidad de las lecturas (reads) en un archivo FASTQ. Aquí se explican las principales secciones del informe:\n",
"\n",
"### 1. **Basic Statistics**\n",
" - **Descripción**: Resume las características generales del archivo FASTQ.\n",
" - **Incluye**:\n",
" - Número de secuencias totales.\n",
" - Longitud de las secuencias (mínima, máxima y promedio).\n",
" - Calidad promedio (Q-score).\n",
" - Contenido de GC (%).\n",
"\n",
"### 2. **Per Base Sequence Quality**\n",
" - **Gráfico**: Muestra la calidad promedio de las bases en cada posición a lo largo de las lecturas.\n",
" - **Interpretación**:\n",
" - Cada caja del gráfico representa la mediana (línea central), el rango intercuartil (caja) y las posiciones extremas (bigotes).\n",
" - Alta calidad se refleja en puntajes de calidad (>28) constantes.\n",
" - Degradación de calidad en las bases finales es común en plataformas como Illumina.\n",
"\n",
"### 3. **Per Sequence Quality Scores**\n",
" - **Gráfico**: Distribución de las calidades promedio por lectura.\n",
" - **Interpretación**: \n",
" - Lecturas con calidades consistentemente altas son ideales.\n",
" - Picos en calidades bajas pueden indicar problemas en la secuenciación.\n",
"\n",
"### 4. **Per Base Sequence Content**\n",
" - **Gráfico**: Proporción de nucleótidos (A, T, C, G) por posición en las lecturas.\n",
" - **Interpretación**:\n",
" - En una biblioteca bien balanceada, las proporciones deben ser similares.\n",
" - Desequilibrios (especialmente al inicio de las lecturas) pueden deberse a viéses en la preparación de la biblioteca.\n",
"\n",
"### 5. **Per Base GC Content**\n",
" - **Gráfico**: Contenido de GC por posición.\n",
" - **Interpretación**: \n",
" - Una línea plana indica distribución uniforme de GC.\n",
" - Variaciones pueden sugerir contaminación o errores técnicos.\n",
"\n",
"### 6. **Per Sequence GC Content**\n",
" - **Gráfico**: Distribución del contenido de GC entre las lecturas.\n",
" - **Interpretación**:\n",
" - Un pico único y simétrico es normal.\n",
" - Desviaciones pueden sugerir contaminación por organismos con distinto contenido GC.\n",
"\n",
"### 7. **Per Base N Content**\n",
" - **Gráfico**: Frecuencia de bases no determinadas (\"N\") por posición.\n",
" - **Interpretación**:\n",
" - Idealmente, debe ser cercano a 0. \n",
" - Valores altos indican problemas en la calidad de la secuenciación.\n",
"\n",
"### 8. **Sequence Length Distribution**\n",
" - **Gráfico**: Longitud de las lecturas.\n",
" - **Interpretación**: \n",
" - Una única longitud dominante es típica.\n",
" - Variación puede ser esperada en datos de secuenciación adaptativa.\n",
"\n",
"### 9. **Sequence Duplication Levels**\n",
" - **Gráfico**: Frecuencia de duplicación de lecturas.\n",
" - **Interpretación**:\n",
" - Altos niveles de duplicación pueden indicar enriquecimiento intencionado (e.g., RNA-seq) o contaminación.\n",
"\n",
"### 10. **Overrepresented Sequences**\n",
" - **Lista**: Secuencias presentes en frecuencias anormalmente altas.\n",
" - **Interpretación**: \n",
" - Puede indicar contaminantes como adaptadores, primers, o secuencias repetitivas.\n",
"\n",
"### 11. **Kmer Content**\n",
" - **Análisis**: Frecuencia de pequeños fragmentos (kmers) específicos.\n",
" - **Interpretación**:\n",
" - Picos inusuales pueden reflejar contaminación o artefactos de la secuenciación.\n"
]
},
{
"cell_type": "markdown",
"id": "5ab19724-34a0-49e1-b5f5-da99e9f41bf1",
"metadata": {},
"source": [
"En el informe de **FastQC**, cada gráfico o sección incluye un ícono en su cabecera que representa una evaluación general de esa métrica o análisis. Los íconos tienen los siguientes significados:\n",
"\n",
"\n",
"### **Íconos y su significado:**\n",
"\n",
"1. **✔ (Visto verde): Aprobado**\n",
" - Indica que los datos para esa métrica cumplen con los estándares de calidad esperados.\n",
" - No se requieren acciones adicionales.\n",
" - Ejemplo: Una buena distribución de calidad por base o un contenido de GC uniforme.\n",
"\n",
"2. **! (Advertencia amarilla): Precaución**\n",
" - Indica que hay algo inusual o ligeramente fuera de los parámetros óptimos.\n",
" - Puede no ser un problema grave, pero merece atención para evaluar si afecta el análisis downstream.\n",
" - Ejemplo: Ligero desequilibrio en el contenido de bases al inicio de las lecturas.\n",
"\n",
"3. **✘ (Cruz roja): Problema detectado**\n",
" - Indica que hay un problema significativo en esa métrica.\n",
" - Puede requerir intervención, como recorte, filtrado, o repetir la preparación/secuenciación de la muestra.\n",
" - Ejemplo: Alta proporción de bases de baja calidad o sobre-representación de adaptadores.\n",
"\n",
"\n",
"### **Interpretación en el contexto del análisis:**\n",
"\n",
"- **✔ Verde**: Los datos están en buen estado y no necesitas realizar ajustes específicos para esa métrica.\n",
"- **! Amarillo**: Es una señal para investigar. Si afecta mucho al análisis downstream (como ensamblado o mapeo), considera tomar medidas correctivas.\n",
"- **✘ Rojo**: Necesitas acción inmediata, ya que puede comprometer la utilidad de los datos para análisis posteriores.\n",
"\n",
"Al revisar estos íconos como una guía rápida se puede identificar las áreas que requieren atención en los datos de secuenciación."
]
},
{
"cell_type": "markdown",
"id": "bcf86477-39d9-4a35-aaa8-7b13e676a1e6",
"metadata": {},
"source": [
"#### split\n",
"Cuando trabajamos con archivos de secuencias biológicas grandes, es útil utilizar herramientas como `head`, `tail` para visualizar el contenido de un archivo el contenido sin necesidad de cargar todo el archivo en memoria como habíamos visto previamente. En ocasiones cuando un archivo es muy grande se lo puede dividir con `split`.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "feba7ac8-dfe6-41da-ac93-d5300964d000",
"metadata": {},
"outputs": [],
"source": [
"gunzip SRR957824_1.fastq.gz"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d78dcc7e-5701-48e1-ad6f-bead4b6e05bc",
"metadata": {},
"outputs": [],
"source": [
"wc -l SRR957824_1.fastq"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8e1594ab-4678-4899-8c21-873d535dc590",
"metadata": {},
"outputs": [],
"source": [
"split -l 200000 SRR957824_1.fastq"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "89c99073-8332-41d2-ace4-416b7259f645",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"fastqc xaa"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "58b4fc0f-a890-49b8-beb0-5d676a0d1e1c",
"metadata": {},
"outputs": [],
"source": [
"fastqc xab"
]
},
{
"cell_type": "markdown",
"id": "05ba740a-a0e9-4d42-953a-4b56a6eccc67",
"metadata": {},
"source": [
"### Archivos GFF\n",
"\n",
"Los archivos GFF son un estándar ampliamente utilizado en bioinformática para describir características genómicas de secuencias de ADN, ARN o proteínas. Estos archivos contienen información estructurada sobre anotaciones, como genes, exones, intrones, regiones promotoras, sitios de inicio de transcripción, y otros elementos funcionales.\n"
]
},
{
"cell_type": "markdown",
"id": "733e6d9d-4153-47ed-a1d6-206874f0972d",
"metadata": {},
"source": [
"#### zcat\n",
"\n",
"El comando zcat se utiliza en sistemas Unix/Linux para visualizar el contenido de archivos comprimidos en formato gzip (.gz) sin necesidad de descomprimirlos físicamente en el disco. Es especialmente útil cuando se trabaja con archivos grandes y se quiere ahorrar espacio y tiempo.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2fb39049-abb7-47eb-b4c7-3a4ca345fb64",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"zcat /usr/share/doc/python-biopython-doc/Tests/SwissProt/multi_ex.gff.gz"
]
},
{
"cell_type": "markdown",
"id": "787e5234-a07e-4900-92c8-2bdeee9165d8",
"metadata": {},
"source": [
"#### zgrep\n",
"\n",
"El comando zgrep permite buscar patrones de texto dentro de archivos comprimidos en formato gzip (.gz) sin necesidad de descomprimirlos previamente. Combina la funcionalidad de grep (búsqueda de patrones) y zcat (lectura de archivos comprimidos)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "27564a5e-16d0-4f5f-ac4c-5b7196b0a297",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"zgrep \"Peptide\" /usr/share/doc/python-biopython-doc/Tests/SwissProt/multi_ex.gff.gz"
]
},
{
"cell_type": "markdown",
"id": "bfb6eeb7-0204-435f-8406-dfe12d3d22cb",
"metadata": {},
"source": [
"De este grupo podemos filtrar solo aquellos cuyos nombres hagan referencia a *dna*"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "405d7019-c992-4c1c-87d4-631280a68c09",
"metadata": {},
"outputs": [],
"source": [
"ls sampledata/t-coffee|grep -i fasta|grep dna"
]
},
{
"cell_type": "markdown",
"id": "cece266e-07f3-4b44-a37e-ea23564d5824",
"metadata": {},
"source": [
"Veamos el contenido de *sampledata/t-coffee/sproteases_small_dna.fasta*"
]
},
{
"cell_type": "markdown",
"id": "b3dcd84f-3c5d-46d5-868f-9a7beff4a48a",
"metadata": {},
"source": [
"Podemos ver que la primera secuencia tien 17 líneas, por lo que con la ayuda del comando `head` podemos extraer solo esas lineas"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "15e0e06c-3e82-45a2-855a-45a163f46f6a",
"metadata": {},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17"
]
},
{
"cell_type": "markdown",
"id": "49212655-ce98-485a-8429-331edbbc2bc2",
"metadata": {},
"source": [
"#### sed: Stream Editor\n",
"El comando sed es una poderosa herramienta de edición de texto en sistemas Unix/Linux. Permite realizar operaciones como búsqueda, reemplazo, inserción, eliminación y transformación de texto en un flujo de datos o archivos de texto. Es particularmente útil para procesar grandes volúmenes de texto de forma automática.\n",
"\n",
"```bash\n",
"sed [opciones] 'comandos' archivo\n",
"```\n",
"\n",
"+ opciones: Configuran el comportamiento de sed (como -n para salida silenciosa).\n",
"+ comandos: Instrucciones para editar texto (por ejemplo, sustituciones o eliminación).\n",
"+ archivo: Archivo de texto que se procesará.\n",
"+ A través de tubería | se pueden procesar flujos de texto\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "9081cb7c-3a14-4bd5-bb0c-9f40e866260b",
"metadata": {},
"source": [
"## Ejemplo de transcripción de un flujo de secuencia\n",
"\n",
"La transcripción de una cadena de ADN es el proceso por el cual se sintetiza una molécula de ARN a partir de una secuencia de ADN, y es un paso clave en la expresión génica. Este proceso ocurre en el núcleo de las células eucariotas (o en el citoplasma de las procariotas) y sigue este proceso.\n",
"\n",
"Cada timina (T) en la secuencia original de ADN es sustituida por uracilo (U) para formar ARN.\n",
"El ARN tiene la misma secuencia que la cadena codificante del ADN (excepto que U reemplaza a T), y es complementario a la cadena molde.\n",
"Este ARN puede ser un ARN mensajero (ARNm), que luego será traducido a una proteína. El inicio del ARN con el codón AUG indica el posible inicio de la traducción, que codifica para metionina (el primer aminoácido en una proteína).\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "95b199b0-a538-4166-b9c3-bd92e7eb38f1",
"metadata": {},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|awk '{print toupper($0)}'"
]
},
{
"cell_type": "markdown",
"id": "302323bc-39d3-486e-8055-ff2947cf2697",
"metadata": {},
"source": [
"Dado que la secuencia inicia con ATGAAC cuya transcripción a ARN sería AUG, asumiremos que la dirección de la secuencia es 5'-3', y dado que para la transcripción usamos la cadena molde 3'-5' sacaremos el complemento de la cadena original ree plazando cada base nitrogenada por su complemento."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4a1b1021-3197-4ea2-a6a2-8fb4d4ef06f1",
"metadata": {},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|tail -n16|awk '{print toupper($0)}'|sed 's/A/t/g; s/G/c/g; s/C/g/g; s/T/a/g'"
]
},
{
"cell_type": "markdown",
"id": "e18d8c58-977f-488d-9080-968f8eff50a6",
"metadata": {},
"source": [
"Veamos esta instrucción paso a paso para comprender qué hace cada parte:\n",
"\n",
"### **Instrucción completa**\n",
"```bash\n",
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17 | tail -n16 | awk '{print toupper($0)}' | sed 's/A/t/g; s/G/c/g; s/C/g/g; s/T/a/g'\n",
"```\n",
"\n",
"### **1. `head sampledata/t-coffee/sproteases_small_dna.fasta -n17`**\n",
"- **`head`**: Muestra las primeras líneas de un archivo.\n",
"- **`-n17`**: Indica que se quieren las primeras 17 líneas del archivo `sproteases_small_dna.fasta`.\n",
"\n",
"**Salida parcial:** Las primeras 17 líneas del archivo.\n",
"\n",
"\n",
"### **2. `tail -n16`**\n",
"- **`tail`**: Muestra las últimas líneas de una entrada.\n",
"- **`-n16`**: De las 17 líneas seleccionadas por `head`, este comando toma las últimas 16.\n",
"\n",
"**Salida parcial:** Líneas 2 a 17 del archivo, ya que eliminamos la primera línea de la selección inicial.\n",
"\n",
"\n",
"### **3. `awk '{print toupper($0)}'`**\n",
"- **`awk`**: Herramienta de procesamiento de texto.\n",
"- **`toupper($0)`**: Convierte todas las letras de cada línea en mayúsculas.\n",
"\n",
"**Salida parcial:** Todo el texto restante está en letras mayúsculas.\n",
"\n",
"\n",
"### **4. `sed 's/A/t/g; s/G/c/g; s/C/g/g; s/T/a/g'`**\n",
"- **`sed`**: Realiza reemplazos en las líneas de texto.\n",
"- **`s/A/t/g`**: Reemplaza todas las \"A\" con \"t\".\n",
"- **`s/G/c/g`**: Reemplaza todas las \"G\" con \"c\".\n",
"- **`s/C/g/g`**: Reemplaza todas las \"C\" con \"g\".\n",
"- **`s/T/a/g`**: Reemplaza todas las \"T\" con \"a\".\n",
"\n",
"⚠️ **Nota importante:** Este comando reemplaza las bases **en un solo paso**, por lo que las bases ya modificadas en pasos anteriores afectan los siguientes reemplazos. Por ejemplo:\n",
"- Si una \"A\" se convierte en \"t\" primero, no volverá a convertirse en otra base en pasos posteriores.\n",
"\n",
"**Salida final:** La secuencia de ADN original en mayúsculas es convertida en minúsculas, con cada base transformada según las reglas de sustitución.\n",
"\n",
"### **Resumen del flujo completo**\n",
"1. Extrae las primeras 17 líneas del archivo.\n",
"2. Omite la primera línea (el encabezado) y conserva las 16 siguientes.\n",
"3. Convierte todo el texto a mayúsculas.\n",
"4. Realiza las sustituciones para transformar las bases de ADN con las reglas específicas de `sed`.\n",
"\n",
"El resultado es la cadena molde 3'-5', en las que las bases originales han sido sustituidas por otras bases representadas en minúsculas. Esto es útil para simular la cadena complementaria, aunque en este caso, no es una conversión biológicamente precisa debido al orden de las sustituciones."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "211380cb-6ebf-45ba-a79e-51589896506c",
"metadata": {},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|tail -n16|awk '{print toupper($0)}'|sed 's/A/t/g; s/T/a/g; s/C/g/g; s/G/c/g'|awk '{print toupper($0)}'|sed 's/A/u/g; s/T/a/g; s/C/g/g; s/G/c/g'"
]
},
{
"cell_type": "markdown",
"id": "68d52ef2-735f-4148-9171-e54973ba00a4",
"metadata": {},
"source": [
"Veamos esta instrucción desde las dos últimas tuberías `|`:\n",
"\n",
"\n",
"### **5. `awk '{print toupper($0)}'`**\n",
"- **`awk`**: Convierte de nuevo todo el texto a **mayúsculas**.\n",
"\n",
"**Salida parcial:** La secuencia transformada por `sed` es ahora en mayúsculas.\n",
"\n",
"\n",
"### **6. `sed 's/A/u/g; s/T/a/g; s/C/g/g; s/G/c/g'`**\n",
"- **`sed`**: Aplica una segunda ronda de sustituciones:\n",
" - **`s/A/u/g`**: Convierte todas las **A** en **u** (simula la conversión de ADN a ARN, donde **U (uracilo)** reemplaza a **T**).\n",
" - **`s/T/a/g`**: Convierte todas las **T** en **a**.\n",
" - **`s/C/g/g`**: Convierte todas las **C** en **g**.\n",
" - **`s/G/c/g`**: Convierte todas las **G** en **c**.\n",
"\n",
"⚠️ Igual que antes, las sustituciones son secuenciales y afectan las bases ya reemplazadas.\n",
"\n",
"\n",
"### **Interpretación biológica**\n",
"- **Primera `sed`:** Introduce cambios arbitrarios en las bases, simulando una transformación intermedia de 5'-3' a 3'-5'.\n",
"- **Segunda `sed`:** Convierte las bases nuevamente, simulando la transcripción de ADN a ARN, con **U** reemplazando a **T**.\n",
"\n",
"El resultado final es una versión \"ARN\" simulada desde la cadena inicial, aunque las transformaciones no necesariamente reflejan una lógica biológica precisa debido a la doble sustitución, sin embargo refleja el trabajo de BASH con flujos de texto, en este caso secuencias."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fc75a9b0-3a5d-4fef-a4a1-d3cbddc8d0a2",
"metadata": {},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|tail -n16|awk '{print toupper($0)}'|sed 's/A/u/g; s/T/a/g; s/G/c/g; s/C/g/g'"
]
},
{
"cell_type": "markdown",
"id": "83967b31-88d6-4f60-b2fc-e7e6b599b11c",
"metadata": {},
"source": [
"### Resumen\n",
"\n",
"En esta práctica hemos podido trabajar con `tuberías`. `awk` y `sed` dónde hemos visto que es posible:\n",
"+ Conectar la salida de un comando a otro a través de tuberías\n",
"+ Simular la conversión de cadenas 5'-3' a 3'-5'.\n",
"+ Simular la transcripción de ADN a ARN.\n",
"+ Modificar la secuencia (convertir a mayúsculas/minúsculas).\n",
"+ Extraer fragmentos de la secuencia."
]
},
{
"cell_type": "markdown",
"id": "16eb7afe-725e-41b2-bfeb-8949113102b6",
"metadata": {},
"source": [
"## Tarea \n",
"\n",
"### 1. Práctica\n",
"Con el mismo archivo que estamos trabajando extraiga la secuencia del descriptor *\">sp|P03953|CFAD_MOUSE\"* y:"
]
},
{
"cell_type": "markdown",
"id": "5c0bc554-92a7-4e7c-a72d-d1c69243377c",
"metadata": {},
"source": [
"#### 1. Asumiendo que es la secuencia codificante 5'-3', simule la conversión a la secuencia molde 3'-5'"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "512a7034-95e5-4919-90f1-3c663a9fbb93",
"metadata": {},
"outputs": [],
"source": [
"# Código y respuesta"
]
},
{
"cell_type": "markdown",
"id": "31248ff0-7681-4f46-b021-db15994112ae",
"metadata": {},
"source": [
"#### 2. Simule la conversión de la secuencia molde obtenida a ARN"
]
},
{
"cell_type": "raw",
"id": "8fc927e1-0de1-4542-8630-3baecb334bc3",
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"Recuerde que el resultado final es una versión \"ARN\" simulada desde la cadena inicial, aunque las transformaciones no necesariamente reflejan una lógica biológica precisa debido a la doble sustitución, sin embargo refleja el trabajo de BASH con flujos de texto, en este caso secuencias."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9b7f1340-0584-48d9-82a1-fcc36909c8d8",
"metadata": {},
"outputs": [],
"source": [
"# Código y respuesta"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6d310042-af76-423a-920d-ce8b186ac8b6",
"metadata": {},
"outputs": [],
"source": [
"#### 4. El porcentaje de cada una de las bases nitrogenadas\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6556343f-c6aa-4045-8b61-309ffc12022d",
"metadata": {},
"outputs": [],
"source": [
"# Código y respuesta"
]
},
{
"cell_type": "markdown",
"id": "8dc2cde3-5fb1-4f81-b08b-57be9aed9d72",
"metadata": {},
"source": [
"### 2. Cuestionario\n",
"\n",
"Conteste las siguientes preguntas"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9ce83b5d-b2c9-4423-a24d-a371de2b79e7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "cd6ee19e-f1bd-48c2-9a09-96d96d9a80a4",
"metadata": {},
"source": [
"#### 2.1. Usando BASH, ¿cuál es el proceso de simulación conversión de una secuencia codificante a una secuencia molde?"
]
},
{
"cell_type": "markdown",
"id": "eafb90a2-e69f-40e4-aa9f-3e9fffc26f3c",
"metadata": {},
"source": [
"ponga aquí su respuesta"
]
},
{
"cell_type": "markdown",
"id": "183f4dba-97a8-414d-b1d5-0db21a6674c2",
"metadata": {},
"source": [
"#### 2.2. Usando BASH, ¿cuál es el proceso de simulación conversión de una secuencia molde ADN a ARN?"
]
},
{
"cell_type": "markdown",
"id": "ce5ad841-dd44-4c9f-8b62-78130f37f054",
"metadata": {},
"source": [
"ponga aquí su respuesta"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "06a6d8c3-60fd-4427-b26d-811a20d6f14f",
"metadata": {},
"outputs": [],
"source": [
"# Código y respuesta"
]
},
{
"cell_type": "markdown",
"id": "1be86755-0a3e-40bf-b3bf-bdf436b5eb4d",
"metadata": {},
"source": [
"#### 2.3. Usando BASH, ¿qué estrategia usó para extraer solo la secuencia solicitada?"
]
},
{
"cell_type": "markdown",
"id": "97593c57-351a-4869-b504-4933c0e81afd",
"metadata": {},
"source": [
"ponga aquí su respuesta"
]
},
{
"cell_type": "markdown",
"id": "059d0f2e-003c-4c7c-9318-e08f01c71e04",
"metadata": {},
"source": [
"# Conclusiones y Recomendaciones\n",
"\n",
"Una vez ejecutado este cuaderno de trabajo y seguido las instrucciones que en el se detallan, desarrolle por lo menos tres conclusiones y recomendaciones delimitadas exclusivamente a las actividades ejecutadas en este cuaderno de trabajo."
]
},
{
"cell_type": "markdown",
"id": "f794f0d0-b583-42a8-ab0b-3caf6c58860f",
"metadata": {},
"source": [
"## Conclusiones\n",
"1. Conclusión 1\n",
"2. Conclusión 2\n",
"3. Conclusión 3"
]
},
{
"cell_type": "markdown",
"id": "b300a9e8-dfb2-47f1-b2b4-5768889dcefd",
"metadata": {},
"source": [
"## Recomendaciones\n",
"1. Recomendación 1\n",
"2. Recomendación 2\n",
"3. Recomendación 3"
]
},
{
"cell_type": "markdown",
"id": "b66302a9-89cb-464e-873d-d6f94bd23c85",
"metadata": {},
"source": [
"|RÚBRICA Y CRITERIOS DE EVALUACIÓN |||||\n",
"|:-|:-:|:-:|:-:|:-|\n",
"|PARÁMETROS|100%|50%|0%|Total parcial|\n",
"|Desempeño en el desarrollo del cuaderno de trabajo (toma de datos, realización de cálculos, ejecución de comandos, realización de programas, obtención de resultados, obtención de un producto, aplicación de una herramienta, realización de un procedimiento para experimento, etc.)|El estudiantes demuestra solvencia al desempeñarse durante la práctica|El estudiante demuestra parcialmente solvencia al desempeñarse durante la práctica |El estudiante no demuestra solvencia al desempeñarse durante la práctica |40%|\n",
"|Cuestionario|El estudiante contesta el cuestionario de forma correcta |El estudiante contesta la mitad del cuestionario de forma correcta|El estudiante contesta el cuestionario de forma incorrecta|30%|\n",
"|Conclusiones y Recomendaciones|Todas las conclusiones son adecuadas, objetivas y aplicables exclusivamente a la práctica|Las conclusiones son parcialmente adecuadas, objetivas y aplicables|Las conclusiones no son adecuadas, objetivas y aplicables|30%|\n",
"|TOTAL||||100%|"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Bash",
"language": "bash",
"name": "bash"
},
"language_info": {
"codemirror_mode": "shell",
"file_extension": ".sh",
"mimetype": "text/x-sh",
"name": "bash"
}
},
"nbformat": 4,
"nbformat_minor": 5
}