Thank you for your interest in contributing. This document covers how to report issues, set up a development environment, run tests, update docs, and submit changes.
Please use GitHub Issues: https://github.com/rotheconrad/chromosort/issues.
When reporting a bug, include:
- The exact command you ran, with private sample names redacted if needed.
- The full error message or traceback.
- Your operating system and Python version (
python --version). - The ChromoSort version (
python -c "import chromosort; print(chromosort.__version__)"). - A small FASTA, coords, PAF, GFA, GAF, or TSV fixture if possible.
When requesting a feature, describe:
- The assembly-curation problem you are trying to solve.
- Which inputs you have and which output you expect.
- Whether the request affects sorting, splitting, plotting, scaffolding, manual review, or graph gap filling.
Recommended mamba setup:
git clone https://github.com/rotheconrad/chromosort.git
cd chromosort
mamba env create -f environment.yml
mamba activate chromosortPixi setup:
git clone https://github.com/rotheconrad/chromosort.git
cd chromosort
pixi install
pixi run helpPlain Python editable install for lightweight code work:
python -m venv .venv
source .venv/bin/activate
python -m pip install -e . pytest Pillowpytest
python -m unittest discover -s tests -v
pixi run testThe tests use tiny synthetic fixtures under tests/data and do not require running MUMmer or minimap2. New behavior should include focused tests or fixtures when practical.
The public documentation is built from docs/ with Jekyll and GitHub Pages. The archived longform README is kept at docs/archive/longform-readme.md as a source reference, while command docs live under docs/commands/.
For docs-only changes, update the relevant Markdown page and check links to local files and assets. If command behavior changes, update both the command page and any affected output, workflow, troubleshooting, or status page.
- Fork the repository or create a branch from
main. - Make a focused change.
- Add or update tests for changed behavior.
- Run the relevant tests before opening the pull request.
- Write a clear PR description explaining what changed and why.
For large behavior changes, open an issue first so the design can be discussed before implementation.
Be respectful and constructive. ChromoSort is affiliated with scientific software development; interactions should meet the standards expected in a professional research environment. See CODE_OF_CONDUCT.md.