Clodius
Clodius is a tool for breaking up large data sets into smaller tiles that can subsequently be displayed using an appropriate viewer.
Install / Use
/learn @higlass/ClodiusREADME
Clodius
Displaying large amounts of data often requires first turning it into not-so-large amounts of data. Clodius is a program and library designed to aggregate large datasets to make them easy to display at different resolutions.
Demo
Install the clodius package:
pip install clodius
And use it aggregate a bigWig file:
curl https://raw.githubusercontent.com/hms-dbmi/clodius/develop/test/sample_data/geneAnnotationsExonsUnions.short.bed \
> /tmp/sample.short.bed
clodius aggregate bedfile /tmp/sample.short.bed
The output files can then be displayed using higlass-manage. For more information about viewing these types of files take a look at the higlass docs.
More examples are available.
File Types
- Non-genomic Rasters
- Genomic Data
Development
The recommended way to develop clodius is to use a conda environment and
install clodius with develop mode:
pip install -e ".[dev]"
Test Fixtures (Git LFS)
Test data files in data/ are stored in Git LFS. They are downloaded automatically when you clone the repository with LFS enabled:
git lfs install # once per machine
git clone <repo> # LFS files downloaded automatically
# or, in an existing clone:
git lfs pull
Adding a new test fixture
-
Check if the file type is already tracked — open .gitattributes and look for a matching pattern (e.g.
data/*.gz,*.bam). If not, add a new tracking rule:git lfs track "data/*.ext" # adds a line to .gitattributes git add .gitattributes -
Allow the file through
.gitignore—data/*is ignored by default. Add a negation line for your file:!data/your_new_file.ext -
Stage and commit as normal:
git add data/your_new_file.ext git commit -m "Add test fixture: your_new_file.ext" git push # LFS objects are uploaded automatically
Testing
The unit tests for clodius can be run using pytest:
pytest
Individual unit tests can be specified by indicating the file and function they are defined in:
pytest test/cli_test.py:test_clodius_aggregate_bedgraph
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
