Hi Tim,

If you just include the cdk-legacy package you should have the SMSD code.
Or you can use the latest version: https://github.com/asad/SMSD. Note all
the package/class names changed so is not a straight drop-in. That's
actually why we deprecated the CDK version, it was going to be a
non-trivial update either way.

Best,
John

On Sat, 23 Sept 2023 at 11:58, Egon Willighagen <egon.willigha...@gmail.com>
wrote:

>
> Can you point us (well, John particularly) to the SMSD code you are using?
> I think if he can find the time, he can make some suggestions on how to
> replace it with more modern code.
>
> Egon
>
> On Sat, 23 Sept 2023 at 12:55, Tim Dudgeon <tdudgeon...@gmail.com> wrote:
>
>> Sorry for the late reply. I've been distracted.
>> Sorry, I meant DepictionGenerator. CDKMolDepict is my class that's
>> running this! Egon found it correctly.
>>
>> Regarding the version, yes, this is old code, and I can't remember all
>> the details.
>> I'm not able to update to the latest as I have a dependency on the
>> deprecated org.openscience.cdk:cdk-smsd module.
>> I did have a discussion some time ago with Egon about removing the
>> dependency on the deprecated code, but we never got that resolved.
>> So this means that I can only update to version 2.5. which I've now done.
>>
>> I still find problems with that version. For some reason that I can't
>> recall I'm using:
>>
>> StructureDiagramGenerator g = new StructureDiagramGenerator();
>> g.generateCoordinates(mol);
>>
>> to do the layout prior to calling DepictionGenerator().depict(mol)
>>
>> This is causing me problems when handling 2D or 3D molfiles.
>> I find I can work around it by doing IAtomContainer -> SMILES ->
>> IAtomContainer, which works for now.
>> I'll need to look more deeply at the code to work out better options.
>> There's a lot going on like MCS alignment and highlighting.
>>
>> Thanks for your help.
>>
>>
>> On Sat, Sep 23, 2023 at 10:45 AM Egon Willighagen <
>> egon.willigha...@gmail.com> wrote:
>>
>>> If you have that discussion here, I can update
>>> https://egonw.github.io/cdkbook/migration.html accordingly.
>>>
>>> Egon
>>>
>>> On Sat, 23 Sept 2023 at 11:43, John Mayfield <
>>> john.wilkinson...@gmail.com> wrote:
>>>
>>>> Hi Tim,
>>>>
>>>> It looks like you're using 5 year old CDK 2.2, is that correct?
>>>>
>>>> build.gradle:
>>>> > project.ext.set('cdkVersion', '2.2')
>>>>
>>>> It's likely just updating will fix the issue. It should be relatively
>>>> seamless but let me know if there are any issues and I'll tell you how to
>>>> fix it.
>>>>
>>>> On Sat, 23 Sept 2023 at 06:38, Egon Willighagen <
>>>> egon.willigha...@gmail.com> wrote:
>>>>
>>>>>
>>>>> Tim,
>>>>>
>>>>> I guess you are referring to
>>>>> https://github.com/InformaticsMatters/squonk/blob/master/components/cdk-lib/src/main/groovy/org/squonk/cdk/io/CDKMolDepict.java
>>>>>
>>>>> I also looked at the molfile reading in CDKMoleculeIOUtils and it
>>>>> looks correct to me, but the hydrogen adding may be a conflicting issue
>>>>> here. What is the actual exception (stacktrace) you get?
>>>>>
>>>>> Like John set, removing the 3D coordinates should not be needed (the
>>>>> CDK is designed to allow having both of them in parallel), but if you have
>>>>> to, run .setPoint3d(null) on each atom. That should do the trick.
>>>>>
>>>>> Egon
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, 20 Sept 2023 at 12:05, John Mayfield <
>>>>> john.wilkinson...@gmail.com> wrote:
>>>>>
>>>>>> I have no idea what CDKMolDepict is, a Knime thing?
>>>>>>
>>>>>> It's probably just not being updated. Testing the following on
>>>>>> master/main works as expected (DepictionGenerator computes the 2D as
>>>>>> needed, no need to clear the 3D):
>>>>>>
>>>>>> public static void main(String[] args) {
>>>>>>     String molfile = "\n" +
>>>>>>             "  MJ231200                      \n" +
>>>>>>             "\n" +
>>>>>>             "  5  4  0  0  1  0  0  0  0  0999 V2000\n" +
>>>>>>             "    0.9718   -0.1139    0.6193 O   0  0  0  0  0  0  0
>>>>>>  0  0  0  0  0\n" +
>>>>>>             "    0.9448    0.0189   -0.2285 S   0  0  0  0  0  0  0
>>>>>>  0  0  0  0  0\n" +
>>>>>>             "   -0.0042    0.1584   -0.4371 C   0  0  0  0  0  0  0
>>>>>>  0  0  0  0  0\n" +
>>>>>>             "   -0.2882    0.8589   -0.1053 C   0  0  0  0  0  0  0
>>>>>>  0  0  0  0  0\n" +
>>>>>>             "    1.1863   -0.8418   -0.6272 C   0  0  0  0  0  0  0
>>>>>>  0  0  0  0  0\n" +
>>>>>>             "  1  2  2  0  0  0  0\n" +
>>>>>>             "  2  3  1  0  0  0  0\n" +
>>>>>>             "  3  4  1  0  0  0  0\n" +
>>>>>>             "  2  5  1  0  0  0  0\n" +
>>>>>>             "M  END\n";
>>>>>>     IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance();
>>>>>>     try (MDLV2000Reader mdlr = new MDLV2000Reader(new
>>>>>> StringReader(molfile))) {
>>>>>>         IAtomContainer mol = mdlr.read(bldr.newAtomContainer());
>>>>>>         new DepictionGenerator().depict(mol).writeTo("/tmp/tmp.svg");
>>>>>>     } catch (IOException e) {
>>>>>>         throw new RuntimeException(e);
>>>>>>     } catch (CDKException e) {
>>>>>>         throw new RuntimeException(e);
>>>>>>     }
>>>>>> }
>>>>>>
>>>>>> On Tue, 19 Sept 2023 at 18:15, Tim Dudgeon <tdudgeon...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I'm using StructureDiagramGenerator.generateCoordinates() to
>>>>>>> create a layout before using CDKMolDepict to generate images for 
>>>>>>> molecules,
>>>>>>> and I've hit a problem when using molecules that already have 3D
>>>>>>> coordinates as StructureDiagramGenerator.generateCoordinates() does not
>>>>>>> generate a new 2D layout if 3D coordinates are present, and passing in a
>>>>>>> molecule with 3D coordinates seems to make CDKMolDepict crash badly.
>>>>>>>
>>>>>>> So, what is the best way to clear the 3D coordinates for a molecule,
>>>>>>> so that StructureDiagramGenerator.generateCoordinates() can do its job?
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Inherited disorders can be hard to interpret when multiple biomarkers
>>>>> are involved. A network approach can help bring insight:
>>>>> https://doi.org/10.1186/s13023-023-02683-9
>>>>>
>>>>> --
>>>>> E.L. Willighagen
>>>>> Department of Bioinformatics - BiGCaT
>>>>> Maastricht University (http://www.bigcat.unimaas.nl/)
>>>>> Blog: https://chem-bla-ics.blogspot.com/
>>>>> Mastodon: https://scholar.social/@egonw
>>>>> PubList: https://orcid.org/0000-0001-7542-0286
>>>>>
>>>>
>>>
>>> --
>>> Inherited disorders can be hard to interpret when multiple biomarkers
>>> are involved. A network approach can help bring insight:
>>> https://doi.org/10.1186/s13023-023-02683-9
>>>
>>> --
>>> E.L. Willighagen
>>> Department of Bioinformatics - BiGCaT
>>> Maastricht University (http://www.bigcat.unimaas.nl/)
>>> Blog: https://chem-bla-ics.blogspot.com/
>>> Mastodon: https://scholar.social/@egonw
>>> PubList: https://orcid.org/0000-0001-7542-0286
>>>
>>
>
> --
> Inherited disorders can be hard to interpret when multiple biomarkers are
> involved. A network approach can help bring insight:
> https://doi.org/10.1186/s13023-023-02683-9
>
> --
> E.L. Willighagen
> Department of Bioinformatics - BiGCaT
> Maastricht University (http://www.bigcat.unimaas.nl/)
> Blog: https://chem-bla-ics.blogspot.com/
> Mastodon: https://scholar.social/@egonw
> PubList: https://orcid.org/0000-0001-7542-0286
>
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to