Streamlit workbench for running HIPPS-DIMES locally and inspecting the results interactively.
This repository contains the app layer only. The numerical model and optimization code live in the main HIPPS-DIMES repository - refactor branch. The app calls the HIPPS-DIMES Python API directly, so you can configure runs, launch optimization, and inspect the returned matrices, structures, dynamics, and mechanics from one interface.
- Run
run_optimization()directly from a Streamlit UI - Save or load pickle-only HIPPS-DIMES result bundles
- Inspect distance maps, contact maps, and connectivity matrices
- Compare target matrices against HIPPS-DIMES output
- Review convergence curves and live optimization progress
- Handle missing-data runs, including nearest-neighbor repair and fully-missing-locus removal
- Visualize sampled 3D structures
- Compute dynamics and mechanics observables from the final connectivity matrix
- Browse local files and inspect available
.cool/.mcoolgroups before launching a run
- This repo is a local desktop app, not a hosted web service.
- Input files are read from your local filesystem.
- No data is uploaded anywhere by the app itself.
- You still need the main
HIPPS-DIMESpackage installed in the same Python environment.
Clone the app repo next to the core repo:
workspace/
|-- HIPPS-DIMES
`-- HIPPS-DIMES-APP
The app can also import HIPPS-DIMES from an installed package, but the side-by-side layout above is the simplest setup for development.
git clone <HIPPS-DIMES-url>
git clone <HIPPS-DIMES-APP-url>
cd HIPPS-DIMES-APP
uv venv
source .venv/bin/activate
uv pip install -e ../HIPPS-DIMES
uv pip install -e .git clone <HIPPS-DIMES-url>
git clone <HIPPS-DIMES-APP-url>
cd HIPPS-DIMES-APP
python -m venv .venv
source .venv/bin/activate
pip install -e ../HIPPS-DIMES
pip install -e .git clone <HIPPS-DIMES-url>
git clone <HIPPS-DIMES-APP-url>
mamba create -n hipps-dimes-app python=3.11 pip
mamba activate hipps-dimes-app
pip install -e ./HIPPS-DIMES
pip install -e ./HIPPS-DIMES-APPcd HIPPS-DIMES-APP
streamlit run app.py- Set
Input file pathto a local file. - Choose the correct
Input typeandInput format. - For
coolerand.hicinputs, fill inSelection / region. - Adjust optimization parameters in the sidebar, including optional missing-data handling and pickle output.
- Click
Run HIPPS-DIMES.
Use Load existing results in the sidebar to open:
- a standard output prefix such as
/path/to/run - one of the saved text or CSV artifacts such as
/path/to/run_connectivity_matrix.txt - a pickle-only output such as
/path/to/run_HIPPS_DIMES_results.pkl
If the original input file moved or run_parameters.csv is unavailable, use the metadata override panel to rebuild target matrices manually.
Use:
Input type = cmapInput format = text,npy,cooler, orhic
For cooler and hic, Selection / region is required.
Use:
Input type = dmapInput format = textornpy
Use:
Input type = ddmapInput format = textornpy
The sidebar includes a local filesystem browser to help populate Input file path.
Directory: browse a folderGo,Up,Home,Sync: navigate quicklyFiles->Use file: copy the selected file intoInput file pathCooler groups / resolutions: inspect available groups in.cool/.mcoolfiles and append the selected group toInput file pathautomatically
Examples:
/path/to/contact_map.txt
/path/to/contact_map.npy
/path/to/data.cool
/path/to/data.mcool::/resolutions/10000
/path/to/data.hic
Run metadata, output availability, and download actions.
- Final distance map
- Final contact map
- Final connectivity matrix
- Target vs HIPPS-DIMES matrix comparisons
Loss and entropy across optimization iterations.
Sampled structures from the final connectivity matrix.
Theory-based dynamics observables derived from the optimized model.
Bulk and per-locus modulus calculations from the optimized connectivity matrix.
- Large
.cooland.hicinputs are better handled as local paths than as browser uploads. - GPU options appear automatically when HIPPS-DIMES detects a supported GPU environment.
- The app keeps the most recent run in memory for interactive inspection.
- For noisy runs with
save_steps, HIPPS-DIMES requires anOutput prefix. Save results pickle onlywrites{output_prefix}_HIPPS_DIMES_results.pkland suppresses the default text/CSV/XYZ output files.Remove fully missing locishould be used together withIgnore missing data.
Make sure both repositories are installed into the same environment:
pip install -e ../HIPPS-DIMES
pip install -e .Make sure:
Input type = cmapInput format = coolerSelection / regionis filled in- the correct cooler group or resolution is selected in the sidebar
Check:
Input type = cmapInput format = hicSelection / regionis filled inHi-C binsize, normalization, and unit match the file
This usually means the original run dropped fully missing loci before optimization. Load the original run_parameters.csv or result pickle, or enable the same missing-data override options when reconstructing targets from the source input.
