Algún script para descargar genomas bacterianos y fúngicos del NCBI después de que reestructuraron su FTP hace un tiempo.
Idea robada descaradamente de los scripts de descarga Kraken de Mick Watson que también se pueden encontrar en el repositorio de GitHub de Mick. Sin embargo, los scripts de Mick están escritos en Perl específicos para construir una base de datos Kraken (como se anuncia).
Este es un conjunto de scripts que se centran en la descarga del genoma real.
pip install ncbi-genoma-descargar
Alternativamente, clone este repositorio desde GitHub y luego ejecútelo (en un entorno virtual de Python)
instalación de pipas.
Si esto falla en versiones anteriores de Python, intente actualizar su herramienta pip
primero:
instalación de pip --actualizar pip
y luego vuelva a ejecutar la instalación de ncbi-genome-download
.
Alternativamente, ncbi-genome-download
está empaquetado en conda
. Consulte el sitio Anaconda/miniconda para instalar una distribución (muy recomendable). Con eso instalado se puede hacer:
conda install -c bioconda ncbi-genoma-descargar
ncbi-genome-download
solo se desarrolla y prueba en versiones de Python que aún cuentan con el soporte activo del proyecto Python. Por el momento, esto significa las versiones 3.7, 3.8, 3.9, 3.10 y 3.11. Específicamente, no se está realizando ningún intento de realizar pruebas con versiones de Python anteriores a la 3.7.
Si su sistema está atascado en una versión anterior de Python, considere usar una herramienta como Homebrew para obtener una versión más actualizada.
ncbi-genome-download
0.2.12 fue la última versión compatible con Python 2.
Para descargar todos los genomas bacterianos de RefSeq en formato GenBank desde NCBI, ejecute lo siguiente:
bacterias de descarga del genoma ncbi
También es posible descargar varios grupos:
ncbi-genoma-descargar bacterias,virales
Nota : para ver todos los grupos disponibles, consulte ncbi-genome-download --help
o simplemente use all
para verificar todos los grupos. Nombrar un grupo más específico reducirá el tamaño de la descarga y el tiempo necesario para encontrar las secuencias a descargar.
Si tiene una conexión razonablemente rápida, puede intentar ejecutar varias descargas en paralelo:
ncbi-genoma-descargar bacterias --paralelo 4
Para descargar todos los genomas de hongos GenBank de NCBI en formato GenBank, ejecute:
ncbi-genome-descargar --sección hongos genbank
Para descargar todos los genomas virales de RefSeq en formato FASTA, ejecute:
Descarga-genoma-ncbi --formatos fasta viral
Es posible descargar múltiples formatos proporcionando una lista de formatos o simplemente descargando todos los formatos:
ncbi-genome-download --formatos fasta,informe-ensamblaje viral ncbi-genome-download --formatos todos virales
Para descargar solo los genomas bacterianos RefSeq completos en formato GenBank, ejecute:
ncbi-genome-download --niveles de ensamblaje bacterias completas
Es posible descargar varios niveles de ensamblaje a la vez proporcionando una lista:
Descarga-del-genoma-ncbi: niveles de ensamblaje completos, bacterias cromosómicas
Para descargar solo genomas bacterianos de referencia de RefSeq en formato GenBank, ejecute:
ncbi-genome-download --refseq-categorías bacterias de referencia
Para descargar genomas bacterianos RefSeq del género Streptomyces , ejecute:
Descarga-genoma-ncbi --genera bacterias Streptomyces
Nota : Esta es una coincidencia de cadena simple con el nombre del organismo proporcionado únicamente por NCBI.
También puedes usar esto con un pequeño truco para descargar genomas de una determinada especie:
ncbi-genome-download --géneros de la bacteria "Streptomyces coelicolor"
Nota : Las citas son importantes. Nuevamente, se trata de una simple coincidencia de cadena con el nombre del organismo proporcionado por el NCBI.
También son posibles varios géneros:
ncbi-genome-download --genera bacterias "Streptomyces coelicolor, Escherichia coli"
También puedes poner nombres de géneros en un archivo, un organismo por línea, por ejemplo:
estreptomices amicolatopsis
Luego, pase la ruta a ese archivo (por ejemplo, my_genera.txt
) a la opción --genera
, así:
ncbi-genome-descargar --genera my_genera.txt bacterias
Nota : El comando anterior descargará todos los genomas de Streptomyces y Amycolatopsis de RefSeq.
Puede hacer que la cadena coincida de manera difusa usando la opción --fuzzy-genus
. Esto puede ser útil si necesita hacer coincidir un valor en medio del nombre del organismo NCBI, así:
Descarga-genoma-ncbi --genera coelicolor --bacterias del género difuso
Nota : El comando anterior descargará todos los genomas bacterianos que contengan "coelicolor" en cualquier parte del nombre de su organismo desde RefSeq.
Para descargar genomas bacterianos RefSeq según su ID de taxonomía de especies NCBI, ejecute:
ncbi-genoma-descarga --especies-taxidos 562 bacterias
Nota : El comando anterior descargará todos los genomas RefSeq pertenecientes a Escherichia coli .
Para descargar genomas bacterianos específicos de RefSeq según su ID de taxonomía NCBI, ejecute:
ncbi-genoma-descarga --taxids 511145 bacterias
Nota : El comando anterior descargará el genoma RefSeq perteneciente a Escherichia coli str. K-12 substr. MG1655 .
También es posible descargar taxis de múltiples especies o taxidos proporcionando los números en una lista separada por comas:
ncbi-genome-download --taxids 9606,9685 --cromosoma de nivel de ensamblaje vertebrado_mamífero
Nota : El comando anterior descargará los genomas de referencia para gatos y humanos.
Además, puede colocar varios taxids de especies o taxids en un archivo, uno por línea, y pasar ese nombre de archivo a los parámetros --species-taxids
o --taxids
, respectivamente.
Suponiendo que tuviera un archivo my_taxids.txt
con el siguiente contenido:
9606
9685
Puedes descargar los genomas de referencia para gatos y humanos de esta manera:
ncbi-genome-download --taxids my_taxids.txt --niveles de ensamblaje cromosoma vertebrado_mamífero
También es posible crear una estructura de directorios legible por humanos en paralelo a reflejar el diseño utilizado por NCBI:
ncbi-genome-download --bacterias legibles por humanos
Esto utilizará enlaces para apuntar a los archivos apropiados en la estructura del directorio NCBI, por lo que ahorra espacio en el archivo. Tenga en cuenta que los enlaces no son compatibles con algunos sistemas de archivos de Windows ni con algunas versiones anteriores de Windows.
También es posible volver a ejecutar una descarga anterior con la opción --human-readable
. En este caso, ncbi-genome-download
no descargará ningún archivo genómico nuevo y simplemente creará una estructura de directorios legible por humanos. Tenga en cuenta que si se ha modificado algún archivo en el lado del NCBI, se activará una descarga del archivo.
Hay una opción de "ejecución en seco" para mostrar qué muestras se descargarían, según sus filtros:
ncbi-genome-download --bacterias de ensayo
Si desea filtrar por la columna "relación con el tipo de material" del archivo de resumen del ensamblaje, puede usar la opción --type-materials
. Los valores posibles son "cualquiera", "todos", "tipo", "referencia", "sinónimo", "proxytype" y/o "neotipo". "cualquiera" incluirá ensamblajes sin relación con el tipo de valor de material definido, "todos" descargará solo ensamblajes con un valor definido. Se pueden dar varios valores, separados por coma:
ncbi-genome-descargar --tipo-tipo de materiales,referencia
De forma predeterminada, ncbi-genome-download almacena en caché los archivos de resumen del ensamblaje para los respectivos grupos taxonómicos durante un día. Puede omitir el uso del archivo de caché usando la opción --no-cache
. La salida de --help
también muestra el directorio de caché, en caso de que desee eliminar alguno de los archivos almacenados en caché.
Para obtener una descripción general de todas las opciones, ejecute
ncbi-genoma-descarga --ayuda
También puedes usarlo como una llamada a un método:
importar ncbi_genome_download como ngdngd.download()
Pase los argumentos de palabras clave Pythonizados como se describe arriba o en --help
. Para especificar grupos taxonómicos, como bacterias , utilice la palabra clave groups
. Para especificar formatos de archivo, como para la opción CLI --format
, utilice file_formats
. Todas las demás palabras clave deben coincidir con las opciones de CLI, con -
convertido a _
. Tenga en cuenta que debido a que la llamada al método sigue la misma lógica que la CLI, los datos de las listas aún deben pasarse como cadenas, separadas por una coma pero sin espacios, como en la línea de comando.
gimme_taxa.py
Este script le permite averiguar qué TaxID pasar a ngd
y escribirá un archivo simple de un elemento por línea para pasarle. Utiliza el kit de herramientas ete3
, así que consulte su sitio para instalar la dependencia si aún no está satisfecho.
Puede consultar la base de datos utilizando un TaxID particular o un nombre científico. La función principal del script es devolver todos los taxones secundarios de los taxones principales especificados. El script tiene varias opciones sobre la información que se escribe en el resultado.
Una invocación básica puede verse así:
# Obtener todos los taxones descendientes de Escherichia (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# Alternativamente, simplemente proporcione el nombre del taxónpython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# Puede proporcionar múltiples taxis y/o nombrespython gimme_taxa.py -o all_descendent_taxids.txt 561,Methanobrevibacter
En el primer uso, se creará una pequeña base de datos sqlite en su directorio de inicio de forma predeterminada (cambie la ubicación con el indicador --database
). Puede actualizar esta base de datos utilizando el indicador --update
. Tenga en cuenta que si la base de datos no está en su directorio de inicio, debe especificarla con --database
o se creará una nueva base de datos en su directorio de inicio.
Para ver toda la ayuda:
Python gimme_taxa.py pitón gimme_taxa.py -h python gimme_taxa.py --ayuda
Para usar el script gimme_taxa.py
con la opción --taxids
de ncbi-genome-download
, debes llamar a gimme_taxa.py
con la opción -j
, así:
gimme_taxa.py -j -o mis_taxids.txt Escherichia ncbi-genome-descargar --taxids my_taxids.txt bacterias
ncbi-genome-download
Puede citar ncbi-genome-download
a través del depósito de Zenodo bajo DOI: 10.5281/zenodo.8192432 o el DOI específico para la versión que utilizó.
Todo el código está disponible bajo la licencia Apache versión 2; consulte el archivo LICENSE
para obtener más detalles.