public Graph toGraph() { Table edgeTable = new Table(); Table nodeTable = new Table(); HashMap<String, Integer> unique = new HashMap<String, Integer>(); edgeTable.addColumn("Node1", int.class); edgeTable.addColumn("Node2", int.class); nodeTable.addColumn("key", int.class); nodeTable.addColumn("name", String.class); nodeTable.addColumn("type", String.class); nodeTable.addColumn("indeterminate", int.class); int idx = 0; for (Protein prot : minProteins.values()) { int row = nodeTable.addRow(); unique.put(prot.getName(), idx); nodeTable.setInt(row, "key", idx++); nodeTable.setString(row, "name", prot.getName()); nodeTable.setString(row, "type", "protein"); nodeTable.setInt(row, "indeterminate", 0); } for (Peptide pep : minPeptides.values()) { int row = nodeTable.addRow(); unique.put(pep.getSequence(), idx); nodeTable.setInt(row, "key", idx++); nodeTable.setString(row, "name", pep.getSequence()); nodeTable.setString(row, "type", "peptide"); if (pep.getIndeterminateType() == PeptideIndeterminacyType.NONE) { nodeTable.setInt(row, "indeterminate", 0); } else { nodeTable.setInt(row, "indeterminate", 1); } } for (Protein prot : minProteins.values()) { int id1 = unique.get(prot.getName()); for (String pep : prot.getPeptides()) { int id2 = unique.get(pep); int row = edgeTable.addRow(); edgeTable.setInt(row, "Node1", id1); edgeTable.setInt(row, "Node2", id2); } } Graph g = new Graph(nodeTable, edgeTable, false, "key", "Node1", "Node2"); // System.err.println(g.getEdgeCount()); return g; }
public void createProteinList() { minProteins = new HashMap<String, Protein>(); for (Peptide pg : minPeptides.values()) { String pepName = pg.getSequence(); for (String protName : pg.getProteins()) { if (minProteins.containsKey(protName)) { Protein prot = minProteins.get(protName); prot.addPeptide(pepName); } else { Protein prot = new Protein(); prot.setName(protName); prot.addPeptide(pepName); prot.setCluster(cluster_num); minProteins.put(protName, prot); } } } for (Protein p : minProteins.values()) { ProteinInfo pInfo = new ProteinInfo(); pInfo.setName(p.getName()); pInfo.setDescription(p.getDescription()); pInfo.setLength(p.getLength()); MassSieveFrame.addProtein(pInfo); } }
public PeptideCollection getPepXML() { PeptideCollection new_pc = new PeptideCollection(); for (Peptide pg : minPeptides.values()) { if (pg.containsPepXML()) { new_pc.minPeptides.put(pg.getSequence(), pg); } } return new_pc; }
public void addPeptideGroup(Peptide pg) { String key = pg.getSequence(); if (minPeptides.containsKey(key)) { System.out.print("This PeptideCollection already contains " + key); System.out.println(" are you sure this is what you want?"); } else { minPeptides.put(key, pg); } }
public PeptideCollection getPeptidesByHits(int numHits) { PeptideCollection new_pc = new PeptideCollection(); for (Peptide pg : minPeptides.values()) { if (pg.getNumPeptideHits() >= numHits) { new_pc.minPeptides.put(pg.getSequence(), pg); } } new_pc.updatePeptideHits(); return new_pc; }
public void updateProteins(HashMap<String, Protein> mainProteins) { minProteins = new HashMap<String, Protein>(); for (Peptide pg : minPeptides.values()) { String pepName = pg.getSequence(); for (String protName : pg.getProteins()) { if (minProteins.containsKey(protName)) { Protein prot = minProteins.get(protName); prot.addPeptide(pepName); } else { Protein prot = mainProteins.get(protName); minProteins.put(protName, prot); } } } for (Peptide pg : minPeptides.values()) { pg.updateProteins(minProteins); } for (Protein p : minProteins.values()) { p.updatePeptides(minPeptides); } }