Commit 107f803e authored by Neil Kindlon's avatar Neil Kindlon
Browse files

Added -mean to coverage w/ unit test

parent 45321a47
......@@ -47,6 +47,10 @@ void CoverageFile::processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits
doPerBase(outputMgr, hits);
break;
case ContextCoverage::MEAN:
doMean(outputMgr, hits);
break;
case ContextCoverage::HIST:
doHist(outputMgr, hits);
break;
......@@ -55,6 +59,7 @@ void CoverageFile::processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits
default:
doDefault(outputMgr, hits);
break;
}
}
......@@ -139,7 +144,7 @@ void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
{
//loop through all bases in query, printing full record and metrcis for each
//loop through all bases in query, printing full record and metrics for each
const Record * queryRec = hits.getKey();
for (size_t i= 0; i < _queryLen; i++) {
_finalOutput = i +1;
......@@ -150,6 +155,17 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
}
}
void CoverageFile::doMean(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
{
size_t sum =0;
for (size_t i= 0; i < _queryLen; i++) {
sum += _depthArray[i];
}
format((float)sum / (float)_queryLen);
outputMgr->printRecord(hits.getKey(), _finalOutput);
}
void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
{
//make a map of depths to num bases with that depth
......@@ -200,4 +216,3 @@ void CoverageFile::format(float val)
sprintf(_floatValBuf, "%0.7f", val);
_finalOutput.append(_floatValBuf);
}
......@@ -43,6 +43,7 @@ protected:
void doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits);
void doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits);
void doMean(RecordOutputMgr *outputMgr, RecordKeyVector &hits);
void doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits);
void doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits);
......
......@@ -34,6 +34,8 @@ void coverage_help(void) {
cerr << "\t-counts\t" << "Only report the count of overlaps, don't compute fraction, etc." << endl << endl;
cerr << "\t-mean\t" << "Report the mean depth of all positions in each A feature." << endl << endl;
IntersectCommonHelp();
sortedHelp();
......
......@@ -11,9 +11,12 @@ ContextCoverage::ContextCoverage()
: _count(false),
_perBase(false),
_showHist(false),
_coverageType(DEFAULT)
_coverageType(DEFAULT),
_usingColOps(false)
{
setExplicitBedOutput(true); //do not allow BAM output
setColumnOpsMethods(true);
}
......@@ -36,6 +39,10 @@ bool ContextCoverage::parseCmdArgs(int argc, char **argv, int skipFirstArgs) {
if (strcmp(_argv[_i], "-hist") == 0) {
if (!handle_hist()) return false;
}
if (strcmp(_argv[_i], "-mean") == 0) {
if (!handle_mean()) return false;
}
}
return ContextIntersect::parseCmdArgs(argc, argv, _skipFirstArgs);
}
......@@ -46,8 +53,8 @@ bool ContextCoverage::isValidState()
return false;
}
//Can only use one output option. Were two or more set?
if (((int)_count + (int)_perBase + (int)_showHist) > 1) {
_errorMsg = "\n***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****";
if (((int)_count + (int)_perBase + (int)_showHist) + (int)_mean > 1) {
_errorMsg = "\n***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****";
return false;
}
......@@ -76,3 +83,11 @@ bool ContextCoverage::handle_hist()
markUsed(_i - _skipFirstArgs);
return true;
}
bool ContextCoverage::handle_mean()
{
_mean = true;
_coverageType = MEAN;
markUsed(_i - _skipFirstArgs);
return true;
}
......@@ -19,18 +19,22 @@ public:
virtual bool hasIntersectMethods() const { return true; }
virtual bool isValidState();
typedef enum { DEFAULT, COUNT, PER_BASE, HIST } coverageType;
typedef enum { DEFAULT, COUNT, PER_BASE, HIST, MEAN } coverageType;
coverageType getCoverageType() const { return _coverageType; }
virtual bool usingColOps() const { return _usingColOps; }
private:
bool _count;
bool _perBase;
bool _showHist;
bool _mean;
coverageType _coverageType;
bool _usingColOps;
bool handle_c();
bool handle_d();
bool handle_hist();
bool handle_mean();
};
......
......@@ -41,12 +41,12 @@ rm *.bam
echo " coverage.t2...\c"
echo \
"chr1 20 70 6 25 + 2 50 50 1.0000000
chr1 50 100 1 25 - 2 50 50 1.0000000
chr1 200 250 3 25 + 1 50 50 1.0000000
chr2 80 130 5 25 - 1 50 50 1.0000000
chr2 150 200 4 25 + 2 50 50 1.0000000
chr2 180 230 2 25 - 2 50 50 1.0000000" > exp
$BT coverage -a a.bed -b a.bed > obs
chr1 50 100 1 25 - 5 50 50 1.0000000
chr1 200 250 3 25 + 4 38 50 0.7600000
chr2 80 130 5 25 - 6 50 50 1.0000000
chr2 150 200 4 25 + 7 50 50 1.0000000
chr2 180 230 2 25 - 6 50 50 1.0000000" > exp
$BT coverage -a a.bed -b b.bed > obs
check exp obs
rm exp obs
......@@ -57,12 +57,12 @@ rm exp obs
echo " coverage.t3...\c"
echo \
"chr1 20 70 6 25 + 2
chr1 50 100 1 25 - 2
chr1 200 250 3 25 + 1
chr2 80 130 5 25 - 1
chr2 150 200 4 25 + 2
chr2 180 230 2 25 - 2" > exp
$BT coverage -a a.bed -b a.bed -counts > obs
chr1 50 100 1 25 - 5
chr1 200 250 3 25 + 4
chr2 80 130 5 25 - 6
chr2 150 200 4 25 + 7
chr2 180 230 2 25 - 6" > exp
$BT coverage -a a.bed -b b.bed -counts > obs
check exp obs
rm exp obs
......@@ -73,19 +73,32 @@ rm exp obs
##################################################################
echo " coverage.t4...\c"
echo \
"chr1 20 70 6 25 + 1 30 50 0.6000000
chr1 20 70 6 25 + 2 20 50 0.4000000
chr1 50 100 1 25 - 1 30 50 0.6000000
chr1 50 100 1 25 - 2 20 50 0.4000000
chr1 200 250 3 25 + 1 50 50 1.0000000
chr2 80 130 5 25 - 1 50 50 1.0000000
chr2 150 200 4 25 + 1 30 50 0.6000000
chr2 150 200 4 25 + 2 20 50 0.4000000
chr2 180 230 2 25 - 1 30 50 0.6000000
chr2 180 230 2 25 - 2 20 50 0.4000000
all 1 220 300 0.7333333
all 2 80 300 0.2666667" > exp
$BT coverage -a a.bed -b a.bed -hist > obs
"chr1 20 70 6 25 + 2 50 50 1.0000000
chr1 50 100 1 25 - 2 40 50 0.8000000
chr1 50 100 1 25 - 3 10 50 0.2000000
chr1 200 250 3 25 + 0 12 50 0.2400000
chr1 200 250 3 25 + 1 20 50 0.4000000
chr1 200 250 3 25 + 2 11 50 0.2200000
chr1 200 250 3 25 + 3 4 50 0.0800000
chr1 200 250 3 25 + 4 3 50 0.0600000
chr2 80 130 5 25 - 3 46 50 0.9200000
chr2 80 130 5 25 - 4 4 50 0.0800000
chr2 150 200 4 25 + 5 22 50 0.4400000
chr2 150 200 4 25 + 6 28 50 0.5600000
chr2 180 230 2 25 - 1 16 50 0.3200000
chr2 180 230 2 25 - 2 2 50 0.0400000
chr2 180 230 2 25 - 3 6 50 0.1200000
chr2 180 230 2 25 - 4 4 50 0.0800000
chr2 180 230 2 25 - 5 13 50 0.2600000
chr2 180 230 2 25 - 6 9 50 0.1800000
all 0 12 300 0.0400000
all 1 36 300 0.1200000
all 2 103 300 0.3433333
all 3 66 300 0.2200000
all 4 11 300 0.0366667
all 5 35 300 0.1166667
all 6 37 300 0.1233333" > exp
$BT coverage -a a.bed -b b.bed -hist > obs
check exp obs
rm exp obs
......@@ -94,36 +107,36 @@ rm exp obs
##################################################################
echo " coverage.t5...\c"
echo \
"chr1 20 70 6 25 + 1 1
chr1 20 70 6 25 + 2 1
chr1 20 70 6 25 + 3 1
chr1 20 70 6 25 + 4 1
chr1 20 70 6 25 + 5 1
chr1 20 70 6 25 + 6 1
chr1 20 70 6 25 + 7 1
chr1 20 70 6 25 + 8 1
chr1 20 70 6 25 + 9 1
chr1 20 70 6 25 + 10 1
chr1 20 70 6 25 + 11 1
chr1 20 70 6 25 + 12 1
chr1 20 70 6 25 + 13 1
chr1 20 70 6 25 + 14 1
chr1 20 70 6 25 + 15 1
chr1 20 70 6 25 + 16 1
chr1 20 70 6 25 + 17 1
chr1 20 70 6 25 + 18 1
chr1 20 70 6 25 + 19 1
chr1 20 70 6 25 + 20 1
chr1 20 70 6 25 + 21 1
chr1 20 70 6 25 + 22 1
chr1 20 70 6 25 + 23 1
chr1 20 70 6 25 + 24 1
chr1 20 70 6 25 + 25 1
chr1 20 70 6 25 + 26 1
chr1 20 70 6 25 + 27 1
chr1 20 70 6 25 + 28 1
chr1 20 70 6 25 + 29 1
chr1 20 70 6 25 + 30 1
"chr1 20 70 6 25 + 1 2
chr1 20 70 6 25 + 2 2
chr1 20 70 6 25 + 3 2
chr1 20 70 6 25 + 4 2
chr1 20 70 6 25 + 5 2
chr1 20 70 6 25 + 6 2
chr1 20 70 6 25 + 7 2
chr1 20 70 6 25 + 8 2
chr1 20 70 6 25 + 9 2
chr1 20 70 6 25 + 10 2
chr1 20 70 6 25 + 11 2
chr1 20 70 6 25 + 12 2
chr1 20 70 6 25 + 13 2
chr1 20 70 6 25 + 14 2
chr1 20 70 6 25 + 15 2
chr1 20 70 6 25 + 16 2
chr1 20 70 6 25 + 17 2
chr1 20 70 6 25 + 18 2
chr1 20 70 6 25 + 19 2
chr1 20 70 6 25 + 20 2
chr1 20 70 6 25 + 21 2
chr1 20 70 6 25 + 22 2
chr1 20 70 6 25 + 23 2
chr1 20 70 6 25 + 24 2
chr1 20 70 6 25 + 25 2
chr1 20 70 6 25 + 26 2
chr1 20 70 6 25 + 27 2
chr1 20 70 6 25 + 28 2
chr1 20 70 6 25 + 29 2
chr1 20 70 6 25 + 30 2
chr1 20 70 6 25 + 31 2
chr1 20 70 6 25 + 32 2
chr1 20 70 6 25 + 33 2
......@@ -164,54 +177,54 @@ chr1 50 100 1 25 - 17 2
chr1 50 100 1 25 - 18 2
chr1 50 100 1 25 - 19 2
chr1 50 100 1 25 - 20 2
chr1 50 100 1 25 - 21 1
chr1 50 100 1 25 - 22 1
chr1 50 100 1 25 - 23 1
chr1 50 100 1 25 - 24 1
chr1 50 100 1 25 - 25 1
chr1 50 100 1 25 - 26 1
chr1 50 100 1 25 - 27 1
chr1 50 100 1 25 - 28 1
chr1 50 100 1 25 - 29 1
chr1 50 100 1 25 - 30 1
chr1 50 100 1 25 - 31 1
chr1 50 100 1 25 - 32 1
chr1 50 100 1 25 - 33 1
chr1 50 100 1 25 - 34 1
chr1 50 100 1 25 - 35 1
chr1 50 100 1 25 - 36 1
chr1 50 100 1 25 - 37 1
chr1 50 100 1 25 - 38 1
chr1 50 100 1 25 - 39 1
chr1 50 100 1 25 - 40 1
chr1 50 100 1 25 - 41 1
chr1 50 100 1 25 - 42 1
chr1 50 100 1 25 - 43 1
chr1 50 100 1 25 - 44 1
chr1 50 100 1 25 - 45 1
chr1 50 100 1 25 - 46 1
chr1 50 100 1 25 - 47 1
chr1 50 100 1 25 - 48 1
chr1 50 100 1 25 - 49 1
chr1 50 100 1 25 - 50 1
chr1 200 250 3 25 + 1 1
chr1 200 250 3 25 + 2 1
chr1 200 250 3 25 + 3 1
chr1 200 250 3 25 + 4 1
chr1 200 250 3 25 + 5 1
chr1 200 250 3 25 + 6 1
chr1 200 250 3 25 + 7 1
chr1 200 250 3 25 + 8 1
chr1 200 250 3 25 + 9 1
chr1 200 250 3 25 + 10 1
chr1 200 250 3 25 + 11 1
chr1 200 250 3 25 + 12 1
chr1 200 250 3 25 + 13 1
chr1 200 250 3 25 + 14 1
chr1 200 250 3 25 + 15 1
chr1 200 250 3 25 + 16 1
chr1 200 250 3 25 + 17 1
chr1 200 250 3 25 + 18 1
chr1 50 100 1 25 - 21 2
chr1 50 100 1 25 - 22 2
chr1 50 100 1 25 - 23 2
chr1 50 100 1 25 - 24 2
chr1 50 100 1 25 - 25 3
chr1 50 100 1 25 - 26 2
chr1 50 100 1 25 - 27 2
chr1 50 100 1 25 - 28 3
chr1 50 100 1 25 - 29 2
chr1 50 100 1 25 - 30 2
chr1 50 100 1 25 - 31 2
chr1 50 100 1 25 - 32 2
chr1 50 100 1 25 - 33 2
chr1 50 100 1 25 - 34 2
chr1 50 100 1 25 - 35 2
chr1 50 100 1 25 - 36 2
chr1 50 100 1 25 - 37 2
chr1 50 100 1 25 - 38 2
chr1 50 100 1 25 - 39 2
chr1 50 100 1 25 - 40 2
chr1 50 100 1 25 - 41 2
chr1 50 100 1 25 - 42 2
chr1 50 100 1 25 - 43 3
chr1 50 100 1 25 - 44 3
chr1 50 100 1 25 - 45 3
chr1 50 100 1 25 - 46 3
chr1 50 100 1 25 - 47 3
chr1 50 100 1 25 - 48 3
chr1 50 100 1 25 - 49 3
chr1 50 100 1 25 - 50 3
chr1 200 250 3 25 + 1 4
chr1 200 250 3 25 + 2 4
chr1 200 250 3 25 + 3 4
chr1 200 250 3 25 + 4 3
chr1 200 250 3 25 + 5 3
chr1 200 250 3 25 + 6 3
chr1 200 250 3 25 + 7 3
chr1 200 250 3 25 + 8 2
chr1 200 250 3 25 + 9 2
chr1 200 250 3 25 + 10 2
chr1 200 250 3 25 + 11 2
chr1 200 250 3 25 + 12 2
chr1 200 250 3 25 + 13 2
chr1 200 250 3 25 + 14 2
chr1 200 250 3 25 + 15 2
chr1 200 250 3 25 + 16 2
chr1 200 250 3 25 + 17 2
chr1 200 250 3 25 + 18 2
chr1 200 250 3 25 + 19 1
chr1 200 250 3 25 + 20 1
chr1 200 250 3 25 + 21 1
......@@ -232,152 +245,152 @@ chr1 200 250 3 25 + 35 1
chr1 200 250 3 25 + 36 1
chr1 200 250 3 25 + 37 1
chr1 200 250 3 25 + 38 1
chr1 200 250 3 25 + 39 1
chr1 200 250 3 25 + 40 1
chr1 200 250 3 25 + 41 1
chr1 200 250 3 25 + 42 1
chr1 200 250 3 25 + 43 1
chr1 200 250 3 25 + 44 1
chr1 200 250 3 25 + 45 1
chr1 200 250 3 25 + 46 1
chr1 200 250 3 25 + 47 1
chr1 200 250 3 25 + 48 1
chr1 200 250 3 25 + 49 1
chr1 200 250 3 25 + 50 1
chr2 80 130 5 25 - 1 1
chr2 80 130 5 25 - 2 1
chr2 80 130 5 25 - 3 1
chr2 80 130 5 25 - 4 1
chr2 80 130 5 25 - 5 1
chr2 80 130 5 25 - 6 1
chr2 80 130 5 25 - 7 1
chr2 80 130 5 25 - 8 1
chr2 80 130 5 25 - 9 1
chr2 80 130 5 25 - 10 1
chr2 80 130 5 25 - 11 1
chr2 80 130 5 25 - 12 1
chr2 80 130 5 25 - 13 1
chr2 80 130 5 25 - 14 1
chr2 80 130 5 25 - 15 1
chr2 80 130 5 25 - 16 1
chr2 80 130 5 25 - 17 1
chr2 80 130 5 25 - 18 1
chr2 80 130 5 25 - 19 1
chr2 80 130 5 25 - 20 1
chr2 80 130 5 25 - 21 1
chr2 80 130 5 25 - 22 1
chr2 80 130 5 25 - 23 1
chr2 80 130 5 25 - 24 1
chr2 80 130 5 25 - 25 1
chr2 80 130 5 25 - 26 1
chr2 80 130 5 25 - 27 1
chr2 80 130 5 25 - 28 1
chr2 80 130 5 25 - 29 1
chr2 80 130 5 25 - 30 1
chr2 80 130 5 25 - 31 1
chr2 80 130 5 25 - 32 1
chr2 80 130 5 25 - 33 1
chr2 80 130 5 25 - 34 1
chr2 80 130 5 25 - 35 1
chr2 80 130 5 25 - 36 1
chr2 80 130 5 25 - 37 1
chr2 80 130 5 25 - 38 1
chr2 80 130 5 25 - 39 1
chr2 80 130 5 25 - 40 1
chr2 80 130 5 25 - 41 1
chr2 80 130 5 25 - 42 1
chr2 80 130 5 25 - 43 1
chr2 80 130 5 25 - 44 1
chr2 80 130 5 25 - 45 1
chr2 80 130 5 25 - 46 1
chr2 80 130 5 25 - 47 1
chr2 80 130 5 25 - 48 1
chr2 80 130 5 25 - 49 1
chr2 80 130 5 25 - 50 1
chr2 150 200 4 25 + 1 1
chr2 150 200 4 25 + 2 1
chr2 150 200 4 25 + 3 1
chr2 150 200 4 25 + 4 1
chr2 150 200 4 25 + 5 1
chr2 150 200 4 25 + 6 1
chr2 150 200 4 25 + 7 1
chr2 150 200 4 25 + 8 1
chr2 150 200 4 25 + 9 1
chr2 150 200 4 25 + 10 1
chr2 150 200 4 25 + 11 1
chr2 150 200 4 25 + 12 1
chr2 150 200 4 25 + 13 1
chr2 150 200 4 25 + 14 1
chr2 150 200 4 25 + 15 1
chr2 150 200 4 25 + 16 1
chr2 150 200 4 25 + 17 1
chr2 150 200 4 25 + 18 1
chr2 150 200 4 25 + 19 1
chr2 150 200 4 25 + 20 1
chr2 150 200 4 25 + 21 1
chr2 150 200 4 25 + 22 1
chr2 150 200 4 25 + 23 1
chr2 150 200 4 25 + 24 1
chr2 150 200 4 25 + 25 1
chr2 150 200 4 25 + 26 1
chr2 150 200 4 25 + 27 1
chr2 150 200 4 25 + 28 1
chr2 150 200 4 25 + 29 1
chr2 150 200 4 25 + 30 1
chr2 150 200 4 25 + 31 2
chr2 150 200 4 25 + 32 2
chr2 150 200 4 25 + 33 2
chr2 150 200 4 25 + 34 2
chr2 150 200 4 25 + 35 2
chr2 150 200 4 25 + 36 2
chr2 150 200 4 25 + 37 2
chr2 150 200 4 25 + 38 2
chr2 150 200 4 25 + 39 2
chr2 150 200 4 25 + 40 2
chr2 150 200 4 25 + 41 2
chr2 150 200 4 25 + 42 2
chr2 150 200 4 25 + 43 2
chr2 150 200 4 25 + 44 2
chr2 150 200 4 25 + 45 2
chr2 150 200 4 25 + 46 2
chr2 150 200 4 25 + 47 2
chr2 150 200 4 25 + 48 2
chr2 150 200 4 25 + 49 2
chr2 150 200 4 25 + 50 2
chr2 180 230 2 25 - 1 2
chr2 180 230 2 25 - 2 2
chr2 180 230 2 25 - 3 2
chr2 180 230 2 25 - 4 2
chr2 180 230 2 25 - 5 2
chr2 180 230 2 25 - 6 2
chr2 180 230 2 25 - 7 2
chr2 180 230 2 25 - 8 2
chr2 180 230 2 25 - 9 2
chr2 180 230 2 25 - 10 2
chr2 180 230 2 25 - 11 2
chr2 180 230 2 25 - 12 2
chr2 180 230 2 25 - 13 2
chr2 180 230 2 25 - 14 2
chr2 180 230 2 25 - 15 2
chr2 180 230 2 25 - 16 2
chr2 180 230 2 25 - 17 2
chr2 180 230 2 25 - 18 2
chr2 180 230 2 25 - 19 2
chr2 180 230 2 25 - 20 2
chr2 180 230 2 25 - 21 1
chr2 180 230 2 25 - 22 1
chr2 180 230 2 25 - 23 1
chr2 180 230 2 25 - 24 1
chr2 180 230 2 25 - 25 1
chr2 180 230 2 25 - 26 1
chr2 180 230 2 25 - 27 1
chr2 180 230 2 25 - 28 1
chr2 180 230 2 25 - 29 1
chr2 180 230 2 25 - 30 1
chr2 180 230 2 25 - 31 1
chr2 180 230 2 25 - 32 1
chr2 180 230 2 25 - 33 1
chr2 180 230 2 25 - 34 1
chr1 200 250 3 25 + 39 0
chr1 200 250 3 25 + 40 0
chr1 200 250 3 25 + 41 0
chr1 200 250 3 25 + 42 0
chr1 200 250 3 25 + 43 0
chr1 200 250 3 25 + 44 0
chr1 200 250 3 25 + 45 0
chr1 200 250 3 25 + 46 0
chr1 200 250 3 25 + 47 0
chr1 200 250 3 25 + 48 0
chr1 200 250 3 25 + 49 0
chr1 200 250 3 25 + 50 0
chr2 80 130 5 25 - 1 4
chr2 80 130 5 25 - 2 3
chr2 80 130 5 25 - 3 3
chr2 80 130 5 25 - 4 3
chr2 80 130 5 25 - 5 3
chr2 80 130 5 25 - 6 3
chr2 80 130 5 25 - 7 3
chr2 80 130 5 25 - 8 3
chr2 80 130 5 25 - 9 3
chr2 80 130 5 25 - 10 3
chr2 80 130 5 25 - 11 3
chr2 80 130 5 25 - 12 3
chr2 80 130 5 25 - 13 3
chr2 80 130 5 25 - 14 3
chr2 80 130 5 25 - 15 3
chr2 80 130 5 25 - 16 3
chr2 80 130 5 25 - 17 3
chr2 80 130 5 25 - 18 3
chr2 80 130 5 25 - 19 3
chr2 80 130 5 25 - 20 3
chr2 80 130 5 25 - 21 3
chr2 80 130 5 25 - 22 3
chr2 80 130 5 25 - 23 3
chr2 80 130 5 25 - 24 3
chr2 80 130 5 25 - 25 3
chr2 80 130 5 25 - 26 3
chr2 80 130 5 25 - 27 3
chr2 80 130 5 25 - 28 3
chr2 80 130 5 25 - 29 3
chr2 80 130 5 25 - 30 3
chr2 80 130 5 25 - 31 3
chr2 80 130 5 25 - 32 3
chr2 80 130 5 25 - 33 3
chr2 80 130 5 25 - 34 3
chr2 80 130 5 25 - 35 3
chr2 80 130 5 25 - 36 3
chr2 80 130 5 25 - 37 3
chr2 80 130 5 25 - 38 3
chr2 80 130 5 25 - 39 3
chr2 80 130 5 25 - 40 3
chr2 80 130 5 25 - 41 3
chr2 80 130 5 25 - 42 3
chr2 80 130 5 25 - 43 3
chr2 80 130 5 25 - 44 3
chr2 80 130 5 25 - 45 3
chr2 80 130 5 25 - 46 3
chr2 80 130 5 25 - 47 3
chr2 80 130 5 25 - 48 4
chr2 80 130 5 25 - 49 4
chr2 80 130 5 25 - 50 4
chr2 150 200 4 25 + 1 6
chr2 150 200 4 25 + 2 6
chr2 150 200 4 25 + 3 5
chr2 150 200 4 25 + 4 5
chr2 150 200 4 25 + 5 5
chr2 150 200 4 25 + 6 5
chr2 150 200 4 25 + 7 5
chr2 150 200 4 25 + 8 5
chr2 150 200 4 25 + 9 5
chr2 150 200 4 25 + 10 5
chr2 150 200 4 25 + 11 5
chr2 150 200 4 25 + 12 5
chr2 150 200 4 25 + 13 5
chr2 150 200 4 25 + 14 6
chr2 150 200 4 25 + 15 6
chr2 150 200 4 25 + 16 6
chr2 150 200 4 25 + 17 6
chr2 150 200 4 25 + 18 6
chr2 150 200 4 25 + 19 6
chr2 150 200 4 25 + 20 6
chr2 150 200 4 25 + 21 6
chr2 150 200 4 25 + 22 6
chr2 150 200 4 25 + 23 6
chr2 150 200 4 25 + 24 6
chr2 150 200 4 25 + 25 6