Giter VIP home page Giter VIP logo

Comments (15)

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024 1

EVERY TEST is curently failing.

The most fundamental molecular geometry and can't even get it close to right.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

This works now:

mol_assem_test 'CC(C)c1c(CC)c(CC)c(C)c(CC(O)CCC)c1C(C)C'

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024
c1ccccc1 ✅
Cc1c(O)c(C)c(O)c(C(=O)O)c1O ✅
c1cc[o+](C)c1 ❌
c1c2ccccc2ccc1 ❌
Cc1c2ccc(O)cc2ccc1 ❌

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

test/mol_assem_test 'c1ccccc1N=Nc2ccccc2'

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system#Aromaticity

Aromatic nitrogen bonded to hydrogen, as found in pyrrole must be represented as [nH]; thus imidazole is written in SMILES notation as n1c[nH]cc1.

Current code is incorrect; it adds the hydrogen if not specified, so e.g. n1cncc1 is the same as n1c[nH]cc1 when in fact n1cncc1 should be the same as n1c[n]cc1.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024
c1ccccc1 ❌
Cc1c(O)c(C)c(O)c(C(=O)O)c1O ❌
c1cc[o+](C)c1 ❌
c1c2ccccc2ccc1 ❌
Cc1c2ccc(O)cc2ccc1 ❌
test/mol_assem_test 'c1ccccc1N=Nc2ccccc2' ❌
n1cncc1 ❌

from primarydock.

objarni avatar objarni commented on June 3, 2024

Even that more primitive tests, e.g points and atom?

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

Oh, sorry... every test in the original post was failing.

I managed to fix aromatic rings (i.e. alternating single and double bonds). Substituted monocyclic benzenes are working now, which is huge, since they're a large class of molecules, many of which are important to olfaction.

There is a function Molecule::correct_structure() designed to look for any flaws in the structure - incorrect bond lengths, incorrect angles, etc - and fix them. It works great, except for rings. Any time it is given a path that loops back on itself, the function goes terribly wrong.

I've resorted to the kludge of calling Molecule::make_coplanar_ring() for aromatic rings. Doesn't fix non-aromatic rings, e.g. proline (P in the amino and protein tests). Molecule::close_loop() should be able to handle those but it isn't working.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

I think I will make an automated test for the list of SMILES inputs. The correct_structure() function should be able to evaluate the structure even if it doesn't succeed at repairing it.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

Will resume in ~9 hours.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

I am so tired of seeing some of the structures continue to look wrong time and again every attempt. There should be one algorithm that finds the best configuration for any structural formula.

Someone already found it. Why reinvent the wheel when 99% of use cases would have sudo access.

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

Alright, I don't have to feel so bad...

test/mol_assem_test 'C1(C=CC=C1)=C2C=C2' test/calicene.sdf

Even obabel gets this one wrong, though much less wrong than POdock code.

obabel_stumped

from primarydock.

objarni avatar objarni commented on June 3, 2024

Nice find!

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

Thank you!

from primarydock.

electronicsbyjulie avatar electronicsbyjulie commented on June 3, 2024

Cyclohexane has broken, as have several of the others that were working before (total substitution, etc).

Began fixing saturated rings for #263 but have to shelve it for the moment. Leaving a comment // issue_5 in molecule.cpp to know where to resume progress later.

from primarydock.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.