Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENHANCEMENT: Provide a complete functional pipeline usable with test data #305

Open
gdevenyi opened this issue Aug 15, 2023 · 5 comments
Open

Comments

@gdevenyi
Copy link
Member

In order to ensure an installation of RABIES is functional, we need to exercise all steps of the pipeline with a minimal dataset.

That means

  • data
  • commands

This can be used to ensure that any particular commit on the code works.

Related to #301 as I don't know if my changes break anything.

@gdevenyi
Copy link
Member Author

Example data runs with this:

#!/bin/bash

set -euo pipefail

docker run -it --rm -v $PWD/work_dir:/work_dir --user "$(id -u):$(id -g)" \
rabies/testing -p MultiProc \
preprocess /work_dir/test_dataset /work_dir/rabies_out \
--anatomical_resampling 0.3x0.3x0.3

docker run -it --rm -v $PWD/work_dir:/work_dir --user "$(id -u):$(id -g)"  \
rabies/testing -p MultiProc \
confound_correction /work_dir/rabies_out /work_dir/rabies_out

docker run -it --rm -v $PWD/work_dir:/work_dir --user "$(id -u):$(id -g)"  \
rabies/testing -p MultiProc \
analysis /work_dir/rabies_out /work_dir/rabies_out --data_diagnosis

Add to testing action

@Gab-D-G
Copy link
Collaborator

Gab-D-G commented Sep 21, 2023

Here's a set of commands (from https://github.com/grandjeanlab/INCF_preclinical/blob/main/rabies/process_test_dataset.ipynb) that should work on the new test dataset (https://zenodo.org/record/8349029):

#!/bin/bash

set -euo pipefail

docker run -it --rm \
-v $PWD/test_dataset:/test_dataset:ro \
-v $PWD/test_dataset_outputs:/test_dataset_outputs/ \
gabdesgreg/rabies:0.4.8 -p MultiProc \
preprocess /test_dataset/ /test_dataset_outputs --anatomical_resampling 0.15x0.15x0.15 \
--anat_inho_cor method=SyN,otsu_thresh=2,multiotsu=true

docker run -it --rm \
-v $PWD/test_dataset:/test_dataset:ro \
-v $PWD/test_dataset_outputs:/test_dataset_outputs/ \
gabdesgreg/rabies:0.4.8 -p MultiProc --local_threads 4 \
confound_correction /test_dataset_outputs/ /test_dataset_outputs \
--frame_censoring FD_censoring=true,FD_threshold=0.05,DVARS_censoring=false,minimum_timepoint=80 \
--conf_list mot_6 WM_signal CSF_signal --smoothing_filter 0.3

docker run -it --rm \
-v $PWD/test_dataset:/test_dataset:ro \
-v $PWD/test_dataset_outputs:/test_dataset_outputs/ \
gabdesgreg/rabies:0.4.8 -p MultiProc --local_threads 4 \
analysis /test_dataset_outputs/ /test_dataset_outputs \
--data_diagnosis

QC outputs should reproduce what's found in https://github.com/grandjeanlab/INCF_preclinical/tree/main/rabies/test_dataset_QC.

What would be the next steps to implement this systematically?

@gdevenyi
Copy link
Member Author

This will be added to the GitHub action as a testing workflow. I need to figure out if it goes with the existing build or a seperate thing. @david-roper might do this

@gdevenyi
Copy link
Member Author

gdevenyi commented Oct 2, 2023

Example data and testing commands need to exercise every part of the pipeline.

Current container does not appear to properly run melodic due to lack of testing during development.

@Gab-D-G
Copy link
Collaborator

Gab-D-G commented Oct 2, 2023

This is addressed #326. Essentially all functions not conducted with error_check_rabies.py will be complemented by processing real data, with the test dataset. This is now as complete as it can be at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants