Pregunta:
Diseño de un esquema de base de datos de archivos NGS de laboratorio
Gus
2017-05-22 21:32:41 UTC
view on stackexchange narkive permalink

Soy residente de Bioinfo Geek en un laboratorio académico de un hospital que emplea habitualmente NGS, así como CyTOF y otras tecnologías de producción de datos de gran volumen. Estoy harto de nuestro "protocolo" actual para la recopilación de metadatos y la asociación con los productos finales (hojas de Excel Miriad y un par de bases de datos RedCap mal diseñadas).

Quiero implementar un almacén de datos central estructurado y controlado que cuida de esto. Sé que la interfaz de los técnicos sobre cómo ingresarán los datos es crucial para su adopción, pero este no es el foco de ESTA pregunta en particular: ¿Existe un esquema o pautas de esquema para este tipo de base de datos? fuerte>

Preferiría usar un modelo que haya sido desarrollado por personas que saben cómo hacerlo bien. Sé de BioSQL, pero parece más orientado a registros completos de proteínas / nucleótidos como los que se encuentran en uniprot o genbank. Eso no es lo que tenemos aquí. Lo que quiero es algo similar al sistema mencionado en esta preimpresión: http://biorxiv.org/content/early/2017/05/10/136358

Alternativamente, ¿Alguien puede proporcionar enlaces a dónde puedo encontrar pautas relevantes o proporcionar consejos personales?

¿Está buscando almacenar datos procesados ​​o no procesados? ¿Cuál sería un ejemplo de formato de archivo que intentaría capturar?
Esto es principalmente para la organización de datos primarios: obtenemos 800 BAM de WES y quiero la ubicación del archivo de cada BAM asociado con metadatos como: PROJECT, READ_LENGTH, SAMPLE_NAME, FAMILY_ID, DATA_TYPE, DIAGNOSIS, etc.
Hola Gus, también estamos haciendo la misma investigación y creamos esta pregunta en Biostars, ¡avísanos si encontraste algo! https://www.biostars.org/p/350514/
Tres respuestas:
#1
+9
woemler
2017-05-22 22:01:01 UTC
view on stackexchange narkive permalink

La Alianza Global para la Genómica y la Salud ha estado trabajando en el tema de representar la secuencia de datos y metadatos para su almacenamiento y uso compartido durante bastante tiempo, aunque con resultados mixtos. Ofrecen un modelo y una API para almacenar datos de NGS en su repositorio de GitHub, pero puede ser un poco complicado obtener una vista de alto nivel. No estoy seguro de si existe una mejor representación de esto en otro lugar.

Puedo decir por experiencia personal (habiendo construido más de una docena de bases de datos genómicas), no existe un modelo de datos ideal ni mejores prácticas de almacenamiento. Los datos genómicos vienen en muchas formas y tamaños, y sus necesidades van a variar de cualquier otra organización, por lo que lo que funciona para un grupo de bioinformática no necesariamente funcionará para usted. Lo mejor que puede hacer es diseñar e implementar un modelo que cubra todos los tipos de datos en su flujo de trabajo y análisis posteriores que podría hacer con los datos y metadatos.

#2
+5
Daniel Standage
2017-05-22 23:04:32 UTC
view on stackexchange narkive permalink

Estoy de acuerdo en que no existe un modelo de datos ideal que se mantenga estable por mucho tiempo en un campo de rápido movimiento como la informática del genoma. ¿Quizás un enfoque de base de datos sin esquema (NoSQL o algún otro sistema basado en documentos, como MongoDB) funcionaría mejor? Esto le brinda la máxima flexibilidad para adjuntar cualquier información que sea relevante para las entradas de la base de datos que está agregando a su base de datos ahora, sin la necesidad de reconstruir la base de datos más adelante si desea adjuntar más / diferente información a las entradas de la base de datos posteriores.

#3
+5
user172818
2017-05-23 00:31:41 UTC
view on stackexchange narkive permalink

Para metadatos , usaría un esquema SQL similar al siguiente:

  CREATE TABLE Project (ac TEXT, - proyecto / acceso al estudio PRIMARY KEY ( ac)); CREATE TABLE Sample (- muestra biológica / biopsia ac TEXT, PRIMARY KEY (ac)); CREATE TABLE AnalysisSample (prj_ac TEXT, - project acccession (Project.ac) symbol TEXT, - un nombre corto único en el proyecto sample_ac TEXT, - muestra de acceso (Sample.ac) PRIMARY KEY (prj_ac, símbolo)); CREATE TABLE Colección (- un archivo BAM ac TEXT, - colección / acceso al archivo de alineación prj_ac TEXT, - proyecto de acceso ( Project.ac) PRIMARY KEY (ac)); CREAR TABLA ReadGroup (cl_ac TEXT, - acceso de colección (Collection.ac) rg_id TEXT, - @ RG-ID sample_sym TEXT, - @ RG-SM; coincidencia AnalysisSample.symbol CLAVE PRIMARIA (cl_ac, rg_id)); CREAR TABLA VariantSet (- un archivo VCF ac TEXT, - Acceso al archivo VCF prj_ac TEXT, - Acceso al proyecto (Project.ac) CLAVE PRIMARIA (ac)); CREAR TABLA Va riantSample (vs_ac TEXT, - acceso al archivo VCF (VariantSet.ac) sample_sym TEXT, - símbolo de muestra en el archivo VCF; coincidente AnalysisSample.symbol PRIMARY KEY (vs_ac, sample_sym));  

En el esquema, tiene tablas Proyecto y Sample biológicas, que son independientes entre sí en el alto nivel. Un AnalysisSample describe una muestra utilizada en BAM o VCF y conecta Project y Sample biológico. Es importante destacar que cada AnalysisSample tiene un símbolo único en un proyecto (consulte el índice principal). Este es el símbolo en una línea de grupo de lectura BAM o en una línea de muestra VCF. Una colección es, en efecto, un archivo BAM / CRAM. En teoría, un archivo BAM puede contener más de una muestra (aunque es poco común en la práctica), que se aborda en una tabla ReadGroup separada. Finalmente, un VariantSet es un archivo VCF. VariantSample le indica qué muestras se incluyen en cada archivo VCF.

Este es el esqueleto de un esquema completo. Puede agregar campos adicionales a las tablas apropiadas (por ejemplo, ruta de archivo y hg19 / hg38 / etc a Colección , leer la longitud a ReadGroup e ID de familia a Sample ). También necesita índices para una unión de tablas eficiente y quizás más tablas para estructuras complejas (por ejemplo, pedigrí).

Para los proyectos en los que he participado, este esquema debería funcionar la mayor parte del tiempo. Está inspirado en el esquema JSON de GA4GH, pero mi versión está en SQL, es más simple y también tiene una estructura ligeramente diferente que creo que es mejor.



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...