From 6f7a01e00ddd0393485c62a44f6c1b3a29981274 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 4 Jun 2012 19:02:59 -0400 Subject: [PATCH] Bugfix for BCF2 reader / writer for > 0x0FFF samples :-) -- Should be 0x00FFFFFF in the mask --- .../broadinstitute/sting/utils/codecs/bcf2/BCF2Codec.java | 6 +++--- .../sting/utils/variantcontext/writer/BCF2Writer.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/bcf2/BCF2Codec.java b/public/java/src/org/broadinstitute/sting/utils/codecs/bcf2/BCF2Codec.java index 5456d47ed..5915c9914 100644 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/bcf2/BCF2Codec.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/bcf2/BCF2Codec.java @@ -208,9 +208,9 @@ public class BCF2Codec implements FeatureCodec, ReferenceDepende final int nAlleleInfo = decoder.decodeInt(BCF2Type.INT32); final int nFormatSamples = decoder.decodeInt(BCF2Type.INT32); final int nAlleles = nAlleleInfo >> 16; - final int nInfo = nAlleleInfo & 0x00FF; - final int nFormatFields = nFormatSamples >> 24; - final int nSamples = nFormatSamples & 0x0FFF; + final int nInfo = nAlleleInfo & 0x0000FFFF; + final int nFormatFields = nFormatSamples >> 24; + final int nSamples = nFormatSamples & 0x00FFFFF; decodeID(builder); final ArrayList alleles = decodeAlleles(builder, pos, nAlleles); diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/writer/BCF2Writer.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/writer/BCF2Writer.java index 41621f66e..64f901451 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/writer/BCF2Writer.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/writer/BCF2Writer.java @@ -169,8 +169,8 @@ class BCF2Writer extends IndexingVariantContextWriter { final int nGenotypeFormatFields = getNGenotypeFormatFields(vc); final int nSamples = vc.getNSamples(); - encoder.encodeRawInt((nAlleles << 16) | (nInfo & 0x00FF), BCF2Type.INT32); - encoder.encodeRawInt((nGenotypeFormatFields << 24) | (nSamples & 0x0FFF), BCF2Type.INT32); + encoder.encodeRawInt((nAlleles << 16) | (nInfo & 0x0000FFFF), BCF2Type.INT32); + encoder.encodeRawInt((nGenotypeFormatFields << 24) | (nSamples & 0x00FFFFF), BCF2Type.INT32); buildID(vc); buildAlleles(vc);