Skip to content

Latest commit

 

History

History
105 lines (72 loc) · 3.14 KB

CONTRIBUTING.md

File metadata and controls

105 lines (72 loc) · 3.14 KB

Contributing

Here you will find all the information and steps necessary to contribute to UnCoVar.

Snakemake

We use snakemake as the backbone of this project. Have a look at the official documentation.

If you already have conda installed, run:

conda create -c conda-forge -c bioconda -n snakemake snakemake

For faster installation, you can use mamba, a reimplementation of the conda package manager in C++.

mamba create -c conda-forge -c bioconda -n snakemake snakemake

Once installed, activate your snakemake environment by running

conda activate snakemake.

Pre-Commit

Git hook scripts help identify simple issues before submission to code review. We run our hooks on every commit to automatically point out problems in code such as missing semicolons, trailing whitespace, and debug statements. Pointing these issues out before code review allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.

Before you can run hooks, you need to have the pre-commit package manager installed.

Using pip:

pip install pre-commit

Using homebrew:

brew install pre-commit

Using conda (via conda-forge):

conda install -c conda-forge pre-commit

Finally, set up the git hook scripts:

pre-commit install

Now, pre-commit will run automatically on git commit. If you want to manually run all pre-commit hooks on a repository, run

pre-commit run --all-files

To run individual hooks use pre-commit run <hook_id>.

Get a Copy of the Workflow

Follow the following steps to acquire a local copy of UnCoVar:

  1. Fork the original repo to a personal or lab account.
  2. Clone the fork to your local system (to a different place than where you would run analysis).
  3. Implement your changes.

Before Submitting

Before submitting your code, please do the following:

  1. Add tests, if possible, for the new changes.
  2. Edit documentation if you have changed something significant.
  3. Make sure the pre-commit hooks had run (e.g. by precommit run --all).
  4. Commitand push your changes to your fork.
  5. Create a pull request against the original repository.

Testing

Test cases are in the subfolder .tests. They are automatically executed via continuous integration with Github Actions.

Other Help

You can contribute by spreading the word about this project. Writing a short article on using this project would also be a considerable contribution. You can also share your best practices with us.