BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
00001 /**************************************************************************** 00002 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 The BioBhasha : The Biologist's Programming Language 00004 Version 1.0 (19th December 2001) 00005 Prasad, B.V.L.S. 00006 Contact: burrashiva@yahoo.com 00007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00008 *****************************************************************************/ 00009 00010 #ifndef BIOSECONDARYSTRUCTURE_H 00011 #define BIOSECONDARYSTRUCTURE_H 00012 00013 #include "BioPdbHelix.h" 00014 #include "BioPdbSheet.h" 00015 #include "BioPdbTurn.h" 00016 #include <vector> 00017 #include <string> 00018 00019 class BioSecondaryStructure 00020 { 00021 vector<BioPdbHelix>helix_; 00022 vector<BioPdbSheet>sheet_; 00023 vector<BioPdbTurn>turn_; 00024 string FILE; 00025 00026 00027 void countChainIds(void); 00028 string chainIds; 00029 void setSecStr(vector < string > ); 00030 00031 public: 00032 BioSecondaryStructure(const string& ); 00033 00034 00035 int getNumberOfSheets(); 00036 int getNumberOfHelices(); 00037 int getNumberOfTurns(); 00038 00039 int getNumberOfHelices(char chai_id); 00040 int getNumberOfTurns(char chai_id); 00041 00042 int getNumberOfHelices(int index); 00043 int getNumberOfTurns(int index); 00044 00045 00046 char getSecondaryStructureChainId(int index); 00047 int getNumberOfSecondaryStructureChainIds(); 00048 00049 void getSheetDirectionCosines(int); 00050 00051 void showHelixDirectionCosines(int); 00052 void showHelixDirectionCosines(BioProteinChain&,int); 00053 00054 vector<BioMatrix> getHelixDirectionCosines(); 00055 00056 void showSheetIds(ostream& = cout); 00057 void showHelixIds(ostream& = cout); 00058 void showTurnIds(ostream& = cout); 00059 00060 int getHelixIdIndex(const string& ); 00061 int getTurnIdIndex(const string& ); 00062 int getSheetIdIndex(const string& ); 00063 00064 BioPdbHelix getHelix(char ch_id ,int helix_index); 00065 BioPdbTurn getTurn(char ch_id ,int); 00066 BioPdbSheet getSheet(int); 00067 00068 BioPdbHelix getHelix(int ch_id_index,int helix_index); 00069 BioPdbTurn getTurn(int ch_id_index,int turn_index); 00070 00071 00072 00073 void showAllHelixSequences(ostream& = cout); 00074 string getHelixSequence(int index); 00075 00076 void showAllTurnSequences(ostream& = cout); 00077 string getTurnSequence(int index); 00078 00079 void showAllSheetSequences(ostream& = cout); 00080 string getSheetSequence(int shIndex, int strIndex); 00081 00082 void showSecondaryStructure(int index, BioPostScript& ps,float startx=50,float starty=800,float width=475); 00083 void showSecondaryStructure(char index, BioPostScript& ps,float startx=50,float starty=800,float width=475); 00084 00085 string getSecondaryStructureSequence(int index); 00086 string getSecondaryStructureSequence(char chainID); 00087 00088 00089 00090 // BioPdbSheet getStrand(int chainid, int); 00091 // BioPdbSheet getStrand(char chainid, int); 00092 // int getNumberOfStrands(int chain_index); 00093 // int getNumberOfStrands(char chai_id); 00094 }; 00095 00096 #endif 00097 00098