===== SEQPower Benchmark ===== ''spower execute'' command executes a given configuration file with parameters set to allow for power analysis under multiple scenarios within a single command. The feature also provides us a shortcut to benchmark performance of different rare variant association methods under various parameter settings. ==== Prepare a Configuration File ==== [model] model=LOGIT;LOGIT,PAR,LNR type=power [input and output] title=boyko1 input=boyko1.gdat resampling=False output=PowerBenchmark [runtime options] verbosity=2 seed=0 jobs=8 [sample population] sample_size=2000;600,1000,2000,5000,10000 p1=0.5;0.1,0.3,0.5,0.7,0.9 [power calculation] power=0.8 replicates=1000 alpha=0.05 methods="CFisher --name CMC" "KBAC -p 2000 --adaptive 0.1" "WSSRankTest -p 2000 --adaptive 0.1 --name WSS" [genotyping artifact] missing_low_maf=None missing_sites=None;0.05,0.2,0.4,0.6,0.8 missing_sites_deleterious=None;0.05,0.2,0.4,0.6,0.8 missing_sites_protective=None;0.05,0.2,0.4,0.6,0.8 missing_sites_neutral=None;0.05,0.2,0.4,0.6,0.8 missing_sites_synonymous=None;0.05,0.2,0.4,0.6,0.8 missing_calls=None;0.05,0.2,0.4,0.6,0.8 missing_calls_deleterious=None;0.05,0.2,0.4,0.6,0.8 missing_calls_protective=None;0.05,0.2,0.4,0.6,0.8 missing_calls_neutral=None;0.05,0.2,0.4,0.6,0.8 missing_calls_synonymous=None;0.05,0.2,0.4,0.6,0.8 error_calls=0.01 error_calls_deleterious=None error_calls_protective=None error_calls_neutral=None error_calls_synonymous=None [quality control] def_valid_locus=None rare_only=False missing_as_wt=True discard_samples=None discard_variants=None [variants functionality] def_rare=0.01 def_neutral=-0.00001 0.00001 def_protective=-1 -0.00001 proportion_detrimental=None;None,0.8,0.6,0.4,0.2 proportion_protective=None;0,0.25,0.5,0.75,None [phenotype associations] moi=A;A,D,R,M OR_rare_detrimental=1.5;1.0,1.2,1.8,2.0,2.5,3.0 OR_rare_protective=0.5;0.9,0.7,0.5,0.3,0.1 ORmax_rare_detrimental=None;2.0,2.5,3.0,3.5,4.0 ORmin_rare_protective=None;0.95,0.85,0.75,0.65,0.55 OR_common_detrimental=1.0 OR_common_protective=1.0 baseline_effect=0.01 PAR_rare_detrimental=0.0;0.005,0.01,0.015,0.025,0.05 PAR_rare_protective=0.0 PAR_common_detrimental=0.0 PAR_common_protective=0.0 PAR_variable=False meanshift_rare_detrimental=0.5 meanshift_rare_protective=-0.5 meanshiftmax_rare_detrimental=None meanshiftmax_rare_protective=None meanshift_common_detrimental=0.0 meanshift_common_protective=0.0 QT_thresholds=0.5 0.5;0.1 0.9,0.2 0.8,0.3 0.7,0.4 0.6,0.5 0.5 [plot] x_axis=sample_size x_axis_alias= x_axis_fontsize= y_axis=power y_axis_range= y_axis_fontsize= stderr=power_std object=method object_alias= object_color= object_shape={{'CMC' : 1, 'BRV' : 3, 'WSS' : 5, 'KBAC' : 6, 'VT' : 7, 'c-alpha' : 10, 'RareCover' : 11, 'SKAT' : 15}} object_line={{'CMC' : 1, 'BRV' : 6, 'WSS' : 1, 'KBAC' : 6, 'VT' : 1, 'c-alpha' : 6, 'RareCover' : 1, 'SKAT' : 6}} plot_title= plot_width= plot_height= plot_fn= xlab= xlab_fontsize= ylab= ylab_fontsize= stderrlab= objectlab= condition= \\ ==== Usage ==== spower execute -h \\ usage: spower execute [-h] [-s [ARG [ARG ...]]] [-f [ARG [ARG ...]]] [--plot] [--dry_run] file positional arguments: file configuration filename to execute optional arguments: -h, --help show this help message and exit -s [ARG [ARG ...]], --sliding [ARG [ARG ...]] specify variable parameters -f [ARG [ARG ...]], --fixed [ARG [ARG ...]] specify fixed parameters --plot generate plot instead of running simulations --dry_run print generated commands to screen instead of executing them \\ === Execute benchmark === spower execute spower-benchmark.conf --sliding sample_size=2000,3000,4000,5000,6000 \ --fixed model=LOGIT input=KIT.gdat p1=0.5 \\ Running command 1/5 ... INFO: Loading data from [KIT.gdat] ... INFO: 1 units found KIT : 100% |======================================================================================| Time: 0:03:06 INFO: Tuning [PowerBenchmark.SEQPowerDB] ... INFO: Result saved to [PowerBenchmark.csv/.loci.csv/.SEQPowerDB] Running command 2/5 ... INFO: Loading data from [KIT.gdat] ... INFO: 1 units found KIT : 100% |======================================================================================| Time: 0:05:08 INFO: Tuning [PowerBenchmark.SEQPowerDB] ... INFO: Result saved to [PowerBenchmark.csv/.loci.csv/.SEQPowerDB] Running command 3/5 ... INFO: Loading data from [KIT.gdat] ... INFO: 1 units found KIT : 100% |======================================================================================| Time: 0:07:32 INFO: Tuning [PowerBenchmark.SEQPowerDB] ... INFO: Result saved to [PowerBenchmark.csv/.loci.csv/.SEQPowerDB] Running command 4/5 ... INFO: Loading data from [KIT.gdat] ... INFO: 1 units found KIT : 100% |======================================================================================| Time: 0:10:06 INFO: Tuning [PowerBenchmark.SEQPowerDB] ... INFO: Result saved to [PowerBenchmark.csv/.loci.csv/.SEQPowerDB] Running command 5/5 ... INFO: Loading data from [KIT.gdat] ... INFO: 1 units found KIT : 100% |======================================================================================| Time: 0:14:09 INFO: Tuning [PowerBenchmark.SEQPowerDB] ... INFO: Result saved to [PowerBenchmark.csv/.loci.csv/.SEQPowerDB] \\ === Generate plot === spower execute spower-benchmark.conf --plot \\ {{:plot-example.png?500.0}}