libStatGen Software 1
Chromosome Class Reference

Public Member Functions

 Chromosome (GenomeSequence *gs, unsigned int chrosomeIndex)
 
 Chromosome (GenomeSequence *gs, const char *chromosomeName)
 
 Chromosome (const char *genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace)
 
 Chromosome (const std::string &genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace)
 
genomeIndex_t Length () const
 
char operator[] (genomeIndex_t index) const
 
const char * Name () const
 

Detailed Description

Definition at line 6 of file Chromosome.h.

Constructor & Destructor Documentation

◆ Chromosome() [1/4]

Chromosome::Chromosome ( GenomeSequence gs,
unsigned int  chrosomeIndex 
)
explicit

Definition at line 4 of file Chromosome.cpp.

5{
6 assert(gs);
7 assert(chromosomeIndex < (unsigned int)gs->getChromosomeCount());
8
9 this->gs = gs;
10 this->chromosomeIndex = chromosomeIndex;
11 this->offset = gs->getChromosomeStart((int)chromosomeIndex);
12 this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
13}
int getChromosomeCount() const
Return the number of chromosomes in the genome.
genomeIndex_t getChromosomeStart(int chromosomeIndex) const
given a chromosome, return the genome base it starts in
genomeIndex_t getChromosomeSize(int chromosomeIndex) const
given a chromosome, return its size in bases

◆ Chromosome() [2/4]

Chromosome::Chromosome ( GenomeSequence gs,
const char *  chromosomeName 
)
explicit

Definition at line 15 of file Chromosome.cpp.

16{
17 assert(gs);
18 this->gs = gs;
19
20 this->chromosomeIndex = gs->getChromosome(chromosomeName);
21 assert(chromosomeIndex != INVALID_CHROMOSOME_INDEX);
22
23 this->offset = gs->getChromosomeStart((int)chromosomeIndex);
24 this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
25}
int getChromosome(genomeIndex_t position) const
given a whole genome index, get the chromosome it is located in

◆ Chromosome() [3/4]

Chromosome::Chromosome ( const char *  genomseSequenceFileName,
unsigned int  chromosomeIndex,
bool  isColorSpace 
)
explicit

Definition at line 27 of file Chromosome.cpp.

28{
29 std::string s(genomseSequenceFileName);
30 gs = new GenomeSequence;
31 assert(gs);
32 gs->setReferenceName(s);
33 assert(!gs->open(isColorSpace));
34 this->chromosomeIndex = chromosomeIndex;
35 this->offset = gs->getChromosomeStart((int)chromosomeIndex);
36 this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
37}
Create/Access/Modify/Load Genome Sequences stored as binary mapped files.
bool setReferenceName(std::string referenceFilename)
set the reference name that will be used in open()
bool open(bool isColorSpace=false, int flags=O_RDONLY)
open the reference specified using GenomeSequence::setReferenceName

◆ Chromosome() [4/4]

Chromosome::Chromosome ( const std::string &  genomseSequenceFileName,
unsigned int  chromosomeIndex,
bool  isColorSpace 
)
explicit

Definition at line 39 of file Chromosome.cpp.

40{
41 gs = new GenomeSequence;
42 assert(gs);
43 gs->setReferenceName(genomseSequenceFileName);
44 assert(!gs->open(isColorSpace));
45 this->chromosomeIndex = chromosomeIndex;
46 this->offset = gs->getChromosomeStart((int)chromosomeIndex);
47 this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
48}

Member Function Documentation

◆ Length()

genomeIndex_t Chromosome::Length ( ) const
inline

Definition at line 12 of file Chromosome.h.

13 {
14 return chromosomeSize;
15 }

◆ Name()

const char * Chromosome::Name ( ) const
inline

Definition at line 22 of file Chromosome.h.

22 {
23 return gs->getChromosomeName(this->chromosomeIndex);
24 }

◆ operator[]()

char Chromosome::operator[] ( genomeIndex_t  index) const
inline

Definition at line 17 of file Chromosome.h.

18 {
19 index += offset;
20 return (*gs)[index];
21 }

The documentation for this class was generated from the following files: