New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Patch/stereoapi #328
Patch/stereoapi #328
Conversation
…er type (AbstractStereo). Thinking about the representation slightly differently we can push most of the functionality provided by the specific stereo representations down to the IStereoElement API. This is advantageous as rarer more advanced stereochemistry/configurations are captured.
… from molfile we should just pass through any stereochemistry that has wedges on it.
…nts thanks to the new abstraction.
Rebased on master and added preliminary support for Atropisomers. |
I'm reviewing the patch... think I'm done Tue/Wed or so... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hard to review the correctness of all new code, but will trust the author and the test suite. Looks like a great clean up, generalization. Some very minor comments/questions. Thanks!
* \ / | ||
* a' b | ||
* f: focus | ||
* Ar: Aryl (carriers connected to either end of 'f') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessarily an aromatic ring in those positions? All examples I can think of the have it, but if the a's and b's are sufficiently bulky, other Ar connectors might also "work", or is "atropisomerism" restricted to have aryl groups there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's some good papers looking at it in drug discovery - no need to be aromatic.
See. LaPlante et al Revealing Atropisomer Axial Chirality in Drug Discovery
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inversion barrier is lower though.
*/ | ||
public class Atropisomeric extends AbstractStereo<IBond,IAtom> { | ||
|
||
public Atropisomeric(IBond focus, IAtom[] carriers, int value) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing JavaDoc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep will add in future commit thanks for spotting.
import java.util.List; | ||
import java.util.Map; | ||
|
||
abstract class AbstractStereo<F extends IChemObject, C extends IChemObject> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the focus/carrier formalism.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's still possible to do better but it's in the right direction.
Improvements to how we represent stereochemistry - backwards compatible but much of details are pushed down to the abstract API. More in the JavaDoc but essentially we describe stereochemistry with a focus (or maybe foci in future), two or more carriers, and a configuration.