Introducción: Se pretende hacer un flujo de datos desde dado un genoma o varias secuencias de varios genes, poder obtener información sobre el uso de Codones en los mismos, desde calcular la frecuencia de uso de codones, hasta obtener el uso (sesgo) de Codones por Aminoácido (que se pueden obtener haciendo uso de distintas estrategias) y posteriores cálculos de subconjunto de genes resultantes con el objetivo de ayudar a comprender el por qué del uso de unos codones mas que otros siendo equivalentes. Imagen 1:Flujo del proceso para el calculo y análisis del uso preferente de codones por aminoácido. Una vez obtenida la tabla del sesgo de los codones por AA se podrán implementar nuevos servicios que ayuden al análisis de dicho sesgo, usando reduciones del espacio de datos, o calculando índices que expliquen el porqué de dicho sesgo. Se espera que en el futuro se vayan añadiendo nuevos servicios que aumenten y completen el conjunto. Servicios: En un principio mostramos los servicios que se encargán de preparar los datos y calcular el sesgo de codones por Aminoácidos para posteriormente añadir servicios de análisis que trabajen sobre los resultados . Todos los servicios tendrán un nombre de datos de salida modificable por el usuario, por lo que no se usarán nombres para las salidas de cada servicio. Extrae Verifica la codificación gen / proteína y obtiene las colecciones de genes y su secuencia. Para ello es necesario: 1. Ficha de GenBank con el organismo. 2. Secuencia completa del genoma. Con ello se generará un dato con las secuencias de los genes del organismo, con información del nombre del gen, dirección, inicio, fin y dirección de la secuencia, además de un fichero de reporte de errores. Se ha usado el tipo GenericSequence como entrada en vez de FASTA para las secuencias del genoma, ya que permite introducir secuencias en otros formatos, incluidos FASTA. Igual para la salida, aunque en este caso se genera un ProperySequence, que incluye comentarios por secuencia, mostrando por secuencia nombre del gen de la secuencia, longitud y dirección de la secuencia. Para el reporte de errores se usa simplemente el formato de Text_Plain, donde se muestra información sobre el proceso de extración realizado. El nombre del dato será el mismo que el definido para el servicio pero añadiendo “.ERR”. Objetivo: Obtener las secuencias de los genes del genoma en el formato adecuado para el análisis de codones. Entradas: • • Salidas: • • Parámetros: • GenericSequence: secuencias del genoma GenBank_Text : información genoma empleado PropertySequence: Lista de genes encontradas y sus secuencias, incluyendo como meta-información nombre del Gen, dirección, inicio, fin y dirección. Text_Plain:Reporte de alertas y errores. GeneName: Indica de donde obtener los genes a tratar de la ficha GenBank . Entre las posibilidades están : “locus_tag”, “gene”, “note” y “product”. Tabla 1: Resumen del servicio Extrae CodonFreq Calcula la frecuencia de los codones para cada secuencia incluida. Para la salida se ha registrado un tipo de dato nuevo para almacenar en una tabla las frecuencias de los codones. El tipo es “CodonFreq_Text”, que pertenece a un texto plano formateado. Imagen 2: Categoria del tipo de dato CodonFreq_Text El formato “CodonFreq_Text” que devuelve el servicio es el siguiente: 1 Colum 2Column 3-67 colum > nameofgen [64 separated freq numbers order from AAA,AAC,AAG,AAT... to TTT, ver tabla Tabla 2] ej: > >... AT1G01010 12 9 4 13 10 9 2 5 16 4 7 12 1 11 0 8 16 9 6 2 10 4 10 2 12 4 16 1 17 4 0 11 10 10 6 6 19 10 9 2 3 4 5 1 7 2 8 1 3 10 4 6 1 7 3 9 2 9 2 2 1 6 5 10 Tabla 2: Correspondencia entre el número o la posción con el codón asociado.'*' corresponde al codón de parada. Objetivo: Obtener las frequencias de uso de los codones. Entradas: • “Sequences”:tipo GenericSequence: secuencias del genoma (normalmente un FASTA) Salidas: • CodonFreq_Text: Frecuencias de codones por secuencia dada. CodonFreq_Text: El total de las frecuencias de cada secuencia. • Tabla 3: Resumen del servicio CodonFreq CodonUsagexAA Este servicio realiza el cálculo del uso preferente de codones por aminoácido para cada gen y organismo (o conjunto de secuencias de entrada). La entrada de este servicio es el tipo de dato CodonFreq_Text, como por ejemplo el producido por el servicio anterior CondonFreq. Es necesario además un código genético que será necesario para saber para cada AA cuales y cuantos son sus sinónimos. Así, el código genético requiere el uso del un nuevo tipo de dato, registrado como GenCode_Text. El formato será el siguiente, 64 caracteres en el que cada carácter corresponde al codón asociado al número de la posición del carácter (ver Tabla 2), siendo la primera posición 0 (codón AAA) hasta la posición 63. Ej. la entrada “KNKNTTTTRSRSIIMIQHQHPPPPRRRRLLLLEDEDAAAAGGGGVVVV*Y*YSSSS*CWCLFLF” equivale al siguiente resultado (). Tabla 4: Ejemplo de Código genético El código genético mostrado como ejemplo anterior estará disponible como código por defecto, al ser el más común de todos. Además se usará el tipo de dato ya existente “CodonUsageTable_Text” para la salida de información. El formato empleado es el siguiente: Una cabecera comenzando con “>”, seguido por la palabra “AA” y finalmente con las etiquetas del AA codificado por un codón, AA[#codon], ordenado por Aminoácidos acabando el nº de codones, todo separado por tabuladores. Después tantas lineas como secuencias calculadas, empezando por “>”, seguida del nombre del gen o secuencia, y posteriormente la frequencia de uso correspondiente al AA codificado por el codón indicado. Ej: > AA K[0] K[2] N[1] N[3] T[4] T[5] T[6] T[7] R[8] S[9] S[11] I[13] I[15] P[20] P[21] L[31] L[60] A[36] A[37] G[43] V[44] *[56] Y[49] F[63] nCodons > AT1G01040 0.511111 0.187500 0.300000 0.370370 0.128571 0.192857 0.282051 0.500000 0.194805 0.103896 0.369048 0.130952 0.253521 0.105634 0.382812 0.107595 1.000000 0.428571 0.652174 1910 > ... R[10] S[52] M[14] P[22] L[62] A[38] V[45] Y[51] R[24] S[53] Q[16] P[23] E[32] A[39] V[46] C[57] R[25] S[54] Q[18] L[28] E[34] G[40] V[47] C[59] R[26] S[55] H[17] L[29] D[33] G[41] *[48] W[58] R[27] I[12] H[19] L[30] D[35] G[42] *[50] F[61] 0.488889 0.296296 0.235714 1.000000 0.142857 0.214286 0.169014 0.101266 0.571429 0.421053 0.111111 0.064286 0.581081 0.558442 0.447853 0.471831 0.240506 0.371429 0.578947 0.018519 0.100000 0.418919 0.101190 0.552147 0.304688 0.550633 0.628571 0.425000 0.074074 0.278571 0.340909 0.113095 0.241071 0.109375 0.000000 1.000000 0.087500 0.129630 0.217949 0.659091 0.071429 0.758929 0.203125 0.000000 0.347826 Tabla 5: Formato del tipo de datos registrado en el repositorio de BioMoby como CodonUsageTable_Text. Es el resultado del servicio CodonUsagexAA, y es una tabla con la frequencia de uso de cada codón que codifica un aminoácido. Objetivo: Entradas: Calcular del uso preferente de codones por aminoácido para cada gen y organismo (o conjunto de secuencias de entrada). • • “codonFreq”: tipo CodonFreq_Text. Tabla con las frecuencias de cada codón para cada secuencia del gen. “geneticCode”: tipo genCode_Text. Se puede indicar el código genético a utilizar para calcular el sesgo de los codones por Aminoácido. Salidas: • CodonUsageTable_Text: Tabla con el sesgo de cada codon para cada gen. Parámetros: • “defaultGenCode”: Marcar como true para usar el código genético por defecto. “minAA”: numero minimo de AA (de cada uno) que debe haber en la secuencia para que sea procesable. • Tabla 6: Resumen del servicio CodonUsagexAA Visualizadores El objetivo de los visualizadores es mostar la información contenida en los datos de manera que sea mas fácil y clara para el usuario y ayude a apreciar detalles difíciles de ver en el formato estándar. Una forma común es representar gráficas para conjuntos de datos que se presten a dicha representación. Se ha desarrollado un visualizador para el tipo de datos “CodonUsageTable_Text”, que usa el formato descrito por la Tabla 5. Dicho formato contiene las frecuencias de uso (en un valor entre 0 y 1) de cada codón que representa a un mismo aminoácido (resultando 1 tras sumar la frequencia de cada codón que lo codifica) . Se debe seleccionar un gen del listado para mostrar la gráfica correspondiente a dicho gen (también puede ser el total de los genes). Imagen 3: Gráfica sobre el sesgo de un gen de codones por aminoacidos. Los colores denotan AA, y el eje x a los codones numerados tal cual se muestra en la tabla de más arriba. Se observa que cada frequencia acomulado por AA tiene que sumar 1 (o 0 sino existe) Pulsando sobre cualquier valor, o eje se mostrará información de la misma. Si se desea comparar 2 genes distintos, o respecto al total. Si se selecciona un gen se muestra como siempre, pero al desplegar la caja que dice “compare 2 genes” se puede introducir otro gen del mismo genoma, u otro compatible (para ello es necesario escribir el identificador del dato deseado en la caja Data Id dentro de la caja) y se compararán. Para hacerlo en la misma gráfica se ha optado por hacerlo representando en la misma gráfica los 2 genes, el primero tendrá valores positivos y el segundo negativos, entre -1 y 1. Cuanto más próximo este el valor resultante a cero, más similares serán ambos sesgos. Grandes valores tanto positivos como negativos significa variación en el uso del codón. Imagen 4: Comparando el sesgo de codones por AA en 2 genes. Un gen representa los valores positivos y otro el negativo. Valores cercanos a 0 indica que tienen un sesgo parecido. Recordar que el tipo de dato que se puede representar con este visualizador es “CodonUsageTable_Text”, y siempre y cuando se genere un dato con el mismo formato (ver Tabla 5) se podrá usar y comparar entre distintos datos.