Descripción general
Cloud Life Sciences es un conjunto de servicios y herramientas para administrar, procesar y transformar los datos de ciencias biológicas. También permite obtener estadísticas avanzadas y flujos de trabajo operativos mediante una infraestructura altamente escalable y compatible. Cloud Life Sciences incluye características como la API de Cloud Life Sciences, herramientas de extracción, transformación y carga (ETL), y mucho más.
En esta página, se proporciona una descripción general de los servicios y las herramientas que ofrece Cloud Life Sciences (y Google Cloud de manera más general) y cómo puedes aprovechar sus funciones con tus datos de ciencias biológicas.
Descripción general de la API de Cloud Life Sciences
La API de Cloud Life Sciences proporciona una forma simple de ejecutar una serie de contenedores de Compute Engine en Google Cloud. La API de Cloud Life Sciences consta de una única operación principal:
projects.locations.pipelines.run
: ejecuta una canalización.
Y tres operaciones genéricas:
projects.locations.operations.get
: obtiene el estado más reciente de una canalización.projects.locations.operations.list
: muestra una lista de todas las canalizaciones en ejecución dentro de una región de Google Cloud en tu proyecto de Google Cloud.projects.locations.operations.cancel
: cancela una canalización.
La API de Cloud Life Sciences está dirigida a desarrolladores que quieran compilar o crear herramientas de administración de trabajos, como dsub, o motores de flujo de trabajo, como Cromwell. La API de Cloud Life Sciences proporciona un backend para estas herramientas y sistemas, ya que permite la programación de trabajos para tareas basadas en Docker que realizan análisis genómicos secundarios en contenedores de Compute Engine. Puedes enviar operaciones por lotes desde cualquier lugar y ejecutarlas en Google Cloud. Puedes usar imágenes de Docker preexistentes o empaquetadas manualmente.
El caso práctico más común cuando se usa la API de Cloud Life Sciences es ejecutar una herramienta existente o una secuencia de comandos personalizada que lee y escribe archivos, normalmente hacia y desde Cloud Storage. La API de Cloud Life Sciences puede ejecutarse de forma independiente en cientos o miles de estos archivos.
Puedes acceder a la API de Cloud Life Sciences con la API de REST, la API de RPC o Google Cloud CLI.
Cómo ejecutar la API de Cloud Life Sciences
Si quieres crear un motor de flujo de trabajo, la serie de pasos típica que seguiría el motor sería la siguiente:
- Analizar el lenguaje del flujo de trabajo de entrada y construir una serie de objetos
Pipeline
con formato JSON que acepte la API de Cloud Life Sciences. El motor envía una serie de solicitudes definidas en el objetoPipeline
a la API de Cloud Life Sciences. - Supervisar las solicitudes y combinar los resultados de las solicitudes antes de continuar con el siguiente paso.
A continuación, se ofrece una explicación más detallada del primer paso:
La canalización se ejecuta mediante una llamada al método pipelines.run
.
Este método toma un objeto Pipeline
y un conjunto opcional de etiquetas para comenzar a ejecutar una canalización. El objeto Pipeline
consta de una o más descripciones de Action
y un objeto Resources
que describe qué recursos de Google Cloud son necesarios para ejecutar la canalización.
En el siguiente ejemplo, se muestra cómo configurar un Pipeline
simple que ejecute un único Action
(impresión de "Hello, world" en la terminal) en una VM estándar (n1-standard-1
) pequeña:
"pipeline": {
"actions": [
{
"imageUri": "bash",
"commands": [ "-c", "echo Hello, world" ]
},
],
"resources": {
"regions": ["us-central11"],
"virtualMachine": {
"machineType": "n1-standard-1",
}
}
}
En el siguiente ejemplo, se muestra cómo configurar un objeto Action
que ejecute varios comandos. El Action
copia un archivo de Cloud Storage en la VM, calcula y verifica el hash SHA-1 del archivo y, luego, lo vuelve a escribir en el depósito original de Cloud Storage.
"actions": [
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "gs://my-bucket/input.in", "/tmp" ]
},
{
"imageUri": "bash",
"commands": [ "-c", "sha1sum /tmp/in > /tmp/test.sha1" ]
},
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "/tmp/output.sha1", "gs://my-bucket/output.sha1" ]
},
],
Si llamas a pipelines.run
, se muestra una operación de larga duración que puedes consultar para obtener el estado de la canalización o cancelarla.
Ciclo de vida de una solicitud a la API de Cloud Life Sciences
El ciclo de vida típico de una canalización que se ejecuta en la API de Cloud Life Sciences es el siguiente:
- La API de Cloud Life Sciences asigna los recursos de Google Cloud necesarios para ejecutar la canalización. Como mínimo, esto suele implicar asignar una máquina virtual (VM) de Compute Engine con espacio en disco.
- Cuando una VM se vuelve disponible, la API de Cloud Life Sciences ejecuta cada acción definida en la canalización. Estas acciones realizan operaciones, como copiar archivos de entrada, procesar datos o copiar archivos de salida.
- La canalización libera todos los recursos asignados, incluso borra las VM creadas.
ETL en BigQuery con la herramienta Variant Transforms
Para cargar tus datos de ciencias biológicas en BigQuery y realizar un análisis más detallado, usa la herramienta Variant Transforms.
Variant Transforms es una herramienta de código abierto basada en Apache Beam que usa Dataflow. Variant Transforms es la forma recomendada de transformar y cargar los datos genómicos en Google Cloud para su posterior análisis.
Usar otras tecnologías de Google Cloud con datos de ciencias biológicas
Hay varias tecnologías de Google Cloud que interactúan con Cloud Life Sciences o que se pueden usar para analizar y procesar datos biológicos. Estos incluyen:
- BigQuery: Usa BigQuery para consultas ad hoc de conjuntos de datos estructurados masivos, como variantes genómicas. Los casos prácticos incluyen analizar variantes y ejecutar consultas
JOIN
complejas para analizar datos que se describen mediante intervalos genómicos regionales o superposiciones. La herramienta Variant Transforms proporciona una manera de transformar y cargar archivos VCF directamente en BigQuery. - Cloud Storage: Usa Cloud Storage como un depósito de objetos para archivos VCF sin procesar, FASTQ y BAM que puedes cargar en BigQuery mediante Variant Transforms para realizar análisis a gran escala.
- Dataflow: La herramienta Variant Transforms usa Dataflow para crear canalizaciones de procesamiento de datos altamente escalables que cargan datos en BigQuery.