This project will wrangle short-read genomic alignments, for example from wastewater-sampling, into a format for easy import into the SILO sequencing database.
The V-Pipe Docker is designed to process a single .bam
file and upload the results to SILO.
.github/workflows
: Contains GitHub Actions used for building, testing, and publishing. install, and whether or not to mount the project directory into the container..vscode/settings.json
: Contains VSCode settings specific to the project, such as the Python interpreter to use and the maximum line length for auto-formatting.src
: Place new source code here.scripts
: Place new source code here, temporary and intermediate works.tests
: Contains Python-based test cases to validate source code.pyproject.toml
: Contains metadata about the project and configurations for additional tools used to format, lint, type-check, and analyze Python code.
To build the package and maintain dependencies, we use Poetry. In particular, it's good to install it and become familiar with its basic functionalities by reading the documentation.
- Create and activate the conda environment from the
environment.yml
file:
conda env create -f environment.yml
conda activate sr2silo
- Set up the environment with development tools:
poetry install --with dev
poetry run pre-commit install
Then, you will be able to run tests:
$ poetry run pytest
... or check the types:
$ poetry run pyright
Alternatively, you may prefer to work with the right Python environment using:
$ poetry shell
$ pytest
The code quality checks run on GitHub can be seen in
.github/workflows/test.yml
for the python package CI/CD,
We are using:
- Ruff to lint the code.
- Black to format the code.
- Pyright to check the types.
- Pytest to run the unit tests code and workflows.
- Interrogate to check the documentation.
This project welcomes contributions and suggestions. For details, visit the repository's Contributor License Agreement (CLA) and Code of Conduct pages.