diff --git a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/DataSourceUtils.java b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/DataSourceUtils.java index 7efe9b56ee2..e37ffe8f3d6 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/DataSourceUtils.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/DataSourceUtils.java @@ -392,10 +392,12 @@ public static GencodeFuncotationFactory createGencodeDataSource(final Path dataS // Get some metadata: final String fastaPath = dataSourceProperties.getProperty(CONFIG_FILE_FIELD_NAME_GENCODE_FASTA_PATH); final String version = dataSourceProperties.getProperty(CONFIG_FILE_FIELD_NAME_VERSION); + final String name = dataSourceProperties.getProperty(CONFIG_FILE_FIELD_NAME_NAME); // Create our gencode factory: return new GencodeFuncotationFactory(dataSourceFile.resolveSibling(fastaPath), version, + name, transcriptSelectionMode, userTranscriptIdSet, annotationOverridesMap diff --git a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotation.java b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotation.java index 4f7a2781211..48d34a324b3 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotation.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotation.java @@ -14,7 +14,7 @@ import java.util.stream.Collectors; /** - * A class to represent a Functional Annotation. + * A class to represent a Functional Annotation from the Gencode data source. * Created by jonn on 8/22/17. */ public class GencodeFuncotation implements Funcotation { @@ -53,6 +53,8 @@ public class GencodeFuncotation implements Funcotation { private List otherTranscripts; // TRIVIAL + private String dataSourceName; + //------------------------------------------------------------ // Non-serialized fields: @@ -121,6 +123,7 @@ public GencodeFuncotation(final GencodeFuncotation that) { this.gcContent = that.gcContent; this.referenceContext = that.referenceContext; this.otherTranscripts = that.otherTranscripts; + this.dataSourceName = that.dataSourceName; this.locusLevel = that.locusLevel; this.apprisRank = that.apprisRank; this.transcriptLength = that.transcriptLength; @@ -201,7 +204,7 @@ public String serializeToVcfString() { public void setFieldSerializationOverrideValue( final String fieldName, final String overrideValue ) { // Cut off the "Gencode" and version number at the start of the string: - final String shortFieldName = fieldName.replaceAll("^" + GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_", ""); + final String shortFieldName = fieldName.replaceAll("^" + getDataSourceName()+ "_" + version + "_", ""); switch (shortFieldName) { case "hugoSymbol": hugoSymbolSerializedOverride = overrideValue; break; @@ -232,35 +235,35 @@ public void setFieldSerializationOverrideValue( final String fieldName, final St @Override public String getDataSourceName() { - return GencodeFuncotationFactory.DATA_SOURCE_NAME; + return dataSourceName; } @Override public LinkedHashSet getFieldNames() { return new LinkedHashSet<>( Arrays.asList( - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_hugoSymbol", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_ncbiBuild", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_chromosome", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_start", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_end", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_variantClassification", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_secondaryVariantClassification", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_variantType", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_refAllele", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_tumorSeqAllele1", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_tumorSeqAllele2", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_genomeChange", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_annotationTranscript", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_transcriptStrand", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_transcriptExon", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_transcriptPos", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_cDnaChange", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_codonChange", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_proteinChange", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_gcContent", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_referenceContext", - GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_otherTranscripts" + getDataSourceName() + "_" + version + "_hugoSymbol", + getDataSourceName() + "_" + version + "_ncbiBuild", + getDataSourceName() + "_" + version + "_chromosome", + getDataSourceName() + "_" + version + "_start", + getDataSourceName() + "_" + version + "_end", + getDataSourceName() + "_" + version + "_variantClassification", + getDataSourceName() + "_" + version + "_secondaryVariantClassification", + getDataSourceName() + "_" + version + "_variantType", + getDataSourceName() + "_" + version + "_refAllele", + getDataSourceName() + "_" + version + "_tumorSeqAllele1", + getDataSourceName() + "_" + version + "_tumorSeqAllele2", + getDataSourceName() + "_" + version + "_genomeChange", + getDataSourceName() + "_" + version + "_annotationTranscript", + getDataSourceName() + "_" + version + "_transcriptStrand", + getDataSourceName() + "_" + version + "_transcriptExon", + getDataSourceName() + "_" + version + "_transcriptPos", + getDataSourceName() + "_" + version + "_cDnaChange", + getDataSourceName() + "_" + version + "_codonChange", + getDataSourceName() + "_" + version + "_proteinChange", + getDataSourceName() + "_" + version + "_gcContent", + getDataSourceName() + "_" + version + "_referenceContext", + getDataSourceName() + "_" + version + "_otherTranscripts" ) ); } @@ -270,11 +273,11 @@ public String getField(final String fieldName) { // Allow a user to specify the name of the field, or the fully-qualified name of the field // with GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_" at the start. - final String altFieldName = GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_" + fieldName; + final String altFieldName = getDataSourceName() + "_" + version + "_" + fieldName; final LinkedHashSet fieldNames = getFieldNames(); if ( fieldNames.contains(fieldName) || fieldNames.contains(altFieldName) ) { - switch(fieldName.replace(GencodeFuncotationFactory.DATA_SOURCE_NAME + "_" + version + "_", "")) { + switch(fieldName.replace(getDataSourceName() + "_" + version + "_", "")) { case "hugoSymbol": return (hugoSymbolSerializedOverride != null ? hugoSymbolSerializedOverride : (hugoSymbol != null ? hugoSymbol : "")); case "ncbiBuild": @@ -363,6 +366,8 @@ public boolean equals(final Object o) { return false; if ( otherTranscripts != null ? !otherTranscripts.equals(that.otherTranscripts) : that.otherTranscripts != null ) return false; + if ( dataSourceName != null ? !dataSourceName.equals(that.dataSourceName) : that.dataSourceName != null ) + return false; if ( locusLevel != null ? !locusLevel.equals(that.locusLevel) : that.locusLevel != null ) return false; if ( apprisRank != that.apprisRank ) return false; if ( transcriptLength != null ? !transcriptLength.equals(that.transcriptLength) : that.transcriptLength != null ) @@ -437,6 +442,7 @@ public int hashCode() { result = 31 * result + (gcContent != null ? gcContent.hashCode() : 0); result = 31 * result + (referenceContext != null ? referenceContext.hashCode() : 0); result = 31 * result + (otherTranscripts != null ? otherTranscripts.hashCode() : 0); + result = 31 * result + (dataSourceName != null ? dataSourceName.hashCode() : 0); result = 31 * result + (locusLevel != null ? locusLevel.hashCode() : 0); result = 31 * result + (apprisRank != null ? apprisRank.hashCode() : 0); result = 31 * result + (transcriptLength != null ? transcriptLength.hashCode() : 0); @@ -491,6 +497,7 @@ public String toString() { ", gcContent=" + gcContent + ", referenceContext='" + referenceContext + '\'' + ", otherTranscripts=" + otherTranscripts + + ", dataSourceName=" + dataSourceName + ", locusLevel=" + locusLevel + ", apprisRank=" + apprisRank + ", transcriptLength=" + transcriptLength + @@ -726,6 +733,10 @@ public void setGeneTranscriptType(final GencodeGtfFeature.GeneTranscriptType gen this.geneTranscriptType = geneTranscriptType; } + public void setDataSourceName(final String dataSourceName) { + this.dataSourceName = dataSourceName; + } + //================================================================================================================== /** diff --git a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationBuilder.java b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationBuilder.java index 9f3ff965901..7936e536c5e 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationBuilder.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationBuilder.java @@ -298,4 +298,14 @@ public GencodeFuncotationBuilder setGeneTranscriptType(final GencodeGtfFeature.G gencodeFuncotation.setGeneTranscriptType( geneTranscriptType ); return this; } + + /** + * Set the Data Source Name {@link String} in the {@link GencodeFuncotation}. + * @param name The {@link String} containing the Data Source Name for the {@link GencodeFuncotation}. + * @return {@code this} {@link GencodeFuncotationBuilder} + */ + public GencodeFuncotationBuilder setDataSourceName( final String name ) { + gencodeFuncotation.setDataSourceName( name ); + return this; + } } diff --git a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java index cd9f8fd8b7a..7ca19121a52 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java @@ -39,7 +39,12 @@ */ public class GencodeFuncotationFactory extends DataSourceFuncotationFactory { - public static final String DATA_SOURCE_NAME = "Gencode"; + //================================================================================================================== + // Public Static Members: + /** + * Default name for this data source. + */ + public static final String DEFAULT_NAME = "Gencode"; //================================================================================================================== // Private Static Members: @@ -117,6 +122,11 @@ public class GencodeFuncotationFactory extends DataSourceFuncotationFactory { //================================================================================================================== // Private Members: + /** + * The name of this Gencode data source. + */ + private final String name; + /** * ReferenceSequenceFile for the transcript reference file. */ @@ -164,27 +174,9 @@ public class GencodeFuncotationFactory extends DataSourceFuncotationFactory { //================================================================================================================== // Constructors: - public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, final String version) { - this(gencodeTranscriptFastaFile, version, FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, new HashSet<>(), new LinkedHashMap<>()); - } - - public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, final String version, final Set userRequestedTranscripts) { - this(gencodeTranscriptFastaFile, version, FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, userRequestedTranscripts, new LinkedHashMap<>()); - } - - public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, final String version,final TranscriptSelectionMode transcriptSelectionMode) { - this(gencodeTranscriptFastaFile, version, transcriptSelectionMode, new HashSet<>(), new LinkedHashMap<>()); - } - - public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, - final String version, - final TranscriptSelectionMode transcriptSelectionMode, - final Set userRequestedTranscripts) { - this(gencodeTranscriptFastaFile, version, transcriptSelectionMode, userRequestedTranscripts, new LinkedHashMap<>()); - } - public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, final String version, + final String name, final TranscriptSelectionMode transcriptSelectionMode, final Set userRequestedTranscripts, final LinkedHashMap annotationOverrides) { @@ -198,6 +190,8 @@ public GencodeFuncotationFactory(final Path gencodeTranscriptFastaFile, this.version = version; + this.name = name; + // Go through each requested transcript and remove the version numbers from them if they exist: this.userRequestedTranscripts = new HashSet<>(); for ( final String transcript : userRequestedTranscripts ) { @@ -231,7 +225,7 @@ public void close() { @Override public String getName() { - return DATA_SOURCE_NAME; + return name; } @Override @@ -716,6 +710,9 @@ private GencodeFuncotation createCodingRegionFuncotationForNonProteinCodingFeatu // Set the VariantClassification through a simple equivalency on the gene type (since we have no transcript info): gencodeFuncotationBuilder.setVariantClassification( convertGeneTranscriptTypeToVariantClassification(exon.getGeneType()) ); + // Set our data source name: + gencodeFuncotationBuilder.setDataSourceName(getName()); + //============================================================================================================== return gencodeFuncotationBuilder.build(); @@ -807,6 +804,9 @@ private GencodeFuncotation createCodingRegionFuncotationForProteinCodingFeature( gencodeFuncotationBuilder.setVariantClassification( convertGeneTranscriptTypeToVariantClassification(exon.getGeneType()) ); } + // Set our data source name: + gencodeFuncotationBuilder.setDataSourceName(getName()); + return gencodeFuncotationBuilder.build(); } @@ -1142,6 +1142,9 @@ private GencodeFuncotation createUtrFuncotation(final VariantContext variant, // Set our version: gencodeFuncotationBuilder.setVersion(version); + // Set our data source name: + gencodeFuncotationBuilder.setDataSourceName(getName()); + return gencodeFuncotationBuilder.build(); } @@ -1218,6 +1221,9 @@ private GencodeFuncotation createIntronFuncotation(final VariantContext variant, // Set our version: gencodeFuncotationBuilder.setVersion(version); + // Set our data source name: + gencodeFuncotationBuilder.setDataSourceName(getName()); + return gencodeFuncotationBuilder.build(); } @@ -1815,6 +1821,9 @@ private GencodeFuncotation createIgrFuncotation(final VariantContext variant, // Set our version: funcotationBuilder.setVersion(version); + // Set our data source name: + funcotationBuilder.setDataSourceName(getName()); + return funcotationBuilder.build(); } diff --git a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRenderer.java b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRenderer.java index c994f83c587..c931335569d 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRenderer.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRenderer.java @@ -494,6 +494,7 @@ protected void writeHeader(final LinkedHashMap outputMap) { printWriter.write(Funcotator.VERSION); printWriter.write(" | Date "); printWriter.write(new SimpleDateFormat("yyyymmdd'T'hhmmss").format(new Date())); + printWriter.write(" | "); printWriter.write(getDataSourceInfoString()); writeLine(""); diff --git a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactoryUnitTest.java b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactoryUnitTest.java index 47ee338509c..eac40a81adc 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactoryUnitTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactoryUnitTest.java @@ -16,10 +16,7 @@ import org.broadinstitute.hellbender.engine.ReferenceDataSource; import org.broadinstitute.hellbender.engine.ReferenceMemorySource; import org.broadinstitute.hellbender.exceptions.GATKException; -import org.broadinstitute.hellbender.tools.funcotator.Funcotation; -import org.broadinstitute.hellbender.tools.funcotator.FuncotatorTestConstants; -import org.broadinstitute.hellbender.tools.funcotator.SequenceComparison; -import org.broadinstitute.hellbender.tools.funcotator.TranscriptSelectionMode; +import org.broadinstitute.hellbender.tools.funcotator.*; import org.broadinstitute.hellbender.utils.SimpleInterval; import org.broadinstitute.hellbender.utils.codecs.gencode.*; import org.broadinstitute.hellbender.utils.io.IOUtils; @@ -65,7 +62,13 @@ public class GencodeFuncotationFactoryUnitTest extends GATKBaseTest { // Gets cleaned up in `cleanupAfterTests()` // NOTE: This is initialized here to save time in testing. - testMuc16SnpCreateFuncotationsFuncotationFactory = new GencodeFuncotationFactory(IOUtils.getPath(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE), "VERSION"); + testMuc16SnpCreateFuncotationsFuncotationFactory = new GencodeFuncotationFactory( + IOUtils.getPath(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE), + "VERSION", + GencodeFuncotationFactory.DEFAULT_NAME, + FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, + new HashSet<>(), + new LinkedHashMap<>()); } //================================================================================================================== @@ -1147,7 +1150,13 @@ void testMuc16SnpCreateFuncotations(final int chromosomeNumber, final Set requestedTranscriptIds = getValidTranscriptsForGene("MUC16"); // Create a factory for our funcotations: - try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory(new File(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE).toPath(), "VERSION", requestedTranscriptIds)) { + try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory( + IOUtils.getPath(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE), + "VERSION", + GencodeFuncotationFactory.DEFAULT_NAME, + FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, + requestedTranscriptIds, + new LinkedHashMap<>())) { // Generate our funcotations: final List featureList = new ArrayList<>(); @@ -1198,7 +1207,13 @@ void createNonBasicFuncotations(final int start, final int end) { final ReferenceContext referenceContext = new ReferenceContext(refDataSourceHg19Ch19, variantInterval ); // Create a factory for our funcotations: - try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory(new File(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE).toPath(), "VERSION")) { + try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory( + IOUtils.getPath(FuncotatorTestConstants.MUC16_GENCODE_TRANSCRIPT_FASTA_FILE), + "VERSION", + GencodeFuncotationFactory.DEFAULT_NAME, + FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, + new HashSet<>(), + new LinkedHashMap<>())) { // Generate our funcotations: final List featureList = new ArrayList<>(); @@ -1262,7 +1277,13 @@ void testCreateFuncotations(final String expectedGeneName, final Set requestedTranscriptIds = getValidTranscriptsForGene(expectedGeneName); // Create a factory for our funcotations: - try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory(IOUtils.getPath(transcriptFastaFile), "VERSION", requestedTranscriptIds)) { + try (final GencodeFuncotationFactory funcotationFactory = new GencodeFuncotationFactory( + IOUtils.getPath(transcriptFastaFile), + "VERSION", + GencodeFuncotationFactory.DEFAULT_NAME, + FuncotatorArgumentDefinitions.TRANSCRIPT_SELECTION_MODE_DEFAULT_VALUE, + requestedTranscriptIds, + new LinkedHashMap<>())) { final List featureList = new ArrayList<>(); featureList.add( gene ); diff --git a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationUnitTest.java b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationUnitTest.java index 2aba6fa0632..cc18884ebdd 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationUnitTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationUnitTest.java @@ -31,11 +31,12 @@ private static GencodeFuncotation createGencodeFuncotation(final String hugoSymb final String cDnaChange, final String codonChange, final String proteinChange, final Double gcContent, final String referenceContext, - final List otherTranscripts) { + final List otherTranscripts) { final GencodeFuncotation gencodeFuncotation = new GencodeFuncotation(); gencodeFuncotation.setVersion("TEST_VERSION"); + gencodeFuncotation.setDataSourceName(GencodeFuncotationFactory.DEFAULT_NAME); gencodeFuncotation.setHugoSymbol( hugoSymbol ); gencodeFuncotation.setNcbiBuild( ncbiBuild ); diff --git a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRendererUnitTest.java b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRendererUnitTest.java index 0c94d573f88..092468cae8c 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRendererUnitTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/funcotator/mafOutput/MafOutputRendererUnitTest.java @@ -622,7 +622,7 @@ private Object[][] provideForWrite() { baseFieldNameList, createFieldValuesFromNameList("A", baseFieldNameList, fieldSize), Allele.create("T"), - GencodeFuncotationFactory.DATA_SOURCE_NAME + GencodeFuncotationFactory.DEFAULT_NAME ) ), Collections.singletonList( @@ -630,7 +630,7 @@ private Object[][] provideForWrite() { baseFieldNameList, createFieldValuesFromNameList("B", baseFieldNameList, fieldSize), Allele.create("C"), - GencodeFuncotationFactory.DATA_SOURCE_NAME + GencodeFuncotationFactory.DEFAULT_NAME ) ), Collections.singletonList( @@ -638,7 +638,7 @@ private Object[][] provideForWrite() { baseFieldNameList, createFieldValuesFromNameList("C", baseFieldNameList, fieldSize), Allele.create("GG"), - GencodeFuncotationFactory.DATA_SOURCE_NAME + GencodeFuncotationFactory.DEFAULT_NAME ) ), Collections.singletonList( diff --git a/src/test/resources/large/funcotator/funcotator_dataSources/gencode_muc16/hg19/gencode.config b/src/test/resources/large/funcotator/funcotator_dataSources/gencode_muc16/hg19/gencode.config index dcbf944a6d8..b8320b84d35 100755 --- a/src/test/resources/large/funcotator/funcotator_dataSources/gencode_muc16/hg19/gencode.config +++ b/src/test/resources/large/funcotator/funcotator_dataSources/gencode_muc16/hg19/gencode.config @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0b9ee8ca0e98586dd47dee4feed5ec6306e8d00ccf049035f6fdc29ec015af8 -size 1677 +oid sha256:3221c3236903cb6c59347c4c0a2cc6fe8e2120eb760515f1708da2d6deec82ff +size 1683 diff --git a/src/test/resources/large/funcotator/funcotator_dataSources/gencode_pik3ca/hg19/gencode.config b/src/test/resources/large/funcotator/funcotator_dataSources/gencode_pik3ca/hg19/gencode.config index e87c62c2f97..93aee88e4f1 100755 --- a/src/test/resources/large/funcotator/funcotator_dataSources/gencode_pik3ca/hg19/gencode.config +++ b/src/test/resources/large/funcotator/funcotator_dataSources/gencode_pik3ca/hg19/gencode.config @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d80f50122537b8040bd3f4c6b05e3b1e737d2b54bfe287a690fcf96654117f9 -size 1681 +oid sha256:eecc22e2b7b13587bb7ed18b46b0fb2de9eb19c35bc6cb42d65381e9320dc76d +size 1686 diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/ExampleMafFileForTests.maf b/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/ExampleMafFileForTests.maf index 1a836610c55..5880fe27615 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/ExampleMafFileForTests.maf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/funcotator/ExampleMafFileForTests.maf @@ -1,12 +1,12 @@ #version 2.4 ## ## fileformat=VCFv4.2 -## Funcotator 0.0.2 | Date 20183219T103212Achilles 110303 | CGC full_2012_03-15 | ClinVar 12.03.20 | Cosmic 83 | CosmicFusion v83 | CosmicTissue v83 | DNARepairGenes 20171217T214737 | Familial_Cancer_Genes 20110905 | Gencode 19 BEST_EFFECT | Gencode 19 BEST_EFFECT | Gencode_XHGNC 75_37 | Gencode_XRefSeq 75_37 | HGNC Nov302017 | Simple_Uniprot 2014_12 -Hugo_Symbol Entrez_Gene_Id Center NCBI_Build Chromosome Start_Position End_Position Strand Variant_Classification Variant_Type Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS dbSNP_Val_Status Tumor_Sample_Barcode Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1 Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2 Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2 Verification_Status Validation_Status Mutation_Status Sequencing_Phase Sequence_Source Validation_Method Score BAM_File Sequencer Tumor_Sample_UUID Matched_Norm_Sample_UUID Genome_Change Annotation_Transcript Transcript_Strand Transcript_Exon Transcript_Position cDNA_Change Codon_Change Protein_Change Other_Transcripts Refseq_mRNA_Id Refseq_prot_Id SwissProt_acc_Id SwissProt_entry_Id Description UniProt_AApos UniProt_Region UniProt_Site UniProt_Natural_Variations UniProt_Experimental_Info GO_Biological_Process GO_Cellular_Component GO_Molecular_Function COSMIC_overlapping_mutations COSMIC_fusion_genes COSMIC_tissue_types_affected COSMIC_total_alterations_in_gene Tumorscape_Amplification_Peaks Tumorscape_Deletion_Peaks TCGAscape_Amplification_Peaks TCGAscape_Deletion_Peaks DrugBank ref_context gc_content CCLE_ONCOMAP_overlapping_mutations CCLE_ONCOMAP_total_mutations_in_gene CGC_Mutation_Type CGC_Translocation_Partner CGC_Tumor_Types_Somatic CGC_Tumor_Types_Germline CGC_Other_Diseases DNARepairGenes_Activity_linked_to_OMIM FamilialCancerDatabase_Syndromes MUTSIG_Published_Results OREGANNO_ID OREGANNO_Values tumor_f Achilles_Top_Genes CGC_Name CGC_GeneID CGC_Chr CGC_Chr_Band CGC_Cancer_Somatic_Mut CGC_Cancer_Germline_Mut CGC_Cancer_Syndrome CGC_Tissue_Type CGC_Cancer_Molecular_Genetics CGC_Other_Germline_Mut ClinVar_HGMD_ID ClinVar_SYM ClinVar_TYPE ClinVar_ASSEMBLY ClinVar_rs CosmicFusion_fusion_id DNARepairGenes_Chromosome_location_linked_to_NCBI_MapView DNARepairGenes_Accession_number_linked_to_NCBI_Entrez Familial_Cancer_Genes_Synonym Familial_Cancer_Genes_Reference Gencode_19_secondaryVariantClassification Gencode_XHGNC_hgnc_id HGNC_HGNC_ID HGNC_Status HGNC_Locus_Type HGNC_Locus_Group HGNC_Previous_Symbols HGNC_Previous_Name HGNC_Synonyms HGNC_Name_Synonyms HGNC_Chromosome HGNC_Date_Modified HGNC_Date_Symbol_Changed HGNC_Date_Name_Changed HGNC_Accession_Numbers HGNC_Enzyme_IDs HGNC_Ensembl_Gene_ID HGNC_Pubmed_IDs HGNC_RefSeq_IDs HGNC_Gene_Family_ID HGNC_Gene_Family_Name HGNC_CCDS_IDs HGNC_Vega_ID HGNC_OMIM_ID(supplied_by_OMIM) HGNC_RefSeq(supplied_by_NCBI) HGNC_UniProt_ID(supplied_by_UniProt) HGNC_Ensembl_ID(supplied_by_Ensembl) HGNC_UCSC_ID(supplied_by_UCSC) Simple_Uniprot_alt_uniprot_accessions -A000000001 A000000002 A000000003 A000000004 A000000005 A000000006 A000000007 A000000008 A000000009 A000000010 A000000011 A000000012 A000000013 A000000014 A000000015 A000000016 A000000017 A000000018 A000000019 A000000020 A000000021 A000000022 A000000023 A000000024 A000000025 A000000026 A000000027 A000000028 A000000029 A000000030 A000000031 A000000032 A000000033 A000000034 A000000035 A000000036 A000000037 A000000038 A000000039 A000000040 A000000041 A000000042 A000000043 A000000044 A000000045 A000000046 A000000047 A000000048 A000000049 A000000050 A000000051 A000000052 A000000053 A000000054 A000000055 A000000056 A000000057 A000000058 A000000059 A000000060 A000000061 A000000062 A000000063 A000000064 A000000065 A000000066 A000000067 A000000068 A000000069 A000000070 A000000071 A000000072 A000000073 A000000074 A000000075 A000000076 A000000077 A000000078 A000000079 A000000080 A000000081 A000000082 A000000083 A000000084 A000000085 A000000086 A000000087 A000000088 A000000089 A000000090 A000000091 A000000092 A000000093 A000000094 A000000095 A000000096 A000000097 A000000098 A000000099 A000000100 A000000101 A000000102 A000000103 A000000104 A000000105 A000000106 A000000107 A000000108 A000000109 A000000110 A000000111 A000000112 A000000113 A000000114 A000000115 A000000116 A000000117 A000000118 A000000119 A000000120 A000000121 A000000122 A000000123 A000000124 A000000125 A000000126 A000000127 A000000128 A000000129 A000000130 -B000000001 B000000002 B000000003 B000000004 B000000005 B000000006 B000000007 B000000008 B000000009 B000000010 B000000011 B000000012 B000000013 B000000014 B000000015 B000000016 B000000017 B000000018 B000000019 B000000020 B000000021 B000000022 B000000023 B000000024 B000000025 B000000026 B000000027 B000000028 B000000029 B000000030 B000000031 B000000032 B000000033 B000000034 B000000035 B000000036 B000000037 B000000038 B000000039 B000000040 B000000041 B000000042 B000000043 B000000044 B000000045 B000000046 B000000047 B000000048 B000000049 B000000050 B000000051 B000000052 B000000053 B000000054 B000000055 B000000056 B000000057 B000000058 B000000059 B000000060 B000000061 B000000062 B000000063 B000000064 B000000065 B000000066 B000000067 B000000068 B000000069 B000000070 B000000071 B000000072 B000000073 B000000074 B000000075 B000000076 B000000077 B000000078 B000000079 B000000080 B000000081 B000000082 B000000083 B000000084 B000000085 B000000086 B000000087 B000000088 B000000089 B000000090 B000000091 B000000092 B000000093 B000000094 B000000095 B000000096 B000000097 B000000098 B000000099 B000000100 B000000101 B000000102 B000000103 B000000104 B000000105 B000000106 B000000107 B000000108 B000000109 B000000110 B000000111 B000000112 B000000113 B000000114 B000000115 B000000116 B000000117 B000000118 B000000119 B000000120 B000000121 B000000122 B000000123 B000000124 B000000125 B000000126 B000000127 B000000128 B000000129 B000000130 -C000000001 C000000002 C000000003 C000000004 C000000005 C000000006 C000000007 C000000008 C000000009 C000000010 C000000011 C000000012 C000000013 C000000014 C000000015 C000000016 C000000017 C000000018 C000000019 C000000020 C000000021 C000000022 C000000023 C000000024 C000000025 C000000026 C000000027 C000000028 C000000029 C000000030 C000000031 C000000032 C000000033 C000000034 C000000035 C000000036 C000000037 C000000038 C000000039 C000000040 C000000041 C000000042 C000000043 C000000044 C000000045 C000000046 C000000047 C000000048 C000000049 C000000050 C000000051 C000000052 C000000053 C000000054 C000000055 C000000056 C000000057 C000000058 C000000059 C000000060 C000000061 C000000062 C000000063 C000000064 C000000065 C000000066 C000000067 C000000068 C000000069 C000000070 C000000071 C000000072 C000000073 C000000074 C000000075 C000000076 C000000077 C000000078 C000000079 C000000080 C000000081 C000000082 C000000083 C000000084 C000000085 C000000086 C000000087 C000000088 C000000089 C000000090 C000000091 C000000092 C000000093 C000000094 C000000095 C000000096 C000000097 C000000098 C000000099 C000000100 C000000101 C000000102 C000000103 C000000104 C000000105 C000000106 C000000107 C000000108 C000000109 C000000110 C000000111 C000000112 C000000113 C000000114 C000000115 C000000116 C000000117 C000000118 C000000119 C000000120 C000000121 C000000122 C000000123 C000000124 C000000125 C000000126 C000000127 C000000128 C000000129 C000000130 -D000000001 D000000002 D000000003 D000000004 D000000005 D000000006 D000000007 D000000008 D000000009 D000000010 D000000011 D000000012 D000000013 D000000014 D000000015 D000000016 D000000017 D000000018 D000000019 D000000020 D000000021 D000000022 D000000023 D000000024 D000000025 D000000026 D000000027 D000000028 D000000029 D000000030 D000000031 D000000032 D000000033 D000000034 D000000035 D000000036 D000000037 D000000038 D000000039 D000000040 D000000041 D000000042 D000000043 D000000044 D000000045 D000000046 D000000047 D000000048 D000000049 D000000050 D000000051 D000000052 D000000053 D000000054 D000000055 D000000056 D000000057 D000000058 D000000059 D000000060 D000000061 D000000062 D000000063 D000000064 D000000065 D000000066 D000000067 D000000068 D000000069 D000000070 D000000071 D000000072 D000000073 D000000074 D000000075 D000000076 D000000077 D000000078 D000000079 D000000080 D000000081 D000000082 D000000083 D000000084 D000000085 D000000086 D000000087 D000000088 D000000089 D000000090 D000000091 D000000092 D000000093 D000000094 D000000095 D000000096 D000000097 D000000098 D000000099 D000000100 D000000101 D000000102 D000000103 D000000104 D000000105 D000000106 D000000107 D000000108 D000000109 D000000110 D000000111 D000000112 D000000113 D000000114 D000000115 D000000116 D000000117 D000000118 D000000119 D000000120 D000000121 D000000122 D000000123 D000000124 D000000125 D000000126 D000000127 D000000128 D000000129 D000000130 -E000000001 E000000002 E000000003 E000000004 E000000005 E000000006 E000000007 E000000008 E000000009 E000000010 E000000011 E000000012 E000000013 E000000014 E000000015 E000000016 E000000017 E000000018 E000000019 E000000020 E000000021 E000000022 E000000023 E000000024 E000000025 E000000026 E000000027 E000000028 E000000029 E000000030 E000000031 E000000032 E000000033 E000000034 E000000035 E000000036 E000000037 E000000038 E000000039 E000000040 E000000041 E000000042 E000000043 E000000044 E000000045 E000000046 E000000047 E000000048 E000000049 E000000050 E000000051 E000000052 E000000053 E000000054 E000000055 E000000056 E000000057 E000000058 E000000059 E000000060 E000000061 E000000062 E000000063 E000000064 E000000065 E000000066 E000000067 E000000068 E000000069 E000000070 E000000071 E000000072 E000000073 E000000074 E000000075 E000000076 E000000077 E000000078 E000000079 E000000080 E000000081 E000000082 E000000083 E000000084 E000000085 E000000086 E000000087 E000000088 E000000089 E000000090 E000000091 E000000092 E000000093 E000000094 E000000095 E000000096 E000000097 E000000098 E000000099 E000000100 E000000101 E000000102 E000000103 E000000104 E000000105 E000000106 E000000107 E000000108 E000000109 E000000110 E000000111 E000000112 E000000113 E000000114 E000000115 E000000116 E000000117 E000000118 E000000119 E000000120 E000000121 E000000122 E000000123 E000000124 E000000125 E000000126 E000000127 E000000128 E000000129 E000000130 -F000000001 F000000002 F000000003 F000000004 F000000005 F000000006 F000000007 F000000008 F000000009 F000000010 F000000011 F000000012 F000000013 F000000014 F000000015 F000000016 F000000017 F000000018 F000000019 F000000020 F000000021 F000000022 F000000023 F000000024 F000000025 F000000026 F000000027 F000000028 F000000029 F000000030 F000000031 F000000032 F000000033 F000000034 F000000035 F000000036 F000000037 F000000038 F000000039 F000000040 F000000041 F000000042 F000000043 F000000044 F000000045 F000000046 F000000047 F000000048 F000000049 F000000050 F000000051 F000000052 F000000053 F000000054 F000000055 F000000056 F000000057 F000000058 F000000059 F000000060 F000000061 F000000062 F000000063 F000000064 F000000065 F000000066 F000000067 F000000068 F000000069 F000000070 F000000071 F000000072 F000000073 F000000074 F000000075 F000000076 F000000077 F000000078 F000000079 F000000080 F000000081 F000000082 F000000083 F000000084 F000000085 F000000086 F000000087 F000000088 F000000089 F000000090 F000000091 F000000092 F000000093 F000000094 F000000095 F000000096 F000000097 F000000098 F000000099 F000000100 F000000101 F000000102 F000000103 F000000104 F000000105 F000000106 F000000107 F000000108 F000000109 F000000110 F000000111 F000000112 F000000113 F000000114 F000000115 F000000116 F000000117 F000000118 F000000119 F000000120 F000000121 F000000122 F000000123 F000000124 F000000125 F000000126 F000000127 F000000128 F000000129 F000000130 -G000000001 G000000002 G000000003 G000000004 G000000005 G000000006 G000000007 G000000008 G000000009 G000000010 G000000011 G000000012 G000000013 G000000014 G000000015 G000000016 G000000017 G000000018 G000000019 G000000020 G000000021 G000000022 G000000023 G000000024 G000000025 G000000026 G000000027 G000000028 G000000029 G000000030 G000000031 G000000032 G000000033 G000000034 G000000035 G000000036 G000000037 G000000038 G000000039 G000000040 G000000041 G000000042 G000000043 G000000044 G000000045 G000000046 G000000047 G000000048 G000000049 G000000050 G000000051 G000000052 G000000053 G000000054 G000000055 G000000056 G000000057 G000000058 G000000059 G000000060 G000000061 G000000062 G000000063 G000000064 G000000065 G000000066 G000000067 G000000068 G000000069 G000000070 G000000071 G000000072 G000000073 G000000074 G000000075 G000000076 G000000077 G000000078 G000000079 G000000080 G000000081 G000000082 G000000083 G000000084 G000000085 G000000086 G000000087 G000000088 G000000089 G000000090 G000000091 G000000092 G000000093 G000000094 G000000095 G000000096 G000000097 G000000098 G000000099 G000000100 G000000101 G000000102 G000000103 G000000104 G000000105 G000000106 G000000107 G000000108 G000000109 G000000110 G000000111 G000000112 G000000113 G000000114 G000000115 G000000116 G000000117 G000000118 G000000119 G000000120 G000000121 G000000122 G000000123 G000000124 G000000125 G000000126 G000000127 G000000128 G000000129 G000000130 +## Funcotator 0.0.3 | Date 20183219T103212 | Achilles 110303 | CGC full_2012_03-15 | ClinVar 12.03.20 | Cosmic 83 | CosmicFusion v83 | CosmicTissue v83 | DNARepairGenes 20171217T214737 | Familial_Cancer_Genes 20110905 | Gencode_Muc16 19 BEST_EFFECT | Gencode_Pik3ca 19 BEST_EFFECT | Gencode_XHGNC 75_37 | Gencode_XRefSeq 75_37 | HGNC Nov302017 | Simple_Uniprot 2014_12 +Hugo_Symbol Entrez_Gene_Id Center NCBI_Build Chromosome Start_Position End_Position Strand Variant_Classification Variant_Type Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS dbSNP_Val_Status Tumor_Sample_Barcode Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1 Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2 Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2 Verification_Status Validation_Status Mutation_Status Sequencing_Phase Sequence_Source Validation_Method Score BAM_File Sequencer Tumor_Sample_UUID Matched_Norm_Sample_UUID Genome_Change Annotation_Transcript Transcript_Strand Transcript_Exon Transcript_Position cDNA_Change Codon_Change Protein_Change Other_Transcripts Refseq_mRNA_Id Refseq_prot_Id SwissProt_acc_Id SwissProt_entry_Id Description UniProt_AApos UniProt_Region UniProt_Site UniProt_Natural_Variations UniProt_Experimental_Info GO_Biological_Process GO_Cellular_Component GO_Molecular_Function COSMIC_overlapping_mutations COSMIC_fusion_genes COSMIC_tissue_types_affected COSMIC_total_alterations_in_gene Tumorscape_Amplification_Peaks Tumorscape_Deletion_Peaks TCGAscape_Amplification_Peaks TCGAscape_Deletion_Peaks DrugBank ref_context gc_content CCLE_ONCOMAP_overlapping_mutations CCLE_ONCOMAP_total_mutations_in_gene CGC_Mutation_Type CGC_Translocation_Partner CGC_Tumor_Types_Somatic CGC_Tumor_Types_Germline CGC_Other_Diseases DNARepairGenes_Activity_linked_to_OMIM FamilialCancerDatabase_Syndromes MUTSIG_Published_Results OREGANNO_ID OREGANNO_Values tumor_f Achilles_Top_Genes CGC_Name CGC_GeneID CGC_Chr CGC_Chr_Band CGC_Cancer_Somatic_Mut CGC_Cancer_Germline_Mut CGC_Cancer_Syndrome CGC_Tissue_Type CGC_Cancer_Molecular_Genetics CGC_Other_Germline_Mut ClinVar_HGMD_ID ClinVar_SYM ClinVar_TYPE ClinVar_ASSEMBLY ClinVar_rs CosmicFusion_fusion_id DNARepairGenes_Chromosome_location_linked_to_NCBI_MapView DNARepairGenes_Accession_number_linked_to_NCBI_Entrez Familial_Cancer_Genes_Synonym Familial_Cancer_Genes_Reference Gencode_Muc16_19_hugoSymbol Gencode_Muc16_19_ncbiBuild Gencode_Muc16_19_chromosome Gencode_Muc16_19_start Gencode_Muc16_19_end Gencode_Muc16_19_variantClassification Gencode_Muc16_19_secondaryVariantClassification Gencode_Muc16_19_variantType Gencode_Muc16_19_refAllele Gencode_Muc16_19_tumorSeqAllele1 Gencode_Muc16_19_tumorSeqAllele2 Gencode_Muc16_19_genomeChange Gencode_Muc16_19_annotationTranscript Gencode_Muc16_19_transcriptStrand Gencode_Muc16_19_transcriptExon Gencode_Muc16_19_transcriptPos Gencode_Muc16_19_cDnaChange Gencode_Muc16_19_codonChange Gencode_Muc16_19_proteinChange Gencode_Muc16_19_gcContent Gencode_Muc16_19_referenceContext Gencode_Muc16_19_otherTranscripts Gencode_Pik3ca_19_hugoSymbol Gencode_Pik3ca_19_ncbiBuild Gencode_Pik3ca_19_chromosome Gencode_Pik3ca_19_start Gencode_Pik3ca_19_end Gencode_Pik3ca_19_variantClassification Gencode_Pik3ca_19_secondaryVariantClassification Gencode_Pik3ca_19_variantType Gencode_Pik3ca_19_refAllele Gencode_Pik3ca_19_tumorSeqAllele1 Gencode_Pik3ca_19_tumorSeqAllele2 Gencode_Pik3ca_19_genomeChange Gencode_Pik3ca_19_annotationTranscript Gencode_Pik3ca_19_transcriptStrand Gencode_Pik3ca_19_transcriptExon Gencode_Pik3ca_19_transcriptPos Gencode_Pik3ca_19_cDnaChange Gencode_Pik3ca_19_codonChange Gencode_Pik3ca_19_proteinChange Gencode_Pik3ca_19_gcContent Gencode_Pik3ca_19_referenceContext Gencode_Pik3ca_19_otherTranscripts Gencode_XHGNC_hgnc_id HGNC_HGNC_ID HGNC_Status HGNC_Locus_Type HGNC_Locus_Group HGNC_Previous_Symbols HGNC_Previous_Name HGNC_Synonyms HGNC_Name_Synonyms HGNC_Chromosome HGNC_Date_Modified HGNC_Date_Symbol_Changed HGNC_Date_Name_Changed HGNC_Accession_Numbers HGNC_Enzyme_IDs HGNC_Ensembl_Gene_ID HGNC_Pubmed_IDs HGNC_RefSeq_IDs HGNC_Gene_Family_ID HGNC_Gene_Family_Name HGNC_CCDS_IDs HGNC_Vega_ID HGNC_OMIM_ID(supplied_by_OMIM) HGNC_RefSeq(supplied_by_NCBI) HGNC_UniProt_ID(supplied_by_UniProt) HGNC_Ensembl_ID(supplied_by_Ensembl) HGNC_UCSC_ID(supplied_by_UCSC) Simple_Uniprot_alt_uniprot_accessions +A000000001 A000000002 A000000003 A000000004 A000000005 A000000006 A000000007 A000000008 A000000009 A000000010 A000000011 A000000012 A000000013 A000000014 A000000015 A000000016 A000000017 A000000018 A000000019 A000000020 A000000021 A000000022 A000000023 A000000024 A000000025 A000000026 A000000027 A000000028 A000000029 A000000030 A000000031 A000000032 A000000033 A000000034 A000000035 A000000036 A000000037 A000000038 A000000039 A000000040 A000000041 A000000042 A000000043 A000000044 A000000045 A000000046 A000000047 A000000048 A000000049 A000000050 A000000051 A000000052 A000000053 A000000054 A000000055 A000000056 A000000057 A000000058 A000000059 A000000060 A000000061 A000000062 A000000063 A000000064 A000000065 A000000066 A000000067 A000000068 A000000069 A000000070 A000000071 A000000072 A000000073 A000000074 A000000075 A000000076 A000000077 A000000078 A000000079 A000000080 A000000081 A000000082 A000000083 A000000084 A000000085 A000000086 A000000087 A000000088 A000000089 A000000090 A000000091 A000000092 A000000093 A000000094 A000000095 A000000096 A000000097 A000000098 A000000099 A000000100 A000000101 A000000102 A000000103 A000000104 A000000105 A000000106 A000000107 A000000108 A000000109 A000000110 A000000111 A000000112 A000000113 A000000114 A000000115 A000000116 A000000117 A000000118 A000000119 A000000120 A000000121 A000000122 A000000123 A000000124 A000000125 A000000126 A000000127 A000000128 A000000129 A000000130 A000000131 A000000132 A000000133 A000000134 A000000135 A000000136 A000000137 A000000138 A000000139 A000000140 A000000141 A000000142 A000000143 A000000144 A000000145 A000000146 A000000147 A000000148 A000000149 A000000150 A000000151 A000000152 A000000153 A000000154 A000000155 A000000156 A000000157 A000000158 A000000159 A000000160 A000000161 A000000162 A000000163 A000000164 A000000165 A000000166 A000000167 A000000168 A000000169 A000000170 A000000171 A000000172 A000000173 +B000000001 B000000002 B000000003 B000000004 B000000005 B000000006 B000000007 B000000008 B000000009 B000000010 B000000011 B000000012 B000000013 B000000014 B000000015 B000000016 B000000017 B000000018 B000000019 B000000020 B000000021 B000000022 B000000023 B000000024 B000000025 B000000026 B000000027 B000000028 B000000029 B000000030 B000000031 B000000032 B000000033 B000000034 B000000035 B000000036 B000000037 B000000038 B000000039 B000000040 B000000041 B000000042 B000000043 B000000044 B000000045 B000000046 B000000047 B000000048 B000000049 B000000050 B000000051 B000000052 B000000053 B000000054 B000000055 B000000056 B000000057 B000000058 B000000059 B000000060 B000000061 B000000062 B000000063 B000000064 B000000065 B000000066 B000000067 B000000068 B000000069 B000000070 B000000071 B000000072 B000000073 B000000074 B000000075 B000000076 B000000077 B000000078 B000000079 B000000080 B000000081 B000000082 B000000083 B000000084 B000000085 B000000086 B000000087 B000000088 B000000089 B000000090 B000000091 B000000092 B000000093 B000000094 B000000095 B000000096 B000000097 B000000098 B000000099 B000000100 B000000101 B000000102 B000000103 B000000104 B000000105 B000000106 B000000107 B000000108 B000000109 B000000110 B000000111 B000000112 B000000113 B000000114 B000000115 B000000116 B000000117 B000000118 B000000119 B000000120 B000000121 B000000122 B000000123 B000000124 B000000125 B000000126 B000000127 B000000128 B000000129 B000000130 B000000131 B000000132 B000000133 B000000134 B000000135 B000000136 B000000137 B000000138 B000000139 B000000140 B000000141 B000000142 B000000143 B000000144 B000000145 B000000146 B000000147 B000000148 B000000149 B000000150 B000000151 B000000152 B000000153 B000000154 B000000155 B000000156 B000000157 B000000158 B000000159 B000000160 B000000161 B000000162 B000000163 B000000164 B000000165 B000000166 B000000167 B000000168 B000000169 B000000170 B000000171 B000000172 B000000173 +C000000001 C000000002 C000000003 C000000004 C000000005 C000000006 C000000007 C000000008 C000000009 C000000010 C000000011 C000000012 C000000013 C000000014 C000000015 C000000016 C000000017 C000000018 C000000019 C000000020 C000000021 C000000022 C000000023 C000000024 C000000025 C000000026 C000000027 C000000028 C000000029 C000000030 C000000031 C000000032 C000000033 C000000034 C000000035 C000000036 C000000037 C000000038 C000000039 C000000040 C000000041 C000000042 C000000043 C000000044 C000000045 C000000046 C000000047 C000000048 C000000049 C000000050 C000000051 C000000052 C000000053 C000000054 C000000055 C000000056 C000000057 C000000058 C000000059 C000000060 C000000061 C000000062 C000000063 C000000064 C000000065 C000000066 C000000067 C000000068 C000000069 C000000070 C000000071 C000000072 C000000073 C000000074 C000000075 C000000076 C000000077 C000000078 C000000079 C000000080 C000000081 C000000082 C000000083 C000000084 C000000085 C000000086 C000000087 C000000088 C000000089 C000000090 C000000091 C000000092 C000000093 C000000094 C000000095 C000000096 C000000097 C000000098 C000000099 C000000100 C000000101 C000000102 C000000103 C000000104 C000000105 C000000106 C000000107 C000000108 C000000109 C000000110 C000000111 C000000112 C000000113 C000000114 C000000115 C000000116 C000000117 C000000118 C000000119 C000000120 C000000121 C000000122 C000000123 C000000124 C000000125 C000000126 C000000127 C000000128 C000000129 C000000130 C000000131 C000000132 C000000133 C000000134 C000000135 C000000136 C000000137 C000000138 C000000139 C000000140 C000000141 C000000142 C000000143 C000000144 C000000145 C000000146 C000000147 C000000148 C000000149 C000000150 C000000151 C000000152 C000000153 C000000154 C000000155 C000000156 C000000157 C000000158 C000000159 C000000160 C000000161 C000000162 C000000163 C000000164 C000000165 C000000166 C000000167 C000000168 C000000169 C000000170 C000000171 C000000172 C000000173 +D000000001 D000000002 D000000003 D000000004 D000000005 D000000006 D000000007 D000000008 D000000009 D000000010 D000000011 D000000012 D000000013 D000000014 D000000015 D000000016 D000000017 D000000018 D000000019 D000000020 D000000021 D000000022 D000000023 D000000024 D000000025 D000000026 D000000027 D000000028 D000000029 D000000030 D000000031 D000000032 D000000033 D000000034 D000000035 D000000036 D000000037 D000000038 D000000039 D000000040 D000000041 D000000042 D000000043 D000000044 D000000045 D000000046 D000000047 D000000048 D000000049 D000000050 D000000051 D000000052 D000000053 D000000054 D000000055 D000000056 D000000057 D000000058 D000000059 D000000060 D000000061 D000000062 D000000063 D000000064 D000000065 D000000066 D000000067 D000000068 D000000069 D000000070 D000000071 D000000072 D000000073 D000000074 D000000075 D000000076 D000000077 D000000078 D000000079 D000000080 D000000081 D000000082 D000000083 D000000084 D000000085 D000000086 D000000087 D000000088 D000000089 D000000090 D000000091 D000000092 D000000093 D000000094 D000000095 D000000096 D000000097 D000000098 D000000099 D000000100 D000000101 D000000102 D000000103 D000000104 D000000105 D000000106 D000000107 D000000108 D000000109 D000000110 D000000111 D000000112 D000000113 D000000114 D000000115 D000000116 D000000117 D000000118 D000000119 D000000120 D000000121 D000000122 D000000123 D000000124 D000000125 D000000126 D000000127 D000000128 D000000129 D000000130 D000000131 D000000132 D000000133 D000000134 D000000135 D000000136 D000000137 D000000138 D000000139 D000000140 D000000141 D000000142 D000000143 D000000144 D000000145 D000000146 D000000147 D000000148 D000000149 D000000150 D000000151 D000000152 D000000153 D000000154 D000000155 D000000156 D000000157 D000000158 D000000159 D000000160 D000000161 D000000162 D000000163 D000000164 D000000165 D000000166 D000000167 D000000168 D000000169 D000000170 D000000171 D000000172 D000000173 +E000000001 E000000002 E000000003 E000000004 E000000005 E000000006 E000000007 E000000008 E000000009 E000000010 E000000011 E000000012 E000000013 E000000014 E000000015 E000000016 E000000017 E000000018 E000000019 E000000020 E000000021 E000000022 E000000023 E000000024 E000000025 E000000026 E000000027 E000000028 E000000029 E000000030 E000000031 E000000032 E000000033 E000000034 E000000035 E000000036 E000000037 E000000038 E000000039 E000000040 E000000041 E000000042 E000000043 E000000044 E000000045 E000000046 E000000047 E000000048 E000000049 E000000050 E000000051 E000000052 E000000053 E000000054 E000000055 E000000056 E000000057 E000000058 E000000059 E000000060 E000000061 E000000062 E000000063 E000000064 E000000065 E000000066 E000000067 E000000068 E000000069 E000000070 E000000071 E000000072 E000000073 E000000074 E000000075 E000000076 E000000077 E000000078 E000000079 E000000080 E000000081 E000000082 E000000083 E000000084 E000000085 E000000086 E000000087 E000000088 E000000089 E000000090 E000000091 E000000092 E000000093 E000000094 E000000095 E000000096 E000000097 E000000098 E000000099 E000000100 E000000101 E000000102 E000000103 E000000104 E000000105 E000000106 E000000107 E000000108 E000000109 E000000110 E000000111 E000000112 E000000113 E000000114 E000000115 E000000116 E000000117 E000000118 E000000119 E000000120 E000000121 E000000122 E000000123 E000000124 E000000125 E000000126 E000000127 E000000128 E000000129 E000000130 E000000131 E000000132 E000000133 E000000134 E000000135 E000000136 E000000137 E000000138 E000000139 E000000140 E000000141 E000000142 E000000143 E000000144 E000000145 E000000146 E000000147 E000000148 E000000149 E000000150 E000000151 E000000152 E000000153 E000000154 E000000155 E000000156 E000000157 E000000158 E000000159 E000000160 E000000161 E000000162 E000000163 E000000164 E000000165 E000000166 E000000167 E000000168 E000000169 E000000170 E000000171 E000000172 E000000173 +F000000001 F000000002 F000000003 F000000004 F000000005 F000000006 F000000007 F000000008 F000000009 F000000010 F000000011 F000000012 F000000013 F000000014 F000000015 F000000016 F000000017 F000000018 F000000019 F000000020 F000000021 F000000022 F000000023 F000000024 F000000025 F000000026 F000000027 F000000028 F000000029 F000000030 F000000031 F000000032 F000000033 F000000034 F000000035 F000000036 F000000037 F000000038 F000000039 F000000040 F000000041 F000000042 F000000043 F000000044 F000000045 F000000046 F000000047 F000000048 F000000049 F000000050 F000000051 F000000052 F000000053 F000000054 F000000055 F000000056 F000000057 F000000058 F000000059 F000000060 F000000061 F000000062 F000000063 F000000064 F000000065 F000000066 F000000067 F000000068 F000000069 F000000070 F000000071 F000000072 F000000073 F000000074 F000000075 F000000076 F000000077 F000000078 F000000079 F000000080 F000000081 F000000082 F000000083 F000000084 F000000085 F000000086 F000000087 F000000088 F000000089 F000000090 F000000091 F000000092 F000000093 F000000094 F000000095 F000000096 F000000097 F000000098 F000000099 F000000100 F000000101 F000000102 F000000103 F000000104 F000000105 F000000106 F000000107 F000000108 F000000109 F000000110 F000000111 F000000112 F000000113 F000000114 F000000115 F000000116 F000000117 F000000118 F000000119 F000000120 F000000121 F000000122 F000000123 F000000124 F000000125 F000000126 F000000127 F000000128 F000000129 F000000130 F000000131 F000000132 F000000133 F000000134 F000000135 F000000136 F000000137 F000000138 F000000139 F000000140 F000000141 F000000142 F000000143 F000000144 F000000145 F000000146 F000000147 F000000148 F000000149 F000000150 F000000151 F000000152 F000000153 F000000154 F000000155 F000000156 F000000157 F000000158 F000000159 F000000160 F000000161 F000000162 F000000163 F000000164 F000000165 F000000166 F000000167 F000000168 F000000169 F000000170 F000000171 F000000172 F000000173 +G000000001 G000000002 G000000003 G000000004 G000000005 G000000006 G000000007 G000000008 G000000009 G000000010 G000000011 G000000012 G000000013 G000000014 G000000015 G000000016 G000000017 G000000018 G000000019 G000000020 G000000021 G000000022 G000000023 G000000024 G000000025 G000000026 G000000027 G000000028 G000000029 G000000030 G000000031 G000000032 G000000033 G000000034 G000000035 G000000036 G000000037 G000000038 G000000039 G000000040 G000000041 G000000042 G000000043 G000000044 G000000045 G000000046 G000000047 G000000048 G000000049 G000000050 G000000051 G000000052 G000000053 G000000054 G000000055 G000000056 G000000057 G000000058 G000000059 G000000060 G000000061 G000000062 G000000063 G000000064 G000000065 G000000066 G000000067 G000000068 G000000069 G000000070 G000000071 G000000072 G000000073 G000000074 G000000075 G000000076 G000000077 G000000078 G000000079 G000000080 G000000081 G000000082 G000000083 G000000084 G000000085 G000000086 G000000087 G000000088 G000000089 G000000090 G000000091 G000000092 G000000093 G000000094 G000000095 G000000096 G000000097 G000000098 G000000099 G000000100 G000000101 G000000102 G000000103 G000000104 G000000105 G000000106 G000000107 G000000108 G000000109 G000000110 G000000111 G000000112 G000000113 G000000114 G000000115 G000000116 G000000117 G000000118 G000000119 G000000120 G000000121 G000000122 G000000123 G000000124 G000000125 G000000126 G000000127 G000000128 G000000129 G000000130 G000000131 G000000132 G000000133 G000000134 G000000135 G000000136 G000000137 G000000138 G000000139 G000000140 G000000141 G000000142 G000000143 G000000144 G000000145 G000000146 G000000147 G000000148 G000000149 G000000150 G000000151 G000000152 G000000153 G000000154 G000000155 G000000156 G000000157 G000000158 G000000159 G000000160 G000000161 G000000162 G000000163 G000000164 G000000165 G000000166 G000000167 G000000168 G000000169 G000000170 G000000171 G000000172 G000000173