Note: this version is preliminary but provides an overview of essential implementation details for HiCT model.
Hi-Tree actively uses Split/Merge tree structures (Treaps) to efficiently handle contig reverse and move operations without need for overwriting 2D data.
- Support for rearrangement operations (contig/scaffold reversal and translocation);
- Support for scaffolding operations (grouping multiple contigs into scaffold and ungrouping contigs from scaffold);
- Export of assembly in FASTA format;
- Export of selection context in FASTA format;
- Import of AGP assembly description;
- Saving/loading work state into the file;
- Property tests are implemented using pytest and pytest-quickcheck.
- The minimum assembly unit right now is contig, which cannot be split into parts;
You can try it by using HiCT Server to visualize and edit Hi-C contact maps in HiCT Web UI.
It is recommended to use virtual environments provided by venv
module to simplify dependency management.
This library uses HiCT format for the HiC data and you can convert Cooler's .cool
or .mcool
files to it using HiCT utils
This library has ContactMatrixFacet as the main interaction point. It hides all the internal methods, exposing only simple ones. Documentation for this module could be found at doc directory (download this file and open it using your web browser).
You can run rebuild.sh
script in source directory which will perform static type-checking of module using mypy (it may produce error messages), build library from source and reinstall it, deleting current version.