Skip to main content

Overview - Tasks

Use tasks to interact with Cradle's machine learning. You can use tasks for different applications such as generating sequences and analyzing data. Which tasks are relevant to run is dependent on your project and available data.

You can run different tasks to end up with a plate of sequences to test in the lab. Depending on your project and available data you might choose one of the following tasks:

  • Diversify sequences. You have a starting sequence but have not performed assays. Generate a diverse set of sequences from a set of homologs. To run this task in the API use diversify/v1.
  • Generate sequences. Generate a set of sequence candidates for lab testing using existing experimental data. To run this task in the API use engineer/v1.

Besides tasks to give you a plate of sequences you can run tasks that serve as inputs to these tasks:

  • Discover homologs/features. Search structured databases for homologs and/or sequence features. To run this task in the API use search/v1.
  • Train models. Trains models based on your assay data to optimize for your objectives. To run this task in the API use train/v1.
  • Analyze data. Analyze experimental data to evaluate assay performance and data reliability. To run this task in the API use analyze.data/v1.

Learn more about all current available tasks in the reference documentation /task/create.

Creating tasks

You create tasks in the UI or API. Learn more about creating a task in the API in /task/create. To create a task in the UI navigate to Rounds and click on + New task.

Each task requires specific input parameters and produces an artifact as output. These artifacts can serve as inputs for other tasks, creating workflows specific to your project.

Task inputs

Dataset

Tasks that process experimental data require a specific schema. You can create views to combine and filter data from different tables to match the task schema. Learn more about view creation in views.

To understand what schema a task requires see the parameter definition in /task/create.

Assays

Some tasks will need to understand the assays and objectives of your project. Define your assays based on the columns in the dataset you attach to a task.

For each assay you define a Name and the Scale type. The scale type defines how the assay behaves.

Additive: Additive assay values can be compared across batches by adding a constant factor, even if raw numbers differ across batches.

Multiplicative: Multiplicative assay values can be compared across batches by applying a scaling factor (i.e. a fold‑change), even if raw numbers differ across batches.

Rank: Rank assay values can only be compared by their order within a batch, not by their absolute values across batches.

Objectives

Some tasks will need to understand your project's objectives. You set objectives based on the assays you added to the task. You can set one primary objective and multiple constraints.

A primary objective is the main optimization goal for your project. You can choose to either maximize or minimize its value by selecting Increase or Decrease. Only one primary objective can be set per round.

A constraint is a target that the models aim to achieve while optimizing for the primary objective.

Our models currently require one primary objective, and you can choose to add single, multiple, or no constraints. Each assay can be associated with only one primary objective or constraint objective.

Task outputs

Each task produces artifacts as output. Artifacts can be used as inputs in other tasks. For example, you use the models trained in the train task as input to the engineer task.

Reports

To understand and share the outputs of tasks you can create reports. To create a report for a task create an analyze task. You can generate a report for each task you run.

Reports provide a breakdown of the results of the task. The structure of the report varies based on the type of task.