\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 automatizar procesos que serán la base para crear scripts en BASH para bioinformática\n",
"* Conocer y usar las herramientas de edición de texto\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 \">\" -A5 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": "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": "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": "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": {
"scrolled": true
},
"outputs": [],
"source": [
"fastqc SRR957824_1.fastq.gz"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "037a5bc6-13e2-4be0-a9ad-01e8f50f8ad9",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"zcat SRR957824_1.fastq.gz|head -n20"
]
},
{
"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": "4d1e2221-385b-498c-baad-9815593d4c99",
"metadata": {},
"outputs": [],
"source": [
"ls -lh SRR957824_1.fastq"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d78dcc7e-5701-48e1-ad6f-bead4b6e05bc",
"metadata": {
"scrolled": true
},
"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": {
"scrolled": true
},
"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",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4833abde-7307-490d-913b-faf9dac3d57b",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"sed -n '2s/\\(.\\{9\\}\\)\\(.\\{41\\}\\)/\\2/p' sampledata/t-coffee/sproteases_small_dna.fasta "
]
},
{
"cell_type": "markdown",
"id": "52186444-ad68-4381-8c7d-b07a8737e2cf",
"metadata": {},
"source": [
"esta instrucción:\n",
"\n",
"* Lee la segunda línea del archivo.\n",
"* Extrae los caracteres del 10 al 50.\n",
"* Imprime únicamente esos caracteres en la salida estándar.\n",
"\n",
"\n",
"Análisis de la instrucción:\n",
"\n",
"1. `sed -n`: Invoca el comando sed (stream editor) en modo \"silencioso\". No imprime nada automáticamente, a menos que se indique con el modificador p (print).\n",
"2. `2s`: Aplica la operación de sustitución (s/.../.../) únicamente a la segunda línea del archivo.\n",
"3. Patrón de búsqueda: `\\(.\\{9\\}\\)\\(.\\{41\\}\\)`:\n",
" 1. Busca una secuencia en la línea que coincida con:\n",
" + *\\(.{9}\\)*: Los primeros 9 caracteres de la línea (grupo 1).\n",
" + *\\(.{41}\\)*: Los siguientes 41 caracteres de la línea (grupo 2).\n",
" + Los paréntesis \\(...\\) agrupan estas partes como subexpresiones para referencia posterior.\n",
"4. Reemplazo: `\\2`:\n",
" + Sustituye todo el contenido de la línea con el segundo grupo capturado (los caracteres 10 al 50 de la línea original).\n",
" + El primer grupo (\\1) es descartado.\n",
"5. `p` (print): Imprime la línea modificada después de la sustitución."
]
},
{
"cell_type": "markdown",
"id": "db201203-cefd-4e51-a1f0-2870d6ab668c",
"metadata": {},
"source": [
"un ejemplo sencillo con `awk` puede ser convertir un texto a mayúsculas o viceversa, en este caso podemor convertir la cadena a mayúsculas con `awk '{print toupper($0)}'`, lo contrario sería; `awk '{print tolower($0)}'`:"
]
},
{
"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": {
"scrolled": true
},
"outputs": [],
"source": [
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|awk '{print toupper($0)}'"
]
},
{
"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/T/U/g; s/A/A/g; s/G/c/g; s/C/g/g'"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "99475cd5-12e1-4a79-8744-147a90e93576",
"metadata": {},
"outputs": [],
"source": [
"\n",
"head sampledata/t-coffee/sproteases_small_dna.fasta -n17|bioawk '{print toupper($0)}'|bioawk -c fastx '{A=0; T=0; G=0; C=0; for(i=1; i<=length($seq); i++) {if(substr($seq,i,1)==\"A\") A++; if(substr($seq,i,1)==\"T\") T++; if(substr($seq,i,1)==\"G\") G++; if(substr($seq,i,1)==\"C\") C++} print \"A: \" 100*A/length($seq) \"% T: \" 100*T/length($seq) \"% G: \" 100*G/length($seq) \"% C: \" 100*C/length($seq)\"%\"}' "
]
},
{
"cell_type": "markdown",
"id": "83967b31-88d6-4f60-b2fc-e7e6b599b11c",
"metadata": {},
"source": [
"### Resumen\n",
"\n",
"En esta práctica hemos podifo trabajar con `tuberías`. `awk` y `bioawk` dónde hemos visto que es posible:\n",
"+ Conectar la salida de un comando a otro a atrvés de tuberías\n",
"+ Contar bases o aminoácidos específicos.\n",
"+ Obtener estadísticas como la longitud de la secuencia.\n",
"+ Modificar la secuencia (convertir a mayúsculas/minúsculas).\n",
"+ Extraer fragmentos de la secuencia.\n",
"+ Filtrar o mostrar identificadores de las secuencias.\n",
"+ Calcular la composición 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|P21844|MCPT5_MOUSE\"* y muestre:"
]
},
{
"cell_type": "markdown",
"id": "5c0bc554-92a7-4e7c-a72d-d1c69243377c",
"metadata": {},
"source": [
"#### 1. La longitud de esta secuencia"
]
},
{
"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. Las primeras 60 bases nitrogenadas de la secuencia"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6e11cb35-5716-4f14-a5b3-62901ab34fc4",
"metadata": {},
"outputs": [],
"source": [
"# Código y respuesta"
]
},
{
"cell_type": "markdown",
"id": "1b2aa979-8921-45ab-9995-4d1bb422e736",
"metadata": {},
"source": [
"#### 3. La cantidad de veces de cada una de las bases nitrogenadas"
]
},
{
"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": "markdown",
"id": "cd6ee19e-f1bd-48c2-9a09-96d96d9a80a4",
"metadata": {},
"source": [
"#### 2.1. ¿Cómo podría utilizar grep para buscar una secuencia específica de nucleótidos dentro de un archivo FASTA que contiene varias secuencias de ADN? (Revise la práctica anterior)"
]
},
{
"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. ¿Cómo convertiría una secuencia biológica de mayúsculas a minúsculas usando bioawk?. cómo ejemplo aplíquelo al archivo \"sample_aln2.fasta\" de la carpeta t-coffe"
]
},
{
"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. ¿Cómo podría usar bioawk para extraer los nombres de las secuencias y sus longitudes en un archivo FASTA?"
]
},
{
"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%|"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "474ae391-09f8-4218-883f-2edb696b0f00",
"metadata": {},
"outputs": [],
"source": []
}
],
"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
}