00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_MOL_ALG_DISTANCE_TEST_COMMON_HH
00020 #define OST_MOL_ALG_DISTANCE_TEST_COMMON_HH
00021
00022 #include <ost/mol/entity_view.hh>
00023 #include <ost/mol/alg/module_config.hh>
00024
00025 namespace ost { namespace mol { namespace alg {
00026
00032 String DLLEXPORT_OST_MOL_ALG SwappedName(const String& name);
00033
00038 bool DLLEXPORT_OST_MOL_ALG Swappable(const String& rname, const String& aname);
00039
00043 class DLLEXPORT_OST_MOL_ALG UniqueAtomIdentifier
00044 {
00045
00046 public:
00048 UniqueAtomIdentifier(const String& chain,const ResNum& residue,const String& residue_name, const String& atom): chain_(chain),residue_(residue),residue_name_(residue_name),atom_(atom) {}
00049
00050
00051 UniqueAtomIdentifier(): chain_(""),residue_(ResNum(1)),residue_name_(""),atom_("") {}
00052
00054 String GetChainName() const { return chain_; }
00055
00057 ResNum GetResNum() const { return residue_; }
00058
00060 String GetResidueName() const { return residue_name_; }
00061
00063 String GetAtomName() const { return atom_; }
00064
00066 String GetQualifiedAtomName() const ;
00067
00068
00069 bool operator==(const UniqueAtomIdentifier& rhs) const ;
00070
00071
00072 bool operator<(const UniqueAtomIdentifier& rhs) const;
00073
00074 private:
00075
00076 String chain_;
00077 ResNum residue_;
00078 String residue_name_;
00079 String atom_;
00080 };
00081
00082
00083 typedef std::pair<UniqueAtomIdentifier,UniqueAtomIdentifier> UAtomIdentifiers;
00084
00089 typedef std::map<std::pair<UniqueAtomIdentifier,UniqueAtomIdentifier>,std::pair<Real,Real> > ResidueRDMap;
00090
00095 typedef std::map<ost::mol::ResNum,ResidueRDMap> GlobalRDMap;
00096
00097
00098 typedef std::map<UniqueAtomIdentifier,int> ExistenceMap;
00099
00100 }}}
00101
00102 #endif