Search in sources :

Example 1 with CyRow

use of org.cytoscape.model.CyRow in project EnrichmentMapApp by BaderLab.

the class SessionModelIO method clearTable.

private void clearTable(CyTable table) {
    List<Object> rowKeys = new ArrayList<>();
    CyColumn keyColumn = table.getPrimaryKey();
    for (CyRow row : table.getAllRows()) {
        Object key = row.get(keyColumn.getName(), keyColumn.getType());
        rowKeys.add(key);
    }
    table.deleteRows(rowKeys);
}
Also used : ArrayList(java.util.ArrayList) CyColumn(org.cytoscape.model.CyColumn) CyRow(org.cytoscape.model.CyRow)

Example 2 with CyRow

use of org.cytoscape.model.CyRow in project EnrichmentMapApp by BaderLab.

the class SessionViewIO method restoreView.

public void restoreView(CySession session) {
    if (!headless) {
        CyTable table = getPrivateTable();
        if (table != null) {
            for (CyRow row : table.getAllRows()) {
                Long suid = COL_NETWORK_VIEW_ID.get(row);
                String json = COL_VIEW_JSON.get(row);
                if (suid != null && json != null) {
                    CyNetworkView netView = getNetworkView(suid);
                    if (netView != null) {
                        ViewParams params = ViewSerializer.deserialize(json);
                        if (params != null) {
                            params.setNetworkViewID(netView.getSUID());
                            controlPanelMediatorProvider.get().reset(params);
                        }
                    }
                }
            }
        }
    }
}
Also used : CyTable(org.cytoscape.model.CyTable) CyRow(org.cytoscape.model.CyRow) CyNetworkView(org.cytoscape.view.model.CyNetworkView)

Example 3 with CyRow

use of org.cytoscape.model.CyRow in project EnrichmentMapApp by BaderLab.

the class TestUtils method getSignatureEdges.

public static Map<String, CyEdge> getSignatureEdges(CyNetwork network, String prefix, String sigSetName) {
    Map<String, CyEdge> edges = new HashMap<>();
    for (CyEdge edge : network.getEdgeList()) {
        CyRow row = network.getRow(edge);
        String sigName = Columns.EDGE_SIG_DATASET.get(row, prefix);
        if (sigName != null && sigName.equals(sigSetName)) {
            edges.put(row.get(CyNetwork.NAME, String.class), edge);
        }
    }
    return edges;
}
Also used : HashMap(java.util.HashMap) CyRow(org.cytoscape.model.CyRow) CyEdge(org.cytoscape.model.CyEdge)

Example 4 with CyRow

use of org.cytoscape.model.CyRow in project EnrichmentMapApp by BaderLab.

the class LegacySessionLoadTest method test_1_LoadedLegacyData.

@Test
@SessionFile("em_session_2.2.cys")
public void test_1_LoadedLegacyData() throws Exception {
    EnrichmentMap map = getEnrichmentMap();
    assertEquals("EM1_Enrichment Map", map.getName());
    CyNetwork network = networkManager.getNetwork(map.getNetworkID());
    assertNotNull(network);
    assertEquals(1, map.getDataSetCount());
    assertEquals(14067, map.getNumberOfGenes());
    assertEquals(14067, map.getAllGenes().size());
    // Number of edges: 3339 - that's how many geneset similarity objects there should be!!!
    CyTable edgeTable = network.getDefaultEdgeTable();
    assertEquals(3339, edgeTable.getRowCount());
    EMCreationParameters params = map.getParams();
    String prefix = params.getAttributePrefix();
    assertEquals("EM1_", prefix);
    assertEquals(0.5, params.getCombinedConstant(), 0.0);
    assertFalse(params.isEMgmt());
    assertEquals("Geneset_Overlap", params.getEnrichmentEdgeType());
    assertTrue(params.isFDR());
    assertEquals(GreatFilter.HYPER, params.getGreatFilter());
    assertEquals(0.005, params.getPvalue(), 0.0);
    assertEquals(1.0, params.getPvalueMin(), 0.0);
    assertEquals(0.1, params.getQvalue(), 0.0);
    assertEquals(1.0, params.getQvalueMin(), 0.0);
    assertEquals(0.5, params.getSimilarityCutoff(), 0.0);
    assertEquals(SimilarityMetric.OVERLAP, params.getSimilarityMetric());
    //		assertFalse(params.isDistinctExpressionSets());
    String geneset1 = "RESOLUTION OF SISTER CHROMATID COHESION%REACTOME%REACT_150425.2";
    String geneset2 = "CHROMOSOME, CENTROMERIC REGION%GO%GO:0000775";
    Collection<CyRow> rows = edgeTable.getMatchingRows(CyNetwork.NAME, geneset1 + " (Geneset_Overlap) " + geneset2);
    assertEquals(1, rows.size());
    CyRow row = rows.iterator().next();
    assertEquals("Geneset_Overlap", row.get(CyEdge.INTERACTION, String.class));
    assertEquals(0.6097560975609756, EMStyleBuilder.Columns.EDGE_SIMILARITY_COEFF.get(row, prefix), 0.0);
    EMDataSet dataset = map.getDataSet("Dataset 1");
    assertNotNull(dataset);
    assertSame(map, dataset.getMap());
    assertEquals(Method.GSEA, dataset.getMethod());
    assertEquals(12653, dataset.getDataSetGenes().size());
    assertEquals(389, dataset.getGeneSetsOfInterest().getGeneSets().size());
    //		assertEquals(17259, dataset.getSetofgenesets().getGenesets().size()); // MKTODO why? what is this used for
    assertEndsWith(dataset.getSetOfGeneSets().getFilename(), "Human_GO_AllPathways_no_GO_iea_April_15_2013_symbol.gmt");
    for (long suid : dataset.getNodeSuids()) {
        assertNotNull(network.getNode(suid));
    }
    GeneSet geneset = dataset.getGeneSetsOfInterest().getGeneSets().get("NCRNA PROCESSING%GO%GO:0034470");
    assertEquals(88, geneset.getGenes().size());
    assertEquals("NCRNA PROCESSING%GO%GO:0034470", geneset.getName());
    assertEquals("ncRNA processing", geneset.getDescription());
    assertEquals(Optional.of("GO"), geneset.getSource());
    SetOfEnrichmentResults enrichments = dataset.getEnrichments();
    assertEquals(4756, enrichments.getEnrichments().size());
    assertEndsWith(enrichments.getFilename1(), "gsea_report_for_ES12_1473194913081.xls");
    assertEndsWith(enrichments.getFilename2(), "gsea_report_for_NT12_1473194913081.xls");
    assertEquals("ES12", enrichments.getPhenotype1());
    assertEquals("NT12", enrichments.getPhenotype2());
    EnrichmentResult result = enrichments.getEnrichments().get("RIBONUCLEOSIDE TRIPHOSPHATE BIOSYNTHETIC PROCESS%GO%GO:0009201");
    assertTrue(result instanceof GSEAResult);
    GSEAResult gseaResult = (GSEAResult) result;
    assertEquals("RIBONUCLEOSIDE TRIPHOSPHATE BIOSYNTHETIC PROCESS%GO%GO:0009201", gseaResult.getName());
    assertEquals(0.42844063, gseaResult.getES(), 0.0);
    assertEquals(0.45225498, gseaResult.getFdrqvalue(), 0.0);
    assertEquals(1.0, gseaResult.getFwerqvalue(), 0.0);
    assertEquals(23, gseaResult.getGsSize());
    assertEquals(1.1938541, gseaResult.getNES(), 0.0);
    assertEquals(0.2457786, gseaResult.getPvalue(), 0.0);
    assertEquals(4689, gseaResult.getRankAtMax());
    assertEquals(Optional.of("GO"), gseaResult.getSource());
    GeneExpressionMatrix expressions = dataset.getExpressionSets();
    assertEquals(20326, expressions.getExpressionUniverse());
    assertEquals(3.686190609, expressions.getClosesttoZero(), 0.0);
    //		assertEndsWith(expressions.getFilename(), "MCF7_ExprMx_v2_names.gct");
    assertEquals(15380.42388, expressions.getMaxExpression(), 0.0);
    assertEquals(3.686190609, expressions.getMinExpression(), 0.0);
    assertEquals(20, expressions.getNumConditions());
    assertEquals(12653, expressions.getExpressionMatrix().size());
    assertEquals(12653, expressions.getExpressionMatrix_rowNormalized().size());
    GeneExpression expression = expressions.getExpressionMatrix().get(0);
    assertEquals("MOCOS", expression.getName());
    assertEquals("MOCOS (molybdenum cofactor sulfurase)", expression.getDescription());
    assertEquals(18, expression.getExpression().length);
    Ranking ranking = expressions.getRanks().get("GSEARanking");
    assertEquals(12653, ranking.getAllRanks().size());
    assertEquals(12653, ranking.getRanking().size());
    Rank rank = ranking.getRanking().get(0);
    assertEquals("MOCOS", rank.getName());
    assertEquals(1238, rank.getRank().intValue());
    assertEquals(0.54488367, rank.getScore(), 0.0);
    DataSetFiles files = dataset.getDataSetFiles();
    assertEndsWith(files.getClassFile(), "ES_NT.cls");
    assertEndsWith(files.getEnrichmentFileName1(), "gsea_report_for_ES12_1473194913081.xls");
    assertEndsWith(files.getEnrichmentFileName2(), "gsea_report_for_NT12_1473194913081.xls");
    //		assertEndsWith(files.getExpressionFileName(), "MCF7_ExprMx_v2_names.gct");
    assertEndsWith(files.getGMTFileName(), "Human_GO_AllPathways_no_GO_iea_April_15_2013_symbol.gmt");
    assertEndsWith(files.getGseaHtmlReportFile(), "estrogen_treatment_12hr_gsea_enrichment_results.Gsea.1473194913081/index.html");
    assertEndsWith(files.getRankedFile(), "ranked_gene_list_ES12_versus_NT12_1473194913081.xls");
    assertEquals("ES12", files.getPhenotype1());
    assertEquals("NT12", files.getPhenotype2());
}
Also used : EnrichmentResult(org.baderlab.csplugins.enrichmentmap.model.EnrichmentResult) EMCreationParameters(org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters) GSEAResult(org.baderlab.csplugins.enrichmentmap.model.GSEAResult) CyNetwork(org.cytoscape.model.CyNetwork) Rank(org.baderlab.csplugins.enrichmentmap.model.Rank) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) CyRow(org.cytoscape.model.CyRow) GeneExpressionMatrix(org.baderlab.csplugins.enrichmentmap.model.GeneExpressionMatrix) CyTable(org.cytoscape.model.CyTable) Ranking(org.baderlab.csplugins.enrichmentmap.model.Ranking) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) GeneSet(org.baderlab.csplugins.enrichmentmap.model.GeneSet) GeneExpression(org.baderlab.csplugins.enrichmentmap.model.GeneExpression) DataSetFiles(org.baderlab.csplugins.enrichmentmap.model.DataSetFiles) SetOfEnrichmentResults(org.baderlab.csplugins.enrichmentmap.model.SetOfEnrichmentResults) BaseIntegrationTest(org.baderlab.csplugins.enrichmentmap.integration.BaseIntegrationTest) Test(org.junit.Test) SessionFile(org.baderlab.csplugins.enrichmentmap.integration.SessionFile)

Example 5 with CyRow

use of org.cytoscape.model.CyRow in project EnrichmentMapApp by BaderLab.

the class BaseIntegrationTest method assertEdgeTableRowsEqual.

/**
	 * For edges we need to ignore the directionality.
	 */
private void assertEdgeTableRowsEqual(List<CyColumn> expectedColumns, List<CyRow> expectedRows, List<CyRow> actualRows) {
    Set<String> columnsToIgnore = ImmutableSet.of(CyNetwork.NAME, CyRootNetwork.SHARED_NAME);
    List<CyColumn> columnsToTest = expectedColumns.stream().filter(c -> !columnsToIgnore.contains(c.getName())).collect(Collectors.toList());
    Map<SimilarityKey, CyRow> expectedRowsByKey = new HashMap<>();
    for (CyRow row : expectedRows) {
        SimilarityKey key = SimilarityKey.parse(row.get(CyNetwork.NAME, String.class));
        expectedRowsByKey.put(key, row);
    }
    for (CyRow actual : actualRows) {
        SimilarityKey key = SimilarityKey.parse(actual.get(CyNetwork.NAME, String.class));
        CyRow expected = expectedRowsByKey.remove(key);
        assertNotNull(key.toString(), expected);
        assertAttributesEqual(columnsToTest, expected, actual);
    }
    assertTrue(expectedRowsByKey.isEmpty());
}
Also used : PaxExam(org.ops4j.pax.exam.junit.PaxExam) Arrays(java.util.Arrays) RunWith(org.junit.runner.RunWith) HashMap(java.util.HashMap) TaskIterator(org.cytoscape.work.TaskIterator) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) CyRow(org.cytoscape.model.CyRow) CyNetwork(org.cytoscape.model.CyNetwork) Map(java.util.Map) CyColumn(org.cytoscape.model.CyColumn) CyTable(org.cytoscape.model.CyTable) ImmutableSet(com.google.common.collect.ImmutableSet) LoadNetworkFileTaskFactory(org.cytoscape.task.read.LoadNetworkFileTaskFactory) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) Set(java.util.Set) IOException(java.io.IOException) CyNetworkManager(org.cytoscape.model.CyNetworkManager) Collectors(java.util.stream.Collectors) File(java.io.File) List(java.util.List) CyRootNetwork(org.cytoscape.model.subnetwork.CyRootNetwork) Comparator(java.util.Comparator) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) HashMap(java.util.HashMap) CyColumn(org.cytoscape.model.CyColumn) CyRow(org.cytoscape.model.CyRow)

Aggregations

CyRow (org.cytoscape.model.CyRow)33 CyTable (org.cytoscape.model.CyTable)12 CyColumn (org.cytoscape.model.CyColumn)10 ArrayList (java.util.ArrayList)9 CyEdge (org.cytoscape.model.CyEdge)8 CyNode (org.cytoscape.model.CyNode)8 Test (org.junit.Test)8 HashMap (java.util.HashMap)7 CyNetwork (org.cytoscape.model.CyNetwork)7 List (java.util.List)6 EMDataSet (org.baderlab.csplugins.enrichmentmap.model.EMDataSet)4 Arrays (java.util.Arrays)3 Collections (java.util.Collections)3 Map (java.util.Map)3 Set (java.util.Set)3 Collectors (java.util.stream.Collectors)3 EnrichmentMap (org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap)3 CyColumnIdentifier (org.cytoscape.view.presentation.property.values.CyColumnIdentifier)3 ImmutableSet (com.google.common.collect.ImmutableSet)2 Paint (java.awt.Paint)2