Skip to content

Commit befd7a0

Browse files
authored
Merge pull request #53 from adalke/v3-dev
V3 dev -> mmpdb 3.1
2 parents 29b44a0 + 63059ba commit befd7a0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+21602
-17627
lines changed

CHANGELOG.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,69 @@
11
# CHANGELOG
22

3-
## mmpdb (in development)
3+
## mmpdb 3.1 - 2023-11-28
4+
5+
Extended the "generate" command to handle 2-, and 3-cut transforms.
6+
7+
The `generate --explain` option now also explains why the search for a
8+
matching query or variable part passes or fails. This proved useful in
9+
determining that an expected fragmentation was instead being filtered.
10+
11+
The new `--min-heavies-total-const-frag N` fragmentation option
12+
specifies the minimum number of heavy atoms allowed in the constant
13+
part. The default value is 0.
14+
15+
Changed the fragdb schema version (in the "options" table) from 3 to 4
16+
to support the new fragmentation option. Version 3 fragment databases
17+
are still supported, by `min_heavies_total_const_frag` to 0.
18+
19+
Added two indices and a SQLite pragma for the page size. Roche reports
20+
these improve analysis performance.
21+
22+
Fixed `--from` and `--to` support in proprulecat. These had been left
23+
behind in the migration to click from argparse for command-line
24+
processing.
25+
26+
## mmpdb 3.0 - 2023-5-31
27+
28+
A large number of changes to merge three different development tracks
29+
and add new features.
30+
31+
The "fragments" file format has been replaced with a SQLite-based
32+
"fragdb" file format. This makes it much easier to develop tools to
33+
work on fragment data sets instead of processing a JSON-Lines file.
34+
35+
New functionality to create an MMP data set in a distributed compute
36+
environment. Some of the features are:
37+
38+
- split a SMILES file into a set of smaller SMILES files
39+
- the default "fragment" file output is now based on the input name
40+
- fragment files can be re-partitioned by constant fragments:
41+
- the "fragdb_constants" file generates fragment information
42+
- the "fragdb_partition" create re-partitioned fragdb files
43+
- the default "index" file output is now based on the input name
44+
- there are tools to merge fragdb and mmpdb files into one
45+
46+
As a result, mmpdb can now handle significantly larger data sets.
47+
48+
Added support for Postgres for direct index database creation. (The
49+
new distributed compute tools require SQLite.)
50+
51+
Added a new "generate" command to apply 1-cut transforms to a
52+
structure, using MMP rules as a playbook.
53+
54+
Replaced the SHA256-based Morgan fingerprint signature with a
55+
canonical SMARTS representing the Morgan fingerprint environment. This
56+
is difficult to understand or depict, so also include a "pseudo"
57+
SMILES that can be parsed by RDKit (if sanitize is disabled) and
58+
drawn. The new environment fingerprint also include the SMARTS of its
59+
parent, that is, the SMARTS with a smaller radius.
60+
61+
Switched to 'click' for command-line parsing, removed the vendered
62+
version of the peewee ORM, and switched to a modern "pyproject.toml"
63+
project configuration with a setup.cfg which declares its dependencies.
64+
65+
66+
## mmpdb 2.2-dev (the GitHub development track)
467

568
The `fragment` and `smifrag` commands now support options for
669
supervised fragmentation based on a specified set of R-group SMILES to

MANIFEST

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ mmpdblib/playhouse/db_url.py
4040
mmpdblib/playhouse/flask_utils.py
4141
mmpdblib/playhouse/pool.py
4242
mmpdblib/playhouse/sqlite_ext.py
43-
tests/cached.fragments
43+
tests/cached.fragdb
4444
tests/comma.smi
4545
tests/space.smi
4646
tests/space.smi.gz
4747
tests/support.py
4848
tests/tab.smi
4949
tests/test_analysis.py
5050
tests/test_data.csv
51-
tests/test_data.fragments
51+
tests/test_data.fragdb
5252
tests/test_data.mmpdb
5353
tests/test_data.smi
5454
tests/test_data_2018.mmpdb

MANIFEST.in

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,8 @@ include CHANGELOG.md
55
include mmpdb
66
include setup.py
77
include setup.cfg
8-
include mmpdblib/__init__.py
9-
include mmpdblib/__main__.py
10-
include mmpdblib/_compat.py
11-
include mmpdblib/analysis_algorithms.py
12-
include mmpdblib/cansmirks_table.py
13-
include mmpdblib/command_support.py
14-
include mmpdblib/commandline.py
15-
include mmpdblib/config.py
16-
include mmpdblib/create_index.sql
17-
include mmpdblib/dbutils.py
18-
include mmpdblib/do_analysis.py
19-
include mmpdblib/do_database.py
20-
include mmpdblib/do_fragment.py
21-
include mmpdblib/do_help.py
22-
include mmpdblib/do_index.py
23-
include mmpdblib/drop_index.sql
24-
include mmpdblib/environment.py
25-
include mmpdblib/fileio.py
26-
include mmpdblib/frag2smarts.py
27-
include mmpdblib/fragment_algorithm.py
28-
include mmpdblib/fragment_io.py
29-
include mmpdblib/fragment_types.py
30-
include mmpdblib/index_algorithm.py
31-
include mmpdblib/index_writers.py
32-
include mmpdblib/peewee.py
33-
include mmpdblib/properties_io.py
34-
include mmpdblib/reporters.py
35-
include mmpdblib/schema.py
36-
include mmpdblib/schema.sql
37-
include mmpdblib/smarts_aliases.py
38-
include mmpdblib/smiles_syntax.py
39-
include mmpdblib/playhouse/__init__.py
40-
include mmpdblib/playhouse/apsw_ext.py
41-
include mmpdblib/playhouse/db_url.py
42-
include mmpdblib/playhouse/flask_utils.py
43-
include mmpdblib/playhouse/pool.py
44-
include mmpdblib/playhouse/sqlite_ext.py
8+
include pyproject.toml
9+
recursive-include mmpdb *.py
4510

4611
include tests/cached.fragments
4712
include tests/comma.smi

0 commit comments

Comments
 (0)