1 %>@brief Biomarkers of Non-transformed vs. Transformed, separated by Chemical
3 %> Splits SHE dataset in 5 (1 per chemical) and proceeds with separate biomarkers analyses
for each dataset. Each of five datasets has
4 %> 2 classes: Non-transformed/Transformed
6 %> Four different biomarkers identification methods are applied
for comparison
13 global FONTSIZE SCALE;
23 pieces =
data_split_classes(ds01, 1); % Splits by tray. Each piece will have two classes: Non-transformed vs Transformed
26 pieces(i).X =
normaliz(pieces(i).X, [],
's');
27 cl = pieces(i).classlabels{1};
28 pieces(i).title = cl(1:find(cl ==
'|')-1);
33 %%%%%%%%% FOUR DIFFERENT METHODS ...
37 %%%%% ... 11111 PCA-LDA ...
39 o.blocks{1}.no_factors = 10;
45 % %%%%%% ... 22222 U-test ...
51 u.blocks{1}.fsg = fsg_test_u01;
52 u.blocks{2}.type =
'none';
53 u.blocks{2}.nf_select = 10;
54 u.blocks{2}.threshold = 0.07;
55 u.blocks{2}.peakdetector = [];
56 u.blocks{2}.sortmode =
'grade';
57 cascade_fsel_grades_fsg01 = u;
58 cascade_fsel_grades_fsg01 = cascade_fsel_grades_fsg01.boot();
59 cascade_fsel_grades_fsg01 = cascade_fsel_grades_fsg01.train(ds01);
60 out = cascade_fsel_grades_fsg01.use(ds01);
64 tr.block = cascade_fsel_grades_fsg01;
67 %%%%%% ... 33333 LDA only ...
72 %%%%%% ... 44444 PLS ...
75 % different blocks work with different x-axis
79 % fcon_pls01.flag_autostd = 1;
84 %%%%%% The peak detector
86 o = o.setbatch({
'flag_perc', 1, ...
98 bm.blocks = {cascade_pcalda01, fcon_lda01, cascade_pls, tr};
100 bm.peakdetectors = {peakdetector01};
102 bm.units = {
bmunit_au,
bmunit_int}; % au
for pca-lda loadings and t-test;
int for the histogram
104 bm.rowname_type =
'dataset';
105 bm.sig_j = [4, 4, 4, 4];
106 bm.sig_threshold = -log10(0.05);
108 iunits = [1, 1, 1, 1];
114 for iblock = 1:numel(bm.blocks)
115 bm.grid{idata, iblock} =
setbatch(
struct(), {
'i_block', iblock,
'i_dataset', idata,
'i_peakdetector', 1,
'i_art', ...
116 iblock,
'i_unit', iunits(iblock),
'params', {
'flag_abs', iblock == 2},
'flag_sig', iblock == 2});
126 title(
'All chemicals');
136 t = sprintf('Dataset %d - classlabels=', i,
cell2str(pieces(i).classlabels));
function good_filename(in name)
function maximize_window(in h, in aspectratio, in normalizedsize)
Decimation - makes averages of adjacent features.
Feature subset grader - Mann-Whitney "U"-test.
function setbatch(in o, in params)
function save_as_png(in h, in fn, in dpi)
Cascade block: fcon_pca -> fcon_lda.
Fisher's Linear Discriminant Analysis.
function data_split_classes(in data, in hierarchy)
Partial Least Squares Transformation aka PLSDA.
function load_data_she5trays()
Cascade block: as_grades_fsg->as_fsel_grades->(extract_fsel)
Cascade block: sequence of blocks represented by a block.
function normaliz(in X, in x, in types, in idxs_fea)
"Mutant" block / metablock