egonw / cdkbook

Groovy Cheminformatics with the Chemistry Development Kit
https://egonw.github.io/cdkbook/
Creative Commons Attribution Share Alike 4.0 International
40 stars 11 forks source link

check possible API change org.openscience.cdk.Atom #18

Closed egonw closed 4 years ago

egonw commented 4 years ago
Processing  MACCSFingerprint.groovyin
doing MACCSFingerprint.out...
Caught: java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
        at org.openscience.cdk.Atom.bonds(Atom.java:260)
        at org.openscience.cdk.isomorphism.matchers.Expr.getTotalHCount(Expr.java:431)
        at org.openscience.cdk.isomorphism.matchers.Expr.matches(Expr.java:278)
        at org.openscience.cdk.isomorphism.matchers.Expr.matches(Expr.java:359)
        at org.openscience.cdk.isomorphism.matchers.Expr.matches(Expr.java:444)
        at org.openscience.cdk.isomorphism.matchers.QueryAtom.matches(QueryAtom.java:763)
        at org.openscience.cdk.isomorphism.AtomMatcher$QueryMatcher.matches(AtomMatcher.java:95)
        at org.openscience.cdk.isomorphism.VFSubState.feasible(VFSubState.java:115)
        at org.openscience.cdk.isomorphism.AbstractVFState.add(AbstractVFState.java:129)
        at org.openscience.cdk.isomorphism.StateStream.map(StateStream.java:108)
        at org.openscience.cdk.isomorphism.StateStream.findNext(StateStream.java:90)
        at org.openscience.cdk.isomorphism.StateStream.<init>(StateStream.java:61)
        at org.openscience.cdk.isomorphism.VentoFoggia$VFIterable.iterator(VentoFoggia.java:252)
        at com.google.common.collect.Iterables.getFirst(Iterables.java:775)
        at org.openscience.cdk.isomorphism.Mappings.first(Mappings.java:508)
        at org.openscience.cdk.smarts.SmartsPattern.match(SmartsPattern.java:136)
        at org.openscience.cdk.isomorphism.Pattern.matches(Pattern.java:117)
        at org.openscience.cdk.fingerprint.MACCSFingerprinter.getBitFingerprint(MACCSFingerprinter.java:145)
        at org.openscience.cdk.fingerprint.IFingerprinter$getBitFingerprint.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
        at MACCSFingerprint.run(MACCSFingerprint.groovy:27)
        at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263)
        at groovy.lang.GroovyShell.run(GroovyShell.java:507)
        at groovy.lang.GroovyShell.run(GroovyShell.java:496)
        at groovy.ui.GroovyMain.processOnce(GroovyMain.java:597)
        at groovy.ui.GroovyMain.run(GroovyMain.java:329)
        at groovy.ui.GroovyMain.process(GroovyMain.java:315)
        at groovy.ui.GroovyMain.processArgs(GroovyMain.java:134)
        at groovy.ui.GroovyMain.main(GroovyMain.java:114)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:116)
        at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:138)
egonw commented 4 years ago

Workaround: use the SMILES parser.