From ab8c927d4987ec9728f91030b29aa00dbaca99db Mon Sep 17 00:00:00 2001 From: Jonn Smith Date: Tue, 19 Jun 2018 16:15:32 -0400 Subject: [PATCH] Fixes #4193 `XsvTableFeature` no longer removes an extra column if start and end in the config file for a `LocatableXsv` data source are the same. --- .../xsvLocatableTable/XsvTableFeature.java | 9 +- .../funcotator/FuncotatorIntegrationTest.java | 67 +++++- .../funcotator/FuncotatorTestConstants.java | 1 + .../test/FuncotatorReferenceTestUtils.java | 7 + .../resources/large/funcotator/b37.2.tar.gz | 3 + .../clinvar/hg19/clinvar_hgmd.config | 3 + .../clinvar/hg19/clinvar_hgmd.tsv | 3 + .../clinvar/hg19/clinvar_hgmd.tsv.idx | 3 + .../gencode_pik3ca/hg19/gencode.config | 3 + .../hg19/gencode.v19.PIK3CA.gtf | 3 + .../hg19/gencode.v19.PIK3CA.gtf.idx | 3 + .../hg19/gencode.v19.PIK3CA_transcript.dict | 3 + .../hg19/gencode.v19.PIK3CA_transcript.fasta | 3 + .../gencode.v19.PIK3CA_transcript.fasta.fai | 3 + .../funcotator/clinvar_hg19_column_test.vcf | 205 ++++++++++++++++++ 15 files changed, 307 insertions(+), 12 deletions(-) create mode 100644 src/test/resources/large/funcotator/b37.2.tar.gz create mode 100755 src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.config create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv.idx create mode 100755 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.config create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf.idx create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.dict create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta create mode 100644 src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta.fai create mode 100644 src/test/resources/org/broadinstitute/hellbender/tools/funcotator/clinvar_hg19_column_test.vcf diff --git a/src/main/java/org/broadinstitute/hellbender/utils/codecs/xsvLocatableTable/XsvTableFeature.java b/src/main/java/org/broadinstitute/hellbender/utils/codecs/xsvLocatableTable/XsvTableFeature.java index e7439e119e8..fe6a4e4ede8 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/codecs/xsvLocatableTable/XsvTableFeature.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/codecs/xsvLocatableTable/XsvTableFeature.java @@ -77,7 +77,14 @@ public XsvTableFeature(final int contigColumn, final int startColumn, final int this.columnValues = columnValues; // Create our list of indices to remove: - locationColumnRemoveIndiciesInOrder = new ArrayList<>(Arrays.asList(contigColumn, startColumn, endColumn)); + if ( startColumn == endColumn ) { + // Don't add the same column more than once: + locationColumnRemoveIndiciesInOrder = new ArrayList<>(Arrays.asList(contigColumn, startColumn)); + } + else { + locationColumnRemoveIndiciesInOrder = new ArrayList<>(Arrays.asList(contigColumn, startColumn, endColumn)); + } + locationColumnRemoveIndiciesInOrder.sort(Collections.reverseOrder()); } diff --git a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorIntegrationTest.java index 9144da35c83..fffb35f8b1c 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorIntegrationTest.java @@ -50,19 +50,22 @@ public class FuncotatorIntegrationTest extends CommandLineProgramTest { private static final boolean doDebugTests = false; private static final String LARGE_DATASOURCES_FOLDER = "funcotator_dataSources_latest"; - private static final String PIK3CA_VCF_HG19 = toolsTestDir + "funcotator/0816201804HC0_R01C01.pik3ca.vcf"; - private static final String PIK3CA_VCF_HG38 = toolsTestDir + "funcotator/hg38_trio.pik3ca.vcf"; - private static final String PIK3CA_VCF_HG19_SNPS = toolsTestDir + "funcotator/PIK3CA_SNPS_3.vcf"; - private static final String PIK3CA_VCF_HG19_INDELS = toolsTestDir + "funcotator/PIK3CA_INDELS_3.vcf"; - private static final String MUC16_VCF_HG19 = toolsTestDir + "funcotator/MUC16_MNP.vcf"; - private static final String PIK3CA_VCF_HG19_ALTS = toolsTestDir + "funcotator/PIK3CA_3_miss_clinvar_alt_only.vcf"; - private static final String SPANNING_DEL_VCF = toolsTestDir + "funcotator/spanning_del.vcf"; - private static final String DS_PIK3CA_DIR = largeFileTestDir + "funcotator/small_ds_pik3ca/"; - private static final String DS_MUC16_DIR = largeFileTestDir + "funcotator/small_ds_muc16/"; - private static final String MAF_TEST_CONFIG = toolsTestDir + "funcotator/maf.config"; + private static final String PIK3CA_VCF_HG19 = toolsTestDir + "funcotator" + File.separator + "0816201804HC0_R01C01.pik3ca.vcf"; + private static final String PIK3CA_VCF_HG38 = toolsTestDir + "funcotator" + File.separator + "hg38_trio.pik3ca.vcf"; + private static final String PIK3CA_VCF_HG19_SNPS = toolsTestDir + "funcotator" + File.separator + "PIK3CA_SNPS_3.vcf"; + private static final String PIK3CA_VCF_HG19_INDELS = toolsTestDir + "funcotator" + File.separator + "PIK3CA_INDELS_3.vcf"; + private static final String MUC16_VCF_HG19 = toolsTestDir + "funcotator" + File.separator + "MUC16_MNP.vcf"; + private static final String PIK3CA_VCF_HG19_ALTS = toolsTestDir + "funcotator" + File.separator + "PIK3CA_3_miss_clinvar_alt_only.vcf"; + private static final String SPANNING_DEL_VCF = toolsTestDir + "funcotator" + File.separator + "spanning_del.vcf"; + private static final String DS_PIK3CA_DIR = largeFileTestDir + "funcotator" + File.separator + "small_ds_pik3ca" + File.separator; + private static final String DS_MUC16_DIR = largeFileTestDir + "funcotator" + File.separator + "small_ds_muc16" + File.separator; + private static final String MAF_TEST_CONFIG = toolsTestDir + "funcotator" + File.separator + "maf.config"; + private static final String XSV_CLINVAR_COL_TEST_VCF = toolsTestDir + "funcotator" + File.separator + "clinvar_hg19_column_test.vcf"; + private static final String DS_XSV_CLINVAR_COL_TEST = largeFileTestDir + "funcotator" + File.separator + "small_ds_clinvar_hg19" + File.separator; private static String hg38Chr3Ref; private static String b37Chr3Ref; + private static String b37Chr2Ref; private static String hg19Chr3Ref; private static String hg19Chr19Ref; @@ -78,6 +81,7 @@ public class FuncotatorIntegrationTest extends CommandLineProgramTest { hg38Chr3Ref = FuncotatorReferenceTestUtils.retrieveHg38Chr3Ref(); b37Chr3Ref = FuncotatorReferenceTestUtils.retrieveB37Chr3Ref(); + b37Chr2Ref = FuncotatorReferenceTestUtils.retrieveB37Chr2Ref(); hg19Chr3Ref = FuncotatorReferenceTestUtils.retrieveHg19Chr3Ref(); hg19Chr19Ref = FuncotatorReferenceTestUtils.retrieveHg19Chr19Ref(); } @@ -425,10 +429,51 @@ public void testCanAnnotateMixedContigHg19Clinvar() { // Look for "MedGen" to know that we have a clinvar hit. Assert.assertEquals(variantContexts.stream() - .filter(vc -> StringUtils.contains(vc.getAttributeAsString("FUNCOTATION", ""), "MedGen")) + .filter(vc -> StringUtils.contains(vc.getAttributeAsString(VcfOutputRenderer.FUNCOTATOR_VCF_FIELD_NAME, ""), "MedGen")) .count(), NUM_CLINVAR_HITS); } + @Test + public void testXsvLocatableAnnotationsHaveCorrectColsForOnlyOnePositionSpecified() { + final FuncotatorArgumentDefinitions.OutputFormatType outputFormatType = FuncotatorArgumentDefinitions.OutputFormatType.VCF; + final File outputFile = getOutputFile(outputFormatType); + + final ArgumentsBuilder arguments = new ArgumentsBuilder(); + + arguments.addVCF(new File(XSV_CLINVAR_COL_TEST_VCF)); + arguments.addOutput(outputFile); + arguments.addReference(new File(b37Chr2Ref)); + arguments.addArgument(FuncotatorArgumentDefinitions.DATA_SOURCES_PATH_LONG_NAME, DS_XSV_CLINVAR_COL_TEST); + arguments.addArgument(FuncotatorArgumentDefinitions.REFERENCE_VERSION_LONG_NAME, FuncotatorTestConstants.REFERENCE_VERSION_HG19); + arguments.addArgument(FuncotatorArgumentDefinitions.OUTPUT_FORMAT_LONG_NAME, outputFormatType.toString()); + arguments.addBooleanArgument(FuncotatorArgumentDefinitions.ALLOW_HG19_GENCODE_B37_CONTIG_MATCHING_LONG_NAME, true); + + runCommandLine(arguments); + + final Pair> vcfInfo = VariantContextTestUtils.readEntireVCFIntoMemory(outputFile.getAbsolutePath()); + final VCFInfoHeaderLine funcotationHeaderLine = vcfInfo.getLeft().getInfoHeaderLine(VcfOutputRenderer.FUNCOTATOR_VCF_FIELD_NAME); + + final String[] funcotationFieldNames = FuncotatorUtils.extractFuncotatorKeysFromHeaderDescription(funcotationHeaderLine.getDescription()); + + final int EXPECTED_NUM_VARIANTS = 10; + Assert.assertEquals(vcfInfo.getRight().size(), EXPECTED_NUM_VARIANTS); + + for (final VariantContext vc : vcfInfo.getRight() ) { + final String funcotation = vc.getAttributeAsString(VcfOutputRenderer.FUNCOTATOR_VCF_FIELD_NAME, ""); + + Assert.assertNotEquals(funcotation, ""); + + final String rawFuncotations = funcotation.substring(1,funcotation.length()-1); + + Assert.assertEquals(StringUtils.countMatches(rawFuncotations, VcfOutputRenderer.FIELD_DELIMITER), funcotationFieldNames.length - 1); + + // This is here to make sure we can create the FuncotationMap object without exploding. + // It serves as a secondary check. + final FuncotationMap funkyMap = FuncotationMap.createAsAllTableFuncotationsFromVcf(FuncotationMap.NO_TRANSCRIPT_AVAILABLE_KEY, funcotationFieldNames, + funcotation, vc.getAlternateAllele(0), "VCF"); + } + } + @Test public void testCanAnnotateHg38ClinvarAndGencodeV28() { // Clinvar datasource did go through one round of preprocessing to make contig names "1" --> "chr1" (for example). This is an issue with ClinVar, not GATK. diff --git a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorTestConstants.java b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorTestConstants.java index 6a05871f2ef..99ba4a10cd4 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorTestConstants.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorTestConstants.java @@ -16,6 +16,7 @@ public class FuncotatorTestConstants { public static final String HG19_CHR3_REFERENCE_FILE_NAME = GATKBaseTest.largeFileTestDir + "funcotator" + File.separator + "GRCh37.p13.chr3.tar.gz"; public static final String HG19_3_REFERENCE_FILE_NAME = GATKBaseTest.largeFileTestDir + "funcotator" + File.separator + "b37.3.tar.gz"; public static final String HG38_3_REFERENCE_FILE_NAME = GATKBaseTest.largeFileTestDir + "funcotator" + File.separator + "hg38.3.tar.gz"; + public static final String HG19_2_REFERENCE_FILE_NAME = GATKBaseTest.largeFileTestDir + "funcotator" + File.separator + "b37.2.tar.gz"; public static final String FUNCOTATOR_DATA_SOURCES_MAIN_FOLDER = GATKBaseTest.largeFileTestDir + "funcotator" + File.separator + "funcotator_dataSources" + File.separator; diff --git a/src/test/java/org/broadinstitute/hellbender/utils/test/FuncotatorReferenceTestUtils.java b/src/test/java/org/broadinstitute/hellbender/utils/test/FuncotatorReferenceTestUtils.java index 3fd685fc276..7eaccca9785 100644 --- a/src/test/java/org/broadinstitute/hellbender/utils/test/FuncotatorReferenceTestUtils.java +++ b/src/test/java/org/broadinstitute/hellbender/utils/test/FuncotatorReferenceTestUtils.java @@ -26,12 +26,14 @@ private FuncotatorReferenceTestUtils() {} // Cannot instantiate this class. private static Lazy hg19Chr3Ref; private static Lazy hg19Chr19Ref; private static Lazy b37Chr3Ref; + private static Lazy b37Chr2Ref; private static Lazy hg38Chr3Ref; static { hg19Chr3Ref = new Lazy<>(createInitializer(new File(FuncotatorTestConstants.HG19_CHR3_REFERENCE_FILE_NAME))); hg19Chr19Ref = new Lazy<>(createInitializer(new File(FuncotatorTestConstants.HG19_CHR19_REFERENCE_FILE_NAME))); b37Chr3Ref = new Lazy<>(createInitializer(new File(FuncotatorTestConstants.HG19_3_REFERENCE_FILE_NAME))); + b37Chr2Ref = new Lazy<>(createInitializer(new File(FuncotatorTestConstants.HG19_2_REFERENCE_FILE_NAME))); hg38Chr3Ref = new Lazy<>(createInitializer(new File(FuncotatorTestConstants.HG38_3_REFERENCE_FILE_NAME))); } @@ -102,6 +104,11 @@ public static String retrieveHg19Chr19Ref() { */ public static String retrieveB37Chr3Ref() { return b37Chr3Ref.get(); } + /** + * @return a path (as String) to the b37 chromosome 2 only reference. ("2") + */ + public static String retrieveB37Chr2Ref() { return b37Chr2Ref.get(); } + /** * @return a path (as String) to the hg38 chromosome 3 only reference. ("chr3" in hg38) */ diff --git a/src/test/resources/large/funcotator/b37.2.tar.gz b/src/test/resources/large/funcotator/b37.2.tar.gz new file mode 100644 index 00000000000..85829b67665 --- /dev/null +++ b/src/test/resources/large/funcotator/b37.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807186acf26d458e19dc8508cc892c639d3d10f9bd17b90df21a2d31e775d9d3 +size 71551117 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.config b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.config new file mode 100755 index 00000000000..78bd904e420 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.config @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1db17d3a45a1fd89d525342a7a23cf1bd2c3051883d8a28eb681cd83d1c6dc16 +size 1671 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv new file mode 100644 index 00000000000..a400ce91673 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f18e63dd2b4f54f71de4683b863af6b77755e08a0a6af0aaa9d56a1f0ca05ad1 +size 3342686 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv.idx b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv.idx new file mode 100644 index 00000000000..8b61e625c12 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/clinvar/hg19/clinvar_hgmd.tsv.idx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1ca3de2675fbaa18a20aa9b114c9e10e01995ebaea4d94e088402a29e6f0b19 +size 10135929 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.config b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.config new file mode 100755 index 00000000000..6f11632c4d6 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.config @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb604e5862217c3978cc2fb0abf2f6f2cb8b4cf34681a026fedcd891aa0aa6f0 +size 1679 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf new file mode 100644 index 00000000000..ce87c954a55 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7c09d309121a8664c3f465ca169fadbfe539a188ab541052c4e6719aa209a15 +size 23214 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf.idx b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf.idx new file mode 100644 index 00000000000..10817a1e3a6 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA.gtf.idx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd2aa8475b77a6c8e2c782a2de47c7ec8070bfd541303e548e96f787a8920c1d +size 312 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.dict b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.dict new file mode 100644 index 00000000000..a22de84a368 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.dict @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74883af09a5772034d53f2df884a82e34df415951081e5754bedf1517ee9faa9 +size 968 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta new file mode 100644 index 00000000000..1ca5bf20690 --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d3f582d1ca1ed259c77e4a82f4bfed8e9253b4b5c3aba9a63eb08f75f5cc68d +size 10353 diff --git a/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta.fai b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta.fai new file mode 100644 index 00000000000..47e29d36fdd --- /dev/null +++ b/src/test/resources/large/funcotator/small_ds_clinvar_hg19/gencode_pik3ca/hg19/gencode.v19.PIK3CA_transcript.fasta.fai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4e49f4d57d32943e1663cf9902460ff7a2e2c03dfaf0bd3c5fc7ad9f01c2d47 +size 441 diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/clinvar_hg19_column_test.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/clinvar_hg19_column_test.vcf new file mode 100644 index 00000000000..5f08cd16f56 --- /dev/null +++ b/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/clinvar_hg19_column_test.vcf @@ -0,0 +1,205 @@ +##fileformat=VCFv4.2 +##Biotin(Bgnd)=Biotin(Bgnd)|Staining|508|179 +##Biotin(High)=Biotin(High)|Staining|778|5902 +##DNP(Bgnd)=DNP(Bgnd)|Staining|1058|245 +##DNP(High)=DNP(High)|Staining|32198|156 +##Extension(A)=Extension(A)|Extension|41089|480 +##Extension(C)=Extension(C)|Extension|2446|11515 +##Extension(G)=Extension(G)|Extension|2936|11197 +##Extension(T)=Extension(T)|Extension|43350|395 +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##Hyb(High)=Hyb(High)|Hybridization|3310|11184 +##Hyb(Low)=Hyb(Low)|Hybridization|3436|1823 +##Hyb(Medium)=Hyb(Medium)|Hybridization|1307|6426 +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##NP(A)=NP(A)|Non-Polymorphic|17148|391 +##NP(C)=NP(C)|Non-Polymorphic|1093|6000 +##NP(G)=NP(G)|Non-Polymorphic|1286|5170 +##NP(T)=NP(T)|Non-Polymorphic|15772|304 +##NSB(Bgnd)Blue=NSB(Bgnd)Blue|Non-SpecificBinding|922|301 +##NSB(Bgnd)Green=NSB(Bgnd)Green|Non-SpecificBinding|842|238 +##NSB(Bgnd)Purple=NSB(Bgnd)Purple|Non-SpecificBinding|912|204 +##NSB(Bgnd)Red=NSB(Bgnd)Red|Non-SpecificBinding|1016|295 +##Restore=Restore|Restoration|961|374 +##String(MM)=String(MM)|Stringency|4768|259 +##String(PM)=String(PM)|Stringency|29830|468 +##TargetRemoval=TargetRemoval|TargetRemoval|2492|281 +##analysisVersionNumber=1 +##arrayType=PsychChip_v1-1_15073391_A1 +##autocallDate=08/17/2017 00:40 +##autocallGender=F +##autocallVersion=2.0.0.137 +##chipWellBarcode=0816201804HC0_R01C01 +##clusterFile=PsychChip_v1-1_15073391_A1_ClusterFile.egt +##content=PsychChip_v1-1_15073391_A1.1.2.extended.csv +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##expectedGender=Female +##extendedIlluminaManifestVersion=1.2 +##extendedManifestFile=PsychChip_v1-1_15073391_A1.1.2.extended.csv +##fileDate=Thu Aug 17 00:44:56 UTC 2017 +##fingerprintGender=Unknown +##genomeBuild=HG19 +##imagingDate=8/14/2015 7:27:49 PM +##manifestFile=PsychChip_v1-1_15073391_A1.csv +##p95Green=7373 +##p95Red=22526 +##picardVersion=1.1222-SNAPSHOT +##reference=/cromwell_root/broad-references/hg19/v0/Homo_sapiens_assembly19.fasta +##sampleAlias=NA12878 +##scannerName=N0700 +##source=BPM file +##zcallThresholds=thresholds.7.txt +##zcallVersion=1.0.0.0 +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT 0816201804HC0_R01C01 +2 21230514 exm175660 G T . . AC=0;AF=0.00;ALLELE_A=T;ALLELE_B=G*;AN=2;BEADSET_ID=860;GC_SCORE=0.885;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21230514;ILLUMINA_STRAND=TOP;N_AA=0;N_AB=0;N_BB=1251;PROBE_A=GTTTTCCATTAAGGTTAACAGGGAAGATAGACTTCCTGAATAACTATGCA;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.1;devR_AB=0.1;devR_BB=0.1;devTHETA_AA=0.022;devTHETA_AB=0.022;devTHETA_BB=0.014;devX_AA=0.099;devX_AB=0.052;devX_BB=0.014;devY_AA=0.021;devY_AB=0.051;devY_BB=0.095;meanR_AA=0.639;meanR_AB=0.76;meanR_BB=0.655;meanTHETA_AA=0.024;meanTHETA_AB=0.492;meanTHETA_BB=0.96;meanX_AA=0.616;meanX_AB=0.385;meanX_BB=0.039;meanY_AA=0.023;meanY_AB=0.375;meanY_BB=0.616;refSNP=rs72653099;zthresh_X=0.129168772932;zthresh_Y=0.162602617756 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0.999:0/0:0/0:0.488:-0.035:0.039:0.6:0.639:0.959:1112:3435 +2 21230600 exm2275566 G A . . AC=0;AF=0.00;ALLELE_A=A;ALLELE_B=G*;AN=2;BEADSET_ID=850;GC_SCORE=0.873;ILLUMINA_BUILD=37.2;ILLUMINA_CHR=2;ILLUMINA_POS=21230600;ILLUMINA_STRAND=TOP;N_AA=0;N_AB=0;N_BB=1251;PROBE_A=ACCTTAATGGAAAACGAACTTTCAAATTCCCTTCATTGTTTGTGGATGCC;PROBE_B=.;SOURCE=1000genomes;devR_AA=0.114;devR_AB=0.169;devR_BB=0.1;devTHETA_AA=0.022;devTHETA_AB=0.022;devTHETA_BB=0.009;devX_AA=0.117;devX_AB=0.064;devX_BB=0.015;devY_AA=0.04;devY_AB=0.062;devY_BB=0.095;meanR_AA=1.205;meanR_AB=1.496;meanR_BB=1.159;meanTHETA_AA=0.024;meanTHETA_AB=0.491;meanTHETA_BB=0.958;meanX_AA=1.161;meanX_AB=0.759;meanX_BB=0.072;meanY_AA=0.044;meanY_AB=0.737;meanY_BB=1.087;refSNP=rs61742323;zthresh_X=0.173933925781;zthresh_Y=0.183776805468 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0.989:0/0:0/0:0.472:-0.014:0.089:1.067:1.156:0.947:1802:6030 +2 21230828 exm175670 T G . . AC=0;AF=0.00;ALLELE_A=T*;ALLELE_B=G;AN=2;BEADSET_ID=850;GC_SCORE=0.904;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21230828;ILLUMINA_STRAND=TOP;N_AA=1247;N_AB=0;N_BB=0;PROBE_A=CACTTCCTTTGGACTGTCCAATAAGATCAATAGCAAACACCTAAGAGTAA;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.1;devR_AB=0.135;devR_BB=0.1;devTHETA_AA=0.009;devTHETA_AB=0.022;devTHETA_BB=0.022;devX_AA=0.098;devX_AB=0.054;devX_BB=0.031;devY_AA=0.014;devY_AB=0.054;devY_BB=0.101;meanR_AA=0.974;meanR_AB=1.193;meanR_BB=0.959;meanTHETA_AA=0.018;meanTHETA_AB=0.497;meanTHETA_BB=0.975;meanX_AA=0.948;meanX_AB=0.6;meanX_BB=0.036;meanY_AA=0.026;meanY_AB=0.593;meanY_BB=0.923;refSNP=rs72653098;zthresh_X=0.180081021025;zthresh_Y=0.120748796487 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0:0/0:0/0:0.512:-0.077:0.907:0.012:0.919:0.009:15780:141 +2 21230858 exm175672 T C . . AC=0;AF=0.00;ALLELE_A=T*;ALLELE_B=C;AN=2;BEADSET_ID=850;GC_SCORE=0.814;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21230858;ILLUMINA_STRAND=TOP;N_AA=1242;N_AB=0;N_BB=0;PROBE_A=ACAAATTAGTTTCACCATAGAAGGACCCCTCACTTCCTTTGGACTGTCCA;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.226;devR_AB=0.295;devR_BB=0.159;devTHETA_AA=0.006;devTHETA_AB=0.022;devTHETA_BB=0.022;devX_AA=0.219;devX_AB=0.122;devX_BB=0.06;devY_AA=0.02;devY_AB=0.122;devY_BB=0.164;meanR_AA=2.068;meanR_AB=2.613;meanR_BB=1.82;meanTHETA_AA=0.021;meanTHETA_AB=0.498;meanTHETA_BB=0.976;meanX_AA=2.002;meanX_AB=1.31;meanX_BB=0.067;meanY_AA=0.066;meanY_AB=1.303;meanY_BB=1.752;refSNP=rs142756262;zthresh_X=0.201317790122;zthresh_Y=0.180326773873 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0:0/0:0/0:0.402:-0.073:1.918:0.04:1.958:0.013:33213:378 +2 21231190 exm175681 A C . . AC=0;AF=0.00;ALLELE_A=A*;ALLELE_B=C;AN=2;BEADSET_ID=850;GC_SCORE=0.896;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231190;ILLUMINA_STRAND=BOT;N_AA=1249;N_AB=1;N_BB=0;PROBE_A=TACCTGAGAACGGAGCATGGGAGTGAAATGCTGTTTTTTGGAAATGCTAT;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.1;devR_AB=0.164;devR_BB=0.1;devTHETA_AA=0.008;devTHETA_AB=0.022;devTHETA_BB=0.022;devX_AA=0.098;devX_AB=0.057;devX_BB=0.035;devY_AA=0.015;devY_AB=0.055;devY_BB=0.102;meanR_AA=1.309;meanR_AB=1.455;meanR_BB=1.074;meanTHETA_AA=0.023;meanTHETA_AB=0.49;meanTHETA_BB=0.974;meanX_AA=1.263;meanX_AB=0.739;meanX_BB=0.041;meanY_AA=0.046;meanY_AB=0.716;meanY_BB=1.032;refSNP=rs148498577;zthresh_X=0.188059715443;zthresh_Y=0.143747812155 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0:0/0:0/0:0.886:-0.154:1.143:0.032:1.175:0.018:19857:271 +2 21231278 exm175686 G A . . AC=0;AF=0.00;ALLELE_A=A;ALLELE_B=G*;AN=2;BEADSET_ID=850;GC_SCORE=0.89;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231278;ILLUMINA_STRAND=TOP;N_AA=0;N_AB=16;N_BB=1235;PROBE_A=CCGTTCTCAGGTACTTGCTGGAGAACTTCACTGACTCCTTCAGAGCCAGC;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.1;devR_AB=0.126;devR_BB=0.1;devTHETA_AA=0.022;devTHETA_AB=0.024;devTHETA_BB=0.009;devX_AA=0.101;devX_AB=0.05;devX_BB=0.014;devY_AA=0.031;devY_AB=0.06;devY_BB=0.097;meanR_AA=0.965;meanR_AB=1.232;meanR_BB=1.086;meanTHETA_AA=0.028;meanTHETA_AB=0.567;meanTHETA_BB=0.977;meanX_AA=0.924;meanX_AB=0.551;meanX_BB=0.038;meanY_AA=0.041;meanY_AB=0.682;meanY_BB=1.048;refSNP=rs72653095;zthresh_X=0.134428242171;zthresh_Y=0.164427908145 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0.995:0/0:0/0:0.879:-0.201:0.039:0.907:0.946:0.973:926:5125 +2 21231387 exm175691 T G . . AC=0;AF=0.00;ALLELE_A=T*;ALLELE_B=G;AN=2;BEADSET_ID=850;GC_SCORE=0.582;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231387;ILLUMINA_STRAND=BOT;N_AA=1248;N_AB=0;N_BB=2;PROBE_A=TAATTTGGACTCTCCTTTGGCAGTGATGGAAGCTGCGATACCTGCTTCGT;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.111;devR_AB=0.109;devR_BB=0.1;devTHETA_AA=0.017;devTHETA_AB=0.022;devTHETA_BB=0.027;devX_AA=0.105;devX_AB=0.068;devX_BB=0.039;devY_AA=0.017;devY_AB=0.049;devY_BB=0.072;meanR_AA=0.673;meanR_AB=0.966;meanR_BB=0.978;meanTHETA_AA=0.042;meanTHETA_AB=0.383;meanTHETA_BB=0.725;meanX_AA=0.631;meanX_AB=0.572;meanX_BB=0.308;meanY_AA=0.041;meanY_AB=0.393;meanY_BB=0.669;refSNP=rs2163204;zthresh_X=0.185697348714;zthresh_Y=0.136933556944 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0:0/0:0/0:0.375:0.008:0.636:0.033:0.669:0.033:11109:237 +2 21231431 exm175693 G A . . AC=0;AF=0.00;ALLELE_A=A;ALLELE_B=G*;AN=2;BEADSET_ID=850;GC_SCORE=0.82;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231431;ILLUMINA_STRAND=TOP;N_AA=0;N_AB=0;N_BB=1250;PROBE_A=CTTCGTTTGCTGAGGTGGTTCCATTCCCTATGTCAGCATTTGCATCTAAT;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.128;devR_AB=0.191;devR_BB=0.1;devTHETA_AA=0.022;devTHETA_AB=0.022;devTHETA_BB=0.008;devX_AA=0.131;devX_AB=0.071;devX_BB=0.016;devY_AA=0.044;devY_AB=0.07;devY_BB=0.096;meanR_AA=1.35;meanR_AB=1.69;meanR_BB=1.285;meanTHETA_AA=0.024;meanTHETA_AB=0.495;meanTHETA_BB=0.966;meanX_AA=1.301;meanX_AB=0.852;meanX_BB=0.066;meanY_AA=0.049;meanY_AB=0.838;meanY_BB=1.219;refSNP=rs138391809;zthresh_X=0.171782122099;zthresh_Y=0.182037318196 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0.994:0/0:0/0:0.409:-0.132:0.07:1.107:1.177:0.96:1491:6254 +2 21231446 exm175695 T C . . AC=0;AF=0.00;ALLELE_A=T*;ALLELE_B=C;AN=2;BEADSET_ID=850;GC_SCORE=0.866;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231446;ILLUMINA_STRAND=BOT;N_AA=1248;N_AB=2;N_BB=0;PROBE_A=TGGTTCCATTCCCTATGTCAGCATTTGCATCTAATGTGAAAAGAGGAGAT;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.1;devR_AB=0.135;devR_BB=0.1;devTHETA_AA=0.01;devTHETA_AB=0.022;devTHETA_BB=0.022;devX_AA=0.096;devX_AB=0.05;devX_BB=0.032;devY_AA=0.016;devY_AB=0.059;devY_BB=0.102;meanR_AA=0.999;meanR_AB=1.219;meanR_BB=0.973;meanTHETA_AA=0.035;meanTHETA_AB=0.557;meanTHETA_BB=0.978;meanX_AA=0.947;meanX_AB=0.555;meanX_BB=0.033;meanY_AA=0.053;meanY_AB=0.664;meanY_BB=0.941;refSNP=rs142796181;zthresh_X=0.194493034433;zthresh_Y=0.161130815802 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0:0/0:0/0:0.849:-0.056:0.915:0.045:0.96:0.031:15919:326 +2 21231524 exm175699 G A . DUPE AC=0;AF=0.00;ALLELE_A=A;ALLELE_B=G*;AN=2;BEADSET_ID=850;GC_SCORE=0.815;ILLUMINA_BUILD=37.1;ILLUMINA_CHR=2;ILLUMINA_POS=21231524;ILLUMINA_STRAND=BOT;N_AA=57;N_AB=370;N_BB=821;PROBE_A=AATCCCAACTCTCAACCTTAATGATTTTCAAGTTCCTGACCTTCACATAC;PROBE_B=.;SOURCE=ExomeSNPs;devR_AA=0.115;devR_AB=0.11;devR_BB=0.1;devTHETA_AA=0.012;devTHETA_AB=0.02;devTHETA_BB=0.009;devX_AA=0.113;devX_AB=0.066;devX_BB=0.016;devY_AA=0.024;devY_AB=0.059;devY_BB=0.096;meanR_AA=1.422;meanR_AB=1.628;meanR_BB=1.202;meanTHETA_AA=0.026;meanTHETA_AB=0.459;meanTHETA_BB=0.967;meanX_AA=1.367;meanX_AB=0.867;meanX_BB=0.06;meanY_AA=0.056;meanY_AB=0.761;meanY_BB=1.142;refSNP=rs676210;zthresh_X=0.164213543474;zthresh_Y=0.178427638367 GT:BAF:GTA:GTZ:IGC:LRR:NORMX:NORMY:R:THETA:X:Y 0/0:0.991:0/0:0/0:0.838:-0.022:0.075:1.116:1.191:0.957:1571:6307