00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef DSR_MODEL_H_
00022 #define DSR_MODEL_H_
00023 #include <dsrpdb/Protein.h>
00024 #include <vector>
00025 #include <string>
00026
00027 namespace dsrpdb {
00028
00029 class PDB;
00030
00032
00035 class Model {
00036 friend class PDB;
00037 public:
00039 Model();
00041 Model(unsigned int i);
00042
00044 size_t number_of_chains() const;
00046 Protein &chain(unsigned int i);
00048 const Protein &chain(unsigned int i) const;
00049
00051 void new_chain(const Protein &p);
00052
00054 void write(std::ostream &out) const;
00055
00057 int index() const{return index_;}
00058
00060 void set_index(int ind) {index_=ind;}
00061 protected:
00062 void process_line(const char *c);
00063
00064 std::vector<std::string> extra_;
00065 std::vector<Protein> chains_;
00066 int index_;
00067 };
00068 }
00069 #endif