Giter Site home page Giter Site logo

Comments (3)

rbdavid avatar rbdavid commented on June 8, 2024

I guess I shouldn't have used the bug issue... and now I can't seem to edit labels to mark it as a feature request. oops

from molecularnodes.

BradyAJohnston avatar BradyAJohnston commented on June 8, 2024

@tubiana you may want to have some input on this - as you use a lot of martini files

from molecularnodes.

rbdavid avatar rbdavid commented on June 8, 2024

Thanks for adding the label, Brady.

To add a few examples:

A calcium ion might have the atom names of CA, CAL, or CA2+, such as in a calmodulin (e.g. 1CKK). Without defined element information in the PDB file, the biotite guesser (here) would assign that atom to be a carbon atom. This happens for a number of other non-carbon atom names. Assuming a structure with cadmium present would label the cadmium atom as CD, this naming is ambiguous since CD is also used for the delta carbon in amino acid sidechains.

A similar assignment would happen from biotite for coarse-grained particles that begin with the letter C. Particles that start with 'N', 'O', 'S', or 'H' would be mapped to nitrogen, oxygen, sulfur, and hydrogen atoms, respectively; no consideration of other characters in the atom name are given. And no coarse-grained particle names are considered by biotite if the particle's name gets passed that first filter.

If a trajectory is loaded into Blender via MN, then MDAnalysis is used, which has its own method of guessing missing information from atom names (https://github.com/MDAnalysis/mdanalysis/blob/0582265996b392da382f658b7f0805ca250e1233/package/MDAnalysis/topology/guessers.py#L184-L230 and other functions therein). The guesser is a bit better because MDA has a dictionary that acknowledges a few instances of ambiguousness by mapping atom names to element symbols (https://github.com/MDAnalysis/mdanalysis/blob/0582265996b392da382f658b7f0805ca250e1233/package/MDAnalysis/topology/tables.py#L81-L173).

Would it be worth implementing a single guesser approach rather two separate approaches depending on how files are loaded into Blender? Neither biotite nor MDA guessers require using the objects associated with those modules. They take in strings and return strings. So, for example, when biotite is used to load PDB/CIF files, it will run its own guesser within the biotite.struct.pdb.get_structure() call (or equivalent for CIF files). After that, a validation run could be implemented to run the MDA guesser to check for incorrect assignments.

In regards to the logging of guessing instances, I've found the Console Window for Blender where warnings/logging could be printed. I'm not certain if this is a commonly used though. Maybe a verbosity level could be set in MN preferences that creates a log file to check when structures are loaded in and manipulated via MN nodes/functions? Just an idea.

from molecularnodes.

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.