Mostrando entradas con la etiqueta adn. Mostrar todas las entradas
Mostrando entradas con la etiqueta adn. Mostrar todas las entradas

viernes, 29 de abril de 2016

Análisis de secuencias de ADN.

Tema 2. Ciencia y tecnología.


La bioinformática es una técnica computacional basada en el análisis de caracteres. Se utiliza para comparar cadenas de ADN. ARN y secuancias de aminoácidos. Los bancos de ADN proporcionan aplicaciones en linea para ayudarnos en identificación de cadenas que hayamos secuenciado o que necesitemos identificar.
En la sección Archivos de este grupo coloqué un pdf con la descripción del reporte generado por la aplicación BLAST Assembled Genomes.
 https://www.facebook.com/download/1478773715767886/Bioinformatica_HowTo_NewBLAST.pdf
1) Copia la secuencia de tu equipo (con todo y número) 2) Entra a la base de datos del NCBI
http://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastn&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome
3) Pega tu secuencia en el recuadro blanco donde dice Enter accession number(s), gi(s), or FASTA sequence(s): 
4) Baja la pagina busca un recuadro azul en la esquina izquierda, dice BLAST, dale click 
5) Espera 5 segundos hasta que aperesca una ventana donde puedes ver los nucleótidos que se alinearon de color rojo, si das click sobre cada barra puedes ver el resultado o en la parte de abajo de la ventana se encuentra escrito el resumen, donde en el primer sitio está el nombre del microorganismo que mas de parece a tu bacteria. 
6) ¿Que bacteria identificaste?
>1 GTCCCGCCTGCCCAGTGACAACTTAGTTCAACGGCCGCGGTATTTTGACCGTGCAAAGGTAGCGTAATCA TTGTCTTTTAAATGAAGACCTGTATGAATGGCATAACGAGGGCTTAACTGTCTCCTTCCCCTGGTCAAT GAAATTGATCTCCCCGTGCAGAAGCGGGGATGAAACCATAAGACGAGAAGACCCTATGGAGCTTTAGACA CACAGGTGGACCATGTCAAATACCCCCAGCTAAGGGCCTGAACTAAATGGAACCTGCCTTGATGTCTTCG GTTGGGGCGACCATGGGGAATACAAAACCCCCACGTGGAAAGGGAGCACACCCCTAAGTTACTTCTTCTC CCGCAAGCCAGAGCAACAGCTCTAACAAGCAGAAATTCTGACCAAACTGATCCGGTAAAACCGATCAACG AACCAAGTTACCCTAGGGATAACAGCGCAATCCCCTTTTAGAGCCCATATCGACAAGGGGGTTTACGACC TCGATGTTGGATCAGGACATCCTAATGGTGCAGCCGCTATTAAGGGTTCGTTTGTTCAACGATTAAAGTC CTACGTGAT
2> TTGTCTTTTAAATAAAGACCAGTATGAATGGCAAGACGAAAGTTCAACTGTCTCCCTAAATTAATCAATG AAATTGATCTTCCCGTGCAGAAGCGGGAATATAAATATAAGACGAGAAGACCCTATGGAGCTTTAAATAT ATGGTCAATTGTATATTACATGAACCAAAAGGTAAAATATTAAATAAAACATAGTGATCAAAATTTTAGG TTGGGGCGACCACGGAGAAAAACAAAACCTCCGAGATGAAAAAATATCTTAACTTATGAACTACAGTTCT AAAAAATAAAATATTTAACATAATTGATCCAATATATTGATCAACGAACCAAGTTACCCTAGGGATAACA GCGCAATCCTTTCCAAGAGTTCCTATCGACGAATGGGTTTACGACCTCGATGTTGGATCAGGACACCCCG ATGGTGTAGCCGCTATTAAAGGTTCGTTTGTTCAACGATTAAAGT
>3 TAGCTTAAAGATTTATTTTAGGTAAATTCTGCCCAGCGTAAAATATTAGCGGCCGCAGTAAAATTGACTG TGCTAAGGTAGCATAATCAATTGGCTTTTAATTGAAGTCTGGAATGAACGGATTAATGGGGACTTGCTGT CTCTTAATAATTACTTTGAAATTATTTATTAAGTGAAAATACTTATAATTAGAAAAAAGACGAGAAGACC CTTAGAATTTTTAATAAAACATAAATAAATGTTATTTTTTTGTTGGGGCGACATTGAAACAATAAAACTT TCTTTATTTCATGACATTAAGGTTTGAAAGAGTAAATTACCTTAGGGATAACAGCATAATTAATAAATTA GTTTGTGACCTTGTTGTTGGACTAGGAACTAGTTGACTAGCAGTCAAAATAGATTGTTCTGTTCGAACAG AAATTCCTAC
>4 TTGTGACGCTTCGGCAGGCTTAACACATGCAAGTCCGAGGGGTATATGTCTTCGGATATAGAGACCGGCG CACGGGTGCGTAACGCGTATGCCATCTACCTTTTACAGAGGGATAGCCCAGAGAAATTTGGATTAATACC TCATAGCATAGCGACTCCGCATGAAGCAACTATTAAAGTCACAACGGTTAAAGATGAGCATGCGTCCCAT TAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCTACGATGGGTAGGGGTCCTGAGAGGGAGATCCCCCAC ACTGGTACTGAGACACGGACCAGACTCCTACGGGAGGCAGCAGTGAGGAATATTGGACAATGGGCGCAAG CCTGATCCAGCCATGCCGCGTGCAGGATGACGGTCCTATGGATTGTAAACTGCTTTTGTACGAGAAGAAA CACTCCTTCGTGAAGGAGCTTGACGGTATCGTAAGAATAAGGATCGGCTAACTCCGTGCCAGCAGCCGCG GTAATACGGAGGATCCAAGCGTTATCCGGAATCATTGGGTTTAAAGGGTCCGTAGGCGGTTTAGTAAGTC AGTGGTGAAAGCCCATCGCTCAACGGTGGAACGGCCATTGATACTGCTAAACTTGAATTATTAGGAAGTA ACTAGAATATGTAGTGTAGCGGTGAAATGCTTAGAGATTACATGGAATACCAATTGCGAAGGCAGGTTAC
>5 GCGCATGCTTAACACATGCAAGTCGAGCGGTAAGGCCTTTCGGGGTACACGAGCGGCGAACGGGTGAGTA ACACGTGGGTGATCTGCCCTGCACTCTGGGATAAGCTTGGGAAACTGGGTCTAATACCGGATATGACCAC AGCATGCATGTGTTGTGGTGGAAAGATTTATCGGTGCAGGATGGGCCCGCGGCCTATCAGCTTGTTGGTG GGGTAATGGGCCTACCAAGGCGACGACGGGTAGCCGACCTGAGAGGGTGACCGGCCACACTGGGACTGAG ACACGGCCCAGACTCCTACGGGAGGCAGCAGTGGGGAATATTGCACAATGGGCGGAAGCCTGATGCAGCG ACGCCGCGTGAGGGATGAAGGCCTTCGGGTTGTAAACCTCTTTCAGCAGGGACGAAGCGTGAGTGACGGT ACCTGCAGAAGAAGCACCGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGGTGCGAGCGTTGTCC GGAATTACTGGGCGTAAAGAGTTCGTAGGCGGTTTGTCGCGTCGTTTGTGAAAACCCGGGGGCTC

>6 GATAGAACGCTGGCGGGCAGGCCTAACACATGCAAGTCGAGCGGTAACAGGGGAAAGCTTGCTTTCTCGC TGACGAGCGGCGGACGGGTGAGTAATGTATGGCGATCTGCCCGATAGAGGGGGATAACTACTGGAAACGG TGGCTAATACCGCATAATCTCTCAGGAGCAAAGCAGGGGGAACTTCGGTCCTTGCGCTATCGGATGAACC CATATGGGATTAGCTAGTAGGTGAGGTAATGGCTCACCTAGGCGACGATCCCTAGCTGGTCTGAGAGGAT GATCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGCAGCAGTGGGGAATATTGCACAA TGGGCGCAAGCCTGATGCAGCCATGCCGCGTGTATGAAGAAGGCCTTAGGGTTGTAAAGTACTTTCAGTC GGGAGGAAGGCGTTGATGCTAATATCATCAACGATTGACGTTACCGACAGAAGAAGCACCGGCTAACTCC GTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAAATCGGAATTAC

7> TGTGACGCTGCGGCAGGCTTAACACATGCAAGTCGAGGGGTATATGTCTTCGGATATAGAGACCGGCGCA CGGGTGCGTAACGCGTATGCAATCTACCTTTTACAGAGGGATAGCCCAGAGAAATTTGGATTAATACCTC ATAGCATAGCGACTTCGCATGAAGCAACTATTAAAGTCACAACGGTAAAAGATGAGCATGCGTCCCATTA GCTAGTTGGTAAGGTAACGGCTTACCAAGGCTACGATGGGTAGGGGTCCTGAGAGGGAGATCCCCCACAC TGGTACTGAGACACGGACCAGACTCCTACGGGAGGCAGCAGTGAGGAATATTGGACAATGGGCGCAAGCC TGATCCAGCCATGCCGCGTGCAGGATGACGGTCCTATGGATTGTAAACTGCTTTTGTACGAGAAGAAACA CTCCAACGTGTTGGAAGCTTGCGGTTCGTAGAATAAGGTCGGGTAAATCTTGCATCAGCCCCGTATCGAA GTCCAGCGTTTCCGATCATGGTTAAAGGGCCGAGCGTTATACTAGTGGGAACCTCTACGGGACGCCTTCC GTAATGATTTTGAGACATTAGGACGGA

>8 TGGCTCAGAACGAACGCTGGCGGCAGGCCTAACACATGCAAGTCGAGCGCACCTTCGGGTGAGCGGCGGA CGGGTTAGTAACGCGTGGGAACATACCCTTTTCTACGGAATAGCCTCGGGAAACTGAGAGTAATACCGTA TAAGCCCTTCGGGGGAAAGATTTATCGGGAAAGGATTGGCCCGCGTTAGATTAGATAGTTGGTGGGGTAA TGGCCTACCAAGTCTACGATCTATAGCTGGTTTTAGAGGATGATCAGCAACACTGGGACTGAGACACGGC CCAGACTCCTACGGGAGGCAGCAGTGGGGAATNTTAGACAATGGGCGCAAGCCTGATCTAGCCATGCCGC GTGTGTGATGAAGGTCTTAGGATCGTAAAGCACTTTCGCCAGGGATGATAATGACAGTACCTGGTAAAGA AACCCCGGCTAA
Respuesta 1. La identificación más probable para esta cadena de ADN es: Platichthys stellatus mitochondrial gene for 16S rRNA, partial sequence, haplotype: PS3-16S
https://www.facebook.com/photo.php?fbid=972051699525410&set=p.972051699525410&type=3
https://www.facebook.com/photo.php?fbid=972051859525394&set=p.972051859525394&type=3
Respuesta 2. La identificación más probable para esta cadena de ADN es: Pseudohynobius flavomaculatus voucher XM3182 16S ribosomal RNA (16S) gene, partial sequence; mitochondrial
https://www.facebook.com/photo.php?fbid=972056342858279&set=p.972056342858279&type=3
Respuesta 3. La identificación más probable para esta cadena de ADN es: Galba truncatula isolate TcS10 16S ribosomal RNA (16S) gene, partial sequence; mitochondrial
https://www.facebook.com/photo.php?fbid=972057462858167&set=p.972057462858167&type=3
Respuesta 4. La identificación más probable para esta cadena de ADN es: Sporocytophaga sp. A61 A61 A61 partial 16S rRNA gene, isolate A61
https://www.facebook.com/photo.php?fbid=972058592858054&set=p.972058592858054&type=3
Respuesta 5. La identificación más probable para esta cadena de ADN es: Rhodococcus sp. A83 A83 A83 A83 partial 16S rRNA gene, isolate A83
https://www.facebook.com/photo.php?fbid=972059226191324&set=p.972059226191324&type=3
Respuesta 6. La identificación más probable para esta cadena de ADN es: Enterobacteriaceae bacterium A91 partial 16S rRNA gene, isolate A91
https://www.facebook.com/photo.php?fbid=972059906191256&set=p.972059906191256&type=3
Respuesta 7. La identificación más probable para esta cadena de ADN es: Flavobacterium sp. A32 A32 A32 partial 16S rRNA gene, isolate A32
https://www.facebook.com/photo.php?fbid=972060566191190&set=p.972060566191190&type=3
Respuesta 8. La identificación más probable para esta cadena de ADN es: Uncultured Sulfitobacter sp. clone 12S_148 16S ribosomal RNA gene, partial sequence
https://www.facebook.com/photo.php?fbid=972061522857761&set=p.972061522857761&type=3
Es importante recordar que estos bancos de datos dan una lista de especies con más coincidencias. Por lo tanto, todas las secuencias que coinciden al 100% pueden ser la que estamos buscando. Como los genes para una misma proteína se repiten en diferentes especies de bacterias (organismos), será necesario tener la mejor identificación posible de nuestra bacteria para conocer la especie correspondiente.
Si nuestra secuenciación es un poco deficiente, por ejemplo, si tiene deleciones o repeticiones, el grado de coincidencia puede ser menor de 100%. Pero aún así tenemos posibilidades de confirmar la identificación que necesitamos.
En la secuencia 1, realicé el siguiente ejercicio: Seleccioné los 10 nucleótidos a partir del nucleótido 6, la copié en seguida del nucleótido 15 (repetición) y los copié nuevamente (repetición) después del nucleótido 599 (al final de la secuancia). El resultado fue el mismo, pero en la columna "Query cover" el porcentaje de coincidencia descendió de 100% a 98%.
Ahora, en la secuencia 1 quité 10 nucleótidos a partir del nucleótido 6 (deleción) y los copié al final, después del nucleótido 599 (repetición). Nuevamente el resultado fue el mismo, con un porcentaje de coincidencia de 98% en la columna "Query cover".
TAREA PARA Estudiantes de la Univercidad Politécnica Bicentenario de noveno semestre de la carrera de Agrotecnología.
https://www.facebook.com/ARGONAUTASirapuato/posts/869709303066735?fref=nf


Tema 1. Programación y electrónica.
Tema 2. Ciencia y tecnología.
Tema 3. Humanidades y comportamiento humano.
Tema 4. Cine y literatura.


nfjh


viernes, 26 de diciembre de 2014

Análisis básico de cadenas de ADN y ARN. Programa en VC++.

Análisis básico de cadenas de ADN y ARN. Programa en VC++.


Categoría: 1. Programación y electrónica.

Tal vez la primera aplicación a gran escala de las técnicas de programación fue su utilización para decodificar mensajes encriptados durante la segunda guerra mundial. Para los países involucrados era posible interceptar mensajes enviados por escrito o mediante señales de radio. Sin embargo, el tiempo que tomaba decodificarlos resultaba de vital importancia, ya que en ellos se podía anticipar el movimiento de tropas, la disponibilidad de pertrechos, víveres y combustibles y todo lo que una cadena de suministro necesita para sostener el avance en los frentes de batalla.

Cuando ya se conocía el código de encriptación, el siguiente paso era descifrar el mensaje, lo cual era realizado por un programa cargado en una computadora, de manera que descifrar un mensaje tomaba cosa de segundos. Claro, una vez conocido el código de encriptación, se interceptaba el mensaje, se enviaba al centro de cómputo, se capturaba el mensaje en el formato requerido por el programa, se corregían los posibles errores. Aún después de esto, se enfrentaba el reto de interpretar la información contenida en el mensaje. Como puede verse, la velocidad proporcionada en el descifrado del mensaje con el uso de programas computacionales, ayudaba a pasar más deprisa uno de los obstáculos más difíciles en la logística de inteligencia.

En tiempos de paz, estas técnicas son también de gran utilidad, ya que los utilizan los poderosos buscadores de internet, también la llamada minería de datos. Las técnicas comerciales realizan un seguimiento de las costumbres de sus clientes y posibles clientes, mediante el análisis de sus estilos de vida, incluyendo lo que leen y lo que escriben en internet. Esto lo podemos encontrar en una presentación sumamente amena en el libro "Los Numerati", de Stephen Baker (2009).

En la entrada "La epistemología en la práctica" publicada en este mismo blog en noviembre de 2013 se comentó un poco sobre la forma en que se logró encontrar el código de encriptación que traduce una secuencia de bases en el ADN a una secuencia de aminoácidos. En ese texto se comenta que cuando el físico inglés Francis Crick y el genetista norteamericano James Watson estudiaron la estructura del ADN a comienzos de la década de 1950, en Cambridge, Inglaterra, contaban con gran cantidad de información experimental sobre la estructura de los ácidos nucleicos que lo conforman así como con imágenes de difracción de rayos X del ADN, pero tuvieron que hacer un ejercicio primordialmente teórico para encontrar la forma en que esas moléculas se unen para poder después ser traducidas por los ribosomas a un código que permite la formación cadenas de aminoácidos y como producto final, las proteínas.

En otro ejemplo, el relativamente reciente desarrollo de las ciencias genómicas tuvo como base precisamente el entendimiento del código genético en su proceso de traducción a proteínas. De manera que la biología centró sus esfuerzos en el estudio de los genes, podría decirse que durante todo el siglo 20. De manera más o menos racional o más o menos empírica, el enfoque de los estudiosos de los genes ha modificado ligeramente su enfoque hacia el estudio de genomas completos. Este enfoque permite integrar el estudio de vías metabólicas desde la codificación genética de las enzimas que intervienen pasando por su transcripción y síntesis. Esto ha dado origen al campo de la Biología conocido como Proteómica. Esto permite un entendimiento completo y la posibilidad de utilizar en la práctica vías metabólicas de interés médico, agrícola, de la ingeniería de los alimentos, industria farmacéutica, industria química, fabricación de biocombustibles y en muchas otras áreas de interés, por supuesto en las investigaciones sobre evolución, migración, especiación y domesticación de especies. La evolución de las vías metabólicas es un área que se abre para su estudio, ya que en la actualidad se cuenta con técnicas experimentales que permiten reconstruir las cadenas de ADN y ARN de microorganismos y de sus ancestros. Las ribozimas se supone fueron las moléculas precursoras de las actuales enzimas, se ha comprobado experimentalmente la capacidad catalítica de la molécula e ARN. Las ribozimas son pequeñas enzimas de RNA con sitios de reconocimiento específicos, pero menos eficientes que las enzimas proteínicas; de hecho, muchas ribozimas ejercen su actividad catalítica solo una vez, después pierden estabilidad y se degradan. las ribozimas existen tanto en eucariontes como en procariontes y virus.

En la genética molecular, las técnicas de análisis de textos han sido de gran utilidad, ya que el análisis de largas cadenas de ADN o de ARN se puede hacer de manera automatizada, con gran nivel de precisión y cada vez con mayor rapidez. Una de las aplicaciones de mayor utilidad es en el alineamiento de pares de secuencias y de secuencias múltiples de ADN o ARN. Estas comparaciones tienen por objeto comparar dos secuencias de bases obtenidas por PCR en dos muestras independientes y corroborar si corresponden al mismo gen o segmento de ADN. Al ser procesos que dependen de la calidad de la muestra, se pueden tener ausencia de bases (deleciones), repeticiones de bases, bases yuxtapuestas (encimadas) y otras situaciones por las que las secuencias no tienen el 100% de coincidencia. Las técnicas de análisis permiten generar parámetros que indican el grado de coincidencia de las cadenas y ayudar a tomar una decisión dentro de un nivel de confianza conocido. Utilizando programas como ClustalW es posible obtener el estadístico 'p', que indica el grado de similitud entre dos cadenas de ADN. Si el valor de probabilidad 'p' es más cercano a cero, esto significa que las coincidencias encontradas se deben menos al azar, mientras que un valor de 'p' elevado (su valor máximo es 1.0) indicará que las coincidencias reales son pocas y el mayor porcentaje de sus similitudes se debe al azar. En Attwood y Smith, 2004, se pueden encontrar algunas de las técnicas y algoritmos aplicados al análisis de estas cadenas de bases.

Problema 1.
El programa que se desarrolló recibe una cadena primaria de bases de ADN. El análisis de la cadena consiste en obtener los siguientes datos:

- El número de bases de la cadena.
- Cadena complementaria de ADN, para la secuencia primaria (Replicación).
- Cadena de ARN correspondiente a la secuencia primaria (Transcripción).


Figura 1. Salida en la consola de Visual C++.

El reporte se despliega en la consola de VC++ y se envía a un archivo de texto en una unidad de memoria conectada en la PC del usuario.

Problema 2.
En un segundo programa se iniciará con una cadena de ARN para generar:

- Secuencia de aminoácidos que codifica, para una secuencia de ARN (Traducción).

Problema 3.
En un tercer programa se iniciará con dos cadenas de ADN de la misma longitud para obtener:

- Grado de similitud entre dos cadenas de ADN.

Bibliografía.


Atwood, T.K. y D.J. Parry Smith. 2002. Introducción a la bioinformática. Editorial Prentice-Hall. Madrid, España.

Beas, Carlos; Daniel ortuño; y Juan Armendáriz. 2009. Biología molecular. Fundamentos y aplicaciones. MacGraw-Hill. México, D.F., México.

Bronson, G. J. 2007. C++ para ingeniería y ciencias. Segunda Edición. International Thomson Editores. México, D.F. México.

Baker, Stephen. 2009. Numerati. Seix Barral.


Anexo. Código de programa.


// ADN_Secuencias_1.cpp: define el punto de entrada de la aplicación de consola.
//

#include "stdafx.h"
#include <iostream>
#include <Windows.h>
char *adn_sequence = "atatagagctggcct";
char *complemento_adn;
int a,b,c;

void display_adn_sequence()
{
a=0;
std::cout << "The bases sequence of adn_secuencia is: \t";
while (adn_sequence[a] != '\0')
{
std::cout << adn_sequence[a];
a++;
}
std::cout << "\n";
}
void length_adn_sequence()
{
b=0;
while (adn_sequence[b] != '\0')
{
b++;
}
std::cout << "The lengh of sequence adn_secuencia is: \t" << b << "\n";
}
void complemento_adn_sequence()
{
c=0;
std::cout << "Complementary adn chain for adn_secuencia is: \n\t\t\t\t\t\t";
while (adn_sequence[c] != '\0')
{
switch (adn_sequence[c])
{
case 'a':
{
std::cout << 't';
// complemento_adn[c] = 't';
}
break;
case 't':
{
std::cout << 'a';
// complemento_adn[c] = 'a';
}
break;
case 'g':
{
std::cout << 'c';
// complemento_adn[c] = 'c';
}
break;
case 'c':
{
std::cout << 'g';
//complemento_adn[c] = 'g';
}
break;
default:
{
// std::cout << '-';
// complemento_adn[c] = '-';
}
}
c++;
}
}
void printDate()
{
SYSTEMTIME lt;
GetLocalTime(&lt);
printf("Local date is:\t\t\t\t\t %04d-%02d-%02d", lt.wYear, lt.wMonth, lt.wDay);
std::cout << "\n";
}
void printHour()
{
SYSTEMTIME lt;
GetLocalTime(&lt);
printf("Local time is:\t\t\t\t\t %02d:%02d:%02d:%03d", lt.wHour, lt.wMinute, lt.wSecond, lt.wMilliseconds, "\n");
std::cout << "\n";
}
int _tmain(int argc, _TCHAR* argv[])
{
printDate();
printHour();
display_adn_sequence();
length_adn_sequence();
complemento_adn_sequence();
std::cout << "\n\n";
return 0;
}