ReadTools provides a consistent and highly tested set of tools for processing sequencing data from any kind of source and focusing on raw reads, while including tools for mapped reads as well.
Diverse formats were developed for storing reads, but ReadTools opt for following the SAM specs to maintain a common data format to store both raw/mapped reads. Thus, ReadTools also helps to standardize sequencing data in different formats.
For more information about the program from the user side, go to the Documentation Page. Download main releases in the Releases section. Changes for every release could be found in the CHANGELOG.
Note: to use unreleased changes it is required to install from source. See the Building section for more details.
Please, if you find any problem add a new Issue or contact by email daniel.gomez.sanchez@hotmail.es
- Java 8
- Git (developers)
- Gradle 3.3 or greater (developers)
Clone the git repository using git clone https://github.com/magicDGS/ReadTools.git and change to the ReadTools directory.
If you want a specific version, change the branch using git checkout ${version_number};
otherwise, the master branch contains unreleased changes.
For building an executavle jar, run ./gradlew shadowJar. The ReadTools.jar will be under the build/libs/ directory.
Code coverage reports for the project can be found in the Codecov project page. If you want to evaluate ReadTools locally:
- To run all tests, run
./gradlew test. Test reports will be in build/reports/tests/index.html - To compute a coverage report, run
./gradlew jacocoTestReport. The report will be in build/reports/jacoco/test/html/index.html
- Pushing directly to master branch is not allowed.
- It is recommended to name branches with a short form of your name and a explanatory name. Example: dgs_fix_issue30.
- Pull Requests should be reviewed before merging by other developer.
- Any new code will require unit/integration tests.
- Use org.apache.logging.log4j.Logger for logging.
- Use TestNG for testing.
- Use magicDGS Style Guide for code formatting.
We use Semantic Versioning (SemVer) (MAJOR.MINOR.PATCH) for the user-side, but not the API. The CHANGELOG will be updated accordingly after Pull Requests to follow the convention:
- Backwards-compatible bug fixes: Add a Fixed entry. These fixes will be released after they are included, by bumping the PATCH number.
- Backwards-compatible changes: Add a Added entry. These changes will be included after a month from the last release, by bumping the MINOR number and reset PATCH to 0.
- Backwards-incompatible changes: Add a Changed entry. These changes will be included after a month from the last release, by bumping the MAJOR number and reset MINOR and PATCH to 0.
Our API for developers is still not stable, and changes for developers are reflected in under a API change entry from version 1.0.0 onwards.
ReadTools is licensed under the MIT License. See LICENSE file.
If you use ReadTools, please cite:
Gómez-Sánchez D, Schlötterer C. ReadTools: A universal toolkit for handling sequence data from different sequencing platforms. Mol Ecol Resour. 2017;00:1–5. doi:10.1111/1755-0998.12741