Package: jasper-vh
JASPERJUSTASIMPLEPREDICTOR.JASPER is a free bioinformatics tools for predicting virus hosts.JASPER uses a bunch of bioinformatics tools to prediction virus hosts. It includes genome-genome alignment, CRISPR spacers analyzation, tRNA analyzation and more.JASPER contains few, independent modulesblast,crispr,trna,wish,mash,merge.RequirementsPython 3.7You needPython >= 3.7to use JASPER.Naming conventionJasperdepends on good file naming convention. The best is to use sequence ID as file name, e.x.NC_008876.fna. Software will use this id to name every temp file that needs to be created and also it will use this ID in results file.WARNINGIt's not the best idea to use|char in your filename and also in sequence header. Just use normal fasta naming like>NC_00876 additional_info more_additional_info.If you put multiple contigs in a single file, there is no problem with that. Just be sure that every contig is in it's right file.Jasperrepairs every file, by default naming it<id from filename>|<#contig>e.x.:>NC_000856|1
ATGCT....
>NC_000856|2
ATGCA....
# and so onSo even if you have, for instance, one genome in your file, thenJasperwill change it's id to<id from filename>|1.ExtensionsJasper uses input files that ends with[fa, fna, fasta]only!Additional softwareNCBI-Blast+
PILER-CR
WIsH
Mash
tRNAscan-SEInstallationJASPERuses additional software. It calls every program withsubprocessso every program that is stated in above should be installed and added toPATH.On Ubuntu:To install NCBI-Blast+ usesudo apt install ncbi-blast+To install PILER-CR gohere, download compiled software, move somewhere and add to$PATHunder namepilercr.To install tRNAscan-SE gohere, download, compile, move somewhere and add to$PATHunder nametRNAscan-SE. Remember that tRNAscan-SE needsInfernalto work properly.To install WIsH gohere, download, compile, move somewhere and add to$PATHunder nameWIsH.To install Mash gohere, download release, move somewhere and add to$PATHunder namemash.Source code for additional software:NCBI-Blast+:herePILER-CRheretRNAscan-SEhereWIsHhereMashhereRemember to install everything and add it to pathYou can also download the script:install_dependencies.sh - Linux
install_dependencies_osx.sh - Mac OSAfter that go to JASPER's main directory and:python setup.py installPATHBy defaults some pip on linux drops scripts to~/.local/bin. Add it to your$PATHat the end.export PATH="$HOME/.local/bin:$PATH"Now you're done, and you can start usingjasper-vh.Installation summaryYou want to have:installed jasper python package usingsetuptoolsorpip.installed each tool and added toPATHTestsIf you want to test, go to proj directory and typepython -m unittest discover.
It's recommended to do that, since it performs tool check (ensures that user has all dependencies and proper python version).UsageJASPER uses a bunch of arguments. A lot of parameters are BLAST parameters and can be configured with JSON file and passed to JASPER.
It's also recommended usingjasperin empty directory. This ensures, that none of the user's file will be overwritten or damaged. Just domkdir jasper_results && cd jasper_resultsand you're good to go.Basic usagejasper-vh blast --virus path/to/virus/dir --create-db host_db --host /path/to/host/dir --clear
jasper-vh crispr --host path/to/host/dir --create-db vir_db --host /path/to/vir/dir --clear
jasper-vh trna --host path/to/host/dir --virus /path/to/vir/dir --clear
jasper-vh wish --host path/to/host/dir --virus /path/to/vir/dir --clear
jasper-vh mash --host path/to/host/dir --virus /path/to/vir/dir --clear
jasper-vh merge {blast,crispr,trna,mash,wish}.csv --output final_results.csvFor more check--helpon jasper individual modules:jasper-vh  {blast,crispr,trna,wish,mash,merge} --helpOutputJASPERproduces output in a special format:The resulting file is a csv file with additional lines that start with#(for easy parsing).A resulting file is grouped by virus genome. For each viral genome, there are number ofScorecolumns (number of score columns are eq to number of tools used/resulting files merged).Under each group there is a STD (standard deviation) of that column, which indicates a level of variation. It gives an idea of how much the proposed host are different between each other in a group.Sample:VirusHostblastScorecrisprScoremashScorewishScoreNC_024389NC_008531294.0NaN0.537086-1.3626NC_024389NC_008531294.0NaN0.537086-1.3626NC_024389NC_017331NaNNaNNaN-1.35805# Std0.0NaN0.00.002NC_024391NC_00964131180.0NaN0.760474-1.33066NC_024391NC_01734917892.0NaN0.789652-1.32703NC_024391NC_01734917892.0NaN0.789652-1.32703# Std6264.023NaN0.0140.002NC_024392NC_018586270.028.00.484772-1.36183NC_024392NC_021827270.0NaNNaN-1.36077NC_024392NC_021830270.0NaNNaN-1.3607NC_024392NC_021839270.0NaNNaN-1.36207NC_024392NC_021840270.0NaNNaN-1.35926NC_024392NC_01754774.037.00.517779-1.36224NC_024392NC_021823246.037.00.537086-1.36111NC_024392NC_021823246.037.00.537086-1.36111NC_024392NC_010001NaNNaNNaN-1.34728# Std63.373.8970.0210.004Stdis equal toNaNonly when the whole column is equal toNaNwhich means that there were no results in given tool for given hosts.Blast configYou can provide blast config as a*.jsonfile.
Every module uses a different task so there are few arguments that are forbidden:['query', 'db', 'outfmt', 'max_target_seqs', 'num_alignments']ReferencesEdgar, R.C. (2007)PILER-CR: fast and accurate identification of CRISPR repeats, BMC Bioinformatics, Jan 20;8:18Fichant and Burks, J. Mol. Biol. (1991)Identification of tRNA genes in genomic DNA, 220:659-671.Clovis Galiez, Matthias Siebert et al.WIsH: who is the host? Predicting prokaryotichosts from metagenomic phage contigsOndov, B.D., Treangen, T.J., Melsted, P. et al.Mash: fast genome and metagenome distance estimation using MinHash.Genome Biol 17, 132 (2016).NCBI-BLAST+LicenseGPLv3