Mercurial > repos > iuc > lineagespot
comparison lineagespot_verbose.R @ 0:6ddf5a9ce4a5 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/lineagespot commit 0bc6ed15054577af1089d55ef9aa1071d122eb6b
author | iuc |
---|---|
date | Tue, 08 Aug 2023 15:12:08 +0000 |
parents | |
children | 99494998688a |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:6ddf5a9ce4a5 |
---|---|
1 ## How to execute this tool | |
2 | |
3 # A command-line interface to lineagespot for use with Galaxy | |
4 # | |
5 # The following arguments are required: | |
6 # | |
7 # 'in_vcf' a character vector of paths to VCF files object from Galaxy lineagespot/test-data | |
8 # 'in_gff3' a character vector of path to GFF3 file containing SARS-CoV-2 gene coordinates object from Galaxy lineagespot/test-data | |
9 # 'in_ref' a character vector of path to a folder containing lineage reports object from Galaxy lineagespot/test-data | |
10 # 'in_voc' a character vector containing the names of the lineages of interest | |
11 # 'in_threshold' a parameter indicating the AF threshold for identifying variants per sample | |
12 # | |
13 # Rscript ${__tool_directory__}/lineagespot_verbose.R --in_vcf ${__tool_directory__}/test-data/extdata/vcf-files --in_gff3 ${__tool_directory__}/test-data/extdata/NC_045512.2_annot.gff3 --in_ref ${__tool_directory__}/test-data/extdata/ref --in_voc "B.1.617.2, B.1.1.7, B.1.351, P.1" --in_threshold 0.8 | |
14 # Set up R error handling to go to stderr | |
15 options(show.error.messages = FALSE, error = function() { | |
16 cat(geterrmessage(), file = stderr()) | |
17 q("no", 1, FALSE) | |
18 }) | |
19 | |
20 # Import required libraries | |
21 | |
22 library_path <- .libPaths() | |
23 | |
24 suppressPackageStartupMessages({ | |
25 library("getopt", lib.loc = library_path) | |
26 library("data.table", lib.loc = library_path) | |
27 library("lineagespot", lib.loc = library_path) | |
28 }) | |
29 | |
30 | |
31 options(stringAsfactors = FALSE, useFancyQuotes = FALSE) | |
32 | |
33 # Take in trailing command line arguments | |
34 args <- commandArgs(trailingOnly = TRUE) | |
35 | |
36 # Get options using the spec as defined by the enclosed list | |
37 # Read the options from the default: commandArgs(TRUE) | |
38 option_specification <- matrix(c( | |
39 "in_vcf", "vcf", 1, "character", | |
40 "in_gff3", "gff3", 1, "character", | |
41 "in_ref", "ref", 1, "character", | |
42 "in_voc", "voc", 2, "character", | |
43 "in_threshold", "thr", 2, "double" | |
44 ), byrow = TRUE, ncol = 4) | |
45 | |
46 options <- getopt(option_specification) | |
47 | |
48 if (!is.null(options$in_voc) && is.character(options$in_voc)) { | |
49 options$in_voc <- unlist(strsplit(options$in_voc, split = ",")) | |
50 } | |
51 | |
52 result <- lineagespot(vcf_folder = options$in_vcf, | |
53 ref_folder = options$in_ref, | |
54 gff3_path = options$in_gff3, | |
55 voc = options$in_voc, | |
56 AF_threshold = options$in_threshold) | |
57 | |
58 | |
59 # Write output to new file which will be recognized by Galaxy | |
60 fwrite(result$variants.table, sep = "\t", file = "variants_table.txt", row.names = FALSE) | |
61 fwrite(result$lineage.hits, sep = "\t", file = "lineage_hits.txt", row.names = FALSE) | |
62 fwrite(result$lineage.report, sep = "\t", file = "lineage_report.txt", row.names = FALSE) | |
63 | |
64 cat("\n Process has been completed !\n") |