libStatGen Software 1
Loading...
Searching...
No Matches
Chromosome.h
1#ifndef _CHROMOSOME_H_
2#define _CHROMOSOME_H_
3
4#include "GenomeSequence.h"
5
7public:
8 explicit Chromosome(GenomeSequence* gs, unsigned int chrosomeIndex);
9 explicit Chromosome(GenomeSequence* gs, const char* chromosomeName);
10 explicit Chromosome(const char* genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace);
11 explicit Chromosome(const std::string& genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace);
12 genomeIndex_t Length() const
13 {
14 return chromosomeSize;
15 }
16 // 0-based index
17 inline char operator[](genomeIndex_t index) const
18 {
19 index += offset;
20 return (*gs)[index];
21 }
22 const char* Name() const {
23 return gs->getChromosomeName(this->chromosomeIndex);
24 }
25private:
27 int chromosomeIndex;
28 genomeIndex_t offset; // chromosome index 0 corresponds (*gs)[offset]
29 genomeIndex_t chromosomeSize; // return the length of the chromosome
30};
31
32#endif /* _CHROMOSOME_H_ */
Create/Access/Modify/Load Genome Sequences stored as binary mapped files.