Skip to content

algbio/SRFAligner

Repository files navigation

seed-chain-extend on indexable Elastic Founder Graphs

SRFAligner and SRFChainer are long-read alignment tools based on indexable Elastic Founder Graphs (iEFGs). iEFGs can be obtained from FASTA multiple sequence alignments using founderblockgraph, or from a VCF file with the pipeline implemented in experiments/vcf-to-hapl-to-efg using founderblockgraph and vcf2multialign. The graphs used in the experiments can be found at doi.org/10.5281/zenodo.14012881.

Workflow to build iEFGs from a VCF file and to perform seed-chain-extend alignment

getting started

SRFAligner, SRFChainer and the other prototype aligners are Bash scripts and they depend on efg-locate, chainx-block-graph (tested on GCC >= 13), and GraphAligner (tested on GitHub version >= 1.0.19). To clone this repository and compile the first two:

git clone https://github.com/algbio/SRFAligner && cd SRFAligner
git submodule update --init tools/{sdsl-lite-v3,concurrentqueue}
make

and GraphAligner's executable is expected to be found in folder tools/GraphAligner/bin, so you can run command git submodule update --init --recursive tools/GraphAligner and follow its compilation instructions. If GraphAligner is already installed in your system, you can just modify the relative line in SRFAligner and SRFChainer:

sed --in-place '7s/.*/graphaligner=GraphAligner/' SRFAligner SRFChainer efg-memsAligner efg-ahocorasickAligner

Test the aligners with commands

./SRFAligner -g test/graph1.gfa -f test/read1.fastq -a test/aln1.gaf
./SRFChainer -g test/graph2.gfa -f test/read2.fastq -a test/aln2.gaf

prototype aligners

To use MEM seeds computed by efg-mems, efg-memsAligner expects efg-mems's executable to be in tools/efg-mems/efg-mems and seqtk to be in tools/seqtk:

git submodule update --init --recursive {tools/efg-mems,tools/seqtk}
make -C tools/seqtk
cd tools/efg-mems/sdsl-lite
./install.sh .
cd ..
cmake .
make

Analogously, to use full node seeds computed by daachorse (Aho-Corasick automaton of the node labels, requires Rust >= 1.61), efg-ahocorasickAligner expects efg-ahocorasick and extractor to be in tools/efg-ahocorasick, and seqtk to be in tools/seqtk:

git submodule update --init --recursive {tools/daachorse,tools/seqtk}
make -C tools/seqtk
make -C tools/efg-ahocorasick

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published