5532506f80e32d334d9898c6e7d23a054c7df5b1 kate Wed Jun 27 21:12:18 2012 -0700 Add special-casing to separate out Small RNA as a separate data type diff --git src/hg/js/encodeChipMatrix.js src/hg/js/encodeChipMatrix.js index da7cbea..6deab13 100644 --- src/hg/js/encodeChipMatrix.js +++ src/hg/js/encodeChipMatrix.js @@ -34,42 +34,47 @@ // set up structures for cell types and their tiers cellTiers = encodeProject.getCellTiers(cellTypes, encodeMatrix_organism); // gather experiments into matrix matrix = makeExperimentMatrix(experiments, antibodyTargetExps); // fill in table using matrix encodeMatrix.tableOut($matrixTable, matrix, cellTiers, antibodyGroups, antibodyTargetExps, encodeProject.pruneAntibodyGroupsToExps, tableHeaderOut, rowAddCells); } function makeExperimentMatrix(experiments, antibodyTargetExps) { // Populate antibodyTarget vs. cellType array with counts of experiments - var antibody, target, cellType; + var antibody, target, cellType, exp; var matrix = {}; - $.each(experiments, function (i, exp) { + $.each(experiments, function (i, experiment) { + + // adjust experiment as needed for display purposes + exp = encodeProject.adjustExperiment(experiment); + // exclude ref genome annotations if (exp.cellType === 'None') { return true; } // todo: filter out with arg to hgApi ? if (exp.dataType !== 'ChipSeq') { return true; } + // count experiments per target so we can prune those having none // (the matrix[cellType] indicates this for cell types // so don't need hash for those antibody = encodeProject.antibodyFromExp(exp); if (antibody === undefined) { return true; } target = encodeProject.targetFromAntibody(antibody); if (target === undefined) { return true; } if (antibodyTargetExps[target] === undefined) { antibodyTargetExps[target] = 0; } antibodyTargetExps[target]++;