public Map<String, Rxn> getReactions(String compartment) { TreeMap<String, Rxn> crxns = new TreeMap<String, Rxn>(); for (String rn : reactions.keySet()) { Rxn r = reactions.get(rn); if (r.getLocation().equals(compartment)) { crxns.put(rn, r); } } return crxns; }
public Set<String> getInputReactions(Rxn r) { TreeSet<String> rxns = new TreeSet<String>(); for (String rn : reactions.keySet()) { Rxn rxn = reactions.get(rn); if (rxn.connects(r)) { rxns.add(rn); } } return rxns; }
public void loadNetwork() throws IOException { logger.log(Level.INFO, "Loading metabolism network..."); File file = props.getNetworkFile(); Mapper<String, MetabolicEntry> entryMapper = new MetabolicEntry.MetabolicMapper(); Parser<MetabolicEntry> parser = new Parser<MetabolicEntry>(file, entryMapper); while (parser.hasNext()) { MetabolicEntry entry = parser.next(); entries.add(entry); Rxn rxn = new Rxn( props, entry.getReaction(), entry.getAbbreviation(), entry.getReactionName(), entry.getORF()); reactions.put(entry.getAbbreviation(), rxn); locations.add(rxn.getLocation()); LogicalORFTree lot = new LogicalORFTree(entry.getORF()); ORFSet os = new ORFSet(entry.getORF()); totalORFs.addAll(os.getORFs()); orfSets.put(entry.getAbbreviation(), lot); } logger.log(Level.FINE, String.format("Loaded %d entries.", entries.size())); abbrevs = new MetabolismAbbreviations(props); abbrevs.loadAbbreviations(); logger.log(Level.FINEST, "Loaded abbrevations."); }