private void setProductMolecule(IReaction IR, Map<String, Double> _Stoichiometry, Set<IAtomContainer> _Metabolites) { // System.out.println("-------------------"); // System.out.println("Products"); // System.out.println("-------------------"); Iterator<IAtomContainer> it = _Metabolites.iterator(); while (it.hasNext()) { IAtomContainer mol = it.next(); // System.out.println("Insertion: " + mol.getID() + ", " + _Stoichiometry.get(mol.getID()) // + ", ac:" + mol.getAtomCount()); // mol.setProperty("STOICHIOMETRY", _Stoichiometry.get(mol.getID())); IR.addProduct(mol, _Stoichiometry.get(mol.getID())); } _Metabolites.clear(); _Stoichiometry.clear(); }
private void setProductMolecule(IReaction IR, Collection<IAtomContainer> metabolites) { // System.out.println("-------------------"); // System.out.println("Products"); // System.out.println("-------------------"); Iterator<IAtomContainer> it = metabolites.iterator(); while (it.hasNext()) { IAtomContainer mol = it.next(); // // System.out.println("Insertion: " + mol.getID() + ", " + stoichiometryMap.get(mol.getID())); mol.setProperty("STOICHIOMETRY", stoichiometryMap.get(mol.getID())); IR.addProduct(mol, stoichiometryMap.get(mol.getID())); // standardizedReaction.setProductCoefficient(mol,stoichiometryMap.get(mol.getID())); } metabolites.clear(); stoichiometryMap.clear(); }
protected IReaction parseCML(String input) throws FileNotFoundException, CDKException { File f = new File(input); if (!f.isFile()) { LOGGER.warn(WARNING, format("CML file not found! " + f.getName())); exit(1); } String[] split = f.getName().split(".cml"); CMLReader cmlReader = new CMLReader(new FileInputStream(input)); AtomContainer ac = cmlReader.read(new AtomContainer()); IReaction r = new Reaction(); r.addReactant(ac, 1.0); r.addProduct(ac, 1.0); r.setID(split[0]); return r; }
protected IReaction parseMOL2(String input) throws FileNotFoundException, CDKException { File f = new File(input); if (!f.isFile()) { LOGGER.error(WARNING, format("Mol2 file not found! " + f.getName())); exit(1); } String[] split = f.getName().split(".mol"); MDLV2000Reader mdlV2000Reader = new MDLV2000Reader( new FileReader(input), RELAXED); AtomContainer ac = mdlV2000Reader.read(new AtomContainer()); IReaction r = new Reaction(); r.addReactant(ac, 1.0); r.addProduct(ac, 1.0); r.setID(split[0]); return r; }
@Test public void testGetProducts() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer sodiumhydroxide = reaction.getBuilder().newInstance(IAtomContainer.class); IAtomContainer aceticAcid = reaction.getBuilder().newInstance(IAtomContainer.class); IAtomContainer water = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(sodiumhydroxide); reaction.addProduct(aceticAcid); reaction.addProduct(water); Assert.assertEquals(3, reaction.getProducts().getAtomContainerCount()); }
@Test public void testAddProduct_IAtomContainer_Double() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer proton = reaction.getBuilder().newInstance(IAtomContainer.class); IAtomContainer sulfate = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(proton, 2.0); reaction.addProduct(sulfate, 1.0); Assert.assertEquals(2.0, reaction.getProductCoefficient(proton), 0.00001); Assert.assertEquals(1.0, reaction.getProductCoefficient(sulfate), 0.00001); }
@Test public void testGetProductCoefficients() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer pr1 = reaction.getBuilder().newInstance(IAtomContainer.class); IAtomContainer pr2 = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(pr1, 1d); reaction.addProduct(pr2, 2d); Double[] pc = reaction.getProductCoefficients(); Assert.assertEquals(2.0, pc.length, 0.00001); Assert.assertEquals(reaction.getProductCoefficient(pr1), pc[0], 0.00001); Assert.assertEquals(2.0, pc[1], 0.00001); }
@Test public void testGetAllMolecules_IReactionScheme() { IReactionScheme reactionScheme = builder.newInstance(IReactionScheme.class); IReaction reaction1 = builder.newInstance(IReaction.class); reaction1.addProduct(builder.newInstance(IAtomContainer.class)); IReaction reaction2 = builder.newInstance(IReaction.class); reaction2.addProduct(builder.newInstance(IAtomContainer.class)); reactionScheme.addReaction(reaction1); // 1 reactionScheme.addReaction(reaction2); // 2 Assert.assertEquals(2, ReactionSchemeManipulator.getAllAtomContainers(reactionScheme).getAtomContainerCount()); }
@Test public void testGetAllProducts_IReaction() { IReaction reaction = builder.newInstance(IReaction.class); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); Assert.assertEquals(3, ReactionManipulator.getAllReactants(reaction).getAtomContainerCount()); }
@Test public void testGetAllMolecules_IReactionScheme_IAtomContainerSet() { IReactionScheme reactionScheme = builder.newInstance(IReactionScheme.class); IReaction reaction1 = builder.newInstance(IReaction.class); reaction1.addProduct(builder.newInstance(IAtomContainer.class)); IReaction reaction2 = builder.newInstance(IReaction.class); reaction2.addProduct(builder.newInstance(IAtomContainer.class)); reactionScheme.addReaction(reaction1); // 1 reactionScheme.addReaction(reaction2); // 2 Assert.assertEquals( 2, ReactionSchemeManipulator.getAllAtomContainers(reactionScheme, builder.newInstance(IAtomContainerSet.class)).getAtomContainerCount()); }
@Test public void testGetAllReactants_IReaction() { IReaction reaction = builder.newInstance(IReaction.class); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); Assert.assertEquals(2, ReactionManipulator.getAllProducts(reaction).getAtomContainerCount()); }
@Test public void testGetAllMolecules_IReaction() { IReaction reaction = builder.newInstance(IReaction.class); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addReactant(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); reaction.addProduct(builder.newInstance(IAtomContainer.class)); Assert.assertEquals(5, ReactionManipulator.getAllMolecules(reaction).getAtomContainerCount()); }
@Test public void testSetProductCoefficient_IAtomContainer_Double() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer proton = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(proton, 2.0); reaction.setProductCoefficient(proton, 1.0); Assert.assertEquals(1.0, reaction.getProductCoefficient(proton), 0.00001); }
@Test public void testGetAllMolecules_IReactionSet2() { IReactionSet reactionSet = builder.newInstance(IReactionSet.class); IReaction reaction1 = builder.newInstance(IReaction.class); IAtomContainer molecule = builder.newInstance(IAtomContainer.class); reaction1.addProduct(molecule); reaction1.addReactant(builder.newInstance(IAtomContainer.class)); reactionSet.addReaction(reaction1); IReaction reaction2 = builder.newInstance(IReaction.class); reaction2.addProduct(builder.newInstance(IAtomContainer.class)); reaction2.addReactant(molecule); reactionSet.addReaction(reaction2); Assert.assertEquals(3, ReactionSetManipulator.getAllMolecules(reactionSet).getAtomContainerCount()); }
@Test public void testGetAllMolecules_IReactionScheme2() { IReactionScheme reactionScheme = builder.newInstance(IReactionScheme.class); IReaction reaction1 = builder.newInstance(IReaction.class); IAtomContainer molecule = builder.newInstance(IAtomContainer.class); reaction1.addProduct(molecule); reaction1.addReactant(builder.newInstance(IAtomContainer.class)); reactionScheme.addReaction(reaction1); IReaction reaction2 = builder.newInstance(IReaction.class); reaction2.addProduct(builder.newInstance(IAtomContainer.class)); reaction2.addReactant(molecule); reactionScheme.addReaction(reaction2); Assert.assertEquals(3, ReactionSchemeManipulator.getAllAtomContainers(reactionScheme).getAtomContainerCount()); }
@Test public void testGetProductCount() { IReaction reaction = (IReaction) newChemObject(); Assert.assertEquals(0, reaction.getProductCount()); reaction.addProduct(reaction.getBuilder().newInstance(IAtomContainer.class)); Assert.assertEquals(1, reaction.getProductCount()); }
@Test public void testSetProductCoefficients_arrayDouble() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer pr1 = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(pr1, 1d); Double[] pc = {2.0}; boolean coeffSet = reaction.setProductCoefficients(pc); Assert.assertTrue(coeffSet); Assert.assertEquals(2.0, reaction.getProductCoefficient(pr1), 0.00001); Double[] pcFalse = {1.0, 2.0}; Assert.assertFalse(reaction.setProductCoefficients(pcFalse)); }
@Test public void testGetProductCoefficient_IAtomContainer() { IReaction reaction = (IReaction) newChemObject(); IAtomContainer proton = reaction.getBuilder().newInstance(IAtomContainer.class); reaction.addProduct(proton, 2.0); Assert.assertEquals(2.0, reaction.getProductCoefficient(proton), 0.00001); Assert.assertEquals(-1.0, reaction.getProductCoefficient(reaction.getBuilder().newInstance(IAtomContainer.class)), 0.00001); }
public static void makeProductInExistingReaction(ControllerHub controllerhub, String reactionId, IAtomContainer newContainer, IAtomContainer oldcontainer) { IChemModel chemModel = controllerhub.getChemModel(); IReaction reaction = ReactionSetManipulator.getReactionByReactionID(chemModel.getReactionSet(), reactionId); IAtomContainer mol=newContainer.getBuilder().newInstance(IAtomContainer.class,newContainer); mol.setID(newContainer.getID()); reaction.addProduct(mol); chemModel.getMoleculeSet().removeAtomContainer(oldcontainer); if(chemModel.getMoleculeSet().getAtomContainerCount()==0) chemModel.getMoleculeSet().addAtomContainer(chemModel.getBuilder().newInstance(IAtomContainer.class)); if(controllerhub.getUndoRedoFactory()!=null && controllerhub.getUndoRedoHandler()!=null){ IUndoRedoable undoredo = controllerhub.getUndoRedoFactory().getMakeReactantOrProductInExistingReactionEdit(chemModel, newContainer, oldcontainer, reactionId, false, "Make Reactant in "+reactionId); controllerhub.getUndoRedoHandler().postEdit(undoredo); } controllerhub.structureChanged(); }
protected static String cansmi(IReaction rxn) throws CDKException { IReaction copy = rxn.getBuilder().newInstance(IReaction.class); for (IAtomContainer mol : rxn.getReactants().atomContainers()) copy.addReactant(AtomContainerManipulator.copyAndSuppressedHydrogens(mol)); for (IAtomContainer mol : rxn.getProducts().atomContainers()) copy.addProduct(AtomContainerManipulator.copyAndSuppressedHydrogens(mol)); for (IAtomContainer mol : rxn.getAgents().atomContainers()) copy.addAgent(AtomContainerManipulator.copyAndSuppressedHydrogens(mol)); return smigen.create(copy); }