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