Skip to content

cbg-ethz/UsefulGnom

Repository files navigation

Project Status: WIP – This project is currently under active development. CI/CD Snakemake CI Ruff Code style: black

UsefulGnom

Python package for viral genomic analysis utilities.

Usage

import usefulgnom as ug

Setting up the repository

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.

To set up the environment (together with development tools), run:

$ 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

Existing code quality checks

The code quality checks run on GitHub can be seen in

  • .github/workflows/test.yml for the python package CI/CD,
  • .github/workflows/test-snake.yml for the snakemake workflow CI.

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.
  • Snakefmt to format snakemake workflows.

Workflow

We use Feature Branch Workflow, in which modifications of the code should happen via small pull requests.

We recommend submitting small pull requests and starting with drafts outlining proposed changes.

Currently Implemented

  • Calulating Base Coverage Depth and Mutation Statistics, adapoted from @AugusteRi
  • Calulating Amplicon Coverage, adapoted from @dr-david

About

Useful Genomic Tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages