PhageFilter uses a Sequence Bloom Tree (SBT) to filter bacteriophage reads from metagenomic files.
PhageFilter has three primary commands: (1) Build, (2) Query, and (3) Add. Each of these functions contains it's own set of required arguments that can be listed using the --help
flag.
Usage: phage_filter [OPTIONS] <COMMAND>
Commands:
build Builds the BloomTree
add Adds genomes to an already built BloomFilter
query Queries a set of reads. (ran after building the bloom tree)
The user can set the verbosity level. Below are different options for verbosity, which are available using the Rust clap-verbosity-flag crate. If users want information about the tree being built, or other information about the particular run, use the -vv
level of verbosity to get warnings and info.
-q silences output (Errors not shown.)
-v show warnings
-vv show info
-vvv show debug
-vvvv show trace
PhageFilter is written in Rust and uses the Cargo package manager for installing all dependencies. After Installing Rust, running the following command from the root directory will install all dependencies as well as compile the software.
cargo build --release
For easier calling, it is recomended the compiled executable, target/release/phage_filter
, be stored in a bin/
directory and added to the users environmental path.
These commands assume the user has moved the executable to the enironmental path. If not, call the binary (i.e. target/release/phage_filter
) directly instead of phage_filter
.
- Build the genomic sequence bloom tree (gSBT)
target/release/phage_filter build --genomes examples/genomes/viral_genome_dir/ --db-path tree
- Query reads
target/release/phage_filter query -r examples/test_reads/ -o genomes_in_file.csv -d tree/ -f 1.0
- Add new genomes to an already built gSBT
target/release/phage_filter add --genomes PATH/TO/OTHER/GENOMES/ --db-path tree/