This document is mostly inspired from the IUC contributing policy and describes how to contribute to this repository. Pull requests containing bug fixes, updates, and extensions to the existing tools and tool suites in this repository will be considered for inclusion.
- Make sure you have a GitHub account
- Make sure you have git installed
- Fork the repository on GitHub
- Make the desired modifications - consider using a feature branch.
- Make sure you have added the necessary tests for your changes and they pass.
- Make sure submitted tools meet IUC Best Practices
- Open a pull request with these changes.
- Wrappers for new tools
- Visualization Plugins
- Updates for tools
- Enhancements for tools (e.g. supporting new parameters)
- Bug fixes
- Documentation improvements
- New test cases in
<tests>
section of tools
- If this is of general interest, ARTbio may adopt tools that are not updated or abandoned.
- If there are tools that you find useful but seem to be abandoned and not updated, you're welcome to create an issue recommending that the ARTbio adopts that tool.
- Tools already wrapped and currently maintained by other users, unless there are clear indications for missing functionalities not supported in these tools.
- Wrappers without tests
- New datatypes
- When possible, new datatypes should be added directly to the Galaxy codebase.
Contributed tools must include test cases. They need not necessarily cover all uses of the program, but should ensure that it is generally working. The Galaxy Wiki has a page on writing tests.
ARTbio strongly recommends testing with planemo, which provides a simple command line utility for testing functionality
$ planemo test --install_galaxy my_tool.xml
Before a PR will be accepted, the ARTbio has some requirements on the submitted code, which we will be happy to help you achieve if you need the assistance.
- Tools must contain tests and test-data
- The tools should pass linting by planemo (
planemo lint my_tool.xml
) - If used, python codes must pass linting by flake8
- The tools must pass tests by planemo (
planemo test --install_galaxy my_tool.xml
), which are automatically performed by Travis CI in this repository - If there is a relevant paper for the tool, it should be cited in a citation block