Questão:
O estado, limitações e comparações de grandes lojas de variantes
agapow
2017-05-22 21:14:17 UTC
view on stackexchange narkive permalink

Contexto: estamos cada vez mais precisando de alguma forma de armazenar muitos dados variantes associados a muitos assuntos: pense em ensaios clínicos e pacientes em hospitais, procurando genes causadores de doenças ou relevantes. Começaríamos por mil assuntos, fala-se de milhões no horizonte. Com várias iniciativas de medicina genômica, essa é provavelmente uma necessidade mais ampla.

O problema: embora haja muitas plataformas por aí, é um campo em rápida evolução. É difícil ter uma ideia de como (e se) eles funcionam e como se alinham entre si:

  • O que é escalonável e pode lidar com muitos dados? Que tipo de limites?
  • O que é robusto e não uma pilha oscilante de componentes hackeados juntos?
  • O que tem uma grande comunidade por trás disso e é realmente usado amplamente?
  • O que facilita o acesso e a pesquisa em outro serviço? (Linha de comando, REST ou APIs de software)
  • Que tipo de variantes eles lidam?
  • Que tipo de parâmetros podem ser usados ​​na pesquisa?

Soluções que vi até agora:

  • BigQ: usado com i2b2, mas seu uso mais amplo não é claro
  • OpenCGA: parece o mais desenvolvido, mas ouvi reclamações sobre o tamanho dos dados que ele distribui
  • Usar o BigQuery em vez de um banco de dados do Google Genomics: não parece ser uma solução geral
  • Gemini: recomendado, mas é realmente escalável e acessível a partir de outros serviços?
  • SciDb: um banco de dados comercial geral
  • Quince
  • LOVD
  • Adam
  • Qualquer plataforma DIVAS & RVD executado: que pode não estar disponível gratuitamente
  • Várias soluções de genoma gráfico / gráfico: Nós (e a maioria das outras pessoas) provavelmente não está lidando com dados do genoma gráfico no momento, mas esta é uma solução possível?
  • Faça o seu próprio: recomendado frequentemente, mas estou cético que seja uma solução plausível para um grande conjunto de dados.

Alguém com experiência fez uma avaliação ou um guia de alto nível para este espaço de plataforma?

Meus dois centavos: use o MongoDB envolvido em uma estrutura REST simples. Permite modelos e consultas flexíveis e deve escalar para bilhões de registros em um único nó. Estou trabalhando em um projeto FLOSS para isso no momento, mas ainda não está pronto para produção.
@woemler Como é comparado a outras abordagens? Alguém que conheço experimentou o MongoDB ~ 5 anos atrás em genótipos 1000g. Ele disse que o MongoDB era mais de 10 vezes mais lento que o bcf2 em consultas paralelas, embora ocupasse um espaço de disco / memória muito maior. Dito isso, ele era novo no MongoDB na época e pode não estar fazendo isso da maneira ideal.
@user172818: As versões mais recentes do MongoDB (3.2+) são significativamente mais rápidas do que as versões de vários anos atrás. Eu o comparei com outros RDBMSs gratuitos e ele normalmente funciona tão bem ou melhor, especialmente para representações de dados complexas, como chamadas de variantes
O armazenamento dos dados é mais importante aqui ou o processamento de estatísticas (usando Python, R, etc.) sobre os dados é mais importante?
@macgyver: boa observação. Os dados - supostamente as pessoas vão querer minerar e consultar os dados, em vez de olhar estatísticas e análises resumidas.
Um responda:
#1
+13
user172818
2017-05-23 03:13:53 UTC
view on stackexchange narkive permalink

Uma pergunta épica. Infelizmente, a resposta curta é: não, não existem soluções amplamente utilizadas.

Para vários milhares de exemplos, BCF2, a representação binária de VCF, deve funcionar bem. Não vejo necessidade de novas ferramentas nesta escala. Para um tamanho de amostra maior, o pessoal do ExAC está usando granizo baseado em faíscas. Ele mantém todas as anotações por amostra (como GL, GQ e DP), além dos genótipos. Hail é pelo menos algo muito usado na prática, embora principalmente por alguns grupos até agora.

Um problema mais simples é armazenar apenas genótipos. Isso é suficiente para a maioria dos usuários finais. Existem abordagens melhores para armazenar e consultar genótipos. O GQT, desenvolvido pela equipe Gemini, permite a consulta rápida de amostras. Ele permite que você extraia rapidamente amostras sob certas configurações de genótipo. Pelo que me lembro, GQT é ordens de magnitude mais rápido do que a API do google genomics para fazer PCA. Outra ferramenta é o BGT. Ele produz um arquivo muito menor e fornece consultas rápidas e convenientes em sites. Seu artigo fala sobre ~ 32k amostras de genoma completo. Estou no campo que acredita que formatos binários especializados como GQT e BGT são mais rápidos do que soluções construídas sobre bancos de dados genéricos. Eu encorajo você a dar uma olhada se você deseja apenas consultar genótipos.

O GenomicDB da Intel aborda o problema de um ângulo diferente. Na verdade, ele não mantém um VCF de múltiplas amostras "ao quadrado" internamente. Em vez disso, ele mantém genótipos / anotações por amostra e gera VCF mesclados instantaneamente (esse é o meu entendimento, o que pode estar errado). Não tenho experiência em primeira mão com GenomicDB, mas acho que algo nesta linha deve ser a solução definitiva na era de amostras de 1 milhão. Eu sei que o GATK4 o está usando em alguma etapa.

Quanto aos outros em sua lista, Gêmeos pode não escalar tão bem, eu acho. Em parte, é a razão pela qual trabalham no GQT. A última vez que verifiquei, o BigQuery não consultou genótipos individuais. Ele apenas consulta as estatísticas do site. As APIs de genômica do Google acessam genótipos individuais, mas duvido que possam ter um bom desempenho. Adam vale a pena tentar. Mas não tentei.

1 para granizo, claramente a resposta certa neste ponto
Você pode consultar genótipos individuais usando o BigQuery. O maior desafio neste ponto é ter que escrever suas próprias consultas para fazer a análise.


Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...