Sign inSign up

baldo365/biotoolkit

By baldo365

•Updated over 1 year ago

Suite CLI para buscar, descargar y analizar datos biológicos del NCBI.

Image
API management
Data science
1

147

baldo365/biotoolkit repository overview

⁠BioToolKit v2.0

Version License

⁠¿Qué es esta herramienta?

BioToolKit es un wrapper o envoltorio en Python para las Utilidades de Programación Entrez (E-utilities) del NCBI y un conjunto de herramientas de análisis de datos (por ahora simple), fusionados en una única aplicación. La versión 2.0 evoluciona para convertirse en una plataforma de análisis interactiva, permitiendo a investigadores, estudiantes y bioinformáticos ejecutar flujos de trabajo complejos directamente desde un shell inteligente que recuerda el contexto de la investigación, eliminando problemas de dependencias y la necesidad de repetir argumentos.

⁠Características Principales

  • Modo Interactivo Inteligente: Inicia un shell que mantiene el estado de tu sesión (historial de búsqueda, base de datos), permitiendo encadenar comandos de forma fluida y natural.

  • Adquisición de Datos Completa: Implementa los comandos más importantes de E-utilities como search, fetch, summary, link, filter y más.

  • Análisis Potente:

    • Extrae datos de XML de forma avanzada, con exploración de bloques anidados y filtrado condicional (xtract).

    • Convierte formatos de datos, empezando por JSON a tablas de texto (transmute).

    • Analiza texto (frecuencia, N-gramas) y secuencias (propiedades físico-químicas).

  • Visual: Genera visualizaciones de datos como nubes de palabras y gráficos de hidrofobicidad.

  • Portátil y Robusto: Empaquetado en una imagen Docker alpine ligera y segura. Funciona igual en cualquier sistema y maneja errores de red y de API de forma inteligente.

⁠Guía de Inicio Rápido

1. Descargar la Imagen Pública: (Reemplaza baldo365 con tu nombre de usuario real de Docker Hub si es diferente).

docker pull baldo365/biotoolkit:2.0

2. Iniciar el Modo Interactivo (Recomendado): Este es el corazón de la v2.0.

docker run --rm -it -v "$(pwd)/datos:/data" baldo365/biotoolkit:2.0 --interactive

Nota: Los flags -it son esenciales para que el modo interactivo funcione correctamente.

Una vez dentro, verás el prompt BioToolKit>.

⁠Uso y Comandos

⁠El Directorio de Datos /data

Importante: Para cualquier operación que lea o escriba archivos, es obligatorio usar la bandera -v de Docker para conectar una carpeta de tu máquina (ej. datos) a la carpeta /data del contenedor.

⁠Referencia de Comandos

Para ver todos los argumentos de un comando, ejecute <comando> --help dentro del shell interactivo.

⁠Comandos de Adquisición (E-utils)
ComandoDescripción
searchBusca en una base de datos del NCBI.
fetchDescarga registros completos por ID o desde el historial.
summaryObtiene resúmenes de registros, en formato legible o JSON.
filterRefina los resultados de un historial existente con un nuevo término.
linkEncuentra enlaces entre diferentes bases de datos del NCBI.
postSube una lista de IDs al historial del servidor de NCBI.
infoObtiene información y metadatos sobre una base de datos.
gqueryRealiza una búsqueda global en todas las bases de datos de Entrez.
spellBusca sugerencias de ortografía para un término.
⁠Comandos de Análisis y Conversión
ComandoDescripción
xtractExtrae datos de archivos XML con soporte para bloques y condicionales.
transmuteConvierte datos entre diferentes formatos (ej. json-to-table).
analyze-textAnaliza un archivo de texto y extrae palabras y frases clave.
analyze-fastaAnaliza un archivo FASTA y calcula propiedades de las secuencias.
⁠Comandos del Shell Interactivo
ComandoDescripción
statusMuestra el estado actual de la sesión (DB e historial guardados).
clearLimpia el estado de la sesión, borrando la DB y el historial.
helpMuestra una lista de los comandos disponibles.
exitSale del modo interactivo.

⁠Flujo de Trabajo Completo (Ejemplo en Modo Interactivo)

Este ejemplo demuestra el uso de la v2.0, simulando un tema de investigación.

OBJETIVO: Encontrar artículos sobre el gen BRCA1 en humanos que discutan el "riesgo", y luego:

  1. Extraer una lista de los autores de instituciones del Reino Unido (UK).

  2. Crear una tabla-resumen con el ID, título y fecha de los artículos.


1. Iniciar el modo interactivo:

docker run --rm -it -v "$(pwd)/datos:/data" baldo365/biotoolkit:2.0 --interactive

2. Realizar la búsqueda inicial y establecer el estado de la sesión:

BioToolKit> search --db pubmed "BRCA1 AND human[ORGN]" --history

3. Verificar el estado (verás que db y el historial se han guardado):

BioToolKit> status

4. Filtrar los resultados para artículos que mencionen "riesgo":

BioToolKit> filter "risk"

5. Descargar los datos en XML para análisis profundo:

BioToolKit> fetch --rettype xml --output brca_risk.xml

6. Extraer autores del Reino Unido usando xtract con condicionales:

BioToolKit> xtract brca_risk.xml --pattern PubmedArticle --block Author --if-element Affiliation --if-contains "UK" --element LastName Initials

7. Descargar resúmenes en JSON para análisis rápido, limitando a 100:

BioToolKit> summary --retmode json --retmax 100 > datos/brca_summary.json

8. Convertir el JSON en una tabla limpia con transmute:

BioToolKit> transmute json-to-table brca_summary.json --fields uid title pubdate

9. Salir del shell:

BioToolKit> exit

Tag summary

Content type

Image

Digest

sha256:2c5aca201…

Size

171.8 MB

Last updated

over 1 year ago

docker pull baldo365/biotoolkit:2.0