SecondStruct

This class encapsulate all the reading of the secondary structure from the PDB file and gives various methods of verification on them

[ GAMB | Source | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

KEWORDS
AUTHORS
CHANGES LOG
GOALS
USAGE

Class Summary

class SecondStruct

{
public:
// Constructors
SecondStruct();
explicit SecondStruct(const char* const PDBFileName);
SecondStruct(const SecondStruct& ss);
// Data members infromation
const Helices& AlphaHelices() const;
const Sheets& BetaSheets() const;
static void readSSFromPDBFile(const char* const pdbFileName, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromPDBFile(ifstream& pdbStream, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromDsspFile(const char* const dsspFileName, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromDsspFile(ifstream& dsspStream, vector< Helix>& helices, vector< Strand>& strands);
static bool isDsspHelix(char dsspSSType) ;
SecondStruct& operator=(const SecondStruct& rhs);
// Inspecting particular information
Helix& operator[](const int helixId);
Sheet& operator[](const char sheetId);
// Adding information
void addAHelix(const Helix& helix);
void addBSheet(const Sheet& sheet);
// Atoms belogning inspections
bool isResInAHelix(const short helixNum, const int resNum) const;
bool isInBSheet(const char sheetId[], const int resNum) const;
bool isFromSameSS(const vector< short>& indices);
bool isFromSameSS(const short indices[], int len);
SSType residueInSS(const int resNum) const;
short numOfAHelix(const int resNum) const;
const char* numOfBSheet(const int resNum) const;
pair< const char *,short> sheetAndStrandId(const int resNum) const;
friend ostream& operator<<(ostream& s, const SecondStruct& sst);
protected:
}; // SecondStruct

Back to the top of SecondStruct


KEWORDS

secondary, structure, alpha, helix, beta, strand, sheet, connection, molecule, atom, PDB

Back to the top of SecondStruct


AUTHORS

Zipi Fligelamn (zipo@math.tau.ac.il)

Copyright: SAMBA group, Tel-Aviv Univ. Israel, 1999.

Back to the top of SecondStruct


CHANGES LOG

Back to the top of SecondStruct


GOALS

The goals of this class is save for the user the need to anderstand all the particulars of the representaion of the secondary structures in the PDB and yet allow him to use its infromation. The class has various quering methods

Back to the top of SecondStruct


USAGE

Back to the top of SecondStruct


SecondStruct();

Empty Constructor

  SecondStruct();

Back to the top of SecondStruct


explicit SecondStruct(const char* const PDBFileName);

A constructor that will read all the relevand infromation from the PDB file and then close it

  explicit SecondStruct(const char* const PDBFileName); 

Back to the top of SecondStruct


SecondStruct(const SecondStruct& ss);

Copy constructor

  SecondStruct(const SecondStruct& ss);

Back to the top of SecondStruct


const Helices& AlphaHelices() const;

The small array of Helices

  inline const Helices& AlphaHelices() const;

Function is currently defined inline.


Back to the top of SecondStruct


const Sheets& BetaSheets() const;

The small array of BetaSheets

  inline const Sheets&  BetaSheets() const;

Function is currently defined inline.


Back to the top of SecondStruct


void readSSFromPDBFile(const char* const pdbFileName, vector< Helix>& helices, vector< Strand>& strands);

Read all the relevant information about the helices and the strands of the molecule, descibed in the givan PDB file and then close it author: Oranit Shem-Tov (ornit@math.tau.ac.il)

  static void readSSFromPDBFile(const char* const pdbFileName,
				vector< Helix>& helices,
				vector< Strand>& strands); 

Back to the top of SecondStruct


void readSSFromPDBFile(ifstream& pdbStream, vector< Helix>& helices, vector< Strand>& strands);

Read all the relevant information about the helices and the strands of the molecule, descibed in the givan PDB stream. Note: After invoking the method, the stream stays open. Author: Oranit Shem-Tov (ornit@math.tau.ac.il)

  static void readSSFromPDBFile(ifstream& pdbStream,
				vector< Helix>& helices,
				vector< Strand>& strands);

Back to the top of SecondStruct


void readSSFromDsspFile(const char* const dsspFileName, vector< Helix>& helices, vector< Strand>& strands);

Read all the relevant information about the helices and the strands of the molecule, descibed in the givan DSSP file and then close it author: Oranit Shem-Tov (ornit@math.tau.ac.il)

  static void readSSFromDsspFile(const char* const dsspFileName,
				 vector< Helix>& helices,
				 vector< Strand>& strands); 

Back to the top of SecondStruct


void readSSFromDsspFile(ifstream& dsspStream, vector< Helix>& helices, vector< Strand>& strands);

Read all the relevant information about the helices and the strands of the molecule, descibed in the givan DSSP stream. Note: After invoking the method, the stream stays open. Author: Oranit Shem-Tov (ornit@math.tau.ac.il) Implementation Note: The format of the DSSP format is described in the following URL: http://www.cmbi.kun.nl/gv/dssp/descrip.html

  static void readSSFromDsspFile(ifstream& dsspStream,
                                 vector< Helix>& helices,
                                 vector< Strand>& strands);

Back to the top of SecondStruct


bool isDsspHelix(char dsspSSType) ;

Gets a char which represents a secondary structure assignment and determines if it a helix. Author: Oranit Shem-Tov (ornit@math.tau.ac.il)

  static bool isDsspHelix(char dsspSSType)                                                                                                                                                       
;

Function is currently defined inline.


Back to the top of SecondStruct


SecondStruct& operator=(const SecondStruct& rhs);

a safe assignment operator

    SecondStruct& operator=(const SecondStruct& rhs);

Back to the top of SecondStruct


Helix& operator[](const int helixId);

Requesting a certain helix by its id.

    Helix& operator[](const int helixId);

Back to the top of SecondStruct


Sheet& operator[](const char sheetId);

Requesting a certain sheet by its letter id. If it not found the end of the vector is returned The user need to check this out before proceeding A particular strand can afterwood be requested since the BetaSheet class inherits from SmallArray where a operator[] is defined

    Sheet& operator[](const char sheetId);

Back to the top of SecondStruct


void addAHelix(const Helix& helix);

Adding a new Helix

    void addAHelix(const Helix& helix);

Back to the top of SecondStruct


void addBSheet(const Sheet& sheet);

Adding a new Beta sheet

    void addBSheet(const Sheet& sheet);

Back to the top of SecondStruct


bool isResInAHelix(const short helixNum, const int resNum) const;

Checking whether a certain residue in a certain chain is located in a particular alpha helix

    bool isResInAHelix(const short helixNum, const int resNum) const;

Back to the top of SecondStruct


bool isInBSheet(const char sheetId[], const int resNum) const;

Checking whether a certain residue in a certain chain is located in a particular beta sheet Since this is done by checking all the strands until finding the strand that the residue is in it, this act might be computationally expensive

    bool isInBSheet(const char sheetId[],  const int resNum) const;

Back to the top of SecondStruct


bool isFromSameSS(const vector< short>& indices);

given a vector of indecises will return true if the indices come from the same SS structure or not at the moment atoms that come from the same sheet but not from the same strand are considered as from different SS

    bool isFromSameSS(const vector< short>& indices);

Back to the top of SecondStruct


bool isFromSameSS(const short indices[], int len);

same as above only with a regular array.

    bool isFromSameSS(const short indices[], int len);

Back to the top of SecondStruct


SSType residueInSS(const int resNum) const;

Making a general search on all the secondary structures returning the type if the residue was found in one of them and known if not

    SSType residueInSS(const int resNum) const;

Back to the top of SecondStruct


short numOfAHelix(const int resNum) const;

Looking for the residue in all the helices and returning the helix number if found, and -1 if not.

    short numOfAHelix(const int resNum) const;

Back to the top of SecondStruct


const char* numOfBSheet(const int resNum) const;

Looking for the residue in all the sheets and returning the char id of the sheet if found, and '\0' if not

    const char* numOfBSheet(const int resNum) const;

Back to the top of SecondStruct


pair< const char *,short> sheetAndStrandId(const int resNum) const;

Looking for the residue in all the sheets and returning a pair the pointer to the char[3] id of the sheet if found, and NULL if not, as the first argument. The strand number in case there is a sheet and -1 if not.

    pair< const char *,short> sheetAndStrandId(const int resNum) const;

Back to the top of SecondStruct


friend ostream& operator<<(ostream& s, const SecondStruct& sst);

Listing of all the secondary structure in the printing format defined inside Helix, Strand and BetaSheet classes

  friend ostream& operator<<(ostream& s, const SecondStruct& sst);

Back to the top of SecondStruct


All Members

public:
// Constructors
explicit SecondStruct(const char* const PDBFileName);
// Data members infromation
const Helices& AlphaHelices() const;
const Sheets& BetaSheets() const;
static void readSSFromPDBFile(const char* const pdbFileName, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromPDBFile(ifstream& pdbStream, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromDsspFile(const char* const dsspFileName, vector< Helix>& helices, vector< Strand>& strands);
static void readSSFromDsspFile(ifstream& dsspStream, vector< Helix>& helices, vector< Strand>& strands);
static bool isDsspHelix(char dsspSSType) ;
SecondStruct& operator=(const SecondStruct& rhs);
// Inspecting particular information
Helix& operator[](const int helixId);
Sheet& operator[](const char sheetId);
// Adding information
void addAHelix(const Helix& helix);
void addBSheet(const Sheet& sheet);
// Atoms belogning inspections
bool isResInAHelix(const short helixNum, const int resNum) const;
bool isInBSheet(const char sheetId[], const int resNum) const;
bool isFromSameSS(const vector< short>& indices);
bool isFromSameSS(const short indices[], int len);
SSType residueInSS(const int resNum) const;
short numOfAHelix(const int resNum) const;
const char* numOfBSheet(const int resNum) const;
pair< const char *,short> sheetAndStrandId(const int resNum) const;
friend ostream& operator<<(ostream& s, const SecondStruct& sst);
protected:

Back to the top of SecondStruct


Ancestors

Class does not inherit from any other class.

Back to the top of SecondStruct


Descendants

Class is not inherited by any others.

Back to the top of SecondStruct


Generated from source by the Cocoon utilities on Sun Nov 15 13:35:26 2009 .

Report problems to jkotula@unimax.com