𧬠IdeoCoverage is a Python-based tool for visualizing chromosome ideograms with integrated coverage information from BED files. It highlights centromeric and telomeric regions using cytoband annotations and shows whether these critical genomic features are covered or not.
- Draws scaled chromosome ideograms (chr1β22, X, Y)
- Highlights:
- π₯ Covered / Uncovered centromeres
- π© Covered / Uncovered telomeres
- π· BED coverage regions
- Uses cytoband files to annotate centromeres and telomeric regions
- Generates high-resolution SVG plots
- Adds minor ticks and a clean legend for publication-quality visuals
- Python 3.7+
- Packages:
matplotlibpandaspybedtools# needs bedtools installed on your system (for pybedtools to work)pyfaidx
Install dependencies:
pip install -r requirements.txtpython3 coverage_ideogram.py \
--fasta path/to/reference.fasta \
--bed path/to/regions.bed \
--cytoband path/to/cytoBand.txt \
--output coverage_ideogram.svg
python3 coverage_ideogram.py \
--fasta hg19.fa \
--bed example.bed \
--cytoband cytoBand.txt \
--output ideogram_output.svg
| Argument | Description |
|---|---|
--fasta |
Reference genome FASTA file (like hg19.fasta) |
--bed |
BED file containing regions of interest (like regions.bed) |
--cytoband |
Cytoband annotation file (UCSC-style hg19_cytoBand.txt) |
--output |
Output image filename (recommended: .svg) |
- When full fasta file is provided:
- When specific chromosome fasta file is provided:
You can download a cytoband file from the UCSC Table Browser:
- UCSC Genome Browser β for cytoband annotations
- pyfaidx β for efficient FASTA file parsing
- pybedtools β for BED file manipulation
- matplotlib β for visualization
- pandas β for data handling
This project is licensed under the MIT License.