Pregunta:
¿Existen bases de datos de plantillas para formatos de archivos bioinformáticos comunes?
Chris_Rands
2017-06-02 19:08:50 UTC
view on stackexchange narkive permalink

Quiero algunas plantillas de diferentes formatos de archivo que pueda usar para probar mis scripts e identificar posibles errores en mi código.

Por ejemplo, considere el nucleótido FASTA, un formato simple pero a menudo abusado, lo haría quiero que las plantillas capturen formatos regulares e irregulares, como he visto todos estos:

1) Secuencia de una sola línea

  >1ATG  

2) Secuencia de varias líneas

  >1ATG  

3) Letras mayúsculas y minúsculas en secuencia

  >1Atg  

4) Ns y Xs (y posiblemente otras letras) en secuencia

  >1ANnxX  

5) Encabezados inusuales ( a veces caracteres no ASCI, es necesario considerar la codificación)

  >ATG > 汉字 ATG  

6) Espacio en blanco entre registros

  >1ATG>2ATG  

7) Encabezados duplicados

  >1ATG>1ATC  

8) Encabezados o secuencias vacíos (FASTA válido ?)

  >>  

9) No hay una nueva línea '\ n' carácter en la última línea (puede estropear el archivo concatenación)

  >1A # < no hay nueva línea aquí  

10) Diferentes caracteres de nueva línea según el sistema operativo

  >1A # \ r \ n vs \ n  

etc.

Debe haber plantillas separadas para FASTA de nucleótidos y proteínas, y otras separadas para FASTA alineadas.

Idealmente incluiría también otros aspectos, como diferentes formatos de compresión (como .gz , .bzip2 ) y diferentes extensiones de archivo (como . fa , .fasta).

Nunca he visto recursos que proporcionen plantillas que los cubran, pero creo que sería útil. Por supuesto, podría crear mis propias plantillas, pero tomaría tiempo capturar todas las variaciones probables de los formatos, particularmente para formatos de archivo más complejos.

Tenga en cuenta que no solo me interesa el formato FASTA, era un ejemplo.

También tenga en cuenta que conozco herramientas (como BioPython ) que deberían manejar muchos formatos bueno, pero también pueden tener errores. De todos modos, en la práctica, a veces termino analizando archivos directamente porque no quiero la sobrecarga o la dependencia de un paquete externo.

EDITAR: Por favor, no responda esta pregunta para decir que no Yo tampoco conozco tales recursos, de ahí la pregunta. La útil respuesta de bli muestra que hay al menos un conjunto de pruebas que podría usarse como punto de partida. Sé que normalmente es fácil buscar la especificación de cualquier formato de archivo en particular.

En realidad, la definición del formato FASTA es muy simple. Solo tiene dos restricciones y la segunda a menudo se ignora: i) las líneas de encabezado deben comenzar con `>` y pueden contener lo que quieran excepto un `\ n`. ii) las líneas de secuencia deben tener 60 caracteres por línea. Nada más es relevante, ni el número de líneas de secuencia, ni los caracteres en el encabezado, ni la extensión (que de todos modos suele ser irrelevante fuera del mundo de Windows), no hay restricciones sobre qué caracteres puede tener una secuencia (por lo tanto, no hay diferencia entre especificaciones de proteínas y nucleótidos fasta).
Claro, la especificación es simple, pero como dice en la práctica, no siempre se sigue y cuando analiza un archivo, todas estas variaciones se vuelven relevantes. He tenido muchas herramientas tropezando con extraños encabezados o secuencias FASTA y claramente es importante que las herramientas distingan los nucleótidos de los aminoácidos. Puede "glob" archivos con solo 1 sufijo en particular, por ejemplo.
Si las herramientas se ahogan con eso, son las herramientas las que están ignorando el estándar. El estándar FASTA es uno de los pocos que es realmente claro y fácil de entender. Es simplemente un formato muy libre. Y sí, por supuesto que puedes usar extensiones. Yo, por ejemplo, tiendo a nombrar mis archivos de proteínas `.pep` y nt` .fa` pero no existe un estándar para esto. Todo lo que deben hacer sus herramientas es i) tomar la línea completa después de un `>` como nombre de secuencia y ii) todo lo demás como secuencia. Eso es todo, y eso es todo lo que se necesita para ser rápido.
Claro, las herramientas pueden ignorar el estándar, y por eso creo que es bueno tener plantillas variadas para probar las herramientas. Y no siempre es simple, p. Ej. si usa encabezados FASTA para nombrar archivos posteriores, los caracteres especiales pueden ser una molestia. De todos modos, como decía FASTA era solo un ejemplo, la lógica se extiende para otros formatos más complejos
Usted menciona "No solo me interesa el formato FASTA, fue un ejemplo", pero tenga en cuenta que es mejor mantener las preguntas lo más específicas posible.
Seis respuestas:
#1
+7
bli
2017-06-02 21:18:49 UTC
view on stackexchange narkive permalink

Mencionas Biopython, que contiene pruebas: https://github.com/biopython/biopython/tree/master/Tests.

Algunas de las pruebas consisten en leer archivos presentes en las carpetas enumeradas en el enlace anterior. Estos archivos podrían ser un punto de partida para una base de datos de archivos de prueba. Siempre que uno se encuentra con un caso de prueba que no está cubierto con estos archivos, se puede construir un nuevo archivo de prueba y contribuir a Biopython, junto con una prueba, o al menos presentar un problema: https://github.com/biopython / biopython / issues.

Esa sería una forma de contribuir a Biopython mientras se constituye una base de datos de archivos de prueba.

Gracias, me gusta esta idea; Me pregunto si BioPerl y otros proyectos también contienen conjuntos de pruebas similares que podrían usarse
Un "yo también" aquí: a veces he usado el ejemplo o los datos de prueba para BioPython como datos de prueba para otros programas. Al menos tienes la seguridad de que es válido. Puede encontrar algunos datos útiles similares con las herramientas de Galaxy.
#2
+5
olga
2017-06-03 00:44:01 UTC
view on stackexchange narkive permalink

No que yo sepa. Es mejor ir con especificaciones de formato al codificar.

También puede ser bueno mirar los archivos de ejemplo que vienen junto con varias herramientas que realizan conversiones y manejo de archivos. P.ej.

#3
+2
woemler
2017-06-02 22:08:55 UTC
view on stackexchange narkive permalink

Hasta donde yo sé, no existe un repositorio único que recopile todos los formatos de datos comunes que se utilizan en bioinformática. Por lo general, debe ir a la fuente para encontrar las especificaciones de cada formato. Sin embargo, hay algunos lugares que recopilan descripciones de formatos de archivo:

  • Formatos de archivo IGV, incluye todos los formatos que se pueden utilizar en el software Visor de genómica integrativa del Instituto Broad ( que es mucho).
  • Formatos de archivo NCI, en su mayoría formatos utilizados por TGCA (incluidos MAF y VCF).
  • UCSC Genomics, cubre BED, MAF y algunos otros.
  • GenePattern, cubre muchos de los formatos de archivo relacionados con los datos de microarrays.
  • GSEA, documentación de Análisis de enriquecimiento de conjuntos genéticos amplios.
#4
+2
jgreener
2020-03-31 16:26:12 UTC
view on stackexchange narkive permalink

BioJulia mantiene BioFmtSpecimens. Del README:

La bioinformática está repleta de formatos y analizadores para esos formatos. Estos analizadores no siempre están de acuerdo con las definiciones de estos formatos, ya que muchos carecen de algún tipo de estándar formal.

Este repositorio tiene como objetivo consolidar una colección de muestras de formato para crear un conjunto unificado de datos con el que probar el software contra. La prueba con los mismos casos es un primer paso para llegar a un acuerdo sobre los detalles y los casos extremos de un formato.

#5
+1
terdon
2017-06-02 19:24:56 UTC
view on stackexchange narkive permalink

No. Al menos ninguno de los que he oído hablar y dudo que alguna vez lo haya. No existe un repositorio central de formatos y cada herramienta, comunidad, campo, etc. tiene el suyo.

Lo mejor que puede hacer es buscar el estándar oficial para cada formato y esperar que incluyan ejemplos. Tener una colección realmente completa de todas las variaciones posibles es básicamente imposible para formatos complejos horribles como VCF. Solo considere el simple hecho de que permite campos INFO definidos por el usuario con contenido arbitrario.

Entonces, lo mejor que puede hacer es asegurarse de que sus scripts se ajusten al estándar y esperar que su entrada también lo haga.

Aunque podría haber un repositorio central con plantillas para los formatos más comunes. No veo por qué no Por supuesto, no puede ser completamente completo. A mí esto me parece una buena idea ...
@Chris_Rands como regla general, lamentablemente hay muy pocos * nada * centralizados en biología y ese es un problema general en el campo. Dicho esto, admito que realmente no veo el uso de esto. Lo que necesitas es el estándar. Múltiples ejemplos de la aplicación del estándar de diferentes formas no me parecen muy útiles; al menos no si el estándar está bien definido (que no siempre es el caso). Ahora que lo pienso, no puedo pensar en ningún repositorio de ejemplos de formato en general, no solo en biología.
Gracias, estoy de acuerdo con la falta de estandarización / centralización. El uso principal para mí sería casos de prueba / pruebas unitarias. Conocer la especificación es una cosa, pero detectar todos los casos extremos puede ser complicado sin realizar pruebas.
@Chris_Rands s / complicado / imposible :) Ahora he estado trabajando en la industria después de una década y media en el mundo académico y no * creerías * la mierda que nos han enviado como "archivos vcf". No hay forma de cubrir todos los casos extremos, algunas personas le darán un archivo de Excel con una extensión .vcf y esperarán que funcione :(
Creo que un repositorio de github con ejemplos de casos extremos para cada formato es una gran idea: cada vez que alguno de nosotros encontramos una nueva forma en que alguien había hecho algo extraño con un formato, podíamos emitir un PR en el repositorio.
#6
  0
tweirick
2017-06-02 19:24:46 UTC
view on stackexchange narkive permalink

Puede que estos no sean exactamente lo que está buscando, pero contienen una amplia gama de formatos con ejemplos. Si desea más, puede intentar buscar otras bases de datos importantes que alojen otros tipos de, por ejemplo, Uniprot, PDB, NCBI.

https://genome.ucsc.edu/FAQ/FAQformat.html

http://www.ensembl.org/info /website/upload/bed.html

Gracias, estoy familiarizado con UCSC y Ensembl y sus descripciones de formato, pero eso no es realmente lo que quise decir con plantillas.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...