RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
SynthonSpaceHitSet.h
Go to the documentation of this file.
1//
2// Copyright (C) David Cosgrove 2024.
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10
11#ifndef SYNTHONSPACEHITSET_H
12#define SYNTHONSPACEHITSET_H
13
14#include <numeric>
15#include <string>
16#include <vector>
17
18#include <RDGeneral/export.h>
19#include <GraphMol/ROMol.h>
21
23// Holds the information about a set of hits. The molecules can be built
24// by making all combinations of synthons, one taken from each synthon set.
25// The synthons are copied from the SynthonSet so it is not needed to
26// build the hits.
30 const std::vector<std::vector<size_t>> &stu,
31 const std::vector<std::unique_ptr<ROMol>> &fragSet);
34 virtual ~SynthonSpaceHitSet() = default;
37
38 const SynthonSet *d_reaction{nullptr};
39 std::vector<std::vector<std::pair<std::string, const ROMol *>>> synthonsToUse;
40 size_t numHits{0};
41 // The fragments that this hitset is derived from, useful for debugging.
42 std::vector<const ROMol *> frags;
43};
44
45// This sub-class holds results from a SynthonSpaceFingerprintSearch.
46// It needs pointers to the synthon fingerprints as well.
51 const std::vector<std::vector<size_t>> &stu,
52 const std::vector<std::unique_ptr<ROMol>> &fragSet);
58
59 std::vector<std::vector<ExplicitBitVect *>> synthonFPs;
62};
63
64} // namespace RDKit::SynthonSpaceSearch
65#endif // SYNTHONSPACEHITSET_H
Defines the primary molecule class ROMol as well as associated typedefs.
a class for bit vectors that are densely occupied
#define RDKIT_SYNTHONSPACESEARCH_EXPORT
Definition export.h:545
SynthonSpaceFPHitSet(const SynthonSet &reaction, const std::vector< std::vector< size_t > > &stu, const std::vector< std::unique_ptr< ROMol > > &fragSet)
SynthonSpaceFPHitSet(SynthonSpaceFPHitSet &&lhs)=delete
std::vector< std::vector< ExplicitBitVect * > > synthonFPs
SynthonSpaceFPHitSet & operator=(SynthonSpaceFPHitSet &&rhs)=delete
SynthonSpaceFPHitSet & operator=(const SynthonSpaceFPHitSet &rhs)=delete
SynthonSpaceFPHitSet(const SynthonSpaceFPHitSet &lhs)=delete
SynthonSpaceHitSet(const SynthonSet &reaction, const std::vector< std::vector< size_t > > &stu, const std::vector< std::unique_ptr< ROMol > > &fragSet)
SynthonSpaceHitSet & operator=(const SynthonSpaceHitSet &rhs)=delete
SynthonSpaceHitSet(const SynthonSpaceHitSet &lhs)=delete
SynthonSpaceHitSet(SynthonSpaceHitSet &&lhs)=delete
std::vector< std::vector< std::pair< std::string, const ROMol * > > > synthonsToUse
SynthonSpaceHitSet & operator=(SynthonSpaceHitSet &&rhs)=delete