comparison rDiff/src/get_parametric_tests_caller.m @ 0:0f80a5141704

version 0.3 uploaded
author vipints
date Thu, 14 Feb 2013 23:38:36 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0f80a5141704
1 function []=get_parametric_tests_caller(PAR)
2
3
4 CFG = PAR.CFG;
5 genes = PAR.genes;
6 OUT_STR='';
7
8 % add paths
9 addpath(CFG.paths);
10 %load local variables
11 data_dir=CFG.data_dir;
12 OUT_STR=[];
13
14 variance_function_parametric_1=PAR.variance_function_parametric_1;
15 variance_function_parametric_2=PAR.variance_function_parametric_2;
16
17 Counts_rDiff_parametric=PAR.Counts_rDiff_parametric;
18 Gene_expression=PAR.Gene_expression;
19
20 %clear variabe PAR
21 clear PAR;
22
23 NUMBER_OF_TESTS_PER_GENE=(CFG.perform_parametric+CFG.perform_poisson);
24 if NUMBER_OF_TESTS_PER_GENE==0
25 return
26 end
27 P_VALS=cell(size(genes,2),NUMBER_OF_TESTS_PER_GENE+12);
28
29
30 %iterate over genes
31 for i=1:size(genes,2)
32 %TEMP_COUNT contains the counts for the current gene
33 TEMP_COUNT=cell(1,3);
34 gene = genes(i);
35
36
37 OLD_OUT_STR=OUT_STR;
38 OUT_STR=['Current gene: ' gene.name ' '];
39 %print progress
40 if CFG.use_rproc
41 fprintf([OUT_STR '\n'])
42 else
43 % Erase old progress
44 fprintf(repmat('\b',1,length(OLD_OUT_STR)));
45 fprintf([OUT_STR])
46 end
47
48 %set default return values
49 P_VALS{i,1}=gene.name;
50
51 %check that the gene has exons defined
52 if isempty(gene.exons)
53 P_VALS{i,4}='Exons field empty in gene structure';
54 continue;
55 end
56
57 %check that the gene is longer than the Reads. Otherwise the
58 %definition of regions does not makes sense
59 if gene.stop-gene.start<CFG.sequenced_length+3
60 P_VALS{i,4}='Gene to short';
61 continue;
62 end
63 %perform
64 COUNTER=2;
65 if CFG.perform_parametric
66 [PV, INFO]= rDiff_parametric(CFG,gene,Counts_rDiff_parametric(i,:),Gene_expression(i,:),variance_function_parametric_1, variance_function_parametric_2);
67 P_VALS{i,COUNTER}={PV, INFO};
68 COUNTER=COUNTER+1;
69 end
70
71 if CFG.perform_poisson
72 [PV, INFO]= rDiff_poisson(CFG,gene,Counts_rDiff_parametric(i,:),Gene_expression(i,:));
73 P_VALS{i,COUNTER}={PV, INFO};
74 end
75
76 end
77
78 fprintf('\n')
79 %Save the p-values
80 OUT_FILENAME=[CFG.outfile_prefix '.mat'];
81 save(OUT_FILENAME,'P_VALS')
82