Smith-Waterman alignment for immunoglobulin sequences.
This is a C++ implementation of the vdjalign align-fastq
command in ighutil. This implementation uses the Smith-Waterman (SW) alignment algorithm, a simple but effective way to align DNA sequences, as in ighutil.
- zlib
- scons
- pthread (POSIX Thread)
- C++03-compatible compiler (tested against g++ 4.8)
- a smile
Clone the repository and run scons
from the ig-sw/src/ig_align/
directory.
To run the sw-alignment, run ./ig-sw
with the appropriate arguments in the same directory or add a path to the executable.
./ig-sw -p test_data/ query_file.fasta output_file.sam
ig-sw uses the tclap command line interface.
Flag | Description |
---|---|
(none) | The path to the query file |
(none) | The path to the output file |
-p --vdj-dir | Directory from which to read germline genes (ending with /) |
Flag | Description | Default Value |
---|---|---|
-l --locus | Locus to align reads against (options: IGH, IGK, IGL, DJ) | IGH |
-m --match | Match score | 2 |
-u --mismatch | Mismatch score | 2 |
-o --gap-open | Gap opening penalty | 3 |
-e --gap-extend | Gap extension penalty | 1 |
-d --max-drop | Max drop | 1000 |
-s --min-score | Min score | 0 |
-b --bandwidth | Bandwidth | 150 |
-j --threads | Number of threads | 1 |
ig_align_main.cpp takes in a DNA sequence in FASTQ format, does alignment, and outputs a file in SAM format.
ig_align_main.cpp calls the ig_align_reads
function of ig_align.c which heavily utilizes the klib library.