Search in sources :

Example 1 with ComputeSimilarityTaskParallel

use of org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel in project EnrichmentMapApp by BaderLab.

the class GeneSetSimilarityTest method testCombindCalculations.

@Test
public void testCombindCalculations() throws Exception {
    double combined_constant = 0.5;
    //set the parameters in the params to use jaccard coeffecient calculation
    map.getParams().setSimilarityMetric(EMCreationParameters.SimilarityMetric.COMBINED);
    //set the cutoff to the max
    map.getParams().setSimilarityCutoff(0);
    map.getParams().setCombinedConstant(combined_constant);
    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 combined = (combined_constant * (13.0 / 13.0)) + ((1 - combined_constant) * (13.0 / 142.0));
    similarity = similarities.get(new SimilarityKey("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", "APOPTOSIS%REACTOME%REACT_578.5", "Geneset_Overlap", null));
    assertEquals(combined, 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
    combined = (combined_constant * (1.0 / 9.0)) + ((1 - combined_constant) * (1.0 / 21.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(combined, 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
    combined = (combined_constant * (1.0 / 7.0)) + ((1 - combined_constant) * (1.0 / 19.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(combined, 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)

Example 2 with ComputeSimilarityTaskParallel

use of org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel in project EnrichmentMapApp by BaderLab.

the class GeneSetSimilarityTest method testJaccardCalculations.

@Test
public void testJaccardCalculations() throws Exception {
    //set the parameters in the params to use jaccard coeffecient calculation
    map.getParams().setSimilarityMetric(EMCreationParameters.SimilarityMetric.JACCARD);
    //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());
    //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 jaccard = 13.0 / 142.0;
    similarity = similarities.get(new SimilarityKey("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4", "APOPTOSIS%REACTOME%REACT_578.5", "Geneset_Overlap", null));
    assertEquals(jaccard, similarity.getSimilarityCoeffecient(), 0.0);
    assertEquals(13, similarity.getSizeOfOverlap());
    if (similarity.getGeneset1Name().equals("APOPTOSIS INDUCED DNA FRAGMENTATION%REACTOME%REACT_1213.4")) {
        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
    jaccard = 1.0 / 21.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(jaccard, 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
    jaccard = 1.0 / 19.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(jaccard, 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)

Example 3 with ComputeSimilarityTaskParallel

use of org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel 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)3 ComputeSimilarityTaskParallel (org.baderlab.csplugins.enrichmentmap.task.ComputeSimilarityTaskParallel)3 Baton (org.baderlab.csplugins.enrichmentmap.util.Baton)3 Test (org.junit.Test)3