Contributing¶
Guidelines for contributing to the aa-tRNA-seq pipeline.
Getting Started¶
Fork and Clone¶
- Fork the repository on GitHub
-
Clone your fork:
Bash 1 2
git clone https://github.com/YOUR_USERNAME/aa-tRNA-seq-pipeline.git cd aa-tRNA-seq-pipeline -
Add upstream remote:
Bash 1git remote add upstream https://github.com/rnabioco/aa-tRNA-seq-pipeline.git
Set Up Development Environment¶
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 | |
Create a Branch¶
| Bash | |
|---|---|
1 | |
Development Workflow¶
Make Changes¶
- Edit code in
workflow/directory - Add tests if applicable
- Update documentation
Format Code¶
Format Snakemake files:
| Bash | |
|---|---|
1 | |
Run Tests¶
| Bash | |
|---|---|
1 2 3 4 5 | |
Check DAG¶
Verify workflow integrity:
| Bash | |
|---|---|
1 | |
Code Style¶
Snakemake Rules¶
| Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Python Scripts¶
Follow PEP 8 style guidelines:
| Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
Configuration¶
Use descriptive keys with comments:
| YAML | |
|---|---|
1 2 3 4 | |
Documentation¶
Update Documentation¶
When adding features:
- Update relevant docs in
docs/ - Add docstrings to rules
- Update README if needed
Docstring Format¶
| Python | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
Testing¶
Local Testing¶
Run the test pipeline:
| Bash | |
|---|---|
1 | |
Specific Rule Testing¶
Test a specific rule:
| Bash | |
|---|---|
1 | |
Dry Run¶
Verify workflow without execution:
| Bash | |
|---|---|
1 | |
Submitting Changes¶
Commit Messages¶
Use clear, descriptive commit messages:
| Text Only | |
|---|---|
1 2 3 4 5 | |
Prefixes:
feat:- New featurefix:- Bug fixdocs:- Documentation onlyrefactor:- Code refactoringtest:- Test additions/changeschore:- Maintenance tasks
Push Changes¶
| Bash | |
|---|---|
1 | |
Create Pull Request¶
- Go to GitHub
- Click "New Pull Request"
- Select your branch
- Fill in the template:
| Markdown | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Review Process¶
What Reviewers Check¶
- Code quality and style
- Test coverage
- Documentation
- Compatibility with existing pipeline
Responding to Feedback¶
- Address all comments
- Push additional commits
- Request re-review when ready
Release Process¶
Releases are managed by maintainers:
- Update version numbers
- Update CHANGELOG
- Create release tag
- Build and test
Getting Help¶
Questions¶
- Open a GitHub Discussion
- Check existing issues
Bug Reports¶
File an issue with:
- Environment details
- Steps to reproduce
- Expected vs actual behavior
- Error messages/logs
Feature Requests¶
File an issue with:
- Use case description
- Proposed solution
- Alternatives considered
Code of Conduct¶
- Be respectful and inclusive
- Provide constructive feedback
- Help others learn
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.