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")