Search in sources :

Example 6 with Baton

use of org.baderlab.csplugins.enrichmentmap.util.Baton in project EnrichmentMapApp by BaderLab.

the class LoadDavidResultTest method testLoadDavidResult_withoutexpression.

@Test
public void testLoadDavidResult_withoutexpression() throws Exception {
    //for a dataset we require genesets, an expression file (optional), enrichment results
    String testDavidResultsFileName = "src/test/resources/org/baderlab/csplugins/enrichmentmap/task/david_output/12hr_David_Output.txt";
    DataSetFiles files = new DataSetFiles();
    files.setEnrichmentFileName1(testDavidResultsFileName);
    //set the method to David
    double similarityCutoff = 0.25;
    double pvalue = 0.005;
    // 5.0 X 10-3
    double qvalue = 0.005;
    EMCreationParameters params = new EMCreationParameters("EM1_", pvalue, qvalue, NESFilter.ALL, Optional.empty(), SimilarityMetric.JACCARD, similarityCutoff, 0.5);
    //create an new enrichment Map
    EnrichmentMap em = new EnrichmentMap(params, serviceRegistrar);
    //Load data set
    //create a dataset
    EMDataSet dataset = em.createDataSet(LegacySupport.DATASET1, Method.Specialized, files);
    //create a DatasetTask
    ParseDavidEnrichmentResults enrichmentResultsFilesTask = new ParseDavidEnrichmentResults(dataset);
    enrichmentResultsFilesTask.run(taskMonitor);
    CreateDummyExpressionTask dummyExpressionTask = new CreateDummyExpressionTask(dataset);
    dummyExpressionTask.run(taskMonitor);
    em.filterGenesets();
    InitializeGenesetsOfInterestTask genesets_init = new InitializeGenesetsOfInterestTask(em);
    genesets_init.run(taskMonitor);
    Baton<Map<SimilarityKey, GenesetSimilarity>> baton = new Baton<>();
    ComputeSimilarityTaskParallel similarities = new ComputeSimilarityTaskParallel(em, baton.consumer());
    similarities.run(taskMonitor);
    //check to see if the dataset loaded - there should be 215 genesets
    assertEquals(215, dataset.getSetOfGeneSets().getGeneSets().size());
    //there should also be 215 enrichments (the genesets are built from the txt file)
    assertEquals(215, dataset.getEnrichments().getEnrichments().size());
    //there should be 7 genesets in the enrichments of interest
    assertEquals(7, dataset.getGeneSetsOfInterest().getGeneSets().size());
    //there should be 7 * 6 edges
    assertEquals(11, baton.supplier().get().size());
    //there should be a total of 366 genes
    assertEquals(414, em.getNumberOfGenes());
    //there should be 43 genes in the geneset "nucleolus"
    assertEquals(114, em.getAllGeneSets().get("ACETYLATION").getGenes().size());
    //make sure the dummy expression has values for all the genes
    assertEquals(414, dataset.getExpressionSets().getNumGenes());
    assertEquals(414, dataset.getDataSetGenes().size());
}
Also used : EMCreationParameters(org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) Baton(org.baderlab.csplugins.enrichmentmap.util.Baton) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) Map(java.util.Map) DataSetFiles(org.baderlab.csplugins.enrichmentmap.model.DataSetFiles) ParseDavidEnrichmentResults(org.baderlab.csplugins.enrichmentmap.parsers.ParseDavidEnrichmentResults) Test(org.junit.Test)

Example 7 with Baton

use of org.baderlab.csplugins.enrichmentmap.util.Baton in project EnrichmentMapApp by BaderLab.

the class GeneSetSimilarityTest method testOverlapCalculations.

@Test
public void testOverlapCalculations() throws Exception {
    //set the parameters in the params to use jaccard coeffecient calculation
    map.getParams().setSimilarityMetric(EMCreationParameters.SimilarityMetric.OVERLAP);
    //set the cutoff to the max
    map.getParams().setSimilarityCutoff(0);
    Baton<Map<SimilarityKey, GenesetSimilarity>> baton = new Baton<>();
    ComputeSimilarityTaskParallel sim_task = new ComputeSimilarityTaskParallel(map, baton.consumer());
    sim_task.run(taskMonitor);
    Map<SimilarityKey, GenesetSimilarity> similarities = baton.supplier().get();
    assertEquals(15, similarities.size());
    //SetOfGeneSets gs_set = map.getDataset(EnrichmentMap.DATASET1).getSetofgenesets();
    //check the gene set similarity between APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4
    //and APOPTOSIS%REACTOME%REACT_578.5
    GenesetSimilarity similarity;
    // Set A has 13 elements, Set B has 142 elements, They have 13 elements in common
    Double overlap = 13.0 / 13.0;
    similarity = similarities.get(new SimilarityKey("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", "APOPTOSIS%REACTOME%REACT_578.5", "Geneset_Overlap", null));
    assertEquals(overlap, similarity.getSimilarityCoeffecient(), 0.0);
    assertEquals(13, similarity.getSizeOfOverlap());
    if ("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4".equals(similarity.getGeneset1Name())) {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset1Name());
        assertEquals("APOPTOSIS%REACTOME%REACT_578.5", similarity.getGeneset2Name());
    } else {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset2Name());
        assertEquals("APOPTOSIS%REACTOME%REACT_578.5", similarity.getGeneset1Name());
    }
    // Set A has 13 elements, Set B has 9 elements, They have 1 elements in common
    overlap = 1.0 / 9.0;
    similarity = similarities.get(new SimilarityKey("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", "APOPTOTIC CLEAVAGE OF CELL ADHESION PROTEINS%REACTOME%REACT_13579.1", "Geneset_Overlap", null));
    assertEquals(overlap, similarity.getSimilarityCoeffecient(), 0.0);
    assertEquals(1, similarity.getSizeOfOverlap());
    assertTrue(similarity.getOverlappingGenes().contains(map.getHashFromGene("CASP3")));
    if ("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4".equals(similarity.getGeneset1Name())) {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset1Name());
        assertEquals("APOPTOTIC CLEAVAGE OF CELL ADHESION PROTEINS%REACTOME%REACT_13579.1", similarity.getGeneset2Name());
    } else {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset2Name());
        assertEquals("APOPTOTIC CLEAVAGE OF CELL ADHESION PROTEINS%REACTOME%REACT_13579.1", similarity.getGeneset1Name());
    }
    // Set A has 13 elements, Set B has 7 elements, They have 1 elements in common
    overlap = 1.0 / 7.0;
    similarity = similarities.get(new SimilarityKey("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", "APOPTOTIC FACTOR-MEDIATED RESPONSE%REACTOME%REACT_963.2", "Geneset_Overlap", null));
    assertEquals(overlap, similarity.getSimilarityCoeffecient(), 0.0);
    assertEquals(1, similarity.getSizeOfOverlap());
    assertTrue(similarity.getOverlappingGenes().contains(map.getHashFromGene("CASP3")));
    if ("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4".equals(similarity.getGeneset1Name())) {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset1Name());
        assertEquals("APOPTOTIC FACTOR-MEDIATED RESPONSE%REACTOME%REACT_963.2", similarity.getGeneset2Name());
    } else {
        assertEquals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", similarity.getGeneset2Name());
        assertEquals("APOPTOTIC FACTOR-MEDIATED RESPONSE%REACTOME%REACT_963.2", similarity.getGeneset1Name());
    }
}
Also used : ComputeSimilarityTaskParallel(org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel) Baton(org.baderlab.csplugins.enrichmentmap.util.Baton) Map(java.util.Map) Test(org.junit.Test)

Aggregations

Map (java.util.Map)7 Baton (org.baderlab.csplugins.enrichmentmap.util.Baton)7 Test (org.junit.Test)6 DataSetFiles (org.baderlab.csplugins.enrichmentmap.model.DataSetFiles)4 EMDataSet (org.baderlab.csplugins.enrichmentmap.model.EMDataSet)4 EnrichmentMap (org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap)4 EMCreationParameters (org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters)3 ComputeSimilarityTaskParallel (org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel)3 GMTFileReaderTask (org.baderlab.csplugins.enrichmentmap.parsers.GMTFileReaderTask)2 Method (org.baderlab.csplugins.enrichmentmap.model.EMDataSet.Method)1 ClassFileReaderTask (org.baderlab.csplugins.enrichmentmap.parsers.ClassFileReaderTask)1 DetermineEnrichmentResultFileReader (org.baderlab.csplugins.enrichmentmap.parsers.DetermineEnrichmentResultFileReader)1 ExpressionFileReaderTask (org.baderlab.csplugins.enrichmentmap.parsers.ExpressionFileReaderTask)1 ParseBingoEnrichmentResults (org.baderlab.csplugins.enrichmentmap.parsers.ParseBingoEnrichmentResults)1 ParseDavidEnrichmentResults (org.baderlab.csplugins.enrichmentmap.parsers.ParseDavidEnrichmentResults)1 RanksFileReaderTask (org.baderlab.csplugins.enrichmentmap.parsers.RanksFileReaderTask)1 DataSetParameters (org.baderlab.csplugins.enrichmentmap.resolver.DataSetParameters)1 TaskIterator (org.cytoscape.work.TaskIterator)1