| 0 | 1 function [VARIANCE1, VARIANCE2]=estimate_variance_parametric(CFG,genes) | 
|  | 2 | 
|  | 3 fprintf('Estimating variance function for rDiff.parametric\n') | 
|  | 4 | 
|  | 5 VARIANCE1=[]; | 
|  | 6 VARIANCE2=[]; | 
|  | 7 | 
|  | 8 %Get the gene expression | 
|  | 9 fprintf('Loading gene expression\n') | 
|  | 10 if isempty(CFG.Counts_gene_expression) | 
|  | 11     EXPR_TAB_FILENAME=[CFG.out_base 'Gene_expression.tab']; | 
|  | 12 else | 
|  | 13     EXPR_TAB_FILENAME=CFG.Counts_gene_expression; | 
|  | 14 end | 
|  | 15 | 
|  | 16 try | 
|  | 17     Gene_expression=importdata(EXPR_TAB_FILENAME,'\t',1); | 
|  | 18 catch | 
|  | 19     error(['Could not open: ' EXPR_TAB_FILENAME]) | 
|  | 20 end | 
|  | 21 %C=importdata('../out/release_test/Gene_expression.tab','\t',1); | 
|  | 22 | 
|  | 23 | 
|  | 24 %Get the counts | 
|  | 25 fprintf('Loading alternative region counts\n') | 
|  | 26 if isempty(CFG.Counts_rDiff_parametric) | 
|  | 27     IN_FILENAME=[CFG.out_base 'Alternative_region_counts.mat']; | 
|  | 28     load(IN_FILENAME,'Counts_rDiff_parametric') | 
|  | 29 else | 
|  | 30     IN_FILENAME=[CFG.out_base CFG.Counts_rDiff_parametric]; | 
|  | 31     load(IN_FILENAMEc,'Counts_rDiff_parametric') | 
|  | 32 end | 
|  | 33 | 
|  | 34 %Iterate over the functions to be generated | 
|  | 35 %compute means and variances | 
|  | 36 | 
|  | 37 if CFG.compute_variance_function_1 | 
|  | 38     fprintf('estimating variance function for sample 1\n') | 
|  | 39     %Get the samples to use for the for estimation the variance function | 
|  | 40     if CFG.merge_sample1 | 
|  | 41         SAMPLE_IX=find(CFG.SAMPLES); | 
|  | 42     else | 
|  | 43         SAMPLE_IX=find(CFG.SAMPLES==1); | 
|  | 44     end | 
|  | 45     VARIANCE1=estimate_variance_helper(CFG,SAMPLE_IX,Counts_rDiff_parametric,Gene_expression.data); | 
|  | 46     if not(isempty(CFG.save_variance_function_1)) | 
|  | 47         VARIANCE_FUNTION_OUTPATH=[CFG.out_base CFG.save_variance_function_1]; | 
|  | 48         save(VARIANCE_FUNTION_OUTPATH,'VARIANCE1'); | 
|  | 49     else | 
|  | 50         %Use previously estimated variance function | 
|  | 51         if not(isempty(CFG.variance_function_1)) | 
|  | 52             try | 
|  | 53                 VARIANCE_FUNTION_INPATH=[CFG.out_base CFG.variance_function_1]; | 
|  | 54                 VARIANCE1=load(VARIANCE_FUNTION_INPATH); | 
|  | 55             catch | 
|  | 56                 error(['Could not load variance function for sample 1 from: ' VARIANCE_FUNTION_INPATH]) | 
|  | 57             end | 
|  | 58         end | 
|  | 59     end | 
|  | 60 end | 
|  | 61 | 
|  | 62 if CFG.compute_variance_function_2 | 
|  | 63     fprintf('estimating variance function for sample 2\n') | 
|  | 64     %Get the samples to use for the for estimation the variance function | 
|  | 65     if CFG.merge_sample2 | 
|  | 66         SAMPLE_IX=find(CFG.SAMPLES); | 
|  | 67     else | 
|  | 68         SAMPLE_IX=find(CFG.SAMPLES==2); | 
|  | 69     end | 
|  | 70     VARIANCE2=estimate_variance_helper(CFG,SAMPLE_IX,Counts_rDiff_parametric,Gene_expression.data); | 
|  | 71     if not(isempty(CFG.save_variance_function_2)) | 
|  | 72         VARIANCE_FUNTION_OUTPATH=[CFG.out_base CFG.save_variance_function_2]; | 
|  | 73         save(VARIANCE_FUNTION_OUTPATH,'VARIANCE2'); | 
|  | 74     else | 
|  | 75         %Use previously estimated variance function | 
|  | 76         if not(isempty(CFG.variance_function_2)) | 
|  | 77             try | 
|  | 78                 VARIANCE_FUNTION_INPATH=[CFG.out_base CFG.variance_function_2]; | 
|  | 79                 VARIANCE2=load(VARIANCE_FUNTION_INPATH); | 
|  | 80             catch | 
|  | 81                 error(['Could not load variance function for sample 2 from: ' VARIANCE_FUNTION_INPATH]) | 
|  | 82             end | 
|  | 83         end | 
|  | 84     end | 
|  | 85 end | 
|  | 86 | 
|  | 87 | 
|  | 88 |