Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@

* Update scPRINT to use latest stable version (PR #70)
* Fix kbet dependencies to numpy<2 and scipy<=1.13 (PR #78).
* Fix `render_readme` crashing on `comp_process_integration.yaml`'s absolute `__merge__` paths.

* Split Scanorama into two methods/scores
- Split Scanorama into embedding (integrate) and count-correction (correct) modes, instead of running both together.
Expand Down
122 changes: 61 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ aim to remove batch effects scRNA-seq datasets \[@zappia2018exploring\].
These methods balance the removal of batch effects with the conservation
of nuanced biological information in different ways. This abundance of
tools has complicated batch integration method choice, leading to
several benchmarks on this topic \[@luecken2020benchmarking;
several benchmarks on this topic \[@luecken2022benchmarking;
@tran2020benchmark; @chazarragil2021flexible; @mereu2020benchmarking\].
Yet, benchmarks use different metrics, method implementations and
datasets. Here we build a living benchmarking task for batch integration
Expand All @@ -46,15 +46,18 @@ extensive benchmark of single-cell data integration methods.

## Authors & contributors

| name | roles |
|:------------------|:-------------------|
| Michaela Mueller | maintainer, author |
| Malte Luecken | author |
| Daniel Strobl | author |
| Robrecht Cannoodt | contributor |
| Scott Gigante | contributor |
| Kai Waldrant | contributor |
| Nartin Kim | contributor |
| Name | Roles | Orcid | Github |
|:------------------|:-------------------|:--------------------|:-------------|
| Michaela Mueller | maintainer, author | 0000-0002-1401-1785 | mumichae |
| Malte Luecken | author | 0000-0001-7464-7921 | LuckyMD |
| Daniel Strobl | author | 0000-0002-5516-7057 | danielStrobl |
| Robrecht Cannoodt | author | 0000-0003-3641-729X | rcannood |
| Luke Zappia | author | 0000-0001-7744-8565 | lazappi |
| Scott Gigante | contributor | 0000-0002-4544-2764 | scottgigante |
| Kai Waldrant | contributor | 0009-0003-8555-1361 | KaiWaldrant |
| Martin Kim | contributor | 0009-0003-8555-1361 | martinkim0 |
| Sai Nirmayi Yasa | contributor | 0009-0003-6319-9803 | sainirmayi |
| Jeremie Kalfon | contributor | 0000-0002-2818-9728 | jkobject |

## API

Expand All @@ -64,27 +67,27 @@ flowchart TB
comp_process_dataset[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-data-processor'>Data processor</a>"/]
file_dataset("<a href='https://github.com/openproblems-bio/task_batch_integration#file-format-dataset'>Dataset</a>")
file_solution("<a href='https://github.com/openproblems-bio/task_batch_integration#file-format-solution'>Solution</a>")
comp_control_method[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-control-method'>Control method</a>"/]
comp_method[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-method'>Method</a>"/]
comp_process_integration[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-process-integration'>Process integration</a>"/]
comp_metric[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-metric'>Metric</a>"/]
comp_control_method[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-control-method'>Control method</a>"/]
file_integrated("<a href='https://github.com/openproblems-bio/task_batch_integration#file-format-integration'>Integration</a>")
comp_process_integration[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-process-integration'>Process integration</a>"/]
file_integrated_processed("<a href='https://github.com/openproblems-bio/task_batch_integration#file-format-processed-integration-output'>Processed integration output</a>")
comp_metric[/"<a href='https://github.com/openproblems-bio/task_batch_integration#component-type-metric'>Metric</a>"/]
file_score("<a href='https://github.com/openproblems-bio/task_batch_integration#file-format-score'>Score</a>")
file_common_dataset---comp_process_dataset
comp_process_dataset-->file_dataset
comp_process_dataset-->file_solution
file_dataset---comp_control_method
file_dataset---comp_method
file_dataset---comp_control_method
file_dataset---comp_process_integration
file_solution---comp_control_method
file_solution---comp_metric
comp_control_method-->file_integrated
comp_method-->file_integrated
comp_process_integration-->file_integrated_processed
comp_metric-->file_score
comp_control_method-->file_integrated
file_integrated---comp_process_integration
comp_process_integration-->file_integrated_processed
file_integrated_processed---comp_metric
comp_metric-->file_score
```

## File format: Common Dataset
Expand Down Expand Up @@ -149,7 +152,7 @@ Arguments:
| `--input` | `file` | A subset of the common dataset. |
| `--output_dataset` | `file` | (*Output*) Unintegrated AnnData HDF5 file. |
| `--output_solution` | `file` | (*Output*) Uncensored dataset containing the true labels. |
| `--hvgs` | `integer` | (*Optional*) NA. Default: `2000`. |
| `--hvgs` | `integer` | (*Optional*) Subset the count matrix to this number of HVGs. Default: `2000`. |

</div>

Expand Down Expand Up @@ -249,22 +252,6 @@ Data structure:

</div>

## Component type: Control method

A control method for the batch integration task.

Arguments:

<div class="small">

| Name | Type | Description |
|:-------------------|:-------|:-----------------------------------------------|
| `--input_dataset` | `file` | Unintegrated AnnData HDF5 file. |
| `--input_solution` | `file` | Uncensored dataset containing the true labels. |
| `--output` | `file` | (*Output*) An integrated AnnData dataset. |

</div>

## Component type: Method

A method for the batch integration task.
Expand All @@ -280,39 +267,19 @@ Arguments:

</div>

## Component type: Process integration

Process output from an integration method to the format expected by
metrics

Arguments:

<div class="small">

| Name | Type | Description |
|:---|:---|:---|
| `--input_dataset` | `file` | Unintegrated AnnData HDF5 file. |
| `--input_integrated` | `file` | An integrated AnnData dataset. |
| `--expected_method_types` | `string` | NA. |
| `--expected_method_types` | `string` | NA. |
| `--expected_method_types` | `string` | NA. |
| `--output` | `file` | (*Output*) An integrated AnnData dataset with additional outputs. |

</div>

## Component type: Metric
## Component type: Control method

A metric for evaluating batch integration methods.
A control method for the batch integration task.

Arguments:

<div class="small">

| Name | Type | Description |
|:---|:---|:---|
| `--input_integrated` | `file` | An integrated AnnData dataset with additional outputs. |
| Name | Type | Description |
|:-------------------|:-------|:-----------------------------------------------|
| `--input_dataset` | `file` | Unintegrated AnnData HDF5 file. |
| `--input_solution` | `file` | Uncensored dataset containing the true labels. |
| `--output` | `file` | (*Output*) Metric score file. |
| `--output` | `file` | (*Output*) An integrated AnnData dataset. |

</div>

Expand Down Expand Up @@ -361,6 +328,24 @@ Data structure:

</div>

## Component type: Process integration

Process output from an integration method to the format expected by
metrics

Arguments:

<div class="small">

| Name | Type | Description |
|:---|:---|:---|
| `--input_dataset` | `file` | Unintegrated AnnData HDF5 file. |
| `--input_integrated` | `file` | An integrated AnnData dataset. |
| `--expected_method_types` | `string` | The expected output types of the batch integration method. |
| `--output` | `file` | (*Output*) An integrated AnnData dataset with additional outputs. |

</div>

## File format: Processed integration output

An integrated AnnData dataset with additional outputs.
Expand Down Expand Up @@ -410,6 +395,22 @@ Data structure:

</div>

## Component type: Metric

A metric for evaluating batch integration methods.

Arguments:

<div class="small">

| Name | Type | Description |
|:---|:---|:---|
| `--input_integrated` | `file` | An integrated AnnData dataset with additional outputs. |
| `--input_solution` | `file` | Uncensored dataset containing the true labels. |
| `--output` | `file` | (*Output*) Metric score file. |

</div>

## File format: Score

Metric score file
Expand Down Expand Up @@ -438,4 +439,3 @@ Data structure:
| `uns["metric_values"]` | `double` | The metric values obtained for the given prediction. Must be of same length as ‘metric_ids’. |

</div>

2 changes: 1 addition & 1 deletion scripts/create_readme.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

set -e

common/scripts/create_task_readme --input src/api
common/scripts/create_task_readme
4 changes: 2 additions & 2 deletions src/api/comp_process_integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ argument_groups:
- name: Inputs
arguments:
- name: "--input_dataset"
__merge__: /src/api/file_dataset.yaml
__merge__: file_dataset.yaml
type: file
direction: input
required: true
- name: "--input_integrated"
__merge__: /src/api/file_integrated.yaml
__merge__: file_integrated.yaml
type: file
direction: input
required: true
Expand Down
Loading