Mercurial > repos > artbio > cnv_facets
annotate facets_analysis.R @ 3:d1914f4d9daf draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
| author | artbio |
|---|---|
| date | Sun, 05 Oct 2025 00:55:34 +0000 |
| parents | 66a56502199d |
| children | 3f62267c4be7 |
| rev | line source |
|---|---|
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
2 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
3 # Description: |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
4 # This script serves as the backend for the Galaxy FACETS Analysis tool. |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
5 # It takes a SNP pileup file as input and performs allele-specific copy |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
6 # number analysis using the R package 'facets'. |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
7 # ============================================================================== |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
8 |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
9 # --- Load Libraries --- |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
10 suppressPackageStartupMessages(library(argparse)) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
11 suppressPackageStartupMessages(library(facets)) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
12 |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
13 # --- Source the external plot_facets_enhanced function --- |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
14 # This finds the path of the currently running script and sources |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
15 # the R function file relative to it. |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
16 initial_opts <- commandArgs(trailingOnly = FALSE) |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
17 script_path <- dirname(sub("--file=", "", initial_opts[grep("--file=", initial_opts)])) |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
18 source(file.path(script_path, "plot_facets_enhanced-v22.R")) |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
19 |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
20 # --- Define and Parse Arguments --- |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
21 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
22 # Create the parser |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
23 parser <- ArgumentParser(description = "Run FACETS algorithm on a SNP pileup file.") |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
24 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
25 # Define arguments |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
26 parser$add_argument("--pileup", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
27 type = "character", required = TRUE, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
28 help = "Path to the gzipped pileup CSV file." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
29 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
30 parser$add_argument("--sample_id", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
31 type = "character", required = TRUE, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
32 help = "Sample ID used for plot titles and metadata." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
33 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
34 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
35 parser$add_argument("--output_seg", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
36 type = "character", required = TRUE, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
37 help = "Path for the output segmentation file (TSV)." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
38 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
39 parser$add_argument("--output_summary", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
40 type = "character", required = TRUE, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
41 help = "Path for the output summary file (TSV)." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
42 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
43 parser$add_argument("--output_plots", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
44 type = "character", required = TRUE, |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
45 help = "Path for the main output plots file (PNG)." |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
46 ) |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
47 parser$add_argument("--output_spider", |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
48 type = "character", required = TRUE, |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
49 help = "Path for the diagnostic spider plot file (PNG)." |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
50 ) |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
51 parser$add_argument("--cval", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
52 type = "double", default = 150, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
53 help = "Critical value for segmentation." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
54 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
55 parser$add_argument("--min_nhet", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
56 type = "integer", default = 25, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
57 help = "Minimum number of heterozygous SNPs per segment." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
58 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
59 parser$add_argument("--snp_nbhd", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
60 type = "integer", default = 300, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
61 help = "SNP neighborhood size for pre-processing. Crucial for sparse VCFs." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
62 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
63 parser$add_argument("--gbuild", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
64 type = "character", default = "hg38", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
65 choices = c("hg19", "hg38", "hg18", "mm9", "mm10"), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
66 help = "Genome build used for alignment." |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
67 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
68 |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
69 # --- Main Analysis Function --- |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
70 main <- function(args) { |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
71 # Set seed for reproducibility |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
72 set.seed(1965) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
73 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
74 # --- Read the data with readSnpMatrix() from facets --- |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
75 rcmat <- readSnpMatrix(args$pileup) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
76 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
77 # --- Pre-process sample --- |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
78 xx <- preProcSample(rcmat, gbuild = args$gbuild, snp.nbhd = args$snp_nbhd) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
79 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
80 # --- Process sample (segmentation) --- |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
81 oo <- procSample(xx, cval = args$cval, min.nhet = args$min_nhet) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
82 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
83 # --- Estimate ploidy/purity --- |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
84 fit <- emcncf(oo) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
85 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
86 # Write the main segmentation file |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
87 cncf_output <- fit$cncf |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
88 if (nrow(cncf_output) > 0) { |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
89 cncf_output$purity <- fit$purity |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
90 cncf_output$ploidy <- fit$ploidy |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
91 # Reorder columns to have purity/ploidy first for clarity |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
92 cncf_output <- cncf_output[, c("purity", "ploidy", setdiff(names(cncf_output), c("purity", "ploidy")))] |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
93 } |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
94 write.table(cncf_output, file = args$output_seg, sep = "\t", quote = FALSE, row.names = FALSE) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
95 |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
96 # Write a key-value summary file |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
97 # A NULL value is replaced by NA to preserve vector length. |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
98 summary_df <- data.frame( |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
99 Parameter = c( |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
100 "sample_id", "purity", "ploidy", "dipLogR", "loglik", |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
101 "cval_param", "min_nhet_param", "snp_nbhd_param", "gbuild_param" |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
102 ), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
103 Value = c( |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
104 args$sample_id, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
105 ifelse(is.null(fit$purity), NA, fit$purity), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
106 ifelse(is.null(fit$ploidy), NA, fit$ploidy), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
107 ifelse(is.null(fit$dipLogR), NA, fit$dipLogR), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
108 ifelse(is.null(fit$loglik), NA, fit$loglik), |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
109 args$cval, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
110 args$min_nhet, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
111 args$snp_nbhd, |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
112 args$gbuild |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
113 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
114 ) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
115 write.table(summary_df, file = args$output_summary, sep = "\t", quote = FALSE, row.names = FALSE) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
116 |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
117 # Generate the plots PNG |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
118 png(file = args$output_plots, width = 12, height = 8, units = "in", res = 300) |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
119 plotSample(x = oo, emfit = fit, sname = args$sample_id) |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
120 plot_facets_enhanced(oo, emfit = fit, plot.type = "em", sname = args$sample_id) |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
121 dev.off() |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
122 png(file = args$output_spider, width = 8, height = 8, units = "in", res = 300) |
|
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
123 logRlogORspider(oo$out, oo$dipLogR) |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
124 dev.off() |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
125 } |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
126 |
|
3
d1914f4d9daf
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 64ac36125f04497dd51028f307e059fca9ec0503
artbio
parents:
2
diff
changeset
|
127 # --- Execution Block --- |
|
2
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
128 if (!interactive()) { |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
129 args <- parser$parse_args() |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
130 main(args) |
|
66a56502199d
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/facets commit 0176d2cc4f1caf0ab948ef72efb25ccce735461e
artbio
parents:
diff
changeset
|
131 } |
