Comments (4)
When I hear "interactive" I think of a GUI. mmpdb is a command-line tool.
mmpdb only accepts SMILES as input, not SDF or CSV. See mmpdb help-analysis
for documentation on the overall process. (Also in the README.)
There's a default cutting pattern so you don't need to specify one yourself. Use mmpdb fragment --help
to see the details:
The --cut-smarts argument supports the following short-hand aliases:
'default': Cut all C-[!H] non-ring single bonds except for Amides/Esters/Amidines/Sulfonamides and CH2-CH2 and CH2-CH3 bonds
smarts: [#6+0;!$(*=,#[!#6])]!@!=!#[!#0;!#1;!$([CH2]);!$([CH3][CH2])]
'cut_AlkylChains': As default, but also cuts CH2-CH2 and CH2-CH3 bonds
smarts: [#6+0;!$(*=,#[!#6])]!@!=!#[!#0;!#1]
'cut_Amides': As default, but also cuts [O,N]=C-[O,N] single bonds
smarts: [#6+0]!@!=!#[!#0;!#1;!$([CH2]);!$([CH3][CH2])]
'cut_all': Cuts all Carbon-[!H] single non-ring bonds. Use carefully, this will create a lot of cuts
smarts: [#6+0]!@!=!#[!#0;!#1]
'exocyclic': Cuts all exocyclic single bonds
smarts: [R]!@!=!#[!#0;!#1]
'exocyclic_NoMethyl': Cuts all exocyclic single bonds apart from those connecting to CH3 groups
smarts: [R]!@!=!#[!#0;!#1;!$([CH3])]
from mmpdb.
Hi @adalke,
Thanks for your reply. Do you know once I get the resulting file, i.e., test_data.fragments
or test_data.mmpdb
, how can I access the MMPs of the input data set?
["VERSION", "mmpdb-fragment/2"]
["SOFTWARE", "mmpdb-2.1"]
["OPTION", "cut_smarts", "[#6+0;!$(*=,#[!#6])]!@!=!#[!#0;!#1;!$([CH2]);!$([CH3][CH2])]"]
["OPTION", "max_heavies", "100"]
["OPTION", "max_rotatable_bonds", "10"]
["OPTION", "method", "chiral"]
["OPTION", "num_cuts", "3"]
["OPTION", "rotatable_smarts", "[!$([NH]!@C(=O))&!D1&!$(*#*)]-&!@[!$([NH]!@C(=O))&!D1&!$(*#*)]"]
["OPTION", "salt_remover", "<default>"]
["RECORD", "phenol", "Oc1ccccc1", 7, "Oc1ccccc1", [[1, "N", 1, "1", "*O", "0", 6, "1", "*c1ccccc1", "c1ccccc1"], [1, "N", 6, "1", "*c1ccccc1", "0", 1, "1", "*O", "O"]]]
["RECORD", "catechol", "Oc1ccccc1O", 8, "Oc1ccccc1O", [[1, "N", 1, "1", "*O", "0", 7, "1", "* c1ccccc1O", "Oc1ccccc1"], [1, "N", 7, "1", "*c1ccccc1O", "0", 1, "1", "*O", "O"], [2, "N", 6, "11", "*c1ccccc1*", "01", 2, "11", "*O.*O", null]]]
["RECORD", "2-aminophenol", "Oc1ccccc1N", 8, "Nc1ccccc1O", [[1, "N", 1, "1", "*N", "0", 7, "1", "* c1ccccc1O", "Oc1ccccc1"], [1, "N", 1, "1", "*O", "0", 7, "1", "*c1ccccc1N", "Nc1ccccc1"], [1, "N", 7, "1", "*c1ccccc1N", "0", 1, "1", "*O", "O"], [1, "N", 7, "1", "*c1ccccc1O", "0", 1, "1", "*N", "N"], [2, "N", 6, "11", "*c1ccccc1*", "01", 2, "12", "*N.*O", null]]]
["RECORD", "2-chlorophenol", "Oc1ccccc1Cl", 8, "Oc1ccccc1Cl", [[1, "N", 1, "1", "*Cl", "0", 7, "1", "*c1ccccc1O", "Oc1ccccc1"], [1, "N", 1, "1", "*O", "0", 7, "1", "*c1ccccc1Cl", "Clc1ccccc1"], [1, "N", 7, "1", "*c1ccccc1Cl", "0", 1, "1", "*O", "O"], [1, "N", 7, "1", "*c1ccccc1O", "0", 1, "1", "* Cl", "Cl"], [2, "N", 6, "11", "*c1ccccc1*", "01", 2, "12", "*Cl.*O", null]]]
["RECORD", "o-phenylenediamine", "Nc1ccccc1N", 8, "Nc1ccccc1N", [[1, "N", 1, "1", "*N", "0", 7, "1", "*c1ccccc1N", "Nc1ccccc1"], [1, "N", 7, "1", "*c1ccccc1N", "0", 1, "1", "*N", "N"], [2, "N", 6, "11", "*c1ccccc1*", "01", 2, "11", "*N.*N", null]]]
["RECORD", "amidol", "Nc1cc(O)ccc1N", 9, "Nc1ccc(O)cc1N", [[1, "N", 1, "1", "*N", "0", 8, "1", "* c1cc(O)ccc1N", "Nc1ccc(O)cc1"], [1, "N", 1, "1", "*N", "0", 8, "1", "*c1ccc(O)cc1N", "Nc1cccc(O)c1"], [1, "N", 1, "1", "*O", "0", 8, "1", "*c1ccc(N)c(N)c1", "Nc1ccccc1N"], [1, "N", 8, "1", "*c1cc(O)ccc1N", "0", 1, "1", "*N", "N"], [1, "N", 8, "1", "*c1ccc(N)c(N)c1", "0", 1, "1", "* O", "O"], [1, "N", 8, "1", "*c1ccc(O)cc1N", "0", 1, "1", "*N", "N"], [2, "N", 7, "12", "*c1ccc(* )c(N)c1", "10", 2, "12", "*N.*O", null], [2, "N", 7, "12", "*c1ccc(N)c(*)c1", "10", 2, "12", "*N.* O", null], [2, "N", 7, "12", "*c1ccc(O)cc1*", "01", 2, "11", "*N.*N", null], [3, "N", 6, "123", "* c1ccc(*)c(*)c1", "201", 3, "112", "*N.*N.*O", null]]]
["RECORD", "hydroxyquinol", "Oc1cc(O)ccc1O", 9, "Oc1ccc(O)c(O)c1", [[1, "N", 1, "1", "*O", "0", 8, "1", "*c1cc(O)ccc1O", "Oc1ccc(O)cc1"], [1, "N", 1, "1", "*O", "0", 8, "1", "*c1ccc(O)c(O)c1", "Oc1ccccc1O"], [1, "N", 1, "1", "*O", "0", 8, "1", "*c1ccc(O)cc1O", "Oc1cccc(O)c1"], [1, "N", 8, "1", "*c1cc(O)ccc1O", "0", 1, "1", "*O", "O"], [1, "N", 8, "1", "*c1ccc(O)c(O)c1", "0", 1, "1", "* O", "O"], [1, "N", 8, "1", "*c1ccc(O)cc1O", "0", 1, "1", "*O", "O"], [2, "N", 7, "12", "*c1ccc(* )c(O)c1", "01", 2, "11", "*O.*O", null], [2, "N", 7, "12", "*c1ccc(O)c(*)c1", "01", 2, "11", "*O.* O", null], [2, "N", 7, "12", "*c1ccc(O)cc1*", "01", 2, "11", "*O.*O", null], [3, "N", 6, "123", "* c1ccc(*)c(*)c1", "012", 3, "111", "*O.*O.*O", null]]]
["RECORD", "phenylamine", "Nc1ccccc1", 7, "Nc1ccccc1", [[1, "N", 1, "1", "*N", "0", 6, "1", "* c1ccccc1", "c1ccccc1"], [1, "N", 6, "1", "*c1ccccc1", "0", 1, "1", "*N", "N"]]]
["RECORD", "cyclopentanol", "C1CCCC1N", 6, "NC1CCCC1", [[1, "N", 1, "1", "*N", "0", 5, "1", "* C1CCCC1", "C1CCCC1"], [1, "N", 5, "1", "*C1CCCC1", "0", 1, "1", "*N", "N"]]]
Best,
PK
from mmpdb.
- you should use the most recent development version of mmpdb, at https://github.com/adalke/mmpdb/tree/v3-dev . It's close to being merged back to the main branch. There are a couple of last little bits to take care of, which mostly don't affect you.
In v3, the JSON lines format you quoted here for the fragmentations has been replaced by a SQLite database.
-
mmpdb rulecat
gives you the rules. More complex custom analysis requires understanding the schema (see mmpdblib/schema.sql) and making your own SQL queries. -
There is very little unpaid support for mmpdb. You'll need to try out the programs, read the command-line help (including
mmpdb help
and the sub-help commands), and do your own experimentation. I am also available for paid support.
from mmpdb.
@adalke Thank you for your help :)
from mmpdb.
Related Issues (20)
- sqlite3.OperationalError: database or disk is full when indexing HOT 8
- To increase the max_rotatable_bonds? HOT 2
- How to get environment smiles? HOT 3
- How to build mmpdb with large data set HOT 4
- cannot fix the AttributeError: module '__main__' has no attribute '__spec__' HOT 2
- store fragments in a SQLite db instead of JSON-Lines HOT 2
- Use SQLAlchemy to work with the database HOT 1
- organize command-line processing and move to click HOT 4
- Remove vendered use of peewee HOT 1
- Use importlib.resources instead of __file__ HOT 1
- Can we specify the environmental radius when generating the mmpdb? HOT 11
- Which "cut-smarts" patterns (i.e. fragmentation parameters) are used by default for Transform function? HOT 1
- mmpdb transform behaves unexpectedly HOT 5
- Error when using "--out mmpa" HOT 4
- [docs] README.md: create installation guide HOT 5
- AttributeError: module '__main__' has no attribute '__spec__'
- Support for CXSMILES HOT 4
- Obtain list of matched pairs with common core from an ID. HOT 4
- Turning on --property flag leading to a smaller number of transformed structures
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mmpdb.