Skip to content

Commit 990a114

Browse files
authored
Create CONTRIBUTING.md
1 parent 02df5b8 commit 990a114

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributing to pathotypr
2+
3+
Thank you for your interest in contributing to **pathotypr**! We welcome contributions that help improve the tool, fix bugs, or enhance the documentation. This document outlines the process for contributing and the guidelines to follow.
4+
5+
## Table of Contents
6+
- [Project Description](#project-description)
7+
- [How to Contribute](#how-to-contribute)
8+
- [Reporting Issues](#reporting-issues)
9+
- [Feature Requests](#feature-requests)
10+
- [Contributing Code](#contributing-code)
11+
- [Coding Guidelines](#coding-guidelines)
12+
- [Setting Up the Development Environment](#setting-up-the-development-environment)
13+
- [Submitting a Pull Request](#submitting-a-pull-request)
14+
- [Code of Conduct](#code-of-conduct)
15+
16+
## Project Description
17+
`pathotypr` is a tool designed to identify **Multi-Nucleotide Variants (MNVs)** within the same codon in genomic sequences. MNVs occur when multiple Single Nucleotide Variants (SNVs) are present within the same codon, leading to the translation of a different amino acid. This tool addresses limitations in current annotation programs like **ANNOVAR** or **SnpEff**, which are primarily designed to work with individual SNVs and might overlook the actual amino acid changes resulting from MNVs.
18+
19+
### Current Limitations
20+
**IMPORTANT**: This script currently works only with **SNVs** against a reference genome. Insertions and deletions that modify the reading frame are not supported yet.
21+
22+
## How to Contribute
23+
We appreciate all contributions, whether it’s fixing bugs, proposing new features, improving the documentation, or suggesting a new direction for the tool.
24+
25+
### Reporting Issues
26+
If you encounter a bug, have a question, or want to request a feature, please [open an issue](https://github.com/PathoGenOmics-Lab/pathotypr/issues) on our GitHub repository. When reporting an issue, please include:
27+
- A detailed description of the problem.
28+
- Steps to reproduce the issue.
29+
- Any relevant logs or screenshots.
30+
- Version information of `pathotypr` and your operating system.
31+
32+
### Feature Requests
33+
We welcome suggestions for new features and improvements! Please open an issue labeled **Feature Request** and provide as much detail as possible regarding your suggestion and its potential use cases.
34+
35+
### Contributing Code
36+
If you’d like to contribute code, follow these steps:
37+
1. Fork the repository.
38+
2. Create a new branch for your feature or bugfix (`git checkout -b feature/new-feature`).
39+
3. Make your changes.
40+
4. Test your code.
41+
5. Submit a pull request following the guidelines in the **Submitting a Pull Request** section.
42+
43+
## Coding Guidelines
44+
- **Code Style**: Follow Rust’s official [Rustfmt style guide](https://github.com/rust-lang/rustfmt) for formatting.
45+
- **Testing**: Ensure that your code changes include relevant tests. Use `cargo test` to run tests locally before submitting a pull request.
46+
- **Documentation**: Document all public methods, structs, and modules using doc comments (`///`).
47+
48+
## Setting Up the Development Environment
49+
1. Clone the repository:
50+
```bash
51+
git clone https://github.com/PathoGenOmics-Lab/pathotypr.git
52+
cd pathotypr
53+
```
54+
55+
2. Install the necessary dependencies using `cargo`:
56+
```bash
57+
cargo build
58+
```
59+
60+
3. Run the tests to ensure everything is set up correctly:
61+
```bash
62+
cargo test
63+
```
64+
65+
4. You’re ready to start contributing!
66+
67+
## Submitting a Pull Request
68+
1. Ensure that your code follows the coding guidelines and passes all tests.
69+
2. Write a clear commit message detailing what your change does.
70+
3. Submit a pull request (PR) and fill in the PR template. Include a summary of the changes, why they are necessary, and any relevant issue numbers.
71+
4. A project maintainer will review your PR and provide feedback if needed.
72+
73+
## Code of Conduct
74+
This project follows the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/). By participating, you agree to abide by its terms. Please be respectful and professional in all interactions.
75+
76+
We look forward to your contributions!

0 commit comments

Comments
 (0)