smallworld_api package
- exception smallworld_api.NoMatchError[source]
Bases:
ExceptionNo match for the molecule was found.
- __init__(*args, **kwargs)
- args
Type:
GetSetDescriptorType
- with_traceback()
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
- class smallworld_api.SmallWorld(update_dbs=True)[source]
Bases:
SearcherA python3 API based upon https://wiki.docking.org/index.php/How_to_use_SmallWorld_API
This (
SmallWorld) is the main class of the modulesmallworld_apiand is split into separate files by functionality. The classes it bases are as follows: Defaults -> Common -> Base -> Extras -> Searcher -> SmallWorldFor example, class attributes are in Defaults.
- Parameters:
update_dbs (
bool) –
- property REAL_dataset: str
- Return type:
str
- property WuXi_dataset: str
- Return type:
str
- property ZINC_dataset: str
- Return type:
str
- __init__(update_dbs=True)[source]
Initialisation results in the updating of the databases.
- Parameters:
update_dbs (
bool) –
- base_url = 'https://sw.docking.org'
Type:
str
- static check_smiles(smiles)
- Parameters:
smiles (
str) –
- db_choices = ['REAL-Database-22Q1.smi.anon', 'WuXi-20Q4.smi.anon', 'all-zinc.smi.anon', 'for-sale.smi.anon', 'wait-ok.smi.anon', 'MculeUltimate-20Q2.smi.anon', 'bb_forsale.smi.anon', 'mcule_full.smi.anon', 'mcule-v.smi.anon', 'old-in-stock.smi.anon', 'mcule.smi.anon', 'informer-set.smi.anon', 'mculebb.smi.anon', 'bb_instock.smi.anon', 'Enamine-BB-Stock-Mar2022.smi.anon', 'Enamine-SC-Stock-Mar2022.smi.anon', 'interesting.smi.anon']
Type:
list
- default_submission = {'dist': 8, 'ldn': 2, 'lup': 2, 'maj': 6, 'min': 6, 'rdn': 6, 'rup': 2, 'scores': 'Atom Alignment,ECFP4,Daylight', 'sdist': 12, 'sub': 6, 'tdn': 6, 'tup': 6}
Type:
dict
- get_results(start=0, length=10, draw=10)
- Parameters:
start (
int) –length (
int) –draw (
int) –
- Return type:
DataFrame
- is_this_mol(item)
- Parameters:
item (
Any) –- Return type:
bool
- mol2smiles(mol)
- Parameters:
mol (
Mol) –- Return type:
str
- reset()
- classmethod retrieve_databases()
- Return type:
DataFrame
- classmethod retrieve_scorefun_options()
- Return type:
DataFrame
- search(query, db, **other_parameters)[source]
The query can be
a single SMILES,
a rdkit.Chem.Mol
a list of SMILES or rdkit.Chem.Mol
a dictionary of SMILES or rdkit.Chem.Mol
These all lead back to
.search_smiles, which functions as follows:Given a smiles and a database return the table of results!
The optional arguments are:
dist = 10 (atom difference distance threshhold)
several in .default_submission…
The number of results given are controlled by:
length = 10 (number of results)
draw = 10 (pointless atm)
start = 0
Which are passed onto .get_results.
Calls
submit_queryand thenget_results(code insearch.py) Returns a pandas dataframe of results. The dataframe is not rdkit modified yet.- Parameters:
query (
Any) –db (
str) –
- Return type:
DataFrame
- search_many(query, db, **other_parameters)[source]
search for many SMILES or Chem.Mol.
- Parameters:
query (
Union[Sequence[Any],Mapping[str,Any]]) –db (
str) –
- Return type:
DataFrame
- search_mol(mol, db, **other_parameters)[source]
- Parameters:
mol (
Mol) –db (
str) –
- Return type:
DataFrame
- search_smiles(smiles, db, **other_parameters)[source]
Given a smiles and a database return the table of results!
The optional arguments are:
dist = 10 (atom difference distance threshhold)
several in .default_submission…
The number of results given are controlled by:
length = 10 (number of results)
draw = 10 (pointless atm)
start = 0
Which are passed onto .get_results.
Calls
submit_queryand thenget_results(code insearch.py) Returns a pandas dataframe of results. The dataframe is not rdkit modified yet.- Parameters:
smiles (
str) –db (
str) –
- Return type:
DataFrame
- sf_choices = ['Atom Alignment', 'SMARTS Alignment', 'ECFP4', 'Daylight']
Type:
list
- show_reply_as_html(reply=None)
The API calls may fail for some reason. Generally code 500 due to the server timing out and having issues. This prints the reply.
- Parameters:
reply (
Optional[Response]) –
- property speed_threshold
- stream_response = True
Type:
bool
- submit_query(params)
The first step.
- Return type:
Dict[str,Any]
- valid_export_columns = {'columns[0][data]': '0', 'columns[0][name]': 'alignment', 'columns[0][orderable]': 'false', 'columns[0][search][regex]': 'false', 'columns[0][search][value]': '', 'columns[0][searchable]': 'true', 'columns[10][data]': '10', 'columns[10][name]': 'ldn', 'columns[10][orderable]': 'true', 'columns[10][search][regex]': 'false', 'columns[10][search][value]': '0-2', 'columns[10][searchable]': 'true', 'columns[11][data]': '11', 'columns[11][name]': 'lup', 'columns[11][orderable]': 'true', 'columns[11][search][regex]': 'false', 'columns[11][search][value]': '0-2', 'columns[11][searchable]': 'true', 'columns[12][data]': '12', 'columns[12][name]': 'mut', 'columns[12][orderable]': 'true', 'columns[12][search][regex]': 'false', 'columns[12][search][value]': '', 'columns[12][searchable]': 'true', 'columns[13][data]': '13', 'columns[13][name]': 'maj', 'columns[13][orderable]': 'true', 'columns[13][search][regex]': 'false', 'columns[13][search][value]': '0-6', 'columns[13][searchable]': 'true', 'columns[14][data]': '14', 'columns[14][name]': 'min', 'columns[14][orderable]': 'true', 'columns[14][search][regex]': 'false', 'columns[14][search][value]': '0-6', 'columns[14][searchable]': 'true', 'columns[15][data]': '15', 'columns[15][name]': 'hyb', 'columns[15][orderable]': 'true', 'columns[15][search][regex]': 'false', 'columns[15][search][value]': '0-6', 'columns[15][searchable]': 'true', 'columns[16][data]': '16', 'columns[16][name]': 'sub', 'columns[16][orderable]': 'true', 'columns[16][search][regex]': 'false', 'columns[16][search][value]': '0-6', 'columns[16][searchable]': 'true', 'columns[1][data]': '1', 'columns[1][name]': 'dist', 'columns[1][orderable]': 'true', 'columns[1][search][regex]': 'false', 'columns[1][search][value]': '0-12', 'columns[1][searchable]': 'true', 'columns[2][data]': '2', 'columns[2][name]': 'ecfp4', 'columns[2][orderable]': 'true', 'columns[2][search][regex]': 'false', 'columns[2][search][value]': '', 'columns[2][searchable]': 'true', 'columns[3][data]': '3', 'columns[3][name]': 'daylight', 'columns[3][orderable]': 'true', 'columns[3][search][regex]': 'false', 'columns[3][search][value]': '', 'columns[3][searchable]': 'true', 'columns[4][data]': '4', 'columns[4][name]': 'topodist', 'columns[4][orderable]': 'true', 'columns[4][search][regex]': 'false', 'columns[4][search][value]': '0-8', 'columns[4][searchable]': 'true', 'columns[5][data]': '5', 'columns[5][name]': 'mces', 'columns[5][orderable]': 'true', 'columns[5][search][regex]': 'false', 'columns[5][search][value]': '', 'columns[5][searchable]': 'true', 'columns[6][data]': '6', 'columns[6][name]': 'tdn', 'columns[6][orderable]': 'true', 'columns[6][search][regex]': 'false', 'columns[6][search][value]': '0-6', 'columns[6][searchable]': 'true', 'columns[7][data]': '7', 'columns[7][name]': 'tup', 'columns[7][orderable]': 'true', 'columns[7][search][regex]': 'false', 'columns[7][search][value]': '0-6', 'columns[7][searchable]': 'true', 'columns[8][data]': '8', 'columns[8][name]': 'rdn', 'columns[8][orderable]': 'true', 'columns[8][search][regex]': 'false', 'columns[8][search][value]': '0-6', 'columns[8][searchable]': 'true', 'columns[9][data]': '9', 'columns[9][name]': 'rup', 'columns[9][orderable]': 'true', 'columns[9][search][regex]': 'false', 'columns[9][search][value]': '0-2', 'columns[9][searchable]': 'true', 'order[0][column]': '0', 'order[0][dir]': 'asc', 'search[regex]': 'false', 'search[value]': ''}
Type:
dict
- valid_submit_keys = ['smi', 'db', 'dist', 'tdn', 'tup', 'rdn', 'rup', 'ldn', 'lup', 'scores']
Type:
list
Private inherited classes
smallworld_api.base module
smallworld_api.common_db module
smallworld_api.defaults module
- class smallworld_api.defaults.Defaults[source]
Bases:
object- base_url = 'https://sw.docking.org'
Type:
str
- db_choices = ['REAL-Database-22Q1.smi.anon', 'WuXi-20Q4.smi.anon', 'all-zinc.smi.anon', 'for-sale.smi.anon', 'wait-ok.smi.anon', 'MculeUltimate-20Q2.smi.anon', 'bb_forsale.smi.anon', 'mcule_full.smi.anon', 'mcule-v.smi.anon', 'old-in-stock.smi.anon', 'mcule.smi.anon', 'informer-set.smi.anon', 'mculebb.smi.anon', 'bb_instock.smi.anon', 'Enamine-BB-Stock-Mar2022.smi.anon', 'Enamine-SC-Stock-Mar2022.smi.anon', 'interesting.smi.anon']
Type:
list
- default_submission = {'dist': 8, 'ldn': 2, 'lup': 2, 'maj': 6, 'min': 6, 'rdn': 6, 'rup': 2, 'scores': 'Atom Alignment,ECFP4,Daylight', 'sdist': 12, 'sub': 6, 'tdn': 6, 'tup': 6}
Type:
dict
- sf_choices = ['Atom Alignment', 'SMARTS Alignment', 'ECFP4', 'Daylight']
Type:
list
- property speed_threshold
- stream_response = True
Type:
bool
- valid_export_columns = {'columns[0][data]': '0', 'columns[0][name]': 'alignment', 'columns[0][orderable]': 'false', 'columns[0][search][regex]': 'false', 'columns[0][search][value]': '', 'columns[0][searchable]': 'true', 'columns[10][data]': '10', 'columns[10][name]': 'ldn', 'columns[10][orderable]': 'true', 'columns[10][search][regex]': 'false', 'columns[10][search][value]': '0-2', 'columns[10][searchable]': 'true', 'columns[11][data]': '11', 'columns[11][name]': 'lup', 'columns[11][orderable]': 'true', 'columns[11][search][regex]': 'false', 'columns[11][search][value]': '0-2', 'columns[11][searchable]': 'true', 'columns[12][data]': '12', 'columns[12][name]': 'mut', 'columns[12][orderable]': 'true', 'columns[12][search][regex]': 'false', 'columns[12][search][value]': '', 'columns[12][searchable]': 'true', 'columns[13][data]': '13', 'columns[13][name]': 'maj', 'columns[13][orderable]': 'true', 'columns[13][search][regex]': 'false', 'columns[13][search][value]': '0-6', 'columns[13][searchable]': 'true', 'columns[14][data]': '14', 'columns[14][name]': 'min', 'columns[14][orderable]': 'true', 'columns[14][search][regex]': 'false', 'columns[14][search][value]': '0-6', 'columns[14][searchable]': 'true', 'columns[15][data]': '15', 'columns[15][name]': 'hyb', 'columns[15][orderable]': 'true', 'columns[15][search][regex]': 'false', 'columns[15][search][value]': '0-6', 'columns[15][searchable]': 'true', 'columns[16][data]': '16', 'columns[16][name]': 'sub', 'columns[16][orderable]': 'true', 'columns[16][search][regex]': 'false', 'columns[16][search][value]': '0-6', 'columns[16][searchable]': 'true', 'columns[1][data]': '1', 'columns[1][name]': 'dist', 'columns[1][orderable]': 'true', 'columns[1][search][regex]': 'false', 'columns[1][search][value]': '0-12', 'columns[1][searchable]': 'true', 'columns[2][data]': '2', 'columns[2][name]': 'ecfp4', 'columns[2][orderable]': 'true', 'columns[2][search][regex]': 'false', 'columns[2][search][value]': '', 'columns[2][searchable]': 'true', 'columns[3][data]': '3', 'columns[3][name]': 'daylight', 'columns[3][orderable]': 'true', 'columns[3][search][regex]': 'false', 'columns[3][search][value]': '', 'columns[3][searchable]': 'true', 'columns[4][data]': '4', 'columns[4][name]': 'topodist', 'columns[4][orderable]': 'true', 'columns[4][search][regex]': 'false', 'columns[4][search][value]': '0-8', 'columns[4][searchable]': 'true', 'columns[5][data]': '5', 'columns[5][name]': 'mces', 'columns[5][orderable]': 'true', 'columns[5][search][regex]': 'false', 'columns[5][search][value]': '', 'columns[5][searchable]': 'true', 'columns[6][data]': '6', 'columns[6][name]': 'tdn', 'columns[6][orderable]': 'true', 'columns[6][search][regex]': 'false', 'columns[6][search][value]': '0-6', 'columns[6][searchable]': 'true', 'columns[7][data]': '7', 'columns[7][name]': 'tup', 'columns[7][orderable]': 'true', 'columns[7][search][regex]': 'false', 'columns[7][search][value]': '0-6', 'columns[7][searchable]': 'true', 'columns[8][data]': '8', 'columns[8][name]': 'rdn', 'columns[8][orderable]': 'true', 'columns[8][search][regex]': 'false', 'columns[8][search][value]': '0-6', 'columns[8][searchable]': 'true', 'columns[9][data]': '9', 'columns[9][name]': 'rup', 'columns[9][orderable]': 'true', 'columns[9][search][regex]': 'false', 'columns[9][search][value]': '0-2', 'columns[9][searchable]': 'true', 'order[0][column]': '0', 'order[0][dir]': 'asc', 'search[regex]': 'false', 'search[value]': ''}
Type:
dict
- valid_submit_keys = ['smi', 'db', 'dist', 'tdn', 'tup', 'rdn', 'rup', 'ldn', 'lup', 'scores']
Type:
list