SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
16 Years of the
Chemistry Development Kit
(CDK)
Christoph Steinbeck
and the CDK Developers
http://cdk.sourceforge.net
The Chemistry Development Kit (CDK)
Open Source Cheminformatics in Java
The CDK after 16 years
•16,521 commits made by 115 contributors
•564,171 lines of code
•mostly written in Java
•well established, mature codebase
•maintained by a large development team
•with stable Y-O-Y commits
•estimated 151 years of effort (COCOMO model)
•first commit in October, 2000
•most recent commit 1 day ago
The Chemistry Development Kit (CDK)
Open Source Cheminformatics in Java
A bit of history
1990
Computer-Assisted
Structure Elucidation
(CASE)
Steinbeck, C.; Angewandte Chemie. International
Ed. in English 1996, 35, 1984-1986
Steinbeck, C.: J. Chem. Inf. Comput. Sci. 2001,
41, 6, 1500
1992 - now
A bit of history
Growth over theYears
Bibliometrics
Build your own
Blue Obelisk
The Doctor Who
Model of Open Source
The Doctor Who
Model of Open Source
Egon Willighagen
The Doctor Who
Model of Open Source
Rajarshi Guha
Egon Willighagen
The Doctor Who
Model of Open Source
John May
Rajarshi Guha
Egon Willighagen
Development Model
• Open Source Principles
• Release Early, Release Often
• All the Raymond stuff (Cathedral …
• Persistance
• People contribute what they need
• You need a Doctor Who who cares
• code quality, build systems, etc
CDK
Current status
John May
• Maven describes how a project is built and it’s dependencies.
• Simplifies both building from source or linking a distributed JAR.
• Dependencies are dynamically downloaded and kept in sync.
• “Convention over configuration”
• Many new Java projects choose Maven, CDK is 15+ years old this was
a challenge.
• Splitting a one source tree into 76 interdependent modules.
• Modularisation started by Egon Willighagen modularisation in Ant.
• Test Fail=Build Fail, Required resolving 150+ existing regressions.
• CDK 1.5.10+ available from The Central Repository a geographically
distributed collection of dedicated servers.
Maven Switch Over
tinyurl.com/cdk-mavencentral
1.5.x: Cleaner, More Efficient, More Robust, More Stable
Example: Generate depiction of a molecule.
1.4.x 1.5.x
+ Improved Layout
+ Improved Render
+ Easy highlighting
+ Abbreviations
Try it: http://cdkdepict-openchem.rhcloud.com/
Error
1.4.x1.5.x
Examples 1-4: Clark A, et al, 2D structure depiction. JCIM, 46, 1107-1123 (2006)
1.5.x: Cleaner, More Efficient, More Robust, More Stable
Molecule 2D layout and rendering from SMILES
Try it: http://cdkdepict-openchem.rhcloud.com/
1.4.x
1.5.x
1.5.x
+abbr
+colmap
Reaction: Lowe, D. Extraction of chemical structures and reactions from the literature. PhD Thesis. 2012
1.5.x: Cleaner, More Efficient, More Robust, More Stable
Reaction 2D layout and rendering from SMILES
CHEMBL590010
(ChEMBL website)
CHEMBL590010
(from SMILES with CDK 1.5.x)
Example: SMARTS match for intramolecular Hydrogen Bonds:
O=[C,N]aa[N,O;!H0] in NCI Aug00 (~250,000 molecules) [1-3]
1.4.x: 16 mins (64 err)
1.5.x: 16 secs (0 err)
+ Lazy algorithm
+ Stereochemistry Match
+ Component Grouping
+ Adaptive (e.g. ring membership only if needed)
+ New Pattern API, hides differences between SMARTS/Substructure/
Isomorphism queries
1.5.x: Cleaner, More Efficient, More Robust, More Stable
[1] Weininger D. Chemistry Cartridge CGI Examples. EMug (1998)
[2] Sayle R. Cheminformatics Toolkits: a personal perspective, RDKit UGM (2012)
[3] May J. All The Small Things. http://efficientbits.blogspot.co.uk/2013/10/
Robustness
CDK 1.5.x moves away from default atom type perception/sanitisation.
+ Much faster
+ High fidelity IO: round trip [CH2] though SMILES/InChI/Molfile
+ Exact Kekulization
+ Exact ring perception
+ Portable canonical Kekulé SMILES
+ Multiple aromaticity models, “Horse for courses”
+ Accurate MMFF94 partial charges
Stability
Java APIs can be more fluid than native: aim to keep public API fixed.
Continuous integration and regression testing with Jenkins and Travis.
1.5.x: Cleaner, More Efficient, More Robust, More Stable
Stereochemistry
Tetrahedral, CisTrans, Extended Tetrahedral (Allene)
Representation and round tripping between formats
Query Matching
Perspective conversion (Haworth, Chairs, Fischer)
File Formats
Molfile Sgroup support: Repeat Units, Display Shortcuts
CXSMILES
Coming soon: HELM 2.0
Fingerprints
Count fingerprints
Efficient Circular Fingerprint and Model Building
Clark et al. JChemInf. 6:38 (2014)
Coming soon: FPS readers, mmap indexes
Updated and Super Quick Fundamental Algorithms
Ring Finding - May and Steinbeck. JChemInf. 6:3 (2014)
Subgraph Isomorphism
Canonical labelling
Aromaticity
Kekulization
Molecular Hash Codes, Automorphism Group, and much more
Other Features of 1.5.x
Acknowledgement
• All CDK developers
• The Blue Obelisk Community
• You for your attention
iCASE PhD
Studentships
16 years of the Chemistry Development Kit (CDK)

Mais conteúdo relacionado

Semelhante a 16 years of the Chemistry Development Kit (CDK)

Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application Delivery
Docker, Inc.
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application Delivery
Docker, Inc.
 

Semelhante a 16 years of the Chemistry Development Kit (CDK) (20)

Openstack Summit Container Day Keynote
Openstack Summit Container Day KeynoteOpenstack Summit Container Day Keynote
Openstack Summit Container Day Keynote
 
ECMFA 2016 slides
ECMFA 2016 slidesECMFA 2016 slides
ECMFA 2016 slides
 
Arquillian
ArquillianArquillian
Arquillian
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
 
Docker в автоматизации тестирования
Docker в автоматизации тестированияDocker в автоматизации тестирования
Docker в автоматизации тестирования
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application Delivery
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
Why docker | OSCON 2013
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application Delivery
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdf
 
Creating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with TestcontainersCreating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with Testcontainers
 
Kamaelia - Networking Using Generators
Kamaelia - Networking Using GeneratorsKamaelia - Networking Using Generators
Kamaelia - Networking Using Generators
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Continous Delivery and Continous Integration at IKERLAN
Continous Delivery and Continous Integration at IKERLANContinous Delivery and Continous Integration at IKERLAN
Continous Delivery and Continous Integration at IKERLAN
 
ContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the WorldContainerSched 2017: Why Containers Will Take Over the World
ContainerSched 2017: Why Containers Will Take Over the World
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 

Mais de Christoph Steinbeck

Mais de Christoph Steinbeck (14)

Publication of raw and curated NMR spectroscopic data for organic molecules
Publication of raw and curated NMR spectroscopic data for organic moleculesPublication of raw and curated NMR spectroscopic data for organic molecules
Publication of raw and curated NMR spectroscopic data for organic molecules
 
Developments in Metabolomics leading to PhenoMeNal
Developments in Metabolomics leading to PhenoMeNalDevelopments in Metabolomics leading to PhenoMeNal
Developments in Metabolomics leading to PhenoMeNal
 
Computer-Assisted Structure Elucidation (CloudMet 2017)
Computer-Assisted Structure Elucidation (CloudMet 2017)Computer-Assisted Structure Elucidation (CloudMet 2017)
Computer-Assisted Structure Elucidation (CloudMet 2017)
 
Building a Model Organism Metabolome Database
Building a  Model Organism Metabolome DatabaseBuilding a  Model Organism Metabolome Database
Building a Model Organism Metabolome Database
 
PhenoMeNal: Large scale computing with medical metabolic phenotyping data
PhenoMeNal: Large scale computing with medical metabolic phenotyping dataPhenoMeNal: Large scale computing with medical metabolic phenotyping data
PhenoMeNal: Large scale computing with medical metabolic phenotyping data
 
Developing an Efficient Infrastruture, Standards and Data-Flow for Metabolomics
Developing an Efficient Infrastruture, Standards and Data-Flow for MetabolomicsDeveloping an Efficient Infrastruture, Standards and Data-Flow for Metabolomics
Developing an Efficient Infrastruture, Standards and Data-Flow for Metabolomics
 
Building an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomicsBuilding an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomics
 
World-wide data exchange in metabolomics, Wageningen, October 2016
World-wide data exchange in metabolomics, Wageningen, October 2016World-wide data exchange in metabolomics, Wageningen, October 2016
World-wide data exchange in metabolomics, Wageningen, October 2016
 
Skolnik symposium ACS Meeting Philadelphia 2016
Skolnik symposium ACS Meeting Philadelphia 2016Skolnik symposium ACS Meeting Philadelphia 2016
Skolnik symposium ACS Meeting Philadelphia 2016
 
Multi-Omics Bioinformatics across Application Domains
Multi-Omics Bioinformatics across Application DomainsMulti-Omics Bioinformatics across Application Domains
Multi-Omics Bioinformatics across Application Domains
 
The time is right to focus on a model organism database
The time is right to focus on a model organism databaseThe time is right to focus on a model organism database
The time is right to focus on a model organism database
 
PhenoMeNal presentation at STFC-ELIXIR Meeting Hinxon
PhenoMeNal presentation at STFC-ELIXIR Meeting HinxonPhenoMeNal presentation at STFC-ELIXIR Meeting Hinxon
PhenoMeNal presentation at STFC-ELIXIR Meeting Hinxon
 
Large Scale computing with medical metabolic phenotyping data
Large Scale computing with medical metabolic phenotyping dataLarge Scale computing with medical metabolic phenotyping data
Large Scale computing with medical metabolic phenotyping data
 
Sharing data from clinical and medical research
Sharing data from clinical and medical researchSharing data from clinical and medical research
Sharing data from clinical and medical research
 

Último

Continuum emission from within the plunging region of black hole discs
Continuum emission from within the plunging region of black hole discsContinuum emission from within the plunging region of black hole discs
Continuum emission from within the plunging region of black hole discs
Sérgio Sacani
 
Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!
University of Hertfordshire
 

Último (20)

Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
 
POST TRANSCRIPTIONAL GENE SILENCING-AN INTRODUCTION.pptx
POST TRANSCRIPTIONAL GENE SILENCING-AN INTRODUCTION.pptxPOST TRANSCRIPTIONAL GENE SILENCING-AN INTRODUCTION.pptx
POST TRANSCRIPTIONAL GENE SILENCING-AN INTRODUCTION.pptx
 
The Scientific names of some important families of Industrial plants .pdf
The Scientific names of some important families of Industrial plants .pdfThe Scientific names of some important families of Industrial plants .pdf
The Scientific names of some important families of Industrial plants .pdf
 
FORENSIC CHEMISTRY ARSON INVESTIGATION.pdf
FORENSIC CHEMISTRY ARSON INVESTIGATION.pdfFORENSIC CHEMISTRY ARSON INVESTIGATION.pdf
FORENSIC CHEMISTRY ARSON INVESTIGATION.pdf
 
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyanPlasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
 
THE GENERAL PROPERTIES OF PROTEOBACTERIA AND ITS TYPES
THE GENERAL PROPERTIES OF PROTEOBACTERIA AND ITS TYPESTHE GENERAL PROPERTIES OF PROTEOBACTERIA AND ITS TYPES
THE GENERAL PROPERTIES OF PROTEOBACTERIA AND ITS TYPES
 
Lubrication System in forced feed system
Lubrication System in forced feed systemLubrication System in forced feed system
Lubrication System in forced feed system
 
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 RpWASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
 
Continuum emission from within the plunging region of black hole discs
Continuum emission from within the plunging region of black hole discsContinuum emission from within the plunging region of black hole discs
Continuum emission from within the plunging region of black hole discs
 
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
 
Abortion uae unmarried price +27791653574 Contact Us Dubai Abu Dhabi Sharjah ...
Abortion uae unmarried price +27791653574 Contact Us Dubai Abu Dhabi Sharjah ...Abortion uae unmarried price +27791653574 Contact Us Dubai Abu Dhabi Sharjah ...
Abortion uae unmarried price +27791653574 Contact Us Dubai Abu Dhabi Sharjah ...
 
RACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptxRACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptx
 
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana LahariERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
ERTHROPOIESIS: Dr. E. Muralinath & R. Gnana Lahari
 
Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!
 
Manganese‐RichSandstonesasanIndicatorofAncientOxic LakeWaterConditionsinGale...
Manganese‐RichSandstonesasanIndicatorofAncientOxic  LakeWaterConditionsinGale...Manganese‐RichSandstonesasanIndicatorofAncientOxic  LakeWaterConditionsinGale...
Manganese‐RichSandstonesasanIndicatorofAncientOxic LakeWaterConditionsinGale...
 
PHOTOSYNTHETIC BACTERIA (OXYGENIC AND ANOXYGENIC)
PHOTOSYNTHETIC BACTERIA  (OXYGENIC AND ANOXYGENIC)PHOTOSYNTHETIC BACTERIA  (OXYGENIC AND ANOXYGENIC)
PHOTOSYNTHETIC BACTERIA (OXYGENIC AND ANOXYGENIC)
 
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
GBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interactionGBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interaction
 
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
 

16 years of the Chemistry Development Kit (CDK)

  • 1. 16 Years of the Chemistry Development Kit (CDK) Christoph Steinbeck and the CDK Developers
  • 2. http://cdk.sourceforge.net The Chemistry Development Kit (CDK) Open Source Cheminformatics in Java
  • 3. The CDK after 16 years •16,521 commits made by 115 contributors •564,171 lines of code •mostly written in Java •well established, mature codebase •maintained by a large development team •with stable Y-O-Y commits •estimated 151 years of effort (COCOMO model) •first commit in October, 2000 •most recent commit 1 day ago The Chemistry Development Kit (CDK) Open Source Cheminformatics in Java
  • 4. A bit of history
  • 6.
  • 7. Computer-Assisted Structure Elucidation (CASE) Steinbeck, C.; Angewandte Chemie. International Ed. in English 1996, 35, 1984-1986 Steinbeck, C.: J. Chem. Inf. Comput. Sci. 2001, 41, 6, 1500 1992 - now
  • 8. A bit of history
  • 11.
  • 12.
  • 13.
  • 14.
  • 16. The Doctor Who Model of Open Source
  • 17. The Doctor Who Model of Open Source Egon Willighagen
  • 18. The Doctor Who Model of Open Source Rajarshi Guha Egon Willighagen
  • 19. The Doctor Who Model of Open Source John May Rajarshi Guha Egon Willighagen
  • 20. Development Model • Open Source Principles • Release Early, Release Often • All the Raymond stuff (Cathedral … • Persistance • People contribute what they need • You need a Doctor Who who cares • code quality, build systems, etc
  • 22. • Maven describes how a project is built and it’s dependencies. • Simplifies both building from source or linking a distributed JAR. • Dependencies are dynamically downloaded and kept in sync. • “Convention over configuration” • Many new Java projects choose Maven, CDK is 15+ years old this was a challenge. • Splitting a one source tree into 76 interdependent modules. • Modularisation started by Egon Willighagen modularisation in Ant. • Test Fail=Build Fail, Required resolving 150+ existing regressions. • CDK 1.5.10+ available from The Central Repository a geographically distributed collection of dedicated servers. Maven Switch Over tinyurl.com/cdk-mavencentral
  • 23. 1.5.x: Cleaner, More Efficient, More Robust, More Stable Example: Generate depiction of a molecule. 1.4.x 1.5.x + Improved Layout + Improved Render + Easy highlighting + Abbreviations
  • 24. Try it: http://cdkdepict-openchem.rhcloud.com/ Error 1.4.x1.5.x Examples 1-4: Clark A, et al, 2D structure depiction. JCIM, 46, 1107-1123 (2006) 1.5.x: Cleaner, More Efficient, More Robust, More Stable Molecule 2D layout and rendering from SMILES
  • 25. Try it: http://cdkdepict-openchem.rhcloud.com/ 1.4.x 1.5.x 1.5.x +abbr +colmap Reaction: Lowe, D. Extraction of chemical structures and reactions from the literature. PhD Thesis. 2012 1.5.x: Cleaner, More Efficient, More Robust, More Stable Reaction 2D layout and rendering from SMILES
  • 27. Example: SMARTS match for intramolecular Hydrogen Bonds: O=[C,N]aa[N,O;!H0] in NCI Aug00 (~250,000 molecules) [1-3] 1.4.x: 16 mins (64 err) 1.5.x: 16 secs (0 err) + Lazy algorithm + Stereochemistry Match + Component Grouping + Adaptive (e.g. ring membership only if needed) + New Pattern API, hides differences between SMARTS/Substructure/ Isomorphism queries 1.5.x: Cleaner, More Efficient, More Robust, More Stable [1] Weininger D. Chemistry Cartridge CGI Examples. EMug (1998) [2] Sayle R. Cheminformatics Toolkits: a personal perspective, RDKit UGM (2012) [3] May J. All The Small Things. http://efficientbits.blogspot.co.uk/2013/10/
  • 28. Robustness CDK 1.5.x moves away from default atom type perception/sanitisation. + Much faster + High fidelity IO: round trip [CH2] though SMILES/InChI/Molfile + Exact Kekulization + Exact ring perception + Portable canonical Kekulé SMILES + Multiple aromaticity models, “Horse for courses” + Accurate MMFF94 partial charges Stability Java APIs can be more fluid than native: aim to keep public API fixed. Continuous integration and regression testing with Jenkins and Travis. 1.5.x: Cleaner, More Efficient, More Robust, More Stable
  • 29. Stereochemistry Tetrahedral, CisTrans, Extended Tetrahedral (Allene) Representation and round tripping between formats Query Matching Perspective conversion (Haworth, Chairs, Fischer) File Formats Molfile Sgroup support: Repeat Units, Display Shortcuts CXSMILES Coming soon: HELM 2.0 Fingerprints Count fingerprints Efficient Circular Fingerprint and Model Building Clark et al. JChemInf. 6:38 (2014) Coming soon: FPS readers, mmap indexes Updated and Super Quick Fundamental Algorithms Ring Finding - May and Steinbeck. JChemInf. 6:3 (2014) Subgraph Isomorphism Canonical labelling Aromaticity Kekulization Molecular Hash Codes, Automorphism Group, and much more Other Features of 1.5.x
  • 30. Acknowledgement • All CDK developers • The Blue Obelisk Community • You for your attention