Skip to content
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

release 2.2.5 #25

Merged
merged 69 commits into from
Nov 2, 2023
Merged

release 2.2.5 #25

merged 69 commits into from
Nov 2, 2023

Conversation

MartaPasquini
Copy link
Member

New functionalities are implemented to:

  • add reaction nodes to a SynGraph object
  • remove reaction nodes from a SynGraph object
  • extract synthetic routes from the network obtained by merging a group of SynGraph objects

Improvements in ChemicalEquationConstructor and ChemicalEquation object are implemented:

  • better handling of Disconnection information
  • better handling of stoichiometry

Various bugs are solved.

MartaPasquini and others added 30 commits September 4, 2023 13:59
…-692) (#3)

The information regarding new and modified bonds in Disconnection is now stored with the IDs of the involved atoms, as the bonds IDs as assigned by rdkit are not stable.
Rebasing and python 3.8 compatibility
The ChemicalEquationConstructor has been improved, as well as the Constructors of the ChemicalEquation attributes (Disconnection, Template, Ratam). Few additional syntax changes have been made according to the new minimal requirement of python 3.9.
…-692) (#3)

The information regarding new and modified bonds in Disconnection is now stored with the IDs of the involved atoms, as the bonds IDs as assigned by rdkit are not stable.
The url and port to access the APIs of the atom-to-atom mapping services are added to the settings in the software configuration.
MartaPasquini and others added 27 commits September 4, 2023 14:02
Labels are assigned to the edge of the networkx object built by translate based on the chemistry. These will be used for routes' mining.
A new function to mine routes based on networkx is implemented.
Docstrings have now the same style everywhere in the code. Black is used for linting.
A new method of the Disconnection class is implemented. It returns a dictionary containing the ids of changing/new bonds (if any) and the ids of the reacting atoms of the disconnection instance.
The input root smiles is now converted to a Molecule object to improve checks.

Default parameters are included in the settings file of the configuration.
The builder of the SynGraph class is refactored to make it more flexible.
A bug in the function to mine routes is also fixed.
The functionalities to (i) remove a single node from a SynGraph instance, (ii) remove a node and its "parent" connections from a SynGraph instance and (iii) remove a node and its "parent" connections from a list of SynGraph objects are implemented.

A refactoring that moves classes and functions that perform operations on SynGraph objects (merging, node removal, reaction string extractions) to a new module "syngraph_operations" is implemented, to separate them from the main SynGraph class definition.
The calculation of the step descriptors is improved by considering the stoichiometry and harmonizing the calculation to Andraos's.
The documentation is updated to include the latest functionalities.
The function to mine routes is improved to correctly handle cases that were not covered before. The corresponding tests are also improved.

The pydantic version is fixed to be >=1 and <2 to avoid the breaking changes in 2.0 release
A function to support the depiction of disconnections displayed using the canonical (unmapped) smiles is implemented.
The function to add a reaction (smiles) to a SynGraph object is implemented.
A bug in the builder of SynGraph is fixed.

Some improvements are made to the mine_routes() function: variable naming, algorithm simplification.
The handling of isolated reactions in bipartite SynGraph is improved.
The function to remove nodes from a SynGraph is updated and improved.

Some smaller improvements are also implemented.
# Conflicts:
#	src/linchemin/cgu/convert.py
#	src/linchemin/cgu/discgraph.py
#	src/linchemin/cgu/iron.py
#	src/linchemin/cgu/syngraph.py
#	src/linchemin/cgu/translate.py
#	src/linchemin/cheminfo/atom_mapping.py
#	src/linchemin/cheminfo/chemical_similarity.py
#	src/linchemin/cheminfo/constructors.py
#	src/linchemin/cheminfo/depiction.py
#	src/linchemin/cheminfo/functions.py
#	src/linchemin/cheminfo/models.py
#	src/linchemin/configuration/defaults.py
#	src/linchemin/interfaces/facade.py
#	src/linchemin/interfaces/workflows.py
#	src/linchemin/rem/clustering.py
#	src/linchemin/rem/graph_distance.py
#	src/linchemin/rem/node_metrics.py
#	src/linchemin/rem/route_descriptors.py
#	src/linchemin/rem/route_scoring.py
#	src/linchemin/services/namerxn/schemas.py
#	tests/cgu/test_convert.py
#	tests/cgu/test_syngraph.py
#	tests/cgu/test_translate.py
#	tests/cheminfo/test_atom_mapping.py
#	tests/cheminfo/test_constructors.py
#	tests/interfaces/test_facade.py
#	tests/rem/test_node_metrics.py
#	tests/rem/test_route_descriptors.py
@MartaPasquini MartaPasquini merged commit 06ef820 into main Nov 2, 2023
17 checks passed
@MartaPasquini MartaPasquini deleted the version_2.2.5 branch November 2, 2023 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant