Skip to content

Commit

Permalink
Store read-to-tig alignments in tgStore, fix (but not fully) multiali…
Browse files Browse the repository at this point in the history
…gnment output.
  • Loading branch information
brianwalenz committed Jan 17, 2019
1 parent dc94228 commit a6871e4
Show file tree
Hide file tree
Showing 4 changed files with 357 additions and 232 deletions.
59 changes: 32 additions & 27 deletions src/stores/tgTig.C
Original file line number Diff line number Diff line change
Expand Up @@ -67,23 +67,23 @@ tgPosition::tgPosition() {


tgTigRecord::tgTigRecord() {
_tigID = UINT32_MAX;
_tigID = UINT32_MAX;

_coverageStat = 0.0;
_coverageStat = 0.0;

_sourceID = 0;
_sourceBgn = 0;
_sourceEnd = 0;
_sourceID = 0;
_sourceBgn = 0;
_sourceEnd = 0;

_class = tgTig_noclass;
_suggestRepeat = false;
_suggestCircular = false;
_spare = 0;
_class = tgTig_noclass;
_suggestRepeat = false;
_suggestCircular = false;
_spare = 0;

_layoutLen = 0;
_gappedLen = 0;
_childrenLen = 0;
_childDeltasLen = 0;
_layoutLen = 0;
_gappedLen = 0;
_childrenLen = 0;
_childDeltaBitsLen = 0;
}


Expand Down Expand Up @@ -123,9 +123,8 @@ tgTig::tgTig() {
_childrenLen = 0;
_childrenMax = 0;

_childDeltas = NULL;
_childDeltasLen = 0;
_childDeltasMax = 0;
_childDeltaBitsLen = 0;
_childDeltaBits = NULL;
}

tgTig::~tgTig() {
Expand All @@ -135,7 +134,7 @@ tgTig::~tgTig() {
delete [] _ungappedQuals;
delete [] _gappedToUngapped;
delete [] _children;
delete [] _childDeltas;
delete _childDeltaBits;
}


Expand All @@ -161,7 +160,7 @@ tgTigRecord::operator=(tgTig & tg) {

_gappedLen = tg._gappedLen;
_childrenLen = tg._childrenLen;
_childDeltasLen = tg._childDeltasLen;
_childDeltaBitsLen = tg._childDeltaBitsLen;

return(*this);
}
Expand All @@ -187,7 +186,7 @@ tgTig::operator=(tgTigRecord & tr) {
_layoutLen = tr._layoutLen;
_gappedLen = tr._gappedLen;
_childrenLen = tr._childrenLen;
_childDeltasLen = tr._childDeltasLen;
_childDeltaBitsLen = tr._childDeltaBitsLen;

return(*this);
}
Expand Down Expand Up @@ -239,8 +238,11 @@ tgTig::operator=(tgTig & tg) {
_childrenLen = tg._childrenLen;
duplicateArray(_children, _childrenLen, _childrenMax, tg._children, tg._childrenLen, tg._childrenMax);

_childDeltasLen = tg._childDeltasLen;
duplicateArray(_childDeltas, _childDeltasLen, _childDeltasMax, tg._childDeltas, tg._childDeltasLen, tg._childDeltasMax);
_childDeltaBitsLen = tg._childDeltaBitsLen;
_childDeltaBits = NULL;

if (tg._childDeltaBits)
_childDeltaBits = new stuffedBits(*tg._childDeltaBits);

return(*this);
}
Expand Down Expand Up @@ -353,7 +355,11 @@ tgTig::clear(void) {
_gappedLen = 0;
_ungappedLen = 0;
_childrenLen = 0;
_childDeltasLen = 0;

delete _childDeltaBits;

_childDeltaBitsLen = 0;
_childDeltaBits = NULL;
}


Expand Down Expand Up @@ -398,8 +404,8 @@ tgTig::saveToStream(FILE *F) {
if (_childrenLen > 0)
writeToFile(_children, "tgTig::saveToStream::children", _childrenLen, F);

if (_childDeltasLen > 0)
writeToFile(_childDeltas, "tgTig::saveToStream::childDeltas", _childDeltasLen, F);
if (_childDeltaBitsLen > 0)
_childDeltaBits->dumpToFile(F);
}


Expand Down Expand Up @@ -453,13 +459,12 @@ tgTig::loadFromStream(FILE *F) {
// Allocate space for reads and alignments, and load them.

resizeArray(_children, 0, _childrenMax, _childrenLen, resizeArray_doNothing);
resizeArray(_childDeltas, 0, _childDeltasMax, _childDeltasLen, resizeArray_doNothing);

if (_childrenLen > 0)
loadFromFile(_children, "tgTig::savetoStream::children", _childrenLen, F);

if (_childDeltasLen > 0)
loadFromFile(_childDeltas, "tgTig::loadFromStream::childDeltas", _childDeltasLen, F);
if (_childDeltaBitsLen > 0)
_childDeltaBits = new stuffedBits(F);

// Return success.

Expand Down
8 changes: 4 additions & 4 deletions src/stores/tgTig.H
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "AS_global.H"

#include "sqStore.H"
#include "bits.H"

#include <map>
using namespace std;
Expand Down Expand Up @@ -247,7 +248,7 @@ public:
uint32 _layoutLen;
uint32 _gappedLen;
uint32 _childrenLen;
uint32 _childDeltasLen;
uint32 _childDeltaBitsLen;
};


Expand Down Expand Up @@ -381,9 +382,8 @@ public:
uint32 _childrenLen;
uint32 _childrenMax;

int32 *_childDeltas; // deltas for all objects in the _children list
uint32 _childDeltasLen;
uint32 _childDeltasMax;
uint32 _childDeltaBitsLen;
stuffedBits *_childDeltaBits;

// Flags for computing consensus/multialignments

Expand Down
Loading

0 comments on commit a6871e4

Please sign in to comment.