Query DB structures Manipulation queries DB search Hits Memory - - PowerPoint PPT Presentation

query
SMART_READER_LITE
LIVE PREVIEW

Query DB structures Manipulation queries DB search Hits Memory - - PowerPoint PPT Presentation

Query DB structures Manipulation queries DB search Hits Memory search 2 Standardization of the query 3 DB search DB structures Manipulation queries DB search Hits Memory search Search in database Main classes of the search


slide-1
SLIDE 1

Query

DB

structures queries

DB search Hits Manipulation Memory search

slide-2
SLIDE 2

2

slide-3
SLIDE 3

3

Standardization of the query

slide-4
SLIDE 4

DB search

DB

structures queries

DB search Hits Manipulation Memory search

slide-5
SLIDE 5

Main classes of the search process I.

5

MolSearch JChemSearch StandardizedMolSearch

Search in database

slide-6
SLIDE 6

Main classes of the search process II.

6

SearchOptions MolSearchOptions (MolSearch, StandardizedMolSearch) JChemSearchOptions (JChemSearch)

Search in database

slide-7
SLIDE 7

7

Search type Query Retrieved Not retrieved Duplicate Superstructure Full structure Full fragment Similarity Substructure

Structure search types

slide-8
SLIDE 8

 Charge, isotopes, radical, valence

(on, exact, ignore)‏

8

Search options

ON: Exact: Ignore:

slide-9
SLIDE 9

 Stereo search ‏

9

Search options

  • n
slide-10
SLIDE 10

 Stereo search ‏

10

Search options

exact

slide-11
SLIDE 11

 Stereo search ‏

11

Search options

enantiomer, diastereomer

slide-12
SLIDE 12

 Stereo search ‏

12

Search options

  • ff
slide-13
SLIDE 13

 Tautomer search (off/on)‏

13

Search options

slide-14
SLIDE 14

 Vague bond search levels

14

Search options

OFF default

  • r aromatic

ignore type

slide-15
SLIDE 15
  • Attached data search (off/on)‏

15

Search options

slide-16
SLIDE 16

Search type is set in constructor!

JChemSearchOptions jcSearchOptions = new JChemSearchOptions(SearchConstants.SIMILARITY);

Setting search options

jcSearchOptions.setVagueBondLevel(SearchConstants.VAGUE_BOND_LEVEL2)

jcSearchOptions.setOptions("hcountmatching:g keepqueryorder:y");

Modifying search behaviour

jcSearchOptions.setMaxResultCount(10);

jcSearchOptions.setMaxTime(10000);

jcSearchOptions.setReturnsNonHits(true); (SearchUtil.java)

16

Search in database

slide-17
SLIDE 17

Running a search - JChemSearch

JChemSearch jChemSearch = new JChemSearch(); jChemSearch.setConnectionHandler(connectionHandler); jChemSearch.setQueryStructure(query); // no need for aromatization! jChemSearch.setStructureTable(targetTable); jChemSearch.setSearchOptions(jcSearchOptions); jChemSearch.run(); (SearchUtil.java)

Cartridge example

SELECT id FROM mystructures WHERE jc_compare(smiles, 'Brc1ccccc1C=C Cc1cccc(Br)c1C Cc1ccccc1Br', 't:d') = 1;

17

Search in database

slide-18
SLIDE 18

Reusing objects

jChemSearch.setSearchOptions(jcSearchOptions); jChemSearch.run(); … jcSearchOptions.setOption("vagueBond", "3"); … // JChemSearchOptions object must be set again! jChemSearch.setSearchOptions(jcSearchOptions);

jChemSearch.getSearchOptions().setOption("vagueBond", "3"); (DatabaseSearchExample.java)

18

Search in database

slide-19
SLIDE 19

Manipulation

DB

structures queries

DB search Hits Manipulation Memory search

slide-20
SLIDE 20

Running search in a separate thread

jChemSearch.setRunMode(JChemSearch.RUN_MODE_ASYNCH_COMPLETE); jChemSearch.run(); while (jChemSearch.isRunning()) { String msg = jChemSearch.getProgressMessage(); int count = jChemSearch.getResultCount(); int lastId = jChemSearch.getCurrentId(); System.out.printf("Progress message: %s, result count: %d, " + "last cd_id: %d\n", msg, count, lastId); Thread.sleep(100); } System.out.println(jChemSearch.getResultCount() + " hit(s) found"); (AsyncSearchExample.java)

20

Search in database - asynchronous mode

slide-21
SLIDE 21

Similarity search

 Using default descriptor: chemical hashed fingerprint

jcso.setSearchType(SearchConstants.SIMILARITY); jcso.setDissimilarityThreshold(0.4);

 Using other descriptors: a descriptor table have to be created first!

gMD = new GenerateMD(); ... // set connection handler, structure table name etc. gMD.setDescriptor("myDescriptor", "ECFP", settings, null); gMD.init(); gMD.run(); jcso.setDescriptorName("myDescriptor"); (SimilaritySearchExample.java)

21

Search in database - similarity

slide-22
SLIDE 22

JChem Screen descriptors can be set up for JChem tables Available descriptors:

 ECFP, FCFP – extended connectivity fingerprint  pharmacophore fingerprint  BCUT  chemical fingerprint

Various metrics

 Tanimoto  Euclidean  Tversky,  Dice,  Sub, Super, etc

22

Search in database - descriptors

slide-23
SLIDE 23

Pre-filtering, ordering

 Filtering target molecules:

jcSearchOptions.setFilterQuery("SELECT cd_id FROM my_structures" + " WHERE cd_molweight < 500");

 Filter queries can also be used for ordering:

jcSearchOptions.setFilterQuery("SELECT cd_id FROM my_structures” + " ORDER BY cd_molweight");

 Filtering based on a separate table:

jcSearchOptions.setFilterQuery("SELECT cd_id" + " FROM stock_table" + " WHERE quantity > 20"); (SearchWithFilterQueryExample.java)

23

Search in database - filtering