Skip to content

Commit

Permalink
add swifr module
Browse files Browse the repository at this point in the history
  • Loading branch information
khai-luong committed Sep 23, 2021
1 parent 465c996 commit 8e940e0
Show file tree
Hide file tree
Showing 591 changed files with 91,655 additions and 0 deletions.
4 changes: 4 additions & 0 deletions packages/swifr/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
bin
./bin/*
./external/*

32 changes: 32 additions & 0 deletions packages/swifr/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
CC=g++
CPPFLAGS=-std=c++11 -O3 -w
CPPFLAGS2=-std=c++0x
BIN=bin
SRC=src/main.cpp

TESTSRC=tests/*.cpp
# include directories -- where to search for header files
# include for tclap, io-lib, etc...

INC=-I include/ -I /home/dannebar/software_downloads/io_lib-1.14.6/ -I ./external/io_lib_wrapper/ -I ./external/tclap-1.2.1/include/
# lib directories -- whereto search for compiled static/dynamic libraries
LIB=-L /home/dannebar/software_downloads/io_lib-1.14.6/lib
IOLIBSO=$(BIN)/
# io_tools for operating on the bams/sams
# LIBS=lstaden-read
EXE=swifr

all: $(EXE) test

$(EXE):
if [ ! -e $(BIN) ]; then mkdir $(BIN); fi
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(SRC) -lstaden-read -lpthread -Wl,-rpath,"/home/dannebar/software_downloads/io_lib-1.14.6/lib/"


test:
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(TESTSRC) -lstaden-read -Wl,-rpath,"/home/dannebar/software_downloads/io_lib-1.14.6/lib/"

clean:
rm $(BIN)/$(EXE)
# remove generated test files

55 changes: 55 additions & 0 deletions packages/swifr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SWIFR: Smith-Waterman Implementation for Full Read-identifaction.

SWIFR utilizes the Smith Waterman algorithm to align a set of query sequences against ngs reads

### Manual

Read the [Manual](manual/Manual.md) to learn about the command line parameters.
The [Alignment Strategy](manual/AlignmentStrategy.md) is also useful for understanding the alignment method.

### Dependencies

* `io_lib_wrapper` - (provided in external/io_lib_wrapper )
* `io_lib` - available at [SourceForge](http://sourceforge.net/projects/staden/files/io_lib/1.14.6/io_lib-1.14.6.tar.gz/download)
* `kseq.h` - For reading Fasta files
* `tclap` - Command Line Parsing available at [SourceForge](https://sourceforge.net/projects/tclap/files/tclap-1.2.1.tar.gz/download)


##### Installing io_lib

```
wget [link above] && tar -xvzf [io_lib-1.14.6.tar.gz]
./configure
make
make install
```

You may need to provide CCPFLAGS (additional directories to search for header) and CC (which compiler) variables to the configure:

```
./configure CPPFLAGS="-I /usr/local/include/" CC="gcc"
```

If LZMA is missing, you can install XZ utils with `homebrew install xz`.

##### Installing TCLAP

```
wget [link above] && tar -xvzf [tclap-1.2.1.tar.gz]
./configure
make
make install
```

#### compile swifr:

```
make
```

### Example of how to run swifr

```
/path/to/bin/swifr -f reads.fastq -q query_seqs.fasta -p 20 -s 20 -m 1 -k 10,1
```

5 changes: 5 additions & 0 deletions packages/swifr/external/io_lib_wrapper/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.bam
*.bai
*.sam
*.sai

40 changes: 40 additions & 0 deletions packages/swifr/external/io_lib_wrapper/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# compile examples
CC=g++
# CPPFLAGS=-std=c++11 -O3 -w
# quick compilation
CPPFLAGS=-std=c++11 -w
SRC=examples
TESTSRC=tests/test_*.cpp
BIN=.
INC=-I . -I /usr/local/include/
TESTINCLUDE=-I io_lib_wrapper -I tests
LIB=-L /usr/local/lib/
# io_tools for operating on the bams/sams
# LIBS=lstaden-read

all: create reading_bam writing_bam reading_fasta reading_reference_fasta test

create:
if [ ! -e $(BIN) ]; then mkdir $(BIN); fi

reading_bam:
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(SRC)/reading_bam.cpp -lstaden-read

writing_bam:
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(SRC)/writing_bam.cpp -lstaden-read

reading_fasta:
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(SRC)/reading_fasta.cpp -lstaden-read

reading_reference_fasta:
$(CC) $(CPPFLAGS) $(INC) $(LIB) -o $(BIN)/$@ $(SRC)/reading_reference_fasta.cpp -lstaden-read

# compile tests
test:
$(CC) $(CPPFLAGS) $(INC) $(TESTINCLUDE) $(LIB) -o $(BIN)/$@ $(TESTSRC) -lstaden-read

clean:
# remove examples, testing binary
rm -f $(BIN)/test $(BIN)/reading_bam $(BIN)/writing_bam $(BIN)/reading_fasta $(BIN)/reading_reference_fasta
rm *.sam
rm *.bam
54 changes: 54 additions & 0 deletions packages/swifr/external/io_lib_wrapper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# io_lib_wrapper

This is a header-only wrapper around `io_lib` library that will help you interact with `io_lib` without having to understand their complex API.

## Dependencies

#### Staden io_lib

`staden_io_lib` -- download the library from [SourceForge](http://sourceforge.net/projects/staden/files/io_lib/1.14.6/io_lib-1.14.6.tar.gz), unpack and follow the installation instructions:

```
wget [link above] && tar -xvzf [io_lib-1.14.6.tar.gz]
./configure CPPFLAGS="-I /usr/local/include/" CC="gcc"
make
make install
```

You may need to provide CCPFLAGS (additional directories to search for header) and CC (which compiler) variables to the configure (as shown above).

#### LZMA

Install LZMA through XZ utils:

```
homebrew install xz
```

#### TCLAP

C++ templatized header-only command line [parser](http://tclap.sourceforge.net/)

## How to use

#### Including in your projects

This library is header-only, so you can simply place it next to your include folder
and you are ready to go:

`src/` -- your main and other *.cpp files

`include/` -- your headers

`io_lib_wrapper/` -- io_lib_wrapper

#### Reading a BAM file

```
shared_ptr<Alignment> alignment = bamReader.getNextAlignment();
while ( alignment != nullptr ) {
alignment = bamReader.getNextAlignment();
}
```

You will find more runnable examples in `examples/`.
141 changes: 141 additions & 0 deletions packages/swifr/external/io_lib_wrapper/bam/hxb2.fa
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
>gi|1906382|gb|K03455.1|HIVHXB2CG Human immunodeficiency virus type 1 (HXB2), complete genome; HIV1/HTLV-III/LAV reference genome
TGGAAGGGCTAATTCACTCCCAACGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTA
CTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGATCAGATATCCACTGACCTTTGGATGGTGCTAC
AAGCTAGTACCAGTTGAGCCAGAGAAGTTAGAAGAAGCCAACAAAGGAGAGAACACCAGCTTGTTACACC
CTGTGAGCCTGCATGGAATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGC
ATTTCATCACATGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAG
GGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGAT
CCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGC
TCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTG
TGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCT
AGCAGTGGCGCCCGAACAGGGACCTGAAAGCGAAAGGGAAACCAGAGGAGCTCTCTCGACGCAGGACTCG
GCTTGCTGAAGCGCGCACGGCAAGAGGCGAGGGGCGGCGACTGGTGAGTACGCCAAAAATTTTGACTAGC
GGAGGCTAGAAGGAGAGAGATGGGTGCGAGAGCGTCAGTATTAAGCGGGGGAGAATTAGATCGATGGGAA
AAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAATTAAAACATATAGTATGGGCAAGCAGGGAGC
TAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATACTGGGACAGCT
ACAACCATCCCTTCAGACAGGATCAGAAGAACTTAGATCATTATATAATACAGTAGCAACCCTCTATTGT
GTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGACAAGATAGAGGAAGAGCAAAACAAAA
GTAAGAAAAAAGCACAGCAAGCAGCAGCTGACACAGGACACAGCAATCAGGTCAGCCAAAATTACCCTAT
AGTGCAGAACATCCAGGGGCAAATGGTACATCAGGCCATATCACCTAGAACTTTAAATGCATGGGTAAAA
GTAGTAGAAGAGAAGGCTTTCAGCCCAGAAGTGATACCCATGTTTTCAGCATTATCAGAAGGAGCCACCC
CACAAGATTTAAACACCATGCTAAACACAGTGGGGGGACATCAAGCAGCCATGCAAATGTTAAAAGAGAC
CATCAATGAGGAAGCTGCAGAATGGGATAGAGTGCATCCAGTGCATGCAGGGCCTATTGCACCAGGCCAG
ATGAGAGAACCAAGGGGAAGTGACATAGCAGGAACTACTAGTACCCTTCAGGAACAAATAGGATGGATGA
CAAATAATCCACCTATCCCAGTAGGAGAAATTTATAAAAGATGGATAATCCTGGGATTAAATAAAATAGT
AAGAATGTATAGCCCTACCAGCATTCTGGACATAAGACAAGGACCAAAGGAACCCTTTAGAGACTATGTA
GACCGGTTCTATAAAACTCTAAGAGCCGAGCAAGCTTCACAGGAGGTAAAAAATTGGATGACAGAAACCT
TGTTGGTCCAAAATGCGAACCCAGATTGTAAGACTATTTTAAAAGCATTGGGACCAGCGGCTACACTAGA
AGAAATGATGACAGCATGTCAGGGAGTAGGAGGACCCGGCCATAAGGCAAGAGTTTTGGCTGAAGCAATG
AGCCAAGTAACAAATTCAGCTACCATAATGATGCAGAGAGGCAATTTTAGGAACCAAAGAAAGATTGTTA
AGTGTTTCAATTGTGGCAAAGAAGGGCACACAGCCAGAAATTGCAGGGCCCCTAGGAAAAAGGGCTGTTG
GAAATGTGGAAAGGAAGGACACCAAATGAAAGATTGTACTGAGAGACAGGCTAATTTTTTAGGGAAGATC
TGGCCTTCCTACAAGGGAAGGCCAGGGAATTTTCTTCAGAGCAGACCAGAGCCAACAGCCCCACCAGAAG
AGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGACAAGGAACTGTA
TCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAAAGATAGGGGGGCAACTAA
AGGAAGCTCTATTAGATACAGGAGCAGATGATACAGTATTAGAAGAAATGAGTTTGCCAGGAAGATGGAA
ACCAAAAATGATAGGGGGAATTGGAGGTTTTATCAAAGTAAGACAGTATGATCAGATACTCATAGAAATC
TGTGGACATAAAGCTATAGGTACAGTATTAGTAGGACCTACACCTGTCAACATAATTGGAAGAAATCTGT
TGACTCAGATTGGTTGCACTTTAAATTTTCCCATTAGCCCTATTGAGACTGTACCAGTAAAATTAAAGCC
AGGAATGGATGGCCCAAAAGTTAAACAATGGCCATTGACAGAAGAAAAAATAAAAGCATTAGTAGAAATT
TGTACAGAGATGGAAAAGGAAGGGAAAATTTCAAAAATTGGGCCTGAAAATCCATACAATACTCCAGTAT
TTGCCATAAAGAAAAAAGACAGTACTAAATGGAGAAAATTAGTAGATTTCAGAGAACTTAATAAGAGAAC
TCAAGACTTCTGGGAAGTTCAATTAGGAATACCACATCCCGCAGGGTTAAAAAAGAAAAAATCAGTAACA
GTACTGGATGTGGGTGATGCATATTTTTCAGTTCCCTTAGATGAAGACTTCAGGAAGTATACTGCATTTA
CCATACCTAGTATAAACAATGAGACACCAGGGATTAGATATCAGTACAATGTGCTTCCACAGGGATGGAA
AGGATCACCAGCAATATTCCAAAGTAGCATGACAAAAATCTTAGAGCCTTTTAGAAAACAAAATCCAGAC
ATAGTTATCTATCAATACATGGATGATTTGTATGTAGGATCTGACTTAGAAATAGGGCAGCATAGAACAA
AAATAGAGGAGCTGAGACAACATCTGTTGAGGTGGGGACTTACCACACCAGACAAAAAACATCAGAAAGA
ACCTCCATTCCTTTGGATGGGTTATGAACTCCATCCTGATAAATGGACAGTACAGCCTATAGTGCTGCCA
GAAAAAGACAGCTGGACTGTCAATGACATACAGAAGTTAGTGGGGAAATTGAATTGGGCAAGTCAGATTT
ACCCAGGGATTAAAGTAAGGCAATTATGTAAACTCCTTAGAGGAACCAAAGCACTAACAGAAGTAATACC
ACTAACAGAAGAAGCAGAGCTAGAACTGGCAGAAAACAGAGAGATTCTAAAAGAACCAGTACATGGAGTG
TATTATGACCCATCAAAAGACTTAATAGCAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAA
TTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGA
TGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCT
AAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGA
TTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCAT
AGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATAT
GTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAG
CAATTTATCTAGCTTTGCAGGATTCGGGATTAGAAGTAAACATAGTAACAGACTCACAATATGCATTAGG
AATCATTCAAGCACAACCAGATCAAAGTGAATCAGAGTTAGTCAATCAAATAATAGAGCAGTTAATAAAA
AAGGAAAAGGTCTATCTGGCATGGGTACCAGCACACAAAGGAATTGGAGGAAATGAACAAGTAGATAAAT
TAGTCAGTGCTGGAATCAGGAAAGTACTATTTTTAGATGGAATAGATAAGGCCCAAGATGAACATGAGAA
ATATCACAGTAATTGGAGAGCAATGGCTAGTGATTTTAACCTGCCACCTGTAGTAGCAAAAGAAATAGTA
GCCAGCTGTGATAAATGTCAGCTAAAAGGAGAAGCCATGCATGGACAAGTAGACTGTAGTCCAGGAATAT
GGCAACTAGATTGTACACATTTAGAAGGAAAAGTTATCCTGGTAGCAGTTCATGTAGCCAGTGGATATAT
AGAAGCAGAAGTTATTCCAGCAGAAACAGGGCAGGAAACAGCATATTTTCTTTTAAAATTAGCAGGAAGA
TGGCCAGTAAAAACAATACATACTGACAATGGCAGCAATTTCACCGGTGCTACGGTTAGGGCCGCCTGTT
GGTGGGCGGGAATCAAGCAGGAATTTGGAATTCCCTACAATCCCCAAAGTCAAGGAGTAGTAGAATCTAT
GAATAAAGAATTAAAGAAAATTATAGGACAGGTAAGAGATCAGGCTGAACATCTTAAGACAGCAGTACAA
ATGGCAGTATTCATCCACAATTTTAAAAGAAAAGGGGGGATTGGGGGGTACAGTGCAGGGGAAAGAATAG
TAGACATAATAGCAACAGACATACAAACTAAAGAATTACAAAAACAAATTACAAAAATTCAAAATTTTCG
GGTTTATTACAGGGACAGCAGAAATCCACTTTGGAAAGGACCAGCAAAGCTCCTCTGGAAAGGTGAAGGG
GCAGTAGTAATACAAGATAATAGTGACATAAAAGTAGTGCCAAGAAGAAAAGCAAAGATCATTAGGGATT
ATGGAAAACAGATGGCAGGTGATGATTGTGTGGCAAGTAGACAGGATGAGGATTAGAACATGGAAAAGTT
TAGTAAAACACCATATGTATGTTTCAGGGAAAGCTAGGGGATGGTTTTATAGACATCACTATGAAAGCCC
TCATCCAAGAATAAGTTCAGAAGTACACATCCCACTAGGGGATGCTAGATTGGTAATAACAACATATTGG
GGTCTGCATACAGGAGAAAGAGACTGGCATTTGGGTCAGGGAGTCTCCATAGAATGGAGGAAAAAGAGAT
ATAGCACACAAGTAGACCCTGAACTAGCAGACCAACTAATTCATCTGTATTACTTTGACTGTTTTTCAGA
CTCTGCTATAAGAAAGGCCTTATTAGGACACATAGTTAGCCCTAGGTGTGAATATCAAGCAGGACATAAC
AAGGTAGGATCTCTACAATACTTGGCACTAGCAGCATTAATAACACCAAAAAAGATAAAGCCACCTTTGC
CTAGTGTTACGAAACTGACAGAGGATAGATGGAACAAGCCCCAGAAGACCAAGGGCCACAGAGGGAGCCA
CACAATGAATGGACACTAGAGCTTTTAGAGGAGCTTAAGAATGAAGCTGTTAGACATTTTCCTAGGATTT
GGCTCCATGGCTTAGGGCAACATATCTATGAAACTTATGGGGATACTTGGGCAGGAGTGGAAGCCATAAT
AAGAATTCTGCAACAACTGCTGTTTATCCATTTTCAGAATTGGGTGTCGACATAGCAGAATAGGCGTTAC
TCGACAGAGGAGAGCAAGAAATGGAGCCAGTAGATCCTAGACTAGAGCCCTGGAAGCATCCAGGAAGTCA
GCCTAAAACTGCTTGTACCAATTGCTATTGTAAAAAGTGTTGCTTTCATTGCCAAGTTTGTTTCATAACA
AAAGCCTTAGGCATCTCCTATGGCAGGAAGAAGCGGAGACAGCGACGAAGAGCTCATCAGAACAGTCAGA
CTCATCAAGCTTCTCTATCAAAGCAGTAAGTAGTACATGTAACGCAACCTATACCAATAGTAGCAATAGT
AGCATTAGTAGTAGCAATAATAATAGCAATAGTTGTGTGGTCCATAGTAATCATAGAATATAGGAAAATA
TTAAGACAAAGAAAAATAGACAGGTTAATTGATAGACTAATAGAAAGAGCAGAAGACAGTGGCAATGAGA
GTGAAGGAGAAATATCAGCACTTGTGGAGATGGGGGTGGAGATGGGGCACCATGCTCCTTGGGATGTTGA
TGATCTGTAGTGCTACAGAAAAATTGTGGGTCACAGTCTATTATGGGGTACCTGTGTGGAAGGAAGCAAC
CACCACTCTATTTTGTGCATCAGATGCTAAAGCATATGATACAGAGGTACATAATGTTTGGGCCACACAT
GCCTGTGTACCCACAGACCCCAACCCACAAGAAGTAGTATTGGTAAATGTGACAGAAAATTTTAACATGT
GGAAAAATGACATGGTAGAACAGATGCATGAGGATATAATCAGTTTATGGGATCAAAGCCTAAAGCCATG
TGTAAAATTAACCCCACTCTGTGTTAGTTTAAAGTGCACTGATTTGAAGAATGATACTAATACCAATAGT
AGTAGCGGGAGAATGATAATGGAGAAAGGAGAGATAAAAAACTGCTCTTTCAATATCAGCACAAGCATAA
GAGGTAAGGTGCAGAAAGAATATGCATTTTTTTATAAACTTGATATAATACCAATAGATAATGATACTAC
CAGCTATAAGTTGACAAGTTGTAACACCTCAGTCATTACACAGGCCTGTCCAAAGGTATCCTTTGAGCCA
ATTCCCATACATTATTGTGCCCCGGCTGGTTTTGCGATTCTAAAATGTAATAATAAGACGTTCAATGGAA
CAGGACCATGTACAAATGTCAGCACAGTACAATGTACACATGGAATTAGGCCAGTAGTATCAACTCAACT
GCTGTTAAATGGCAGTCTAGCAGAAGAAGAGGTAGTAATTAGATCTGTCAATTTCACGGACAATGCTAAA
ACCATAATAGTACAGCTGAACACATCTGTAGAAATTAATTGTACAAGACCCAACAACAATACAAGAAAAA
GAATCCGTATCCAGAGAGGACCAGGGAGAGCATTTGTTACAATAGGAAAAATAGGAAATATGAGACAAGC
ACATTGTAACATTAGTAGAGCAAAATGGAATAACACTTTAAAACAGATAGCTAGCAAATTAAGAGAACAA
TTTGGAAATAATAAAACAATAATCTTTAAGCAATCCTCAGGAGGGGACCCAGAAATTGTAACGCACAGTT
TTAATTGTGGAGGGGAATTTTTCTACTGTAATTCAACACAACTGTTTAATAGTACTTGGTTTAATAGTAC
TTGGAGTACTGAAGGGTCAAATAACACTGAAGGAAGTGACACAATCACCCTCCCATGCAGAATAAAACAA
ATTATAAACATGTGGCAGAAAGTAGGAAAAGCAATGTATGCCCCTCCCATCAGTGGACAAATTAGATGTT
CATCAAATATTACAGGGCTGCTATTAACAAGAGATGGTGGTAATAGCAACAATGAGTCCGAGATCTTCAG
ACCTGGAGGAGGAGATATGAGGGACAATTGGAGAAGTGAATTATATAAATATAAAGTAGTAAAAATTGAA
CCATTAGGAGTAGCACCCACCAAGGCAAAGAGAAGAGTGGTGCAGAGAGAAAAAAGAGCAGTGGGAATAG
GAGCTTTGTTCCTTGGGTTCTTGGGAGCAGCAGGAAGCACTATGGGCGCAGCCTCAATGACGCTGACGGT
ACAGGCCAGACAATTATTGTCTGGTATAGTGCAGCAGCAGAACAATTTGCTGAGGGCTATTGAGGCGCAA
CAGCATCTGTTGCAACTCACAGTCTGGGGCATCAAGCAGCTCCAGGCAAGAATCCTGGCTGTGGAAAGAT
ACCTAAAGGATCAACAGCTCCTGGGGATTTGGGGTTGCTCTGGAAAACTCATTTGCACCACTGCTGTGCC
TTGGAATGCTAGTTGGAGTAATAAATCTCTGGAACAGATTTGGAATCACACGACCTGGATGGAGTGGGAC
AGAGAAATTAACAATTACACAAGCTTAATACACTCCTTAATTGAAGAATCGCAAAACCAGCAAGAAAAGA
ATGAACAAGAATTATTGGAATTAGATAAATGGGCAAGTTTGTGGAATTGGTTTAACATAACAAATTGGCT
GTGGTATATAAAATTATTCATAATGATAGTAGGAGGCTTGGTAGGTTTAAGAATAGTTTTTGCTGTACTT
TCTATAGTGAATAGAGTTAGGCAGGGATATTCACCATTATCGTTTCAGACCCACCTCCCAACCCCGAGGG
GACCCGACAGGCCCGAAGGAATAGAAGAAGAAGGTGGAGAGAGAGACAGAGACAGATCCATTCGATTAGT
GAACGGATCCTTGGCACTTATCTGGGACGATCTGCGGAGCCTGTGCCTCTTCAGCTACCACCGCTTGAGA
GACTTACTCTTGATTGTAACGAGGATTGTGGAACTTCTGGGACGCAGGGGGTGGGAAGCCCTCAAATATT
GGTGGAATCTCCTACAGTATTGGAGTCAGGAACTAAAGAATAGTGCTGTTAGCTTGCTCAATGCCACAGC
CATAGCAGTAGCTGAGGGGACAGATAGGGTTATAGAAGTAGTACAAGGAGCTTGTAGAGCTATTCGCCAC
ATACCTAGAAGAATAAGACAGGGCTTGGAAAGGATTTTGCTATAAGATGGGTGGCAAGTGGTCAAAAAGT
AGTGTGATTGGATGGCCTACTGTAAGGGAAAGAATGAGACGAGCTGAGCCAGCAGCAGATAGGGTGGGAG
CAGCATCTCGAGACCTGGAAAAACATGGAGCAATCACAAGTAGCAATACAGCAGCTACCAATGCTGCTTG
TGCCTGGCTAGAAGCACAAGAGGAGGAGGAGGTGGGTTTTCCAGTCACACCTCAGGTACCTTTAAGACCA
ATGACTTACAAGGCAGCTGTAGATCTTAGCCACTTTTTAAAAGAAAAGGGGGGACTGGAAGGGCTAATTC
ACTCCCAAAGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCA
GAACTACACACCAGGGCCAGGGGTCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTT
GAGCCAGATAAGATAGAAGAGGCCAATAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATG
GGATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCACGTGGC
CCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGG
GACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAG
CTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAG
GGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTG
TGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGCA

29 changes: 29 additions & 0 deletions packages/swifr/external/io_lib_wrapper/examples/reading_bam.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include <iostream>
#include <memory>
#include <ctime>
#include "io_lib_wrapper/bam_reader.hpp"
#include "io_lib_wrapper/alignment.hpp"

using namespace std;

int main() {
clock_t start = std::clock();
string fname = "examples/test.bam";
BamReader bamReader(fname);
if (!bamReader.is_open()) {
exit(1);
}

int primary_alignments = 0;
shared_ptr<Alignment> alignment = bamReader.getNextAlignment();
while ( alignment != nullptr ) {
if (!alignment->is_unaligned() && alignment->is_primary() ) {
primary_alignments++;
}
alignment = bamReader.getNextAlignment();
}
cerr << "Read " << bamReader.getLineCount() << " alignments,"
" of them " << primary_alignments << " are unique best" << endl;
cerr << "Time to read: " <<
(std::clock() - start) / (double)(CLOCKS_PER_SEC / 1000) << "ms" << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include <iostream>
#include <memory>
#include "io_lib_wrapper/fasta_reader.h"

using namespace std;

int main() {
cerr << "TODO" << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include <iostream>
#include <memory>
#include "io_lib_wrapper/long_sequence.hpp"

int main() {
cerr << "TODO" << endl;
}
Loading

0 comments on commit 8e940e0

Please sign in to comment.