Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CDK v3.0 Roadmap #823

@johnmay

Description

@johnmay

Check lists of nice to haves for CDK 3.0 some of these are large sweeping API changes hence v3.0.

  • Switch IElement.H etc to int rather than byte (pre-v3.0 possible)
  • Move to Java 11 for JENA dependency (v3.0 only)
  • JUnit 5
  • API improvments
    • Stereo element enums (v3.0 remove the int fields masks)
    • Stream API on AtomContainer Set etc, Casey should it’s self be iterable
    • Stereo map
    • IAtom.newBond(IAtom, IBond.ORDER.SINGLE) method? - forcing the atoms to exist before they are bonded
    • Update query atom container for better iteration

v3.0 branch

  • Java 17
  • Remove clone
  • Move classes to different packages for CDK modules as Java modules? #626, may not be possible overall but some should be (v3.0 only - will be painful upgrade downstream but good long run, less annoying than IMolecule -> IAtomContainer)
  • Use primitive types in IAtom, i.e. atomic number and mass=0 rather than null (pre-v3.0 maybe)
  • first-class Sgroup support (need interfaces) (pre-v3.0 possible)
    • update manipulator.copy()
  • Remove old AtomContainer implementation (see plan in https://github.com/cdk/cdk/wiki/AtomContainer2) (v3.0 only). Should check some other downstream tools (i.e. AMBIT) to see what is breaking and if we can tighten up the API
    • DepthFirst default substructure matcher
    • return the ref from the container IAtom addAtom(atom) and IBond addBond(IBond bond)
    • Return the AtomRef from getAtom etc
  • Remove JNI InChI portability options
  • replace VecMath with our own Point2d/Point3d, the cdk "core" should have no 3rd party dependencies
  • fix typo: AtomContainerManipulator::percieveAtomTypesAndConfigureAtoms to AtomContainerManipulator::perceiveAtomTypesAndConfigureAtoms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions