Algum script para baixar genomas de bactérias e fungos do NCBI depois que eles reestruturaram seu FTP há algum tempo.
Idéia descaradamente roubada dos scripts de download do Kraken de Mick Watson, que também podem ser encontrados no repositório GitHub de Mick. No entanto, os scripts de Mick são escritos em Perl específico para construir um banco de dados Kraken (conforme anunciado).
Portanto, este é um conjunto de scripts que se concentra no download real do genoma.
pip instalar ncbi-genoma-download
Alternativamente, clone este repositório do GitHub e execute (em um ambiente virtual python)
instalação do pip.
Se isso falhar em versões mais antigas do Python, tente atualizar sua ferramenta pip
primeiro:
pip instalar --atualizar pip
e, em seguida, execute novamente a instalação ncbi-genome-download
.
Alternativamente, ncbi-genome-download
é empacotado em conda
. Consulte o site Anaconda/miniconda para instalar uma distribuição (altamente recomendado). Com isso instalado pode-se fazer:
conda install -c bioconda ncbi-genome-download
ncbi-genome-download
é desenvolvido e testado apenas em versões Python ainda com suporte ativo do projeto Python. No momento, isso significa as versões 3.7, 3.8, 3.9, 3.10 e 3.11. Especificamente, nenhuma tentativa de teste em versões do Python anteriores à 3.7 está sendo feita.
Se o seu sistema estiver travado em uma versão mais antiga do Python, considere usar uma ferramenta como o Homebrew para obter uma versão mais atualizada.
ncbi-genome-download
0.2.12 foi a última versão a suportar Python 2.
Para baixar todos os genomas bacterianos RefSeq no formato GenBank do NCBI, execute o seguinte:
bactérias ncbi-genoma-download
Baixar vários grupos também é possível:
bactérias ncbi-genoma-download, virais
Nota : Para ver todos os grupos disponíveis, consulte ncbi-genome-download --help
ou simplesmente use all
para verificar todos os grupos. Nomear um grupo mais específico reduzirá o tamanho do download e o tempo necessário para encontrar as sequências para download.
Se você estiver em uma conexão razoavelmente rápida, tente executar vários downloads em paralelo:
bactérias ncbi-genome-download --parallel 4
Para baixar todos os genomas fúngicos do GenBank do NCBI no formato GenBank, execute:
ncbi-genome-download --seção fungos genbank
Para baixar todos os genomas virais do RefSeq no formato FASTA, execute:
ncbi-genome-download --formatos rápidos virais
É possível baixar vários formatos fornecendo uma lista de formatos ou simplesmente baixando todos os formatos:
ncbi-genome-download --formats fasta,assembly-report viral ncbi-genome-download --formata todos virais
Para baixar apenas genomas RefSeq bacterianos completos no formato GenBank, execute:
ncbi-genome-download --assembly-levels bactérias completas
É possível baixar vários níveis de montagem de uma só vez, fornecendo uma lista:
ncbi-genome-download --níveis de montagem completos, bactérias cromossômicas
Para baixar apenas genomas de referência bacterianos do RefSeq no formato GenBank, execute:
ncbi-genome-download --refseq-categories referência bactérias
Para baixar genomas RefSeq bacterianos do gênero Streptomyces , execute:
ncbi-genome-download --genera bactérias Streptomyces
Nota : Esta é uma correspondência simples de string no nome do organismo fornecido apenas pelo NCBI.
Você também pode usar isso com um pequeno truque para baixar genomas de uma determinada espécie:
ncbi-genome-download --genera bactérias "Streptomyces coelicolor"
Nota : As aspas são importantes. Novamente, esta é uma correspondência simples de string no nome do organismo fornecido pelo NCBI.
Vários gêneros também são possíveis:
ncbi-genome-download --genera bactérias "Streptomyces coelicolor, Escherichia coli"
Você também pode colocar nomes de gêneros em um arquivo, um organismo por linha, por exemplo:
Streptomyces Amicotopsis
Em seguida, passe o caminho desse arquivo (por exemplo, my_genera.txt
) para a opção --genera
, assim:
ncbi-genome-download --genera my_genera.txt bactérias
Nota : O comando acima irá baixar todos os genomas de Streptomyces e Amycolatopsis do RefSeq.
Você pode tornar a correspondência da string difusa usando a opção --fuzzy-genus
. Isso pode ser útil se você precisar corresponder a um valor no meio do nome do organismo NCBI, assim:
ncbi-genome-download --genera coelicolor --bactérias do gênero fuzzy
Nota : O comando acima irá baixar todos os genomas bacterianos contendo "coelicolor" em qualquer lugar do nome do organismo no RefSeq.
Para baixar genomas RefSeq bacterianos com base em seu ID de taxonomia de espécie NCBI, execute:
ncbi-genome-download --species-taxids 562 bactérias
Nota : O comando acima irá baixar todos os genomas RefSeq pertencentes a Escherichia coli .
Para baixar genomas RefSeq bacterianos específicos com base em seu ID de taxonomia NCBI, execute:
ncbi-genome-download --taxids 511145 bactérias
Nota : O comando acima irá baixar o genoma RefSeq pertencente a Escherichia coli str. Substr K-12. MG1655 .
Também é possível baixar taxídeos ou taxídeos de múltiplas espécies, fornecendo os números em uma lista separada por vírgulas:
ncbi-genome-download --taxids 9606,9685 --cromossomo em nível de montagem vertebrate_mammalian
Nota : O comando acima irá baixar os genomas de referência para gatos e humanos.
Além disso, você pode colocar múltiplas espécies taxids ou taxids em um arquivo, um por linha e passar esse nome de arquivo para os parâmetros --species-taxids
ou --taxids
, respectivamente.
Supondo que você tenha um arquivo my_taxids.txt
com o seguinte conteúdo:
9606
9685
Você pode baixar os genomas de referência para gatos e humanos assim:
ncbi-genome-download --taxids my_taxids.txt --níveis de montagem cromossomo vertebrado_mammalian
Também é possível criar uma estrutura de diretórios legível por humanos em paralelo ao espelhamento do layout usado pelo NCBI:
ncbi-genome-download --bactéria legível por humanos
Isso usará links para apontar para os arquivos apropriados na estrutura de diretórios do NCBI, economizando espaço no arquivo. Observe que os links não são suportados em alguns sistemas de arquivos do Windows e em algumas versões mais antigas do Windows.
Também é possível executar novamente um download anterior com a opção --human-readable
. Nesse caso, ncbi-genome-download
não baixará nenhum novo arquivo de genoma e apenas criará uma estrutura de diretórios legível por humanos. Observe que se algum arquivo tiver sido alterado no lado do NCBI, um download de arquivo será acionado.
Existe uma opção de "teste" para mostrar quais acessos seriam baixados, de acordo com seus filtros:
ncbi-genome-download --bactérias de simulação
Se desejar filtrar a coluna "relação com o tipo de material" do arquivo de resumo da montagem, você pode usar a opção --type-materials
. Os valores possíveis são "qualquer", "todos", "tipo", "referência", "sinônimo", "proxytype" e/ou "neótipo". "qualquer" incluirá montagens sem relação com o tipo de valor de material definido, "todos" fará download apenas de montagens com um valor definido. Vários valores podem ser fornecidos, separados por vírgula:
ncbi-genome-download --type-tipo de materiais, referência
Por padrão, ncbi-genome-download armazena em cache os arquivos de resumo de montagem para os respectivos grupos taxonômicos por um dia. Você pode pular o uso do arquivo de cache usando a opção --no-cache
. A saída de --help
também mostra o diretório de cache, caso você queira remover algum dos arquivos em cache.
Para obter uma visão geral de todas as opções, execute
ncbi-genome-download --help
Você também pode usá-lo como uma chamada de método:
importar ncbi_genome_download como ngdngd.download()
Passe os argumentos da palavra-chave pythonizada conforme descrito acima ou em --help
. Para especificar grupos taxonômicos, como bacteria , use a palavra-chave groups
. Para especificar formatos de arquivo, como para a opção --format
CLI, use file_formats
. Todas as outras palavras-chave devem corresponder às opções da CLI, com -
convertidas em _
. Observe que, como a chamada do método segue a mesma lógica da CLI, os dados das listas ainda devem ser passados como strings, separados por vírgula, mas sem espaços, assim como na linha de comando.
gimme_taxa.py
Este script permite descobrir quais TaxIDs passar para ngd
e escreverá um arquivo simples de um item por linha para passar para ele. Ele utiliza o kit de ferramentas ete3
, portanto consulte o site para instalar a dependência se ela ainda não estiver satisfeita.
Você pode consultar o banco de dados usando um TaxID específico ou um nome científico. A principal função do script é retornar todos os táxons filhos dos táxons pais especificados. O script tem várias opções para quais informações são escritas na saída.
Uma invocação básica pode ser semelhante a:
# Busque todos os táxons descendentes para Escherichia (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# Alternativamente, apenas forneça o nome do táxonpython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# Você pode fornecer vários taxids e/ou nomespython gimme_taxa.py -o all_descendent_taxids.txt 561,Metanobrevibacter
Na primeira utilização, um pequeno banco de dados sqlite será criado em seu diretório inicial por padrão (altere o local com o sinalizador --database
). Você pode atualizar este banco de dados usando o sinalizador --update
. Observe que se o banco de dados não estiver em seu diretório inicial, você deverá especificá-lo com --database
ou um novo banco de dados será criado em seu diretório inicial.
Para ver toda a ajuda:
python gimme_taxa.py python gimme_taxa.py -h python gimme_taxa.py --help
Para usar o script gimme_taxa.py
com a opção --taxids
de ncbi-genome-download
, você precisa chamar gimme_taxa.py
com a opção -j
, assim:
gimme_taxa.py -j -o meus_taxids.txt Escherichia ncbi-genome-download --taxids my_taxids.txt bactérias
ncbi-genome-download
Você pode citar ncbi-genome-download
através do depósito Zenodo em DOI: 10.5281/zenodo.8192432 ou o DOI específico para a versão que você usou.
Todo o código está disponível sob a licença Apache versão 2, consulte o arquivo LICENSE
para obter detalhes.