Descripción general de Cloud Life Sciences

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:

Y tres operaciones genéricas:

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:

  1. 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 objeto Pipeline a la API de Cloud Life Sciences.
  2. 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:

  1. 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.
  2. 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.
  3. 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: