Merge pull request #265 from CovertLab/tweaks #108
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Modified from GitHub Actions template | |
name: Workflow | |
# Improves reproducibility and speed | |
env: | |
OPENBLAS_NUM_THREADS: 1 | |
OMP_NUM_THREADS: 1 | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
Reproducibility: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
pip install --upgrade pip wheel | |
pip install numpy==1.26.4 | |
pip install -r requirements.txt | |
- name: Compile Cython components | |
run: | | |
make clean compile | |
- name: Set PYTHONPATH | |
run: | | |
echo "PYTHONPATH=." >> $GITHUB_ENV | |
- name: Test ParCa reproducibility | |
run: | | |
python runscripts/parca.py --config ecoli/composites/ecoli_configs/run_parca.json \ | |
-c 3 -o out/parca_1 | |
python runscripts/parca.py --config ecoli/composites/ecoli_configs/run_parca.json \ | |
-c 3 -o out/parca_2 | |
python runscripts/debug/compare_pickles.py out/parca_1/kb out/parca_2/kb | |
- name: Test simulation reproducibility | |
run: | | |
python ecoli/experiments/ecoli_master_sim.py \ | |
--generations 1 --emitter parquet --emitter_arg out_dir='out' \ | |
--experiment_id "parca_1" --daughter_outdir "out/parca_1" \ | |
--sim_data_path "out/parca_1/kb/simData.cPickle" --fail_at_total_time & | |
python ecoli/experiments/ecoli_master_sim.py \ | |
--generations 1 --emitter parquet --emitter_arg out_dir='out' \ | |
--experiment_id "parca_2" --daughter_outdir "out/parca_2" \ | |
--sim_data_path "out/parca_2/kb/simData.cPickle" --fail_at_total_time | |
python runscripts/debug/diff_simouts.py -o "out" "parca_1*" "parca_2*" | |
Two-gens: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
pip install --upgrade pip wheel | |
pip install numpy==1.26.4 mypy | |
pip install -r requirements.txt | |
- name: Install nextflow edge | |
run: | | |
curl -s https://get.nextflow.io | bash | |
chmod +x nextflow | |
echo "PATH=.:$PATH" >> $GITHUB_ENV | |
NXF_EDGE=1 ./nextflow self-update | |
- name: Compile Cython components | |
run: | | |
make clean compile | |
- name: Set PYTHONPATH | |
run: | | |
echo "PYTHONPATH=." >> $GITHUB_ENV | |
- name: Two generations | |
run: | | |
python runscripts/workflow.py --config ecoli/composites/ecoli_configs/two_generations.json |