Questão:
Existem bancos de dados de modelos para formatos de arquivo de bioinformática comuns?
Chris_Rands
2017-06-02 19:08:50 UTC
view on stackexchange narkive permalink

Quero alguns modelos de formatos de arquivo diferentes que posso usar para testar meus scripts e identificar possíveis bugs no meu código.

Por exemplo, considere o nucleotídeo FASTA, um formato simples, mas frequentemente abusado, deseja que os modelos capturem formatos regulares e irregulares, como eu vi todos estes:

1) Sequência de linha única

  >1ATG  

2) Sequência multilinha

  >1ATG  

3) Letras maiúsculas e minúsculas em sequência

  >1Atg  

4) Ns e Xs (e possivelmente outras letras) em sequência

  >1ANnxX  

5) Cabeçalhos incomuns ( às vezes, caracteres não ASCI, precisam considerar a codificação)

  >ATG > 汉字 ATG  

6) Espaços em branco entre os registros

  >1ATG>2ATG  

7) Cabeçalhos duplicados

  >1ATG>1ATC  

8) Cabeçalhos ou sequências vazias (FASTA válido ?)

  >>  

9) Nenhum caractere de nova linha '\ n' na última linha (pode bagunçar o arquivo concatenação)

  >1A # < sem nova linha aqui  

10) Diferentes caracteres de nova linha dependendo do sistema operacional

  >1A # \ r \ n vs \ n  

etc.

Deve haver modelos separados para nucleotídeo e proteína FASTA, e outros separados para FASTA alinhado.

Idealmente, também incluiria outros aspectos, como diferentes formatos de compressão (como .gz , .bzip2 ) e diferentes extensões de arquivo (como . fa , .fasta).

Nunca vi recursos que forneçam templates cobrindo estes, mas acho que seria útil. Claro que eu poderia construir meus próprios modelos, mas demoraria para capturar todas as variações prováveis ​​dos formatos, especialmente para formatos de arquivo mais complexos.

Observe, não estou interessado apenas no formato FASTA, ele é um exemplo.

Observe também, eu conheço ferramentas (como o BioPython ) que devem lidar com muitos formatos bem, mas eles também podem ter bugs. De qualquer forma, na prática, às vezes, acabo analisando os arquivos diretamente porque não quero a sobrecarga ou a dependência de um pacote externo.

EDITAR: Por favor, não responda a esta pergunta para dizer que não não sei de nenhum desses recursos, nem eu, daí a questão. A resposta útil de bli mostra que há pelo menos um conjunto de testes que pode ser usado como ponto de partida. Eu sei que normalmente é fácil pesquisar a especificação de qualquer formato de arquivo específico.

Na verdade, a definição do formato FASTA é muito simples. Ele tem apenas duas restrições e a segunda é frequentemente ignorada: i) as linhas de cabeçalho devem começar com `>` e podem conter qualquer coisa, exceto um `\ n`. ii) as linhas de sequência devem ter 60 caracteres por linha. Nada mais é relevante, nem o número de linhas de sequência, nem os caracteres no cabeçalho, nem a extensão (que geralmente é irrelevante fora do mundo do Windows de qualquer maneira), não há restrição sobre quais caracteres uma sequência pode ter (portanto, não há diferença entre especificações de proteínas e fástas de nucleotídeos).
Claro, a especificação é simples, mas como você diz na prática, ela nem sempre é seguida e quando você analisa um arquivo todas essas variações se tornam relevantes. Eu já tive muitas ferramentas tropeçando em estranhos cabeçalhos ou sequências FASTA e claramente é importante que as ferramentas distingam nucleotídeos de aminoácidos. Você pode `glob` arquivos com apenas 1 sufixo particular, por exemplo.
Se as ferramentas se engasgarem com isso, são as ferramentas que estão ignorando o padrão. O padrão FASTA é um dos poucos que é realmente claro e fácil de entender. É simplesmente um formato muito livre. E sim, é claro que você pode incluir extensões. Eu, por exemplo, tendo a nomear meus arquivos de proteína como `.pep` e nt` .fa`, mas não existe um padrão para isso. Todas as suas ferramentas precisam fazer é i) pegar a linha inteira após um `>` como um nome de sequência e ii) todo o resto como a sequência. Isso é tudo, e isso é tudo que é necessário para ser fasta.
Claro, as ferramentas podem ignorar o padrão, e é por isso que acho bom ter modelos variados para testar as ferramentas. E nem sempre é simples, por ex. se você usar cabeçalhos FASTA para nomear arquivos subsequentes, os caracteres especiais podem ser um incômodo. Enfim, como eu disse FASTA foi apenas um exemplo, a lógica se estende para outros formatos mais complexos
Você mencionou "Não estou apenas interessado no formato FASTA, foi um exemplo", mas lembre-se de que é melhor manter as perguntas o mais específicas possível.
Seis respostas:
#1
+7
bli
2017-06-02 21:18:49 UTC
view on stackexchange narkive permalink

Você mencionou Biopython, que contém testes: https://github.com/biopython/biopython/tree/master/Tests.

Alguns dos testes consistem em leitura arquivos presentes nas pastas listadas no link acima. Esses arquivos podem ser um ponto de partida para um banco de dados de arquivos de teste. Sempre que alguém encontra um caso de teste não coberto por esses arquivos, pode-se construir um novo arquivo de teste e contribuí-lo para Biopython, junto com um teste, ou pelo menos registrar um problema: https://github.com/biopython / biopython / issues.

Essa seria uma forma de contribuir para o Biopython enquanto constitui um banco de dados de arquivos de teste.

Obrigado, gosto dessa ideia; Eu me pergunto se BioPerl e outros projetos também contêm suítes de teste semelhantes que podem ser usadas
Um "eu também" aqui: às vezes usei o exemplo ou dados de teste para BioPython como dados de teste para outros programas. Você pelo menos tem a garantia de que é válido. Você pode encontrar alguns dados úteis semelhantes com as ferramentas do Galaxy.
#2
+5
olga
2017-06-03 00:44:01 UTC
view on stackexchange narkive permalink

Não que eu saiba. É melhor seguir as especificações de formato ao codificar.

Também pode ser bom olhar os arquivos de exemplo que vêm junto com várias ferramentas que executam conversões e manuseio de arquivos. Por exemplo.

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

Até onde eu sei, não existe um repositório único que reúna todos os formatos de dados comuns usados ​​em bioinformática. Normalmente, você deve ir até a fonte para encontrar as especificações de cada formato. Existem alguns lugares que coletam descrições de formatos de arquivo:

  • Formatos de arquivo IGV, cobre todos os formatos utilizáveis ​​no software Integrative Genomics Viewer do Broad Institute ( o que é muito).
  • Formatos de arquivo NCI, principalmente formatos usados ​​por TGCA (incluindo MAF e VCF).
  • UCSC Genomics, cobre BED, MAF e alguns outros.
  • GenePattern, cobre muitos dos formatos de arquivo relacionados a dados de microarray.
  • GSEA, documentação de análise de enriquecimento de conjunto de genes amplos.
#4
+2
jgreener
2020-03-31 16:26:12 UTC
view on stackexchange narkive permalink

BioJulia mantém BioFmtSpecimens. Do README:

A bioinformática está repleta de formatos e analisadores para esses formatos. Esses analisadores nem sempre concordam com as definições desses formatos, uma vez que muitos carecem de qualquer tipo de padrão formal.

Este repositório visa consolidar uma coleção de espécimes de formato para criar um conjunto unificado de dados com o qual teste o software. Testar os mesmos casos é o primeiro passo para chegar a um acordo sobre os detalhes e casos extremos de um formato.

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

Não. Pelo menos nenhum que eu tenha ouvido falar e duvido que algum dia haverá. Não existe um repositório central para formatos e cada ferramenta, comunidade, campo etc. tem o seu próprio.

O melhor que você pode fazer é procurar o padrão oficial para cada formato e esperar que incluam exemplos. Ter uma coleção verdadeiramente abrangente de todas as variações possíveis é basicamente impossível para formatos complexos horríveis como o VCF. Basta considerar o simples fato de que ele permite campos INFO definidos pelo usuário com conteúdo arbitrário.

Portanto, o melhor que você pode fazer é certificar-se de que seus scripts estejam em conformidade com o padrão e esperar que sua entrada também o faça.

Pode haver um repositório central com modelos para os formatos mais comuns. Não vejo porque não Não pode ser totalmente abrangente, é claro. Para mim, parece uma boa ideia ...
@Chris_Rands como regra geral, infelizmente existem muito poucos * qualquer coisa * centralizada em biologia e isso é um problema geral com o campo. Dito isso, admito que realmente não vejo a utilidade disso. O que você precisa é o padrão. Vários exemplos do padrão sendo aplicado de maneiras diferentes não parecem muito úteis para mim; pelo menos não se o padrão for bem definido (o que nem sempre é o caso). Pensando bem, não consigo pensar em nenhum repositório de exemplos de formato em geral, não apenas em biologia.
Obrigado, bem, eu concordo com a falta de padronização / centralização. O principal uso para mim seria casos de teste / testes de unidade. Saber a especificação é uma coisa, mas identificar todos os casos extremos pode ser complicado sem testes
@Chris_Rands s / complicado / impossível :) Agora estou trabalhando na indústria depois de uma década e meia na academia e você não * acreditaria * na merda que recebemos como "arquivos vcf". Não há como cobrir todos os casos extremos, algumas pessoas vão lhe dar um arquivo excel com uma extensão .vcf e esperam que funcione :(
Eu acho que um repositório github com exemplos de casos extremos para cada formato é uma ótima ideia - toda vez que qualquer um de nós se deparar com uma nova maneira de alguém ter feito algo werid com um formato, poderíamos emitir um PR no repo.
#6
  0
tweirick
2017-06-02 19:24:46 UTC
view on stackexchange narkive permalink

Eles podem não ser exatamente o que você está procurando, mas contêm uma grande variedade de formatos com exemplos. Se quiser mais, você pode tentar pesquisar outros bancos de dados importantes que hospedam outros tipos de, por exemplo, Uniprot, PDB, NCBI.

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

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

Obrigado, estou familiarizado com UCSC e Ensembl e suas descrições de formato, mas não é isso que eu quero dizer com modelos


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