From 0e2b20aec3269d9a2a95d51c6117d306a1a2c9bf Mon Sep 17 00:00:00 2001 From: Aaron <aaronquinlan@gmail.com> Date: Mon, 2 Apr 2012 21:04:54 -0400 Subject: [PATCH] fixed logic bug in bedtobam's -bed12 mode. --- src/bedToBam/bedToBam.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bedToBam/bedToBam.cpp b/src/bedToBam/bedToBam.cpp index d6fc5cde..59406e0b 100644 --- a/src/bedToBam/bedToBam.cpp +++ b/src/bedToBam/bedToBam.cpp @@ -247,7 +247,7 @@ void ConvertBedToBam(const BED &bed, BamAlignment &bam, map<string, int, std::le else{ // does it smell like BED12? if so, process it. - if (bed.fields.size() == 6) { + if (bed.fields.size() == 12) { // extract the relevant BED fields to convert BED12 to BAM // namely: blockCount, blockStarts, blockEnds @@ -344,9 +344,9 @@ int bedtobam_reg2bin(int beg, int end) { --end; if (beg>>14 == end>>14) return ((1<<15)-1)/7 + (beg>>14); if (beg>>17 == end>>17) return ((1<<12)-1)/7 + (beg>>17); - if (beg>>20 == end>>20) return ((1<<9)-1)/7 + (beg>>20); - if (beg>>23 == end>>23) return ((1<<6)-1)/7 + (beg>>23); - if (beg>>26 == end>>26) return ((1<<3)-1)/7 + (beg>>26); + if (beg>>20 == end>>20) return ((1<<9)-1)/7 + (beg>>20); + if (beg>>23 == end>>23) return ((1<<6)-1)/7 + (beg>>23); + if (beg>>26 == end>>26) return ((1<<3)-1)/7 + (beg>>26); return 0; } -- GitLab