190 likes | 352 Views
ANÁLISIS DE CÓDIGOS GENÉTICOS. Eduardo Pardo San Llorente Juan Diego Quintanilla Portero. Introducción. En este trabajo nos hemos centrado en analizar el código por el cual están formados los genes.
E N D
ANÁLISIS DE CÓDIGOS GENÉTICOS Eduardo Pardo San Llorente Juan Diego Quintanilla Portero
Introducción • En este trabajo nos hemos centrado en analizar el código por el cual están formados los genes. • Para poder entender como se estructura toda la información a continuación daremos una introducción general para entender los conceptos básicos y la jerarquía en que se divide la información.
CROMOSOMAS • Empezaremos definiendo los cromosomas. • Un cromosoma es cada uno de los elementos en los que se organiza la cromática del núcleo celular. • Cada cromosoma de un individuo presenta una forma y un tamaño característico y el número de cromosomas en individuos de la misma especie es constante. Para distintas especies el número varía. Por ejemplo en el ser humano el número de cromosomas es de 46.
CROMOSOMAS • Cada cromosoma tiene una estructura doble, con dos cromátidas hermanas en paralelo unidas por un único centrómero. • Estas parejas de cromosomas homólogos presentan los mismos genes situados en los mismos lugares a lo largo del cromosoma.
GENES • Ahora nos centraremos en los genes que forman a cada uno de los cromosomas. • Cada cromosoma tiene un número de genes localizado y en el código de los genes es donde hemos centrado nuestro trabajo. • Un gen está formada por una secuencia determinada de nucleótidos. Según la estructura de los nucleótidos estos están compuestos por tres componentes.
GENES • Primero una base nitrogenada (que puede ser adenina, guanina, citosina o uracilo), una pentosa y un ácido fosfórico. • Nosotros nos centraremos en las bases nitrogenadas para el código que son representadas por A,G,C y T. En el código de los genes también hay información “no útil” que no son estas bases nitrogenadas o por lo menos que no se conoce su función.
AMINOÁCIDOS • Estas bases nitrogenadas van agrupadas de tres en tres. A cada grupo de tres se le denomina codón y lo que hace es codificar un aminoácido. • No todas las combinaciones existentes son útiles ya que sólo existen 20 aminoácidos distintos, aunque algunos de estos pueden ser formados por distintos codones distintos.
AMINOÁCIDOS • En el trabajo hemos localizado los distintos aminoácidos que contiene el código genético a analizar viendo la cantidad que hay de cada uno y la entropía asociada a cada uno de esos aminoácidos. • A Continuación la tabla con los distintos codones:
PROTEINAS • Para terminar, la unión de los distintos aminoácidos puede dar lugar a las proteínas que son secuencias lineales de aminoácidos. • En el programa hemos añadido la opción de que el usuario pueda comprobar si una determinada proteína forma parte del código genético que se esta analizando.
PROGRAMA • A continuación se comentan las distintas funciones que hemos implementado para realizar el programa: • int FuncionesAnalisis::Repeticiones(char caracter, ifstream &file) Esta función la utilizamos para calcular el numero de Nucleótidos que hay de cada tipo. Este número será necesario para calcular las entropías de la Adenina, Guanina, Citosina y Timina.
PROGRAMA • double FuncionesAnalisis::EntropiaShannon(int nvecesA,int nvecesG, int nvecesT, int nvecesC, ifstream &file) Esta función lo que hace es calcular la entropía de información asociada a la variable con los distintos valores que pueden tomar los nucleótidos del gen. Dada una variable X, que toma valores A,G,T,C y luego N que se considera como información no útil, con probabilidades pA,pG, pT, pC y pN que aportan cantidades de información IA, IG, IT, IC y IN. Como se puede ver tratamos con una fuente de memoria nula ya que los símbolos del alfabeto son estaticamente independientes. Por un lado tenemos In que es la información asociada al suceso n Se calcula como el logaritmo en base dos de la probabilidad de que suceda un suceso: In= - log2(Pn) Entonces por ejemplo si para el valor A hay una probabilidad de 0.9 IA= - log2(0.9)= 0.15. Toma el valor 0.15 con probabilidad 0.9 La entropía se calcula sumando las Informaciones asociadas a cada suceso multiplicada por la probabilidad de que suceda este. H[X]= IA* pA + IG* pG + IT* pT + IC* pC + IN* pN
PROGRAMA • -double FuncionesAnalisis::EntropiaA(int nvecesC,ifstream &file) -double FuncionesAnalisis::EntropiaG(int nvecesC,ifstream &file) -double FuncionesAnalisis::EntropiaT(int nvecesC,ifstream &file) -double FuncionesAnalisis::EntropiaC(int nvecesC,ifstream &file) Estas funciones lo que hacen es calcular la entropía asociada a que ocurra un suceso determinado. Es decir asociada a que ocurra cada uno de los cuatro nucleótidos: A, G, T o C Para calcularlo hemos considerado lo que no estamos evaluando como un todo y así se distinguen dos casos, que ocurra el valor que estamos considerando o que ocurra otro suceso distinto
PROGRAMA • Double FuncionesAnalisis::EntropiaAminoacido(int nvecesAmn,int total) Esta función es parecida a la anterior pero aplicada a los aminoácidos. Calcula la entropía de información asociada a cada aminoácido. Se tratan el resto de aminoácidos como un todo y así se consigue la entropía para ese suceso determinado.
PROGRAMA • int static NrFenilalanina(ifstream &); ... ... • Este tipo de funciones lo que hacen es el número de veces que aparece cada aminoácido dentro del gen que cargamos. Cada aminoácido está formado por una tripleta de Nucleótidos llamada codón pero no siempre es única, algunos aminoácidos pueden estar codificados por varios codotes. En estos casos lo que se ha hecho es sumar las distintas combinaciones posibles.
PROGRAMA • bool FuncionesAnalisis::EncontrarProteina(ifstream &fileProteina , ifstream &file) Esta función lo que hace es cargar una proteína desde un fichero de texto y en caso de que encuentre la proteína dentro del gen mostrará si la búsqueda ha sido satisfactoria o fallida.
PROGRAMA • También se ha incluido la opción de guardar los resultados obtenidos para así luego volver a consultar los resultados o poder compararlos con otras muestras. Si no se introduce un path se guarda por defecto en c:\entropia.txt y conforme se hacen consultas nuevas se pueden ir añadiendo los resultados al archivo origen.
NW_001471565_Chicken Entropías de shannon de cada nucleótido -Adenina : 0.869734 -Citosina : 0.692179 -Guanina : 0.695598 -Timina : 0.870792 Entropia de shannon de los núcleotidos 2.14082 -Alanina : 0.071396 -Fenilalanina : 0.348677 -Valina : 0.403150 NW_001471566_Chicken Entropias de shannon de cada nucleótido -Adenina : 0.841004 -Citosina : 0.693363 -Guanina : 0.722661 -Timina : 0.870819 Entropia de shannon de los núcleotidos 2.16681 -Alanina : 0.076734 -Fenilalanina : 0.317123 -Valina : 0.394144 Ejemplo
BIBLIOGRAFIA • http://es.wikipedia.org/ • Apartado sobre entropía en http://tiopetrus.blogia.com/ • http://www.ncbi.nlm.nih.gov/projects/genome/guide/