Analisis de codigo genetico (trabajo).

Download Report

Transcript Analisis de codigo genetico (trabajo).

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:
AMINOÁCIDOS
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
-double
-double
-double
FuncionesAnalisis::EntropiaA(int nvecesC,ifstream &file)
FuncionesAnalisis::EntropiaG(int nvecesC,ifstream &file)
FuncionesAnalisis::EntropiaT(int nvecesC,ifstream &file)
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.
Ejemplo
 NW_001471565_Chicken
Entropías de shannon de cada nucleótido
 NW_001471566_Chicken
Entropias de shannon de cada nucleótido
-Adenina
-Citosina
-Guanina
-Timina
-Adenina
-Citosina
-Guanina
-Timina
: 0.869734
: 0.692179
: 0.695598
: 0.870792
: 0.841004
: 0.693363
: 0.722661
: 0.870819
Entropia de shannon de los núcleotidos
2.14082
Entropia de shannon de los núcleotidos
2.16681
-Alanina
: 0.071396
-Fenilalanina : 0.348677
-Valina
: 0.403150
-Alanina
: 0.076734
-Fenilalanina : 0.317123
-Valina
: 0.394144
BIBLIOGRAFIA



http://es.wikipedia.org/
Apartado sobre entropía en
http://tiopetrus.blogia.com/
http://www.ncbi.nlm.nih.gov/projects/genome/
guide/