Skip to content

Commit

Permalink
Merge pull request #53 from adalke/v3-dev
Browse files Browse the repository at this point in the history
V3 dev -> mmpdb 3.1
  • Loading branch information
chem-bio authored Dec 20, 2023
2 parents 29b44a0 + 63059ba commit befd7a0
Show file tree
Hide file tree
Showing 91 changed files with 21,602 additions and 17,627 deletions.
65 changes: 64 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,69 @@
# CHANGELOG

## mmpdb (in development)
## mmpdb 3.1 - 2023-11-28

Extended the "generate" command to handle 2-, and 3-cut transforms.

The `generate --explain` option now also explains why the search for a
matching query or variable part passes or fails. This proved useful in
determining that an expected fragmentation was instead being filtered.

The new `--min-heavies-total-const-frag N` fragmentation option
specifies the minimum number of heavy atoms allowed in the constant
part. The default value is 0.

Changed the fragdb schema version (in the "options" table) from 3 to 4
to support the new fragmentation option. Version 3 fragment databases
are still supported, by `min_heavies_total_const_frag` to 0.

Added two indices and a SQLite pragma for the page size. Roche reports
these improve analysis performance.

Fixed `--from` and `--to` support in proprulecat. These had been left
behind in the migration to click from argparse for command-line
processing.

## mmpdb 3.0 - 2023-5-31

A large number of changes to merge three different development tracks
and add new features.

The "fragments" file format has been replaced with a SQLite-based
"fragdb" file format. This makes it much easier to develop tools to
work on fragment data sets instead of processing a JSON-Lines file.

New functionality to create an MMP data set in a distributed compute
environment. Some of the features are:

- split a SMILES file into a set of smaller SMILES files
- the default "fragment" file output is now based on the input name
- fragment files can be re-partitioned by constant fragments:
- the "fragdb_constants" file generates fragment information
- the "fragdb_partition" create re-partitioned fragdb files
- the default "index" file output is now based on the input name
- there are tools to merge fragdb and mmpdb files into one

As a result, mmpdb can now handle significantly larger data sets.

Added support for Postgres for direct index database creation. (The
new distributed compute tools require SQLite.)

Added a new "generate" command to apply 1-cut transforms to a
structure, using MMP rules as a playbook.

Replaced the SHA256-based Morgan fingerprint signature with a
canonical SMARTS representing the Morgan fingerprint environment. This
is difficult to understand or depict, so also include a "pseudo"
SMILES that can be parsed by RDKit (if sanitize is disabled) and
drawn. The new environment fingerprint also include the SMARTS of its
parent, that is, the SMARTS with a smaller radius.

Switched to 'click' for command-line parsing, removed the vendered
version of the peewee ORM, and switched to a modern "pyproject.toml"
project configuration with a setup.cfg which declares its dependencies.


## mmpdb 2.2-dev (the GitHub development track)

The `fragment` and `smifrag` commands now support options for
supervised fragmentation based on a specified set of R-group SMILES to
Expand Down
4 changes: 2 additions & 2 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ mmpdblib/playhouse/db_url.py
mmpdblib/playhouse/flask_utils.py
mmpdblib/playhouse/pool.py
mmpdblib/playhouse/sqlite_ext.py
tests/cached.fragments
tests/cached.fragdb
tests/comma.smi
tests/space.smi
tests/space.smi.gz
tests/support.py
tests/tab.smi
tests/test_analysis.py
tests/test_data.csv
tests/test_data.fragments
tests/test_data.fragdb
tests/test_data.mmpdb
tests/test_data.smi
tests/test_data_2018.mmpdb
Expand Down
39 changes: 2 additions & 37 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,8 @@ include CHANGELOG.md
include mmpdb
include setup.py
include setup.cfg
include mmpdblib/__init__.py
include mmpdblib/__main__.py
include mmpdblib/_compat.py
include mmpdblib/analysis_algorithms.py
include mmpdblib/cansmirks_table.py
include mmpdblib/command_support.py
include mmpdblib/commandline.py
include mmpdblib/config.py
include mmpdblib/create_index.sql
include mmpdblib/dbutils.py
include mmpdblib/do_analysis.py
include mmpdblib/do_database.py
include mmpdblib/do_fragment.py
include mmpdblib/do_help.py
include mmpdblib/do_index.py
include mmpdblib/drop_index.sql
include mmpdblib/environment.py
include mmpdblib/fileio.py
include mmpdblib/frag2smarts.py
include mmpdblib/fragment_algorithm.py
include mmpdblib/fragment_io.py
include mmpdblib/fragment_types.py
include mmpdblib/index_algorithm.py
include mmpdblib/index_writers.py
include mmpdblib/peewee.py
include mmpdblib/properties_io.py
include mmpdblib/reporters.py
include mmpdblib/schema.py
include mmpdblib/schema.sql
include mmpdblib/smarts_aliases.py
include mmpdblib/smiles_syntax.py
include mmpdblib/playhouse/__init__.py
include mmpdblib/playhouse/apsw_ext.py
include mmpdblib/playhouse/db_url.py
include mmpdblib/playhouse/flask_utils.py
include mmpdblib/playhouse/pool.py
include mmpdblib/playhouse/sqlite_ext.py
include pyproject.toml
recursive-include mmpdb *.py

include tests/cached.fragments
include tests/comma.smi
Expand Down
Loading

0 comments on commit befd7a0

Please sign in to comment.