Chromosome.h
00001 #ifndef _CHROMOSOME_H_
00002 #define _CHROMOSOME_H_
00003
00004 #include "GenomeSequence.h"
00005
00006 class Chromosome{
00007 public:
00008 explicit Chromosome(GenomeSequence* gs, uint chrosomeIndex);
00009 explicit Chromosome(GenomeSequence* gs, const char* chromosomeName);
00010 explicit Chromosome(const char* genomseSequenceFileName, uint chromosomeIndex, bool isColorSpace);
00011 explicit Chromosome(const std::string& genomseSequenceFileName, uint chromosomeIndex, bool isColorSpace);
00012 genomeIndex_t Length() const
00013 {
00014 return chromosomeSize;
00015 }
00016
00017 inline char operator[](genomeIndex_t index) const
00018 {
00019 index += offset;
00020 return (*gs)[index];
00021 }
00022 const char* Name() const {
00023 return gs->getChromosomeName(this->chromosomeIndex);
00024 }
00025 private:
00026 GenomeSequence* gs;
00027 int chromosomeIndex;
00028 genomeIndex_t offset;
00029 genomeIndex_t chromosomeSize;
00030 };
00031
00032 #endif