Skip to content

Commit

Permalink
Convert IMolecule* to IAtomContainer* across some charges and test cl…
Browse files Browse the repository at this point in the history
…asses

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
  • Loading branch information
rajarshi authored and egonw committed Dec 10, 2011
1 parent 51af326 commit f74a3ad
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 30 deletions.
Expand Up @@ -35,7 +35,6 @@
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IReactionSet;
import org.openscience.cdk.reaction.IReactionProcess;
import org.openscience.cdk.reaction.type.HeterolyticCleavagePBReaction;
Expand Down Expand Up @@ -204,7 +203,7 @@ public IAtomContainer assignGasteigerPiPartialCharges(IAtomContainer ac, boolean
IAtomContainerSet acSet = gRN.getContainers((IMolecule) removingFlagsAromaticity(ac));
// IAtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(removingFlagsAromaticity(ac));

IMoleculeSet iSet = ac.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet iSet = ac.getBuilder().newInstance(IAtomContainerSet.class);
iSet.addAtomContainer(ac);

if(acSet != null)
Expand All @@ -218,10 +217,10 @@ public IAtomContainer assignGasteigerPiPartialCharges(IAtomContainer ac, boolean
else
reactionList1.add(reactionHCPB);

IMoleculeSet a = gR1.getStructures((IMolecule) removingFlagsAromaticity(ac));
IAtomContainerSet a = gR1.getStructures( removingFlagsAromaticity(ac));
if(a.getAtomContainerCount() > 1){
for(int j = 1; j < a.getAtomContainerCount(); j ++){ // the first is already added
iSet.addAtomContainer(a.getMolecule(j));
iSet.addAtomContainer(a.getAtomContainer(j));
}
}
ac = setFlags(container, ac, false);
Expand All @@ -230,10 +229,10 @@ public IAtomContainer assignGasteigerPiPartialCharges(IAtomContainer ac, boolean
for(int number = 0; number < ac.getBondCount() ; number++){
IAtomContainer aa = setAntiFlags(container,ac, number,true);
if(aa != null){
IMoleculeSet ab = gR2.getStructures((IMolecule) aa);
IAtomContainerSet ab = gR2.getStructures(aa);
if(ab.getAtomContainerCount() > 1)
for(int j = 1; j < ab.getAtomContainerCount(); j ++){ // the first is already added
iSet.addAtomContainer(ab.getMolecule(j));
iSet.addAtomContainer(ab.getAtomContainer(j));
}
ac = setAntiFlags(container, aa, number, false);
}
Expand Down Expand Up @@ -489,7 +488,7 @@ private IAtomContainerSet getHyperconjugationInteractions(IAtomContainer ac, IAt
IReactionProcess type = new HeterolyticCleavageSBReaction();
cleanFlagReactiveCenter(ac);
boolean found = false; /* control obtained containers */
IMoleculeSet setOfReactants = ac.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet setOfReactants = ac.getBuilder().newInstance(IAtomContainerSet.class);
/* search of reactive center.*/
out:
for(int i = 0 ; i < ac.getBondCount() ; i++){
Expand Down Expand Up @@ -530,14 +529,14 @@ private IAtomContainerSet getHyperconjugationInteractions(IAtomContainer ac, IAt
IReactionSet setOfReactions = type.initiate(setOfReactants, null);
for(int i = 0; i < setOfReactions.getReactionCount(); i++){
type = new HyperconjugationReaction();
IMoleculeSet setOfM2 = ac.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet setOfM2 = ac.getBuilder().newInstance(IAtomContainerSet.class);
IAtomContainer mol= setOfReactions.getReaction(i).getProducts().getAtomContainer(0);
for(int k = 0; k < mol.getBondCount(); k++){
mol.getBond(k).setFlag(CDKConstants.REACTIVE_CENTER,false);
mol.getBond(k).getAtom(0).setFlag(CDKConstants.REACTIVE_CENTER,false);
mol.getBond(k).getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER,false);
}
setOfM2.addAtomContainer((IMolecule) mol);
setOfM2.addAtomContainer(mol);
List<IParameterReact> paramList2 = new ArrayList<IParameterReact>();
IParameterReact param2 = new SetReactionCenter();
param2.setParameter(Boolean.FALSE);
Expand Down
Expand Up @@ -30,7 +30,6 @@
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IReactionSet;
import org.openscience.cdk.isomorphism.UniversalIsomorphismTester;
import org.openscience.cdk.isomorphism.matchers.QueryAtomContainer;
Expand Down Expand Up @@ -229,16 +228,16 @@ private void callDefaultReactions() {
* @return The different resonance structures
*/
@TestMethod("testGetStructures_IMolecule")
public IMoleculeSet getStructures(IMolecule molecule) {
public IAtomContainerSet getStructures(IAtomContainer molecule) {
int countStructure = 0;
IMoleculeSet setOfMol = molecule.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet setOfMol = molecule.getBuilder().newInstance(IAtomContainerSet.class);
setOfMol.addAtomContainer(molecule);

for(int i = 0 ; i < setOfMol.getAtomContainerCount() ; i++){
IMolecule mol = setOfMol.getMolecule(i);
IAtomContainer mol = setOfMol.getAtomContainer(i);
for (IReactionProcess aReactionsList : reactionsList) {
IReactionProcess reaction = aReactionsList;
IMoleculeSet setOfReactants = molecule.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet setOfReactants = molecule.getBuilder().newInstance(IAtomContainerSet.class);
setOfReactants.addAtomContainer(mol);
try {
IReactionSet setOfReactions = reaction.initiate(setOfReactants, null);
Expand Down Expand Up @@ -272,15 +271,15 @@ public IMoleculeSet getStructures(IMolecule molecule) {
@TestMethod("testGetContainers_IMolecule")
public IAtomContainerSet getContainers(IMolecule molecule) {
IAtomContainerSet setOfCont = molecule.getBuilder().newInstance(IAtomContainerSet.class);
IMoleculeSet setOfMol = getStructures(molecule);
IAtomContainerSet setOfMol = getStructures(molecule);

if(setOfMol.getAtomContainerCount() == 0)
return setOfCont;

/*extraction of all bonds which has been produced a changes of order*/
List<IBond> bondList = new ArrayList<IBond>();
for(int i = 1 ; i < setOfMol.getAtomContainerCount() ; i++){
IMolecule mol = setOfMol.getMolecule(i);
IAtomContainer mol = setOfMol.getAtomContainer(i);
for(int j = 0; j < mol.getBondCount(); j++){
IBond bond = molecule.getBond(j);
if(!mol.getBond(j).getOrder().equals(bond.getOrder())){
Expand Down
13 changes: 6 additions & 7 deletions src/test/org/openscience/cdk/AbstractChemObjectBuilderTest.java
Expand Up @@ -18,9 +18,6 @@
*/
package org.openscience.cdk;

import javax.vecmath.Point2d;
import javax.vecmath.Point3d;

import org.junit.Assert;
import org.junit.Test;
import org.openscience.cdk.interfaces.IAdductFormula;
Expand All @@ -32,9 +29,11 @@
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBioPolymer;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IBond.Order;
import org.openscience.cdk.interfaces.IChemFile;
import org.openscience.cdk.interfaces.IChemModel;
import org.openscience.cdk.interfaces.IChemObject;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.interfaces.IChemSequence;
import org.openscience.cdk.interfaces.ICrystal;
import org.openscience.cdk.interfaces.IElectronContainer;
Expand All @@ -46,9 +45,7 @@
import org.openscience.cdk.interfaces.IMolecularFormula;
import org.openscience.cdk.interfaces.IMolecularFormulaSet;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IMonomer;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.interfaces.IPDBAtom;
import org.openscience.cdk.interfaces.IPDBMonomer;
import org.openscience.cdk.interfaces.IPDBPolymer;
Expand All @@ -63,9 +60,11 @@
import org.openscience.cdk.interfaces.ISingleElectron;
import org.openscience.cdk.interfaces.IStrand;
import org.openscience.cdk.interfaces.ITetrahedralChirality;
import org.openscience.cdk.interfaces.IBond.Order;
import org.openscience.cdk.interfaces.ITetrahedralChirality.Stereo;

import javax.vecmath.Point2d;
import javax.vecmath.Point3d;

/**
* Checks the functionality of {@link IChemObjectBuilder} implementations.
*
Expand Down Expand Up @@ -590,7 +589,7 @@ public void testNewAtom_IElement() {

@Test public void testNewMoleculeSet() {
IChemObjectBuilder builder = rootObject.getBuilder();
IMoleculeSet set = builder.newInstance(IMoleculeSet.class);
IAtomContainerSet set = builder.newInstance(IAtomContainerSet.class);
Assert.assertNotNull(set);
}

Expand Down
Expand Up @@ -24,10 +24,6 @@
package org.openscience.cdk.charges;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.junit.Assert;
import org.junit.Test;
import org.openscience.cdk.Atom;
Expand All @@ -37,15 +33,19 @@
import org.openscience.cdk.aromaticity.CDKHueckelAromaticityDetector;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.silent.SilentChemObjectBuilder;
import org.openscience.cdk.smiles.SmilesParser;
import org.openscience.cdk.tools.LonePairElectronChecker;
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
* Description of the Class
*
Expand Down Expand Up @@ -267,7 +267,7 @@ public void testAssignrPiMarsilliFactors_IAtomContainerSet() throws Exception {
for (Iterator<IAtom> it = molecule.atoms().iterator(); it.hasNext();)
it.next().setCharge(0.0);

IMoleculeSet set = builder.newInstance(IMoleculeSet.class);
IAtomContainerSet set = builder.newInstance(IAtomContainerSet.class);
set.addAtomContainer(molecule);
set.addAtomContainer(molecule);

Expand Down

0 comments on commit f74a3ad

Please sign in to comment.