Virsearch
Snakemake workflow to detect and classify viruses in metagenome assemblies.
Install / Use
npx skills add alexmsalmeida/virsearchInstalls into whichever agent you are using.
README
VirSearch - searching viral sequences in metagenomes
Snakemake workflow to detect and classify viruses in metagenome assemblies.
It first detects viral sequences in assemblies (.fa files) with VirSorter2, VIBRANT and DeepVirFinder. Predictions are strictly quality controlled with CheckV, followed by clustering with CD-HIT and taxonomic classification with Demovir.
Installation
git clone --recursive https://github.com/alexmsalmeida/virsearch.git
- Download and extract necessary databases (uncompressed directory will require a total of 30 GB).
wget http://ftp.ebi.ac.uk/pub/databases/metagenomics/genome_sets/virsearch_db.tar.gz
tar -xzvf virsearch_db.tar.gz
- Download an updated Demovir database based on the UniProt 2024_01 release and the new ICTV viral taxonomy.
wget -O uniprot_viruses.tar.gz https://zenodo.org/records/10655918/files/uniprot_viruses.tar.gz?download=1
tar -xzvf uniprot_viruses.tar.gz
mv uniprot_vir* virsearch_db/demovir/
How to run
-
Edit
config.ymlfile to point to the <b>input</b>, <b>output</b> and <b>databases</b> directories. Input directory should contain the.faassemblies to analyse. -
Install the necessary conda environments through snakemake
snakemake --use-conda --conda-create-envs-only --cores 1
- (option 1) Run the pipeline locally (adjust
-jbased on the number of available cores)
snakemake --use-conda -k -j 4
- (option 2) Run the pipeline on a cluster (e.g., SLURM)
snakemake --use-conda -k -j 100 --cluster-config cluster.yml --cluster 'sbatch -A ALMEIDA-SL3-CPU -p icelake-himem --time=12:00:00 --ntasks={cluster.nCPU} --mem={cluster.mem} -o {cluster.output}'
Output
The main output files generated per input FASTA are the final_predictions.fa and final_predictions_tax.tsv files, which contain the viral sequences in FASTA format and their taxonomic annotation, respectively. If these files are empty it likely means that no high-confidence viral sequences were detected (check individual logs of the tools to confirm no other issues arose).
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
