diff --git a/java/src/org/broadinstitute/sting/utils/genotype/GenotypeMetaData.java b/java/src/org/broadinstitute/sting/utils/genotype/GenotypeMetaData.java
new file mode 100755
index 000000000..e90926ae0
--- /dev/null
+++ b/java/src/org/broadinstitute/sting/utils/genotype/GenotypeMetaData.java
@@ -0,0 +1,47 @@
+package org.broadinstitute.sting.utils.genotype;
+
+
+/**
+ * @author ebanks
+ *
+ * Class GenotypeMetaData
+ *
+ * represents the meta data for a genotype object.
+ */
+public class GenotypeMetaData {
+
+ // the strand score lod
+ private double mSLOD;
+
+ // the allele frequency
+ private double mAlleleFrequency;
+
+ /**
+ * create a basic genotype meta data pbject, given the following fields
+ *
+ * @param strandLOD the strand score lod
+ * @param alleleFrequency the allele frequency
+ */
+ public GenotypeMetaData(double strandLOD, double alleleFrequency) {
+ mSLOD = strandLOD;
+ mAlleleFrequency = alleleFrequency;
+ }
+
+ /**
+ * get the strand lod
+ *
+ * @return the strand lod
+ */
+ public double getSLOD() {
+ return mSLOD;
+ }
+
+ /**
+ * get the allele frequency
+ *
+ * @return the allele frequency
+ */
+ public double getAlleleFrequency() {
+ return mAlleleFrequency;
+ }
+}
\ No newline at end of file
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/GenotypeWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/GenotypeWriter.java
index 8ae61f08a..d78d84f81 100644
--- a/java/src/org/broadinstitute/sting/utils/genotype/GenotypeWriter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/GenotypeWriter.java
@@ -56,7 +56,7 @@ public interface GenotypeWriter {
* add a multi-sample call if we support it
* @param genotypes the list of genotypes, that are backed by sample information
*/
- public void addMultiSampleCall(List genotypes);
+ public void addMultiSampleCall(List genotypes, GenotypeMetaData metadata);
/**
* @return true if we support multisample, false otherwise
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliAdapter.java b/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliAdapter.java
index c3fc7c1a3..881e7aaa2 100644
--- a/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliAdapter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliAdapter.java
@@ -161,7 +161,7 @@ public class GeliAdapter implements GenotypeWriter {
* @param genotypes the list of genotypes, that are backed by sample information
*/
@Override
- public void addMultiSampleCall( List genotypes) {
+ public void addMultiSampleCall( List genotypes, GenotypeMetaData metadata) {
throw new UnsupportedOperationException("Geli binary doesn't support multisample calls");
}
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliTextWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliTextWriter.java
index 912d60a1d..0823ff32a 100644
--- a/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliTextWriter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/geli/GeliTextWriter.java
@@ -124,7 +124,7 @@ public class GeliTextWriter implements GenotypeWriter {
* @param genotypes the list of genotypes, that are backed by sample information
*/
@Override
- public void addMultiSampleCall(List genotypes) {
+ public void addMultiSampleCall(List genotypes, GenotypeMetaData metadata) {
throw new UnsupportedOperationException("Geli text doesn't support multisample calls");
}
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/glf/GLFWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/glf/GLFWriter.java
index ae2c05717..7f2e7df06 100755
--- a/java/src/org/broadinstitute/sting/utils/genotype/glf/GLFWriter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/glf/GLFWriter.java
@@ -299,7 +299,7 @@ public class GLFWriter implements GenotypeWriter {
* @param genotypes the list of genotypes, that are backed by sample information
*/
@Override
- public void addMultiSampleCall(List genotypes) {
+ public void addMultiSampleCall(List genotypes, GenotypeMetaData metadata) {
throw new UnsupportedOperationException("GLF writer doesn't support multisample calls");
}
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/tabular/TabularLFWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/tabular/TabularLFWriter.java
index ccf94193a..8930a1c08 100644
--- a/java/src/org/broadinstitute/sting/utils/genotype/tabular/TabularLFWriter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/tabular/TabularLFWriter.java
@@ -104,7 +104,7 @@ public class TabularLFWriter implements GenotypeWriter {
* @param genotypes the list of genotypes, that are backed by sample information
*/
@Override
- public void addMultiSampleCall(List genotypes) {
+ public void addMultiSampleCall(List genotypes, GenotypeMetaData metadata) {
throw new UnsupportedOperationException("Tabular LF doesn't support multisample calls");
}
diff --git a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFGenotypeWriterAdapter.java b/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFGenotypeWriterAdapter.java
index 3bea47ec2..2e22acb00 100644
--- a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFGenotypeWriterAdapter.java
+++ b/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFGenotypeWriterAdapter.java
@@ -2,10 +2,7 @@ package org.broadinstitute.sting.utils.genotype.vcf;
import org.broadinstitute.sting.utils.GenomeLoc;
import org.broadinstitute.sting.utils.Utils;
-import org.broadinstitute.sting.utils.genotype.Genotype;
-import org.broadinstitute.sting.utils.genotype.GenotypeWriter;
-import org.broadinstitute.sting.utils.genotype.ReadBacked;
-import org.broadinstitute.sting.utils.genotype.SampleBacked;
+import org.broadinstitute.sting.utils.genotype.*;
import java.io.File;
import java.io.OutputStream;
@@ -91,7 +88,7 @@ public class VCFGenotypeWriterAdapter implements GenotypeWriter {
*/
@Override
public void addGenotypeCall(Genotype call) {
- addMultiSampleCall(Arrays.asList(call));
+ addMultiSampleCall(Arrays.asList(call), null);
}
/**
@@ -117,7 +114,7 @@ public class VCFGenotypeWriterAdapter implements GenotypeWriter {
* @param genotypes the list of genotypes, that are backed by sample information
*/
@Override
- public void addMultiSampleCall(List genotypes) {
+ public void addMultiSampleCall(List genotypes, GenotypeMetaData metadata) {
if (!mInitialized)
lazyInitialize(genotypes, mFile, mStream);
@@ -150,6 +147,8 @@ public class VCFGenotypeWriterAdapter implements GenotypeWriter {
params.addAlternateBase(allele);
}
+ // TODO -- use the GenotypeMetaData object if it's not null
+
VCFGenotypeRecord record = new VCFGenotypeRecord(((SampleBacked) gtype).getSampleName(),
alleles,
VCFGenotypeRecord.PHASE.UNPHASED,