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 (const SynthonSpace &other)=delete
 
SynthonSpaceoperator= (const SynthonSpace &other)=delete
 
size_t getNumReactions () const
 
const std::map< std::string, std::unique_ptr< SynthonSet > > & getReactions () const
 
std::int64_t getNumProducts () const
 
std::string getSynthonFingerprintType () const
 
SearchResults substructureSearch (const ROMol &query, const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
SearchResults fingerprintSearch (const ROMol &query, const FingerprintGenerator< std::uint64_t > &fpGen, const SynthonSpaceSearchParams &params=SynthonSpaceSearchParams())
 
void readTextFile (const std::string &inFilename)
 
void writeDBFile (const std::string &outFilename) const
 
void readDBFile (const std::string &inFilename)
 
void summarise (std::ostream &os) const
 
void writeEnumeratedFile (const std::string &outFilename) const
 
bool hasFingerprints () const
 
void buildSynthonFingerprints (const FingerprintGenerator< std::uint64_t > &fpGen)
 

Detailed Description

Definition at line 91 of file SynthonSpace.h.

Constructor & Destructor Documentation

◆ SynthonSpace() [1/2]

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

◆ SynthonSpace() [2/2]

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

Member Function Documentation

◆ buildSynthonFingerprints()

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

◆ fingerprintSearch()

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::fingerprintSearch ( const ROMol query,
const FingerprintGenerator< std::uint64_t > &  fpGen,
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)
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 SubstructureResults object.

◆ getNumProducts()

std::int64_t RDKit::SynthonSpaceSearch::SynthonSpace::getNumProducts ( ) const
Returns
std::int64_t

◆ getNumReactions()

size_t RDKit::SynthonSpaceSearch::SynthonSpace::getNumReactions ( ) const
inline
Returns
int

Definition at line 102 of file SynthonSpace.h.

◆ getReactions()

const std::map< std::string, std::unique_ptr< SynthonSet > > & RDKit::SynthonSpaceSearch::SynthonSpace::getReactions ( ) const
inline

Definition at line 103 of file SynthonSpace.h.

◆ getSynthonFingerprintType()

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

Definition at line 115 of file SynthonSpace.h.

◆ hasFingerprints()

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

◆ operator=()

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

◆ readDBFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::readDBFile ( const std::string &  inFilename)
Parameters
inFilenamethe name of the file to read.

◆ readTextFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::readTextFile ( const std::string &  inFilename)
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.

◆ substructureSearch()

SearchResults RDKit::SynthonSpaceSearch::SynthonSpace::substructureSearch ( const ROMol query,
const SynthonSpaceSearchParams params = SynthonSpaceSearchParams() 
)
Parameters
query: query molecule
params: (optional) settings for the search
Returns
: the hits as a SubstructureResults object.

◆ summarise()

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

◆ writeDBFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::writeDBFile ( const std::string &  outFilename) const
Parameters
outFilenamethe name of the file to write.

◆ writeEnumeratedFile()

void RDKit::SynthonSpaceSearch::SynthonSpace::writeEnumeratedFile ( const std::string &  outFilename) const
Parameters
outFilenamename of the file to write

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