Mercurial > repos > morinlab > select_optimal_cluster
comparison select_optimal_cluster.R @ 2:7edf4d48a350 draft default tip
Uploaded
author | morinlab |
---|---|
date | Sun, 04 Dec 2016 15:57:18 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1:7717e4a7ca07 | 2:7edf4d48a350 |
---|---|
1 library(argparse) | |
2 | |
3 parser <- ArgumentParser(description="Select the best TITAN cluster"); | |
4 | |
5 parser$add_argument( | |
6 '--input_params', "-ip", | |
7 nargs="+", | |
8 required="True", | |
9 help="Input parameter files from TITAN" | |
10 ); | |
11 | |
12 parser$add_argument( | |
13 '--input_segments', "-is", | |
14 nargs="+", | |
15 required="True", | |
16 help="Input segment files from TITAN" | |
17 ); | |
18 | |
19 parser$add_argument( | |
20 "--method", "-m", | |
21 choices=c('validity_index', 'validity_index_and_pga'), | |
22 required="True", | |
23 help="Algorithm to use for cluster selection" | |
24 ); | |
25 | |
26 parser$add_argument( | |
27 "--percent_genome_alteration", "-pga", | |
28 metavar="PGA", | |
29 type="double", | |
30 default="0.8", | |
31 help="Maximum percent genome alteration to accept in a cluster" | |
32 ); | |
33 | |
34 parser$add_argument( | |
35 "--output_param", "-op", | |
36 required="True", | |
37 help="Output file to store optimal parameter file" | |
38 ); | |
39 | |
40 parser$add_argument( | |
41 "--output_segment", "-os", | |
42 required="True", | |
43 help="Output file to store optimal segment file" | |
44 ); | |
45 | |
46 parser$add_argument( | |
47 "--cancer_genomics_functions_path", "-cgfp", | |
48 required="True", | |
49 help="Path to cancer genomics functions in R" | |
50 ) | |
51 | |
52 args <- parser$parse_args(); | |
53 | |
54 source(paste(args$cancer_genomics_functions_path, "functions.R", sep="/")); | |
55 | |
56 current_index <- 0; | |
57 current_val_index <- 1; | |
58 genome_frame <- generate_common_genome_frame(); | |
59 for (i in 1:length(args$input_params)) { | |
60 if (args$method == "validity_index_and_pga") { | |
61 titan_segs <- read_titan_cnv_file(args$input_segments[i]); | |
62 pga <- calculate_percent_genome_alteration(titan_segs, genome_frame); | |
63 if (pga >= args$percent_genome_alteration) { | |
64 next; | |
65 } | |
66 } | |
67 | |
68 titan_params <- read_titan_params_file(args$input_params[i]); | |
69 val_index <- fetch_validity_index(titan_params) | |
70 if (current_val_index > val_index) { | |
71 current_val_index <- val_index; | |
72 current_index <- i; | |
73 } | |
74 } | |
75 | |
76 command_params <- paste( | |
77 "cp", | |
78 args$input_params[current_index], | |
79 args$output_param, | |
80 sep=" " | |
81 ); | |
82 | |
83 system(command_params); | |
84 | |
85 | |
86 command_segments <- paste( | |
87 "cp", | |
88 args$input_segments[current_index], | |
89 args$output_segment, | |
90 sep=" " | |
91 ); | |
92 | |
93 system(command_params); |