This repository contains the scripts for reproducing the results of the following publication (from the ISMB 2024 HiTSeq Proceedings)
Harun Mustafa, Mikhail Karasikov, Nika Mansouri Ghiasi, Gunnar Rätsch, and André Kahles. "Label-guided seed-chain-extend alignment on annotated De Bruijn graphs." Bioinformatics 40, no. Supplement_1 (2024): i337-i346. DOI: 10.1093/bioinformatics/btae226
- MetaGraph (development commit bd39d9594e77f276e674033b52d9b26ec3a281e3, includes KMC)
- bbmap (v38.86)
- samtools (experiments were run with v1.17)
- PLAST (commit 451369eb23e84328ff9334398d185798d2dc5149)
- GraphAligner (v1.0.17b)
- WGSUniFrac (commit d5c698ba4699aba168fd29fc00024d655c36183f, included here)
- numpy (v1.26.0)
- pandas (v.2.1.1)
- To install most of the required software for the evaluation, set up a
condaenvironment using the providedenvironment.ymlfile:conda env create -f environment.yml - Activate the environment:
conda activate mla - Download the pre-compiled binaries of
metagraph,PLAST,kmc, andparse_plastfrom here and place them in your working directory. - Download the genomes from here to a directory named
references. A list of accessions is inaccession_list - Download the random entropy source file
seed2(used to generate query sets) - Download the accession-ID augmented taxonomic tree from the
augmenteddirectory here
- Simulate reads for each genome:
for a in references/*.fa; do ./make_sample.sh $a; done for a in illumina hifi clr ont; do ./make_subset.sh $a; done - Build the MetaGraph, PLAST, and GFA indexes by running
./make_graph.sh. In this script, you can set the number of threads in the variable$NTHREADS. We provide precomputed indexes forMetaGraphhere and forPLASThere. - Generate query reads by running
./make_subset.sh
for a in query_reads/*.fa; do
./map_query_sca.sh $a
./map_query_mla.sh $a
./map_query_plast.sh $a
./map_query_ga.sh $a
done
- To compile some of the software yourself from source
parse_plast.cpp: we have provided aMakefile.PLAST: we have provided a templateCMakeLists.txtfile inplast_cmake. Please edit it to point to theincludedirectory and static lib ofBifrost.MetaGraph(with packagedkmc): follow the instructions here. Remember to checkout the commit listed above from thehm/aln_alt_label_changebranch before compiling.
- Run
metagraph alignto view the help menu listing alignment parameters. To list a more advanced set of parameters, runmetagraph align --advanced.