I summarized the information we exchanged here and opened an issue in the
ambit2 repo.

https://sourceforge.net/p/ambit/feature-requests/103/

On Wed, Aug 17, 2022 at 12:46 PM Uli Fechner <u...@pending.ai> wrote:

> Thank you so much for your very helpful message!
>
> I will contact the authors of the ambit2 library and provide them with
> this information.
>
> On Wed, Aug 17, 2022 at 6:56 AM John Mayfield <john.wilkinson...@gmail.com>
> wrote:
>
>> *GeometryTools* "@deprecated use {@link *GeometryUtil*} moved for
>>> dependency reorganisation"
>>
>>
>> Specifically Java awt I think was the issue, so GeometryUtil should
>> provide like for like and more and is in cdk-standard module
>>
>> *MoleculeFactory* "@deprecated Old CDK class primarily for testing, for
>>> CDK Tests please use *TestMoleculeFactory* in cdk-data."
>>
>>
>> We were reoragnising and decoupling tests
>>
>> SMARTS is a bit more complicated because the entire API stack was
>> redesigned. Fortunately the doc should be good on these. The parser (and
>> generator) is now just "Smarts"
>>
>>
>> http://cdk.github.io/cdk/latest/docs/api/index.html?org/openscience/cdk/smarts/Smarts.html
>>
>> Then for the Atom/Bond matchers, this is now handled by an expression
>> tree rather than let Java do dynamic dispatches on lots of different
>> classes. The key class is "Expr"(ression) and you can set/get expression on
>> QueryAtom|Bond.setExpression(expr).
>>
>>
>> http://cdk.github.io/cdk/latest/docs/api/index.html?org/openscience/cdk/isomorphism/matchers/Expr.html
>>
>> For matching
>>
>>
>> http://cdk.github.io/cdk/latest/docs/api/index.html?org/openscience/cdk/smarts/SmartsPattern.html
>> (when from SMARTS string)
>> or
>>
>> http://cdk.github.io/cdk/latest/docs/api/index.html?org/openscience/cdk/isomorphism/DfPattern.html
>> (when building an IAtomContainer up for matching)
>>
>> The key challenge here is for some of these APIs you may need to make
>> sure all molecule creation is done via the factories and not "new
>> AtomContainer()", that will be less important in future but might be an
>> issue here.
>>
>> Further reading:
>> - https://github.com/cdk/cdk/wiki/AtomContainer2
>> - SMARTS API release notes:
>> https://github.com/cdk/cdk/wiki/2.2-Release-Notes#core
>>
>> On Tue, 16 Aug 2022 at 07:38, Uli Fechner <u...@pending.ai> wrote:
>>
>>> I did a backward dependency analysis of the cdk-legacy module for the
>>> ambit2 library.
>>>
>>> These are the classes in cdk-legacy that are used by ambit2:
>>>
>>> geometry/GeometryTools.class
>>> isomorphism/matchers/smarts/AliphaticAtom.class
>>> isomorphism/matchers/smarts/AliphaticSymbolAtom.class
>>> isomorphism/matchers/smarts/AnyAtom.class
>>> isomorphism/matchers/smarts/AnyOrderQueryBond.class
>>> isomorphism/matchers/smarts/AromaticAtom.class
>>> isomorphism/matchers/smarts/AromaticQueryBond.class
>>> isomorphism/matchers/smarts/LogicalOperatorAtom.class
>>> isomorphism/matchers/smarts/OrderQueryBond.class
>>> isomorphism/matchers/smarts/SMARTSAtom.class
>>> isomorphism/matchers/smarts/SMARTSBond.class
>>> smiles/smarts/parser/SMARTSParser.class
>>> smiles/smarts/SMARTSQueryTool.class
>>> templates/MoleculeFactory.class
>>>
>>> All of the classes listed above are used by both classes in main and in
>>> source of the ambit2 library with the exception of AliphaticSymbolAtom,
>>> LogicalOperatorAtom and SMARTSParser that are used by classes in test only.
>>>
>>> Best
>>> Uli
>>>
>>> On Tue, Aug 16, 2022 at 4:18 PM John Mayfield <
>>> john.wilkinson...@gmail.com> wrote:
>>>
>>>> Do you consider it a problem that the library (heavily) depends on the
>>>>> cdk-legacy module? In other words, will the cdk-legacy module potentially
>>>>> be removed in an upcoming CDK 3 release?
>>>>
>>>>
>>>> Fine for now but it needs someone to go through and put in the new API
>>>> calls. Most of the stuff in legacy (with the exception of SMSD) there
>>>> should be a better way to do it now, SMSD there is a new
>>>> independent version (we tried to merge but ultimately it's a lot of code
>>>> and works well as a standalone app). If you give me the errors that occur
>>>> (class not found) when you remove cdk-legacy I can probably give the list
>>>> of what to use instead. Since you already have a local Ambit version
>>>> shouldn't be a problem to try them out.
>>>>
>>>> John
>>>>
>>>> On Tue, 16 Aug 2022 at 03:36, Uli Fechner <u...@pending.ai> wrote:
>>>>
>>>>> Thank you John for the helpful information.
>>>>>
>>>>> The <dependencyManagement> declarations seem like an elegant solution.
>>>>> In my understanding, this only works if the project itself and its
>>>>> dependent projects are maven-based, i.e. there is no mix-and-match between
>>>>> maven-based and gradle-based projects here.
>>>>>
>>>>> My solution then was to compile the library of the maven-based project
>>>>> (ambit2), deploy the resultant jars to our internal maven repository, and
>>>>> pull those jars from the internal repository for the gradle-based project.
>>>>> I'd be happy to know if there is an easier way to do this...?
>>>>>
>>>>> Do you consider it a problem that the library (heavily) depends on the
>>>>> cdk-legacy module? In other words, will the cdk-legacy module potentially
>>>>> be removed in an upcoming CDK 3 release?
>>>>>
>>>>> On Mon, Aug 15, 2022 at 9:07 PM John Mayfield <
>>>>> john.wilkinson...@gmail.com> wrote:
>>>>>
>>>>>> Do you import via gradle/maven repos? Or are you using local paths? I
>>>>>> didn't actually know the public release was still on CDK 1.4.11 but 
>>>>>> anyways.
>>>>>>
>>>>>> It sounds like you've maybe got it working but basically in Maven you
>>>>>> would do something like this with the publically released projects:
>>>>>>
>>>>>> <pom>
>>>>>>> ...
>>>>>>> <dependency>
>>>>>>>     <groupId>ambit</groupId>
>>>>>>>     <artifactId>ambit2-core</artifactId>
>>>>>>>     <version>2.4.9</version>
>>>>>>> </dependency>
>>>>>>> <dependencyManagement>
>>>>>>> <dependency>
>>>>>>>     <groupId>org.opensicence.cdk</groupId>
>>>>>>>     <artifactId>cdk-core</artifactId>
>>>>>>>     <version>2.7.1</version>
>>>>>>> </dependency>
>>>>>>>
>>>>>> <dependency>
>>>>>>>     <groupId>org.opensicence.cdk</groupId>
>>>>>>>     <artifactId>cdk-isomorphism</artifactId>
>>>>>>>     <version>2.7.1</version>
>>>>>>> </dependency>
>>>>>>
>>>>>> ... etc etc
>>>>>>
>>>>>> </dependencyManagement>
>>>>>>> </pom>
>>>>>>
>>>>>>
>>>>>> The dependencyManagement section basically says if any dependencies
>>>>>> (ambit in this case) that use CDK, rather than using the version they
>>>>>> declare you should v2.7.1. You would need to do this for all the modules 
>>>>>> it
>>>>>> uses. I tried to find the equivalent in gradle but no luck.
>>>>>> However you should be able to do something like this where you just
>>>>>> declare everything and the build tool will use the version you declare:
>>>>>>
>>>>>> dependencies {
>>>>>>    implementation 'ambit:ambit2-core:2.4.9'
>>>>>>    implementation 'org.openscience.cdk:cdk-core:2.7.1'
>>>>>>    implementation 'org.openscience.cdk:cdk-isomorphism:2.7.1'
>>>>>>    ... etc etc
>>>>>> }
>>>>>>
>>>>>> On Mon, 15 Aug 2022 at 06:58, Uli Fechner <u...@pending.ai> wrote:
>>>>>>
>>>>>>> It has been a while since I have used maven, so I am not quite sure
>>>>>>> if I understand correctly what you are referring to with the usage of
>>>>>>> <depdencencyManagement>. The project I want to use the ambit2 library 
>>>>>>> as a
>>>>>>> dependency with uses gradle; at the moment, it directly depends on the 
>>>>>>> jars
>>>>>>> that I compiled from the modified ambit library version.
>>>>>>>
>>>>>>> Here is a text export of the backward dependency analysis of the
>>>>>>> cdk-legacy jar:
>>>>>>>
>>>>>>> <root isBackward="true">
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/geometry/GeometryTools.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-rendering/src/main/java/ambit2/rendering/CompoundImageTools.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-jchempaint/src/main/java/ambit2/jchempaint/editor/MoleculeEditAction.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/test/TestUtilities.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AnyAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/test/TestUtilities.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AnyOrderQueryBond.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsManager.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AromaticAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/AromaticQueryBond.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsToChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsManager.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/LogicalOperatorAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/test/AutomaticTestUtilities.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/OrderQueryBond.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/test/TestUtilities.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsToChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-tautomers/src/main/java/ambit2/tautomers/RuleStateBondDistribution.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsManager.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/SMARTSAtom.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/SLNAtom.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsAtomExpression.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/io/SLN2ChemObject.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/AromaticSymbolQueryAtom.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsIsomorphismTester.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsManager.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/AliphaticSymbolQueryAtom.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/IsomorphismTester.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SymbolQueryAtomAromaticityNotSpecified.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/isomorphism/matchers/smarts/SMARTSBond.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/TripleBondAromaticityNotSpecified.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SingleOrAromaticBond.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/RingQueryBond.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsBondExpression.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsHelper.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SingleNonAromaticBond.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SingleBondAromaticityNotSpecified.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsManager.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/smirks/SmartsMatch.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/DoubleBondAromaticityNotSpecified.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/SmartsParser.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/DoubleNonAromaticBond.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-sln/src/main/java/ambit2/sln/SLNBond.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/IsomorphismTester.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/smiles/smarts/parser/SMARTSParser.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/test/AutomaticTestUtilities.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/smiles/smarts/SMARTSQueryTool.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-descriptors/src/main/java/ambit2/descriptors/fingerprints/PubChemFingerprinterAmbitSmarts.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/main/java/ambit2/smarts/query/SmartsPatternCDK.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smarts/src/test/java/ambit2/smarts/processors/StructureKeysBitSetGeneratorTest.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>>   <file
>>>>>>> path="$MAVEN_REPOSITORY$/org/openscience/cdk/cdk-legacy/2.7.1/cdk-legacy-2.7.1.jar!/org/openscience/cdk/templates/MoleculeFactory.class">
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-db/src/test/java/ambit2/db/processors/test/DbDescriptorWriterTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-core/src/test/java/ambit2/core/processors/test/InchiProcessorTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-db/src/test/java/ambit2/db/search/test/QuerySimilarityBitSetTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-ui/src/test/java/ambit2/ui/test/QueryBrowserTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-rendering/src/test/java/ambit2/rendering/RendererTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-apps/ambit2-www/src/test/java/ambit2/rest/test/similarity/SimilarityResourceTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-namestructure/src/test/java/ambit2/namestructure/test/Name2StructureProcessorTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-smi23d/src/test/java/ambit2/smi23d/test/CommandShellTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-db/src/test/java/ambit2/db/search/test/QuerySimilarityStructureTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-core/src/test/java/ambit2/core/processors/test/HydrogenAdderProcessorTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-model/src/test/java/ambit2/similarity/measure/test/AtomEnvironmentDistanceTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-core/src/test/java/ambit2/core/processors/test/AtomConfiguratorProcessorTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-db/src/test/java/ambit2/db/search/test/QueryCombinedTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-core/src/test/java/ambit2/core/external/test/CommandShellTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-apps/ambit2-www/src/test/java/ambit2/rest/test/query/SmartsResourceTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-tautomers/src/test/java/ambit2/tautomers/test/TautomersVisualisationTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-core/src/test/java/ambit2/core/obabel/test/TestOpenBabelShell.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-db/src/test/java/ambit2/db/processors/test/DbDescriptorValuesWriterTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-balloon/src/test/java/ambit2/balloon/test/BalloonShellTest.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-apps/ambit2-dbcli/src/main/java/ambit2/dbcli/AmbitPipeline.java"
>>>>>>> />
>>>>>>>     <dependency
>>>>>>> path="$PROJECT_DIR$/ambit2-all/ambit2-model/src/test/java/ambit2/similarity/measure/test/AtomEnvironmentHammingDistanceTest.java"
>>>>>>> />
>>>>>>>   </file>
>>>>>>> </root>
>>>>>>>
>>>>>>> On Fri, Jul 22, 2022 at 11:41 PM John May <
>>>>>>> john.wilkinson...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Which parts does it depend on? A better way to do the versioning is
>>>>>>>> to use the “<dependencyManagment>” in maven - no need to modify the 
>>>>>>>> ambit
>>>>>>>> props
>>>>>>>>
>>>>>>>> - John
>>>>>>>>
>>>>>>>> On 22 Jul 2022, at 09:26, Uli Fechner <u...@pending.ai> wrote:
>>>>>>>>
>>>>>>>> 
>>>>>>>> Thank you for your reply, John.
>>>>>>>>
>>>>>>>> I bumped the cdk dependency in the POM of ambit by changing the
>>>>>>>> property <cdk.version> from 2.1.1 to 2.7.1.
>>>>>>>>
>>>>>>>> I also had to change two dependency configurations in the POM of
>>>>>>>> ambit2-smarts to get it to compile:
>>>>>>>> - the scope test of the dependency org.openscience.cdk:cdk-legacy
>>>>>>>> was removed (effectively changing
>>>>>>>> <https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope>
>>>>>>>> the scope from test to the default scope compile)
>>>>>>>> - the dependency
>>>>>>>> org.openscience.cdk:cdk-jniinchi-support:${cdk.version} was added
>>>>>>>>
>>>>>>>> It seems like ambit2 quite heavily depends on the cdk-legacy
>>>>>>>> package, so I guess this will all break at one point if the ambit2 
>>>>>>>> package
>>>>>>>> isn't updated...
>>>>>>>>
>>>>>>>> Best
>>>>>>>> Uli
>>>>>>>>
>>>>>>>> On Tue, Jul 19, 2022 at 11:00 PM John Mayfield <
>>>>>>>> john.wilkinson...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> There "should" not be any breaking change 2.2.1 -> 2.7.1. If there
>>>>>>>>> is try including the cdk-legacy module.
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> John
>>>>>>>>>
>>>>>>>>> On Tue, 19 Jul 2022 at 08:14, Uli Fechner <u...@pending.ai> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I want to apply a SMIRKS pattern to a molecule and get the
>>>>>>>>>> products as a result. My understanding is that CDK does not support 
>>>>>>>>>> this at
>>>>>>>>>> the moment. Is that correct?
>>>>>>>>>>
>>>>>>>>>> The ambit-smirks package by IdeaConsult seems to offer the
>>>>>>>>>> functionality I am looking for. However, it declares a dependency on 
>>>>>>>>>> cdk
>>>>>>>>>> 2.2.1 in its latest pom (
>>>>>>>>>> https://github.com/ideaconsult/ambit-mirror/blob/master/ambit2-all/pom.xml).
>>>>>>>>>> We use cdk 2.71 and I don't want to downgrade. Does anyone have any
>>>>>>>>>> experience with bumping the cdk version in ambit and compiling it 
>>>>>>>>>> yourself?
>>>>>>>>>>
>>>>>>>>>> Any help is much appreciated.
>>>>>>>>>>
>>>>>>>>>> Best
>>>>>>>>>> Uli
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Cdk-user mailing list
>>>>>>>>>> Cdk-user@lists.sourceforge.net
>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user
>>>>>>>>>>
>>>>>>>>>
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to