-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev-v0.6.0' into ahehn/approximate_alignments_bugfix
- Loading branch information
Showing
16 changed files
with
210 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# cudaaligner | ||
|
||
The `cudaaligner` package provides GPU-accelerated global alignment. | ||
|
||
## Library | ||
Built as `libcudaaligner.[so|a]`. | ||
|
||
* Short and long read support | ||
* Banded implementation with configurable band width for flexible performance and accuracy trade-off | ||
|
||
APIs documented in [include](include/claraparabricks/genomeworks/cudaaligner) folder. | ||
|
||
## Sample | ||
[sample_cudaaligner](samples/sample_cudaaligner.cpp) - A prototypical binary to showcase the use of `libcudaaligner` APIs. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,26 @@ | ||
# cudaextender | ||
|
||
## Overview | ||
This package implements CUDA-accelerated seed-extension algorithms that use seed positions in | ||
encoded input strands to extend and compute the alignment between the strands. | ||
Currently this module implements the ungapped X-drop algorithm, adapted from | ||
[SegAlign's](https://github.com/gsneha26/SegAlign) Ungapped Extender authored by | ||
Sneha Goenka (gsneha@stanford.edu) and Yatish Turakhia (yturakhi@uscs.edu). | ||
|
||
### Encoded Input | ||
`cudaextender` expects the input strands to be encoded as integer sequences. | ||
This encoding scheme is documented here: [utils.hpp](include/claraparabricks/genomeworks/cudaextender/utils.hpp) | ||
file. The provided `encode_sequence()` helper function will encode the input strands on CPU with | ||
the expected scheme. | ||
## Library | ||
Built as `libcudaextender.[so|a]` | ||
|
||
* Ungapped X-Drop extension | ||
|
||
### API | ||
`cudaextender` provides host and device pointer APIs to enable ease of integration with other | ||
producer/consumer modules. The user is expected to handle all memory transactions and device | ||
sychronizations for the device pointer API. The host pointer API abstracts those operations away. | ||
Both APIs are documented here: [extender.hpp](include/claraparabricks/genomeworks/cudaextender/extender.hpp) | ||
|
||
### Library - *libcudaextender.so* | ||
Features: | ||
* Ungapped X-Drop extension | ||
### Encoded Input | ||
`cudaextender` expects the input strands to be encoded as integer sequences. | ||
This encoding scheme is documented here: [utils.hpp](include/claraparabricks/genomeworks/cudaextender/utils.hpp) | ||
file. The provided `encode_sequence()` helper function will encode the input strands on CPU with | ||
the expected scheme. | ||
|
||
### Sample - *[sample_cudaextender.cpp](samples/sample_cudaextender.cpp)* | ||
Protoype to show the usage of host and device pointer APIs on FASTA sequences. | ||
## Sample | ||
[sample_cudaextender](samples/sample_cudaextender.cpp) - Protoype to show the usage of host and device pointer APIs on FASTA sequences. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# cudamapper | ||
|
||
The `cudamapper` package provides minimizer-based GPU-accelerated approximate mapping. | ||
|
||
## Library | ||
Built as `libcudamapper.[so|a]` | ||
|
||
* `Indexer` module to generate an index of minimizers from a list of sequences. | ||
* `Matcher` module to find locations of matching pairs of minimizers between sequences using minimizer indices. | ||
* `Overlapper` module to generate overlaps from sequence of minimizer matches generated by matcher. | ||
|
||
APIs documented in [include](include/claraparabricks/genomeworks/cudamapper) folder. | ||
|
||
## Sample | ||
[sample_cudamapper](samples/sample_cudamapper.cpp) - A prototypical binary highlighting the usage of `libcudamapper` APIs (indexer, matcher and overlapper) and | ||
techniques to tie them into an application. | ||
|
||
## Tool | ||
|
||
`cudamapper` is an end-to-end command line to for sequence to sequence mapping. `cudamapper` outputs | ||
mappings in the PAF format and is currently optimised for all-vs-all long read (ONT, Pacific Biosciences) sequences. | ||
|
||
To run all-vs all overlaps use the following command: | ||
|
||
`cudamapper in.fasta in.fasta` | ||
|
||
A query fasta can be mapped to a reference as follows: | ||
|
||
`cudamapper query.fasta target.fasta` | ||
|
||
To access more information about running cudamapper, run `cudamapper --help`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# CUDAPOA | ||
|
||
The `cudapoa` package provides a GPU-accelerated implementation of the [Partial Order Alignment](https://simpsonlab.github.io/2015/05/01/understanding-poa/) | ||
algorithm. It is heavily influenced by [SPOA](https://github.com/rvaser/spoa) and in many cases can be considered a GPU-accelerated replacement. | ||
|
||
## Library | ||
Built as `libcudapoa.[so|a]` | ||
|
||
* Generation of consensus sequences | ||
* Generation of multi-sequence alignments (MSAs) | ||
* Custom adaptive band implementation of POA | ||
* Support for long and short read sequences | ||
|
||
APIs documented in [include](include/claraparabricks/genomeworks/cudapoa) folder. | ||
|
||
## Sample | ||
[sample_cudapoa](samples/sample_cudapoa.cpp) - A prototypical binary to showcase the use of `libcudapoa` APIs. | ||
|
||
## Tool | ||
|
||
A command line tool for generating consensus and MSA from a list of `fasta`/`fastq` files. The tool | ||
is built on top of `libcudapoa` and showcases optimization strategies for writing high performance | ||
applications with `libcudapoa`. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.