RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
RDKit::SynthonSpaceSearch::SynthonSpace Class Reference

#include <SynthonSpace.h>

Public Member Functions

 SynthonSpace ()=default
 
 ~SynthonSpace ()=default
 
 SynthonSpace (const SynthonSpace &other)=delete
 
SynthonSpaceoperator= (const SynthonSpace &other)=delete
 
size_t getNumReactions () const
 
std::vector< std::string > getReactionNames () const
 
const std::shared_ptr< SynthonSetgetReaction (std::string reactionName)
 
unsigned int getPatternFPSize () const
 
unsigned int getFPSize () const
 
std::string getInputFileName () const
 
std::uint64_t getNumProducts () const
 
std::string getSynthonFingerprintType () const
 
SearchResults substructureSearch (const ROMol &query, const SubstructMatchParameters &matchParams=SubstructMatchParameters(), const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
SearchResults substructureSearch (const GeneralizedSubstruct::ExtendedQueryMol &query, const SubstructMatchParameters &matchParams=SubstructMatchParameters(), const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
SearchResults fingerprintSearch (const ROMol &query, const FingerprintGenerator< std::uint64_t > &fpGen, const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
SearchResults rascalSearch (const ROMol &query, const RascalMCES::RascalOptions &rascalOptions, const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
void readTextFile (const std::string &inFilename, bool &cancelled)
 
void writeDBFile (const std::string &outFilename) const
 
void readDBFile (const std::string &inFilename, int numThreads=1)
 
void summarise (std::ostream &os)
 
void writeEnumeratedFile (const std::string &outFilename) const
 
void buildSynthonFingerprints (const FingerprintGenerator< std::uint64_t > &fpGen)
 

Protected Member Functions

unsigned int getMaxNumSynthons () const
 
bool hasFingerprints () const
 
bool hasAddAndSubstractFingerprints () const
 
SynthonaddSynthonToPool (const std::string &smiles)
 
std::shared_ptr< SynthonSetaddReactionToPool (const std::string &reactionName)
 
SynthongetSynthonFromPool (const std::string &smiles) const
 

Friends

class SynthonSet
 
class SynthonSpaceSearcher
 
class SynthonSpaceFingerprintSearcher
 
class SynthonSpaceRascalSearcher
 

Detailed Description

Definition at line 123 of file SynthonSpace.h.

Constructor & Destructor Documentation

◆ SynthonSpace() [1/2]

RDKit::SynthonSpaceSearch::SynthonSpace::SynthonSpace ( )
explicitdefault

◆ ~SynthonSpace()

RDKit::SynthonSpaceSearch::SynthonSpace::~SynthonSpace ( )
default

◆ SynthonSpace() [2/2]

RDKit::SynthonSpaceSearch::SynthonSpace::SynthonSpace ( const SynthonSpace other)
delete

Member Function Documentation

◆ addReactionToPool()

std::shared_ptr< SynthonSet > RDKit::SynthonSpaceSearch::SynthonSpace::addReactionToPool ( const std::string &  reactionName)
protected

◆ addSynthonToPool()

Synthon * RDKit::SynthonSpaceSearch::SynthonSpace::addSynthonToPool ( const std::string &  smiles)
protected

◆ buildSynthonFingerprints()

void RDKit::SynthonSpaceSearch::SynthonSpace::buildSynthonFingerprints ( const FingerprintGenerator< std::uint64_t > &  fpGen)

Create the fingerprints for the synthons ready for fingerprint searches. Will be done by the fingerprint search if not done ahead of time.

Parameters
fpGena fingerprint generator of the appropriate type

◆ fingerprintSearch()

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::fingerprintSearch ( const ROMol query,
const FingerprintGenerator< std::uint64_t > &  fpGen,
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)

Perform a fingerprint similarity search with the given query molecule across the synthonspace library. Duplicate SMILES strings produced by different reactions will be returned.

Parameters
query: query molecule
fpGena FingerprintGenerator object that will provide the fingerprints for the similarity calculation
params: (optional) settings for the search
Returns
: the hits as a SearchResults object.

◆ getFPSize()

unsigned int RDKit::SynthonSpaceSearch::SynthonSpace::getFPSize ( ) const

◆ getInputFileName()

std::string RDKit::SynthonSpaceSearch::SynthonSpace::getInputFileName ( ) const

◆ getMaxNumSynthons()

unsigned int RDKit::SynthonSpaceSearch::SynthonSpace::getMaxNumSynthons ( ) const
inlineprotected

Definition at line 310 of file SynthonSpace.h.

◆ getNumProducts()

std::uint64_t RDKit::SynthonSpaceSearch::SynthonSpace::getNumProducts ( ) const

Get the total number of products that the SynthonSpace could produce.

Returns
std::int64_t

◆ getNumReactions()

size_t RDKit::SynthonSpaceSearch::SynthonSpace::getNumReactions ( ) const

Get the number of different reactions in the SynthonSpace.

Returns
int

◆ getPatternFPSize()

unsigned int RDKit::SynthonSpaceSearch::SynthonSpace::getPatternFPSize ( ) const

◆ getReaction()

const std::shared_ptr< SynthonSet > RDKit::SynthonSpaceSearch::SynthonSpace::getReaction ( std::string  reactionName)

◆ getReactionNames()

std::vector< std::string > RDKit::SynthonSpaceSearch::SynthonSpace::getReactionNames ( ) const

Get a list of the names of all the reactions in the SynthonSpace.

Returns

◆ getSynthonFingerprintType()

std::string RDKit::SynthonSpaceSearch::SynthonSpace::getSynthonFingerprintType ( ) const
inline

Get the info string for the fingerprint generator used to generate the stored fingerprints, so the user can query with the same type.

Returns

Definition at line 170 of file SynthonSpace.h.

◆ getSynthonFromPool()

Synthon * RDKit::SynthonSpaceSearch::SynthonSpace::getSynthonFromPool ( const std::string &  smiles) const
protected

◆ hasAddAndSubstractFingerprints()

bool RDKit::SynthonSpaceSearch::SynthonSpace::hasAddAndSubstractFingerprints ( ) const
protected

◆ hasFingerprints()

bool RDKit::SynthonSpaceSearch::SynthonSpace::hasFingerprints ( ) const
protected

◆ operator=()

SynthonSpace & RDKit::SynthonSpaceSearch::SynthonSpace::operator= ( const SynthonSpace other)
delete

◆ rascalSearch()

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::rascalSearch ( const ROMol query,
const RascalMCES::RascalOptions rascalOptions,
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)
Parameters
query: query molecule
rascalOptionsRASCAL options. The similarityThreshold value in the rascalOptions will be used rather than params.similarityCutoff, but params.fragSimilarityAdjuster will be used to adjust the threshold for the fragment comparisons.
params: (optional) settings for the search
Returns
: the hits as a SearchResults object.

◆ readDBFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::readDBFile ( const std::string &  inFilename,
int  numThreads = 1 
)

Reads from a binary DB File in our format.

Parameters
inFilenamethe name of the file to read.
numThreadsnumber of threads to use in reading. If negative, adds the number to the number of hardware threads available.

◆ readTextFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::readTextFile ( const std::string &  inFilename,
bool cancelled 
)
Parameters
inFilenamename of the file containing the synthon-based library.

The original format is: all lines are tab-separated first line:SMILES synton_id synton# reaction_id Note the spelling "synton" from the original paper/example file. Subsequent lines have a single reagent e.g. OCC([U])=NN=[Np] 1-1 0 triazole-1 C1CCCC1N([Pu])[U] 2-1 1 triazole-1 CC1CCN(C1)C(=[Np])[Pu] 3-1 2 triazole-1

Other acceptable formats are as above, but with a 5th column "release": SMILES synton_id synton# reaction_id release

or a comma-separated equivalent of the first format: SMILES,synton_id,synton_role,reaction_id but with the 3rd column named differently but with the same meaning. The formatting of the first 2 formats has been relaxed such that any whitespace may be used as the field separator.

Attachment points are U, Np, Pu and Am for up to 4 synthons per reaction. A product is created by taking a synthon from each synton# value and combining by replacing matching trans-uranic elements and replacing them with a direct bond of the appropriate type. A more (for RDKit) conventional connection flag of isotope labelled dummy atoms is also accepted ([1*] etc.). Throws a std::runtime_error if it doesn't think the format is correct, which it does by checking that the first line is as above and subsequent lines have appropriate number of fields. If it receives a SIGINT, returns cancelled=true.

◆ substructureSearch() [1/2]

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::substructureSearch ( const GeneralizedSubstruct::ExtendedQueryMol query,
const SubstructMatchParameters matchParams = SubstructMatchParameters(),
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)

Perform a substructure search with the given generalized query molecule across the synthonspace library. Duplicate SMILES strings produced by different reactions will be returned.

Parameters
query: query molecule
params: (optional) settings for the search
Returns
: the hits as a SearchResults object.

◆ substructureSearch() [2/2]

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::substructureSearch ( const ROMol query,
const SubstructMatchParameters matchParams = SubstructMatchParameters(),
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)

Perform a substructure search with the given query molecule across the synthonspace library. Duplicate SMILES strings produced by different reactions will be returned.

Parameters
query: query molecule
params: (optional) settings for the search
Returns
: the hits as a SearchResults object.

◆ summarise()

void RDKit::SynthonSpaceSearch::SynthonSpace::summarise ( std::ostream &  os)

Write a summary of the SynthonSpace to given stream.

Parameters
osstream

◆ writeDBFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::writeDBFile ( const std::string &  outFilename) const

Writes to a binary DB File in our format.

Parameters
outFilenamethe name of the file to write.

◆ writeEnumeratedFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::writeEnumeratedFile ( const std::string &  outFilename) const

Writes the enumerated library to file in SMILES format (1 compound per line, SMILES name)

Parameters
outFilenamename of the file to write

Friends And Related Symbol Documentation

◆ SynthonSet

Definition at line 124 of file SynthonSpace.h.

◆ SynthonSpaceFingerprintSearcher

Definition at line 126 of file SynthonSpace.h.

◆ SynthonSpaceRascalSearcher

Definition at line 127 of file SynthonSpace.h.

◆ SynthonSpaceSearcher

Definition at line 125 of file SynthonSpace.h.


The documentation for this class was generated from the following file: