BALL 1.5.0
Loading...
Searching...
No Matches
rGroupAssembler.h
Go to the documentation of this file.
1// ----------------------------------------------------
2// $Maintainer: Marc Röttig $
3// $Authors: Michael Betz, Marc Röttig $
4// ----------------------------------------------------
5
6#ifndef BALL_STRUCTURE_RGROUP_ASSEMBLER_H
7#define BALL_STRUCTURE_RGROUP_ASSEMBLER_H
8
9#include <map>
10#include <vector>
11#include <BALL/KERNEL/forEach.h>
14#include <BALL/KERNEL/system.h>
16#include <BALL/KERNEL/atom.h>
17
18
19namespace BALL
20{
22 {
23 public:
24 RGroupAssembler(String& scaffold, std::map<String, std::vector<String> > & rgroups);
25 RGroupAssembler(std::vector<String>& scaffolds, std::map<String, std::vector<String> > & rgroups);
27
30
31 private:
32 void initCounter_();
33 bool incrementCounter_();
34 void appendMoiety_(AtomContainer* molecule, AtomContainer* moiety, String pm_atom);
35 bool isPlacemark_(const String& s);
36
37 std::vector<System*> scaffolds_;
38 std::map<String, std::vector<System*> > moieties_;
39
40 unsigned int scaffold_counter_;
41 std::map<String, unsigned int> moiety_counter_;
42 std::vector<std::map<String, unsigned int> > maxcounter_;
43
44 bool not_finished_;
45 };
46}
47
48#endif /* BALL_STRUCTURE_RGROUP_ASSEMBLER_H */
RGroupAssembler(String &scaffold, std::map< String, std::vector< String > > &rgroups)
RGroupAssembler(std::vector< String > &scaffolds, std::map< String, std::vector< String > > &rgroups)
Molecule * generateNextMolecule()
#define BALL_EXPORT