Skip to content

Commit 20df013

Browse files
committed
readme improved
1 parent 466f106 commit 20df013

27 files changed

Lines changed: 288 additions & 762 deletions

README.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Benchmarking GRN inference methods
1111
<!-- Leaderboard:
1212
[Performance comparision](https://add-grn--openproblems.netlify.app/results/grn_inference/) -->
1313

14-
[Performance comparision](https://github.com/janursa/grn_benchmark/blob/main/notebooks/process_results.ipynb) -- we are currently under revision and the official leaderboard will be released soon.
14+
Check for [performance comparision](https://github.com/janursa/grn_benchmark/blob/main/notebooks/process_results.ipynb) of integrated GRN inference methods.
1515

1616
Article: [geneRNIB: a living benchmark for gene regulatory network inference](https://www.biorxiv.org/content/10.1101/2025.02.25.640181v1)
1717

@@ -22,7 +22,7 @@ Documentation:
2222
Repository:
2323
[openproblems-bio/task_grn_inference](https://github.com/openproblems-bio/task_grn_inference)
2424

25-
If you use this framework, please cite it as
25+
If you use this framework, please cite
2626

2727
```
2828
@article{nourisa2025genernib,
@@ -49,58 +49,58 @@ are re-assessed, and the leaderboard is updated accordingly. The aim is
4949
to evaluate both the accuracy and completeness of inferred GRNs. It is
5050
designed for both single-modality and multi-omics GRN inference.
5151

52-
In the current version, geneRNIB contains 10 inference methods including
53-
both single and multi-omics, 8 evalation metrics, and five datasets.
54-
55-
See our publication for the details of methods.
56-
5752
## Installation
5853

59-
You need to have Docker, Java, and Viash installed. Follow
60-
[these instructions](https://openproblems.bio/documentation/fundamentals/requirements)
61-
to install the required dependencies.
54+
Install Docker, Java, and Viash using
55+
[these instructions](https://openproblems.bio/documentation/fundamentals/requirements).
6256

6357
## Download resources
6458
```bash
6559
git clone --recursive git@github.com:openproblems-bio/task_grn_inference.git
6660

6761
cd task_grn_inference
6862
```
69-
To interact with the framework, you should download the resources containing necessary inferene and evaluation datasets to get started.
70-
Here, we download the **test resources** which are solely used for testing if the framework is installed successfully.
63+
To interact with the framework,download the resources containing necessary inferene and evaluation datasets.
7164

7265
```bash
73-
scripts/download_resources.sh
66+
pip install awscli
67+
aws s3 sync s3://openproblems-data/resources/grn/grn_benchmark resources/grn_benchmark --no-sign-request
68+
7469
```
7570

76-
Refer to the [Documentation](https://genernib-documentation.readthedocs.io/en/latest/) for downloading the actual datasets. To reproduce the results, run `scripts/run_benchmark_all.sh`, which is a very resource intensive run.
7771

7872
## Run a GRN inference method
7973

8074
To infer a GRN for a given dataset (e.g. `op`) using simple Pearson correlation:
8175

8276
```bash
8377
viash run src/methods/pearson_corr/config.vsh.yaml -- \
84-
--rna resources_test/grn_benchmark/inference_data/op_rna.h5ad \
85-
--prediction output/net.h5ad \
86-
--tf_all resources_test/grn_benchmark/prior/tf_all.csv
78+
--rna resources/grn_benchmark/inference_data/op_rna.h5ad \
79+
--tf_all resources/grn_benchmark/prior/tf_all.csv \
80+
--prediction output/net.h5ad
8781
```
88-
Of note, we are using the `resources_test` datasets, which are small versions of the actual datasets for computational speed. Thus, the obtained predictions are not realistic. To obtain a realistic prediction, download the actual data and set the folder to `resources`.
8982

90-
## Evaluate a GRN prediction
91-
Once got the prediction for a given dataset (e.g. op), use the following code to obtain evaluation scores.
83+
## Evaluate a GRN model
9284

9385
```bash
94-
bash scripts/run_grn_evaluation.sh --prediction=output/net.h5ad --save_dir=output/ --dataset=op --build_images=true --test_run=true
86+
bash scripts/run_grn_evaluation.sh \
87+
--prediction=output/net.h5ad \
88+
--dataset=op \
89+
--build_images=true \
90+
--save_dir=output
9591
```
92+
`build_images` only needed for the first run.
9693

97-
**This** outputs the scores into `output/score_uns.yaml`. Of note, by passing `--test_run`, the evaluations are done on the test data. To use the actual data (`resources` folder), omit this flag.
94+
This outputs the scores into `output/score_uns.yaml`.
9895

9996

10097
## Add a GRN inference method, evaluation metric, or dataset
10198

10299
To add a new component to the repository, follow the [Documentation](https://genernib-documentation.readthedocs.io/en/latest/).
103100

101+
## Run the entire pipline
102+
103+
Run `scripts/run_all.sh` for the entire pipeline. Due to resource intensive nature of the task, we have splitted the pipeline into two steps of GRN inference and evaluation.
104104

105105
## Authors & contributors
106106

@@ -109,9 +109,10 @@ To add a new component to the repository, follow the [Documentation](https://gen
109109
| Jalil Nourisa | author |
110110
| Robrecht Cannoodt | author |
111111
| Antoine Passimier | contributor |
112+
| Jérémie Kalfon | contributor |
112113
| Marco Stock | contributor |
113114
| Christian Arnold | contributor |
114-
| Jérémie Kalfon | contributor |
115+
115116

116117
## API
117118

docs/source/images/grn_models.png

-132 KB
Loading

miniconda.sh

Whitespace-only changes.

scripts/download_resources.sh

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
set -e
44

5-
common/scripts/sync_resources
5+
# common/scripts/sync_resources
66

7-
# aws s3 sync s3://openproblems-data/resources/grn/grn_benchmark resources/grn_benchmark --no-sign-request
8-
9-
10-
# aws s3 sync s3://openproblems-data/resources/grn/grn_models resources/grn_models --delete
11-
# aws s3 sync resources_test/ s3://openproblems-data/resources_test/grn/ --delete
12-
# aws s3 sync resources/grn_benchmark/ s3://openproblems-data/resources/grn/grn_benchmark --delete
7+
aws s3 sync s3://openproblems-data/resources_test/grn/grn_benchmark resources_test/grn_benchmark --no-sign-request

scripts/run_grn_evaluation.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ done
5353
echo "$@"
5454
echo "DATASET: $DATASET"
5555
echo "PREDICTION: $PREDICTION"
56-
echo "SAVE_DIR: $SAVE_DIR"
5756
echo "RUN_TEST: $RUN_TEST"
5857
echo "BUILD_IMAGES: $BUILD_IMAGES"
5958
echo "RUN_LOCAL: $RUN_LOCAL"
@@ -64,11 +63,11 @@ if [ -z "${DATASET:-}" ]; then
6463
exit 1
6564
fi
6665

66+
6767
num_workers=10
68-
metric_ids="[regression_2, ws_distance, sem, tf_recovery, tf_binding, replica_consistency]" #regression_1, regression_2, ws_distance
68+
metric_ids="[all_metrics]" #regression_2, ws_distance, sem, tf_recovery, tf_binding, replica_consistency
6969
RUN_ID="${DATASET}_evaluation"
7070
models_folder="${DATASET}/"
71-
apply_skeleton=false
7271
apply_tf=true
7372
layer='lognorm'
7473
if [ "$RUN_TEST" = "false" ]; then
@@ -125,8 +124,6 @@ append_entry() {
125124
tf_all: ${resources_dir}/grn_benchmark/prior/tf_all.csv
126125
regulators_consensus: ${resources_dir}/grn_benchmark/prior/regulators_consensus_${dataset}.json
127126
prediction: ${prediction}
128-
skeleton: ${resources_dir}/grn_benchmark/prior/skeleton.csv
129-
apply_skeleton: ${apply_skeleton}
130127
apply_tf: ${apply_tf}
131128
reg_type: ${reg_type}
132129
layer: $layer_

scripts/single_grn_evaluation.sh

Lines changed: 0 additions & 139 deletions
This file was deleted.

src/api/comp_metric.yaml

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,15 @@ arguments:
1313
direction: input
1414
- name: --evaluation_data
1515
__merge__: file_evaluation_bulk_h5ad.yaml
16-
required: true
16+
required: false
17+
direction: input
18+
- name: --evaluation_data_sc
19+
__merge__: file_evaluation_sc_h5ad.yaml
20+
required: false
21+
direction: input
22+
- name: --evaluation_data_de
23+
__merge__: file_evaluation_de_h5ad.yaml
24+
required: false
1725
direction: input
1826
- name: --score
1927
__merge__: file_score_h5ad.yaml
@@ -27,14 +35,10 @@ arguments:
2735
- name: --max_n_links
2836
type: integer
2937
default: 50000
30-
- name: --verbose
31-
type: integer
32-
default: 2
33-
direction: input
3438
- name: --tf_all
3539
type: file
3640
direction: input
37-
required: true
41+
required: false
3842
example: resources_test/grn_benchmark/prior/tf_all.csv
3943
- name: --num_workers
4044
type: integer
@@ -44,14 +48,17 @@ arguments:
4448
type: boolean
4549
required: false
4650
default: true
47-
- name: --apply_skeleton
48-
type: boolean
49-
required: false
50-
default: false
51-
- name: --skeleton
52-
type: file
51+
- name: --regulators_consensus
52+
type: file
53+
direction: input
54+
must_exist: false
5355
required: false
54-
example: resources_test/grn_benchmark/prior/skeleton.csv
56+
example: resources_test/grn_benchmark/prior/regulators_consensus_op.json
57+
- name: --reg_type
58+
type: string
59+
direction: input
60+
default: ridge
61+
description: name of regression to use
5562

5663

5764
test_resources:

src/api/comp_metric_regression.yaml

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)