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

8 de enero de 2020

Submit gene with unknown intron to GenBank

Hola de nuevo,
el 31 de diciembre conseguí finalmente enviar a GenBank unas secuencias parciales de genes de cebada utilizadas por mi colega Ana Casas en un estudio. Éste es un paso necesario para publicar en casi cualquier revista seria, pero además es la manera de asegurar que tus secuencias van a ser útiles para otras personas en el futuro.

Antes de que se me olvidé comparto aquí como lo hice, teniendo en cuenta que uno de los genes tiene un intrón de longitud desconocida y se secuenció en dos amplicones que abarcan respectivamete los exones 1-9 y 10-14:
 

    Para poder archivar una secuencia así en GenBank utilice tbl2asn en varios pasos:
    1.  Obtención de una plantilla .sbt con https://submit.ncbi.nlm.nih.gov/genbank/template/submission . El fichero resultante especifica los autores y otros metadatos, y lo puedes usar para distintas secuencias. 
    2. Confección de un fichero FASTA con extensión .fsa (unk_intron_gene.fsa) que contenga las secuencias de ambos amplicones separadas por un tramo de 100 Ns. Para facilitar el siguiente paso intrones y exones deben ir en mayúsculas y minúsculas, respectivamente, como en este fragmento que comprende los exones 8, 9 y 10:
      ...TGTCAGatactatgcaattgccacaccaagtgctacacaaagattgctttttggtct
      TGTCAGatactatgcaattgccacaccaagtgctacacaaagattgctttttggtcttct
      tgaagcaccaccatcatgggctccagatgcacttgatgcagcagttcagcttgttgaact
      ccttcgggcagctgaagattatgctactggcatgcggGTATGACATACTGCATGCTGGCT
      GTTGTTTCAGTCCTGTTAGTTGTGATGCCTCACGATACAAAATTTCCATATTCGTATGTT
      TTGGGTGTGCATGTTTATTAATCTTGGTAACTTTAAATTCCTGTTCAGcttccaaaaaat
      tggttgcatcttcatttcttgcgtgcgattggaactgcaatgtctatgagggctggtatt
      gctgccgatacagctgctgcgttgctttttcgcatactatcccaaccaacgttgcttttt
      cctccactaaggcatgctgaaggagttgaagtgcaacatgaaccactgggtggctatgta
      tcatcatacaaaagacagGTATGCAGTAGTTTCTGCATCTAGTTAATTTTTCATTATCTG
      TTCTTCTTTAGTAAAGACTCAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
      NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
      NNGGATCCATGTTTTAGTCTTCTTGGTTTTACTGATTGTTGCCTTATGTCTGCATGACTA
      ATTTACCTGCTTGCACTTTGAACTATTCACAGctggaagttcctgcatctgaaaccacaa
      ttgatgccactgcacaaggcattgcttccttgctgtgtgctcatggtcctgatgttgagt
      ggagaatatgtaccatctgggaagctgcctatggtttgttacctctgaattcatcagcag
      ttgatttgcccgaaatcgttgtagctgctccgcttcagccacctactttgtcatggagcc
      tatacttgccactgttgaaagtattcgagtatctacctcgtggaagtccatctgaagcat
      gccttatgagaatatttgtggcaacagttgaagctatactcagaagaactttcccttcgg
      aaacctctgaatcatctaaaagaccaagaagtcaatccaagaaccttgctgttgctgaac
      tccgtacaatgatacattcactctttgttgaatcatgtgcttcaatgaaccttgcttccc
      ggttgttgtttgttgtattaactgtttgcgtcagtcatcaagctttgccagggggcagca
      aaagaccaacgggtagtgaaaaccattcttctgaggaggccactgaggacccaagattaa
      ccaatggaagaaataaggtcaagaagaaacaagggcctgttggtacatttgactcgtatg
      tgctggctgctgtttgtgccttatcttgtgagcttcagctgttccctatcctttgcaaga
      gtgcaacaaactcaaaagtaaaagactctataaagatcctgaagcctggaaaaaacaatg
      ggatcagtaatgagctacagaatagcattagctcagcaattctccatactcgtagaattc
      ttggcatcctggaagctcttttctccttgaagccatcatcagttggtacctcctggaact
      atagttcaaatgagatagttgcagcggctatggttgccgctcatgtttctgagttatttc
      gccggtcgaggccatgcctaaatgcactatcttcactgaagcgatgtaagtgggatgctg
      agatttctaccagggcatcatccctttaccatttgatcgatttgcatggtaaaactgtgt
      cctccatcgtgaacaaagctgagcctctagaagctcacctgacttttacatcagtaaaga
      gagatggtcaacaacacattgaggaaaacagcaccagctcatcgggtaatggcaacttgg
      aaaagaagaatgcttcagcctcacacatgaaaaatggtttttcaagaccactcttgaaat
      gctcagaagaggctaggcgaaatggtaatgttgcaagtacatccgggaaagttcctgcaa
      ctttacaggctgaagcatctgatttggctaacttccttaccatggatagaaatgggggtt
      atcgaggctctcagactctcctaagttctgttatctcagaaaaacaggaattatgcttct
      ctgttgtctcattgctctggcataagcttattgcatctcctgaaacgcagatgtctgcag
      aaagtacatcagctcatcaaggttggagaaagGTA...
       
    3. Obtención de las coordenadas de los exones con ayuda del siguiente script Perl que usa variables especiales de expresiones regulares:
      perl -lne 'if(/^>/){} else{ while(/[a-z]+/g){ printf("%d\t%d\n",$-[0]+1,$+[0])} }' unk_intron_gene.fsa
       
    4. Prepara y completa un fichero .tbl (feature table) por gen. Verás que los campos van separados por tabuladores. Si es un gen parcial deberás indicarlo usando ">" en las coordenadas de inicio y fin, tal como se explica en https://www.ncbi.nlm.nih.gov/Sequin/table.html . Para el gen ejemplo yo obtuve el siguiente .tbl:
      >Feature HvGI Table1
      <1    >7751 gene
          gene HvGI
      1383 1469 mRNA
      1564 1641
      1738 1792
      1881 2023
      2120 2376
      2811 2869
      3079 3319
      3390 3540
      3672 3881
      4821 6320
      6420 6488
      6636 6854
      7014 7106
      7195 7500
      1383 1469 CDS
      1564 1641
      1738 1792
      1881 2023
      2120 2376
      2811 2869
      3079 3319
      3390 3540
      3672 3881
      4821 6320
      6420 6488
      6636 6854
      7014 7106
      7195 7500
          product HvGI
      
    5. Guarda en una carpeta propia los ficheros .fsa y .tbl, un par por gen, por ejemplo genes/
    6. Descarga del binario tbl2asn adecuado para tu sistema operativo desde ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn
    7. Haz el binario ejecutable si fuera necesario 
    8. Haz la conversión, por ejemplo en Linux:
      linux.tbl2asn -t template.sbt -p genes/ -V vb -a r10u
       
    9. Comprueba errores (errorsummary.val) y corrige los respectivos ficheros .tbl y vuelve al paso 8.
    10. Envía los ficheros .sqn resultantes por medio de http://www.ncbi.nlm.nih.gov/LargeDirSubs/dir_submit.cgi
       
    Hasta pronto,
    Bruno



    30 de mayo de 2018

    Identificar tránscritos no codificantes

    Hola,
    recientemente he leído diferentes trabajos sobre cómo solamente una fracción de los tránscritos totales humanos realmente son codificantes. Estas observaciones tienen consecuencias prácticas que supongo se pueden extrapolar a otras especies.

    1. Cómo identificar la isoforma principal de un gen
    La base de datos APPRIS (http://appris-tools.org) aplica una serie de filtros para identificar las isoformas principales de cada gen humano en base a la combinación de varios criterios (leer artículo):
    • conservación de la estructura de exones
    • evolución no neutral
    • alineamiento sin inserciones con estructuras homólogas
    • conservación de residuos funcionales
    • alineamiento completo con secuencias de otros vertebrados
    Anotación de 3 isoformas según APPRIS, tomada de https://academic.oup.com/nar/article/46/D1/D213/4561658
    2. Como identificar un transcrito no codificante
    Una vez hemos ensamblado tránscritos de uno o más tejidos o condiciones puede ser útil clasificarlos como codificantes o no. En un trabajo nuestro (leer aquí) lo hacíamos con CPC y el script transcripts2cdsCPP.pl de GET_HOMOLOGUES-EST. Ahora, un trabajo reciente (leer aquí) propone los siguientes criterios, que comento en algunos casos:
    • El tránscrito debe abarcar al menos un intrón y tener un nivel de expresión > 1 tránscrito por millón (TPM).
    • Si sólo comprende un exón debe expresarse al menos igual que los  tránscritos mejor descritos (TPM > 13.87 en humanos).
    • No debe estar contenido en otro tránscrito.
    • Debe codificar un marco de lectura (ORF) de al menos 60 aminoácidos. OJO: esto podría dejar fuera proteínas pequeñas importantes.
    • El ORF no debe solapar con elementos repetidos/transposones (LINe, LTR, etc) ni loci rRNA.
    • El E-valor producido por BLASTX al comparar el transcrito con proteínas de mamíferos en GenBank y UniProt debe ser < 10E-15. OJO: el E-valor cambiará a medida que crezcan las bases de datos, este criterio debería expresarse mejor como cobertura o bit score. Ver siguiente criterio.
    • El mejor ORF del tránscrito debe alinear al menos el 75% de otras proteínas conocidas, para eliminar pseudogenes, que suelen estar truncados.
    • Si dos tránscritos de hebras contrarias solapan, nos quedaremos con el que se parezca a proteínas con función conocida.
    Espero que esto os sea útil, un saludo,
    Bruno