System dependencies used by simulation build/run paths:
mpicc(OpenMPI)gsl(-lgsl -lgslcblas)bc- C toolchain (
gcc/g++,make)
Python dependencies are in requirements.txt.
Linux/macOS automated setup:
./scripts/setup_environment.shPython-only setup (skip system package install):
./scripts/setup_environment.sh --python-onlyVenv-only manual setup:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtWindows (PowerShell, pip/venv):
.\scripts\setup_environment.ps1Alternative virtualenv tool:
python3 -m pip install virtualenv
python3 -m virtualenv .venv
source .venv/bin/activate
pip install -r requirements.txtCross-platform notes:
- Best portability: use pip + virtualenv and run simulations where
mpicc+gslare available. - On Windows, recommended simulation path is WSL2 (Ubuntu) plus
./scripts/setup_environment.sh. - Native Windows can use
scripts/setup_environment.ps1for Python setup, but MPI/GSL builds are typically more reliable in WSL2 or Linux containers.
This test is a local non-Slurm test of simulations.
To test the code, run:
python3 run_test.py --config pipeline/pipeline_test_config.jsonShort smoke test (single run, shorter runtime):
python3 run_test.py --config pipeline/pipeline_test_config.json --max-runs 1 --simlength 2000Parameters for this simulation are in:
pipeline/params/dediff_simulation_test.json
The stage wiring for the test run is in:
pipeline/pipeline_test_config.json(stage_params_files.dediff_simulation_test)
Generated outputs are in newly created subfolders under:
dediffSimulation/Set_<set>_in<inSuffix>_<pref>_Tp<Tp>/<run_dir>/
Examine:
dediffSimulation/Set_<set>_in<inSuffix>_<pref>_Tp<Tp>/<run_dir>/Conf-thermo.dat- Example:
dediffSimulation/Set_1_in3_ell_Tp0.0001/46ch_T0.0001_sga0.001_sgd0.001_epb8_epa6_epm4_lmn0.1_sfdf0.001_sgat2_as0/Conf-thermo.dat
Use column 2 of Conf-thermo.dat to examine gross interchromosomal intermingling energy.
This repository provides a staged, config-driven pipeline for:
chrom_props->ChromPartitionProps.datipd_hic_basic->IPD.datiad_rnaseq_hicmask->IAD.datexpected_mat->ConstraintsVector.datinit_positions_*-> start/int/constraint filesprep_surf_meshes*-> prepped surface filesdediff_simulation/anneal_simulation-> Slurm submission script generationdediff_simulation_test-> local non-Slurm dediff test run
Processed upstream outputs are centralized in:
processed_HiC_epigenomic_data/
Canonical files:
ChromPartitionProps.datIPD.datIAD.datConstraintsVector.dat
Run test mode through the pipeline entrypoint:
python3 pipeline/run_pipeline.py --config pipeline/pipeline_test_config.json --mode testRun full pipeline:
python3 pipeline/run_pipeline.py --config pipeline/pipeline_config.jsonDry-run:
python3 pipeline/run_pipeline.py --config pipeline/pipeline_config.json --dry-run- Stage orchestration is Python-first (
pipeline/run_pipeline.py, stage wrappers,run_test.py). - Simulation wrappers currently call shell launchers (
run_46ch_script_usePrepped.sh,run_46ch_script_usePrepped_reprog.sh) per parameter combination. - Compile toolchain is configured in stage params (
compiler, set tompiccfor simulation params).
Config files:
- User-facing config:
pipeline/pipeline_config.json - Core workflow config:
pipeline/core_config.json - Stage parameter files:
pipeline/params/*.json
pipeline/pipeline_config.json contains:
core_configpathsfilesstage_params_filesstages(onlyscript,required_inputs,required_outputs)
pipeline/core_config.json contains:
pipeline_modesnaming- core chrom-props clustering settings
- IPD/IAD control settings
genChromProps/make_chrom_props.pygenConstraintsInteractions/make_ipd.pygenConstraintsInteractions/make_iad.pygenInitPositions/vectorizeConstraints.pygenInitPositions/run_genStart_ell.pygenInitPositions/run_genStart_sph.pygenSurfMeshes/run_prepSurf_ell.pygenSurfMeshes/run_prepSurf_sph.pydediffSimulation/genSlurm_submission_script.pyannealSimulation/genSlurm_submission_script.pyrun_test.pypipeline/run_pipeline.py