Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Made some InChI-tests for bug 3170
  • Loading branch information
KlasJoensson committed Oct 17, 2012
1 parent 1d730eb commit 5f1b95f
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 4 deletions.
Expand Up @@ -30,8 +30,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="net.bioclipse.ui.product"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="org.eclipse.core.filesystem.macosx@default:false,net.bioclipse.jniinchi@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.springframework.bundle.osgi.io@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.team.ui@default:default,org.eclipse.help.base@default:default,org.sat4j.core@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.core.variables@default:default,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ui.views@default:default,org.springframework.bundle.spring.aop@default:default,org.eclipse.ant.core@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.commands@default:default,ch.qos.logback.core@default:default,org.junit@default:default,org.eclipse.core.filebuffers@default:default,jcl.over.slf4j@default:default,org.apache.lucene@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.sat4j.pb@default:default,org.eclipse.swt@default:default,org.eclipse.platform@default:default,org.eclipse.ui.intro@default:default,org.eclipse.osgi@-1:true,org.eclipse.core.jobs@default:default,org.springframework.bundle.osgi.extender@default:default,org.eclipse.core.runtime@default:true,org.eclipse.text@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.metadata@default:default,log4j.over.slf4j@default:default,com.springsource.nu.xom@default:default,org.eclipse.ecf.ssl@default:false,net.sf.cglib@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ui.console@default:default,org.eclipse.help@default:default,org.eclipse.equinox.common@2:true,org.junit4@default:default,org.eclipse.core.resources@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.compare.core@default:default,org.apache.lucene.analysis@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.core@default:default,net.bioclipse.org.cmlxom@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.springframework.bundle.spring.context@default:default,org.eclipse.ui.forms@default:default,org.eclipse.osgi.services@default:default,org.springframework.osgi.aopalliance.osgi@default:default,org.eclipse.equinox.simpleconfigurator@1:true,com.ibm.icu@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ui.ide@default:default,org.springframework.bundle.spring.core@default:default,org.eclipse.equinox.app@default:default,org.hamcrest.core@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.equinox.p2.ql@default:default,slf4j.api@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.jface@default:default,org.springframework.bundle.osgi.core@default:default,org.eclipse.core.expressions@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.team.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.director@default:default,ch.qos.logback.classic@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.databinding@default:default,org.springframework.bundle.spring.beans@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="org.openscience.cdk.smarts@default:default,org.openscience.cdk.extra@default:default,org.openscience.cdk.pdb@default:default,org.openscience.cdk.valencycheck@default:default,net.bioclipse.core.tests@default:default,net.bioclipse.cdk.debug@default:default,org.openscience.cdk.reaction@default:default,org.openscience.cdk.dict@default:default,org.openscience.cdk.builder3d@default:default,org.openscience.cdk.fingerprint@default:default,net.bioclipse.jsexecution@default:default,org.openscience.cdk.pcore@default:default,net.bioclipse.ui.business@default:default,org.openscience.cdk.forcefield@default:default,net.bioclipse.scripting@default:default,org.openscience.cdk.atomtype@default:default,org.openscience.cdk.smiles@default:default,org.openscience.cdk.data@default:default,net.bioclipse.cdk.debug.test@default:default,net.bioclipse.core@default:default,org.openscience.cdk.qsaratomic@default:default,org.openscience.cdk.interfaces@default:default,org.openscience.cdk.libiocml@default:default,org.openscience.cdk.standard@default:default,org.openscience.cdk.libiomd@default:default,org.openscience.cdk.core@default:default,org.openscience.cdk.isomorphism@default:default,org.xmlpull.xpp3@default:default,org.openscience.cdk.diff@default:default,org.openscience.cdk.annotation@default:default,org.3pq.jgrapht@default:default,net.bioclipse.logback@default:false,org.openscience.cdk.sinchi@default:default,org.openscience.cdk.formula@default:default,org.openscience.cdk.ioformats@default:default,net.bioclipse.inchi@default:default,net.bioclipse.ui@default:default,org.jama@default:default,org.openscience.cdk.qsar@default:default,net.bioclipse.scripting.ui@default:default,org.openscience.cdk.io@default:default,org.openscience.cdk.charges@default:default,javax.vecmath@default:default,org.openscience.cdk.nonotify@default:default,org.openscience.cdk.sdg@default:default,net.bioclipse.cdk.business@default:default"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic,ch.qos.logback.core,com.ibm.icu,com.springsource.nu.xom,jcl.over.slf4j,log4j.over.slf4j,net.bioclipse.org.cmlxom,net.sf.cglib,org.apache.lucene,org.apache.lucene.analysis,org.eclipse.ant.core,org.eclipse.compare,org.eclipse.compare.core,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.observable,org.eclipse.core.databinding.property,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.macosx,org.eclipse.core.jobs,org.eclipse.core.resources,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.ecf,org.eclipse.ecf.filetransfer,org.eclipse.ecf.identity,org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.ssl,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.operations,org.eclipse.equinox.p2.ql,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.equinox.security,org.eclipse.equinox.security.macosx,org.eclipse.equinox.security.ui,org.eclipse.equinox.simpleconfigurator,org.eclipse.help,org.eclipse.help.base,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.platform,org.eclipse.swt,org.eclipse.swt.cocoa.macosx.x86_64,org.eclipse.team.core,org.eclipse.team.ui,org.eclipse.text,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.cocoa,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.workbench,org.eclipse.ui.workbench.texteditor,org.hamcrest.core,org.junit*3.8.2.v3_8_2_v20100427-1100,org.junit*4.10.0.v4_10_0_v20120426-0900,org.junit4,org.sat4j.core,org.sat4j.pb,org.springframework.bundle.osgi.core,org.springframework.bundle.osgi.extender,org.springframework.bundle.osgi.io,org.springframework.bundle.spring.aop,org.springframework.bundle.spring.beans,org.springframework.bundle.spring.context,org.springframework.bundle.spring.core,org.springframework.osgi.aopalliance.osgi,slf4j.api"/>
<stringAttribute key="selected_workspace_plugins" value="net.bioclipse.cdk.business@default:default,net.bioclipse.cdk.debug.test@default:default,net.bioclipse.cdk.debug@default:default,net.bioclipse.core.tests@default:default,net.bioclipse.core@default:default,net.bioclipse.inchi@default:default,net.bioclipse.jsexecution@default:default,net.bioclipse.logback@default:false,net.bioclipse.scripting.ui@default:default,net.bioclipse.scripting@default:default,net.bioclipse.ui.business@default:default,net.bioclipse.ui@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
Expand Down
14 changes: 12 additions & 2 deletions plugins/net.bioclipse.inchi.business.test/META-INF/MANIFEST.MF
Expand Up @@ -12,9 +12,19 @@ Require-Bundle: org.eclipse.ui,
net.bioclipse.core.tests;bundle-version="0.1.0",
net.bioclipse.inchi;bundle-version="2.0.0",
net.bioclipse.cdk.business,
net.bioclipse.ui
net.bioclipse.ui,
org.openscience.cdk.interfaces;bundle-version="1.4.14",
org.openscience.cdk.inchi;bundle-version="1.4.14",
org.openscience.cdk.core,
org.openscience.cdk.smiles;bundle-version="1.4.14",
org.openscience.cdk.valencycheck;bundle-version="1.4.14",
org.openscience.cdk.silent;bundle-version="1.4.14",
org.openscience.cdk.standard;bundle-version="1.4.14",
org.openscience.cdk.annotation;bundle-version="1.4.14",
net.sf.jni-inchi;bundle-version="0.8.0"
Bundle-ActivationPolicy: lazy
Export-Package: net.bioclipse.inchi.business.test
Import-Package: org.junit,
org.junit.runner,
org.junit.runners
org.junit.runners,
org.openscience.cdk.exception
Expand Up @@ -16,16 +16,33 @@
import org.junit.Ignore;

import net.bioclipse.cdk.business.ICDKManager;
import net.bioclipse.cdk.domain.CDKMolecule;
import net.bioclipse.cdk.domain.ChemObjectPropertySource;
import net.bioclipse.cdk.domain.ICDKMolecule;
import net.bioclipse.core.domain.IMolecule;
import net.bioclipse.inchi.InChI;
import net.bioclipse.inchi.business.IInChIManager;

import org.junit.Test;
import org.openscience.cdk.CDKConstants;
import org.openscience.cdk.inchi.InChIGenerator;
import org.openscience.cdk.inchi.InChIGeneratorFactory;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.silent.SilentChemObjectBuilder;
import org.openscience.cdk.smiles.SmilesParser;
import org.openscience.cdk.tools.AtomTypeAwareSaturationChecker;

import com.sun.tools.internal.xjc.generator.bean.ImplStructureStrategy;

public abstract class AbstractInChIManagerPluginTest {

protected static IInChIManager inchi;
protected static ICDKManager cdk;
private static final String BUG3170_SMILES = "COc1ccc2[C@@H]3[C@H](COc2c1)C(C)(C)OC4=C3C(=O)C(=O)C5=C4OC(C)(C)[C@@H]6COc7cc(OC)ccc7[C@H]56";
private static final String bug3170_inchi = "InChI=1S/C32H32O8/c1-31(2)19-13-37-21-11-15(35-5)7-9-17(21)23(19)25-27(33)28(34)26-24-18-10-8-16(36-6)12-22(18)38-14-20(24)32(3,4)40-30(26)29(25)39-31/h7-12,19-20,23-24H,13-14H2,1-6H3/t19-,20+,23+,24-";

@Test
public void testInitialization() {
Expand Down Expand Up @@ -82,4 +99,65 @@ public void testOptions() throws Exception {
Assert.assertTrue(options.contains("FixedH"));
}

@Test
public void bug3170_CdkMolecule_BcInchi() throws Exception {
IAtomContainer molecule = setupCDKMolecule( BUG3170_SMILES );
ICDKMolecule mol = new CDKMolecule( molecule );
InChI inchiStr = inchi.generate(mol);
Assert.assertNotNull(inchiStr);
Assert.assertEquals( bug3170_inchi,
inchiStr.getValue() );
}

@Test
public void bug3170_BcMolecule_CdkInchi() throws Exception {
ICDKMolecule mol = cdk.fromSMILES(BUG3170_SMILES);
IAtomContainer molecule = mol.getAtomContainer();
for (IBond bond:molecule.bonds())
if (bond.getFlag(CDKConstants.ISAROMATIC) == true)
bond.setFlag(CDKConstants.ISAROMATIC, false);

InChIGeneratorFactory fac = InChIGeneratorFactory.getInstance();
InChIGenerator gen = fac.getInChIGenerator(molecule);
System.out.println(gen.getMessage());
Assert.assertEquals( bug3170_inchi,
gen.getInchi() );
}

@Test
public void bug3170_BcMolecule_BcInchi() throws Exception {
ICDKMolecule mol = cdk.fromSMILES(BUG3170_SMILES);
InChI inchiStr = inchi.generate(mol);
Assert.assertNotNull(inchiStr);
Assert.assertEquals( bug3170_inchi,
inchiStr.getValue() );
}

@Test
public void bug3170_CdkMolecule_CdkInchi() throws Exception {
IAtomContainer molecule = setupCDKMolecule( BUG3170_SMILES );
for (IBond bond:molecule.bonds())
if (bond.getFlag(CDKConstants.ISAROMATIC) == true)
bond.setFlag(CDKConstants.ISAROMATIC, false);

InChIGeneratorFactory fac = InChIGeneratorFactory.getInstance();
InChIGenerator gen = fac.getInChIGenerator(molecule);
System.out.println(gen.getMessage());
Assert.assertEquals( bug3170_inchi,
gen.getInchi() );
}

private IAtomContainer setupCDKMolecule( final String smiles ) throws Exception{

SmilesParser sp = new SmilesParser(SilentChemObjectBuilder.getInstance());
AtomTypeAwareSaturationChecker atasc = new AtomTypeAwareSaturationChecker();

IAtomContainer molecule = sp.parseSmiles(smiles);
atasc.decideBondOrder(molecule);

for (IBond bond:molecule.bonds())
if (bond.getFlag(CDKConstants.ISAROMATIC) == true)
bond.setFlag(CDKConstants.ISAROMATIC, false);
return molecule;
}
}

0 comments on commit 5f1b95f

Please sign in to comment.