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.