1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include <cassert>
#include "Chromosome.h"
Chromosome::Chromosome(GenomeSequence* gs, unsigned int chromosomeIndex)
{
assert(gs);
assert(chromosomeIndex < (unsigned int)gs->getChromosomeCount());
this->gs = gs;
this->chromosomeIndex = chromosomeIndex;
this->offset = gs->getChromosomeStart((int)chromosomeIndex);
this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
}
Chromosome::Chromosome(GenomeSequence* gs, const char* chromosomeName)
{
assert(gs);
this->gs = gs;
this->chromosomeIndex = gs->getChromosome(chromosomeName);
assert(chromosomeIndex != INVALID_CHROMOSOME_INDEX);
this->offset = gs->getChromosomeStart((int)chromosomeIndex);
this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
}
Chromosome::Chromosome(const char* genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace)
{
std::string s(genomseSequenceFileName);
gs = new GenomeSequence;
assert(gs);
gs->setReferenceName(s);
assert(!gs->open(isColorSpace));
this->chromosomeIndex = chromosomeIndex;
this->offset = gs->getChromosomeStart((int)chromosomeIndex);
this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
}
Chromosome::Chromosome(const std::string& genomseSequenceFileName, unsigned int chromosomeIndex, bool isColorSpace)
{
gs = new GenomeSequence;
assert(gs);
gs->setReferenceName(genomseSequenceFileName);
assert(!gs->open(isColorSpace));
this->chromosomeIndex = chromosomeIndex;
this->offset = gs->getChromosomeStart((int)chromosomeIndex);
this->chromosomeSize = gs->getChromosomeSize((int)chromosomeIndex);
}
|