Skip to content

Commit b1e7dcc

Browse files
authored
Merge pull request #226 from JDACS4C-IMPROVE/rajeeja/parsl_csa_githubactions
o GraphDRP parsl csa workflow
2 parents 2c9a8e5 + 5171a14 commit b1e7dcc

File tree

3 files changed

+98
-0
lines changed

3 files changed

+98
-0
lines changed

.github/workflows/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# IMPROVE UnitTest GitHub Actions (unittest-actions.yml)
2+
3+
This repository contains a GitHub Actions workflow to run unit tests for the IMPROVE library. The workflow is triggered on every push to the repository.
4+
5+
The workflow is defined in the `.github/workflows/unittest-actions.yml` file. Here are the steps it performs:
6+
7+
1. **Checkout Code**: The repository code is checked out using the `actions/checkout` action.
8+
2. **Install and Check**: The workflow installs the IMPROVE library in editable mode and verifies the installation by printing the version. It then sets the `PYTHONPATH` environment variable and creates necessary directories for data. Finally, it runs the `test_drp_params.py` test script.
9+
10+
# Docker Parsl GraphDRP CSA Workflow (docker_gdrp_parsl.yml)
11+
12+
This GitHub Actions workflow is designed to automate the testing and execution of the GraphDRP CSA (Cross-Species Analysis) workflow using Docker. The workflow performs the following steps:
13+
14+
1. **Checkout the Repository**: The workflow checks out the IMPROVE repository code.
15+
2. **Install Missing Libraries**: Installs necessary system libraries such as `libxrender1`, `libxext6`, and `tree`.
16+
3. **Install and Check**: Verifies the Python and Conda environments, activates the `GraphDRP` Conda environment (already has csa-data downloaded), and installs the required Python packages.
17+
4. **Run Preprocessing and CSA Workflows**: Executes the preprocessing and Parsl CSA workflows using the specified configuration files.
18+
## Configuration Files
19+
20+
The workflow uses the following configuration files:
21+
22+
- **`parsl_csa_githubactions.ini`**: This configuration file is used to set up the parameters for the Parsl CSA workflow. It includes settings for data paths, model parameters, and other relevant configurations.
23+
+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Docker Parsl GraphDRP CSA workflow
2+
on: [push]
3+
jobs:
4+
test:
5+
runs-on: ubuntu-latest
6+
container:
7+
image: rajeeja/graphdrp-image:latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- name: Install missing libraries
11+
run: |
12+
apt-get update && apt-get install -y libxrender1 libxext6 tree #added tree here
13+
- name: Install and check
14+
run: |
15+
which python
16+
python --version
17+
which conda
18+
conda env list
19+
eval "$(conda shell.bash hook)"
20+
conda activate graphdrp
21+
pip install -e .
22+
export PYTHONPATH=$PYTHONPATH:.
23+
python -c "from improvelib.applications.drug_response_prediction.config import DRPPreprocessConfig; print('Import successful')"
24+
BASE_DIR=$(pwd)
25+
ls -ltrh
26+
cd /app/GraphDRP
27+
ls -ltrh
28+
conda list -n graphdrp
29+
python -c "import sys; print(sys.path)"
30+
cd $BASE_DIR/workflows/csa/parsl/
31+
pip install cryptography==37.0.1
32+
pip install pyopenssl==22.0.0
33+
pip install cffi==1.14.5
34+
pip install parsl numpy pandas scikit-learn pyyaml
35+
mv /app/GraphDRP/csa_data .
36+
echo "Preprocess started"
37+
ls -ltrh
38+
python workflow_preprocess.py --config_file ./parsl_csa_githubactions.ini
39+
echo "Preprocess done"
40+
python workflow_csa.py --config_file ./parsl_csa_githubactions.ini
41+
echo "Parsl CSA done"
42+
echo "Tree of ./parsl_csa_exp3:"
43+
tree ./parsl_csa_exp3
44+
echo "Content of ./parsl_csa_exp3/infer/CCLE-CCLE/split_0/test_scores.json:"
45+
cat ./parsl_csa_exp3/infer/CCLE-CCLE/split_0/test_scores.json
46+
echo "Content of ./parsl_csa_exp3/infer/CCLE-CCLE/split_1/test_scores.json:"
47+
cat ./parsl_csa_exp3/infer/CCLE-CCLE/split_1/test_scores.json
48+
echo "Content of ./parsl_csa_exp3/infer/CCLE-gCSI/split_0/test_scores.json:"
49+
cat ./parsl_csa_exp3/infer/CCLE-gCSI/split_0/test_scores.json
50+
echo "Content of ./parsl_csa_exp3/infer/gCSI-CCLE/split_0/test_scores.json:"
51+
cat ./parsl_csa_exp3/infer/gCSI-CCLE/split_0/test_scores.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[DEFAULT]
2+
input_dir = ./csa_data/raw_data
3+
y_col_name = auc
4+
use_singularity = False
5+
singularity_image = path_to_your_singularity_container.sif
6+
hyperparameters_file = ./hyperparameters_default.json
7+
model_name = graphdrp
8+
model_scripts_dir = /app/GraphDRP
9+
model_environment = graphdrp
10+
only_cross_study = False
11+
epochs = 2
12+
input_supp_data_dir = ''
13+
14+
; # Exp 3
15+
output_dir = ./parsl_csa_exp3
16+
source_datasets = ["CCLE","gCSI"]
17+
target_datasets = ["CCLE","gCSI"]
18+
split = ["0","1"]
19+
20+
[Preprocess]
21+
22+
[Train]
23+
24+
[Infer]

0 commit comments

Comments
 (0)