5 #ifndef BALL_STRUCTURE_FRAGMENTDB_H 6 #define BALL_STRUCTURE_FRAGMENTDB_H 8 #ifndef BALL_DATATYPE_STRINGHASHMAP_H 12 #ifndef BALL_KERNEL_RESIDUE_H 16 #ifndef BALL_KERNEL_MOLECULE_H 20 #ifndef BALL_KERNEL_BOND_H 24 #ifndef BALL_STRUCTURE_RECONSTRUCTFRAGMENTPROCESSOR_H 48 class AddHydrogensProcessor;
49 friend class FragmentDB::AddHydrogensProcessor;
91 NoFragmentNode(
const char* file,
int line,
const string& filename);
147 void setFilename(
const String& filename);
151 const String& getFilename()
const;
155 bool has(
const String& fragment_name)
const;
158 const std::vector<Residue*>&
getFragments()
const {
return fragments_;}
166 list<String> getVariantNames(
const String& name)
const;
182 const Residue* getResidue(
const String& fragment_name)
const;
216 const String& getDefaultNamingStandard()
const;
233 std::vector<String> getAvailableNamingStandards()
const;
243 bool isValid()
const;
288 void setNamingStandard(
const String& naming_standard);
292 const String& getNamingStandard();
296 bool matchName(
String& res_name,
String& atom_name,
const NameMap& map)
const;
305 virtual bool start();
309 virtual bool finish();
318 enum CountingMode { ADD, OVERWRITE };
320 bool doMatch_(
String& res_name,
const String& res_name_suffix,
String& atom_name,
const NameMap& map)
const;
324 void normalizeFragments_(
const NameMap* map,
const std::list<Fragment*>& frags);
325 void normalizeFragment_ (
const NameMap* map,
Fragment* frag);
331 std::list<Fragment*> fragments_;
382 virtual bool finish();
385 virtual bool start();
396 Size getNumberOfBondsBuilt();
399 void setFragmentDB(
const FragmentDB& fragment_db);
440 void storeConnections_(
Fragment& fragment);
553 std::vector<Residue*> fragments_;
556 NameMap name_to_path_;
571 #endif // BALL_STRUCTURE_FRAGMENTDB_H
const std::vector< Residue * > & getFragments() const
std::list< Fragment * > fragment_list_
ConnectionList connections_
ReconstructFragmentProcessor add_hydrogens
StringHashMap< String > NameMap
HashMap class based on the STL map (containing serveral convenience functions)
BuildBondsProcessor build_bonds
NormalizeNamesProcessor normalize_names
FragmentDB * fragment_db_
#define BALL_CREATE_DEEP(name)
std::list< Connection > ConnectionList