Lorikeet is a within-species variant analysis pipeline for metagenomic communities that utilizes both long and short reads. Lorikeet utilizes a re-implementaion of the GATK HaplotypeCaller algorithm, performing local re-assembly of potentially active regions within candidate genomes. Called variants can be clustered into likely strains using a combination of UMAP and HDBSCAN.
For detailed documentation of Lorikeet and the various algorithms and concepts it touches on please visit the Lorikeet Docs
Lorikeet is distributed via Crates.io https://crates.io/crates/lorikeet-genome. Additional packages can be downloaded via conda using the lorikeet.yml
file provided. Ensure that cargo is installed on your system:
curl https://sh.rustup.rs -sSf | sh
Then install lorikeet:
cargo install lorikeet-genome
Alongside required packages:
conda env create -f lorikeet.yml -n lorikeet
conda activate lorikeet
Input can either be reads and reference genome, or MAG. Or a BAM file and associated genome.
Strain genotyping analysis for metagenomics
Usage: lorikeet <subcommand> ...
Main subcommands:
genotype *Experimental* Resolve strain-level genotypes of MAGs from microbial communities
consensus Creates consensus genomes for each input reference and for each sample
call Performs variant calling with no downstream analysis
evolve Calculate dN/dS values for genes from read mappings
Other options:
-V, --version Print version information
Rhys J. P. Newell <r.newell near uq.edu.au>
Call variants from bam:
lorikeet call --bam-files my.bam --longread-bam-files my-longread.bam --genome-fasta-directory genomes/ -x fna --bam-file-cache-directory saved_bam_files --output-directory lorikeet_out/ --threads 10 --plot
Call variants from short reads and longread bam files:
lorikeet call -r input_genome.fna -1 forward_reads.fastq -2 reverse_reads.fastq -l longread.bam
Completion scripts for various shells e.g. BASH can be generated. For example, to install the bash completion script system-wide (this requires root privileges):
lorikeet shell-completion --output-file lorikeet --shell bash
mv lorikeet /etc/bash_completion.d/
It can also be installed into a user's home directory (root privileges not required):
lorikeet shell-completion --shell bash --output-file /dev/stdout >>~/.bash_completion
In both cases, to take effect, the terminal will likely need to be restarted. To test, type lorikeet ca
and it should complete after pressing the TAB key.
Code is GPL-3.0