X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvcf%2FVCFLoader.java;h=7bf7791f2b5d98a916313b804098aa3d088e10e0;hb=e185cfd4324bf9e2277e25cfc280cc8a23e75360;hp=9831af7aa60fe6e27455d84eaba52d888b260c0b;hpb=1b0014839c94c711c09a94641ecb5036072bb5b3;p=jalview.git diff --git a/src/jalview/io/vcf/VCFLoader.java b/src/jalview/io/vcf/VCFLoader.java index 9831af7..7bf7791 100644 --- a/src/jalview/io/vcf/VCFLoader.java +++ b/src/jalview/io/vcf/VCFLoader.java @@ -100,10 +100,12 @@ public class VCFLoader */ private static final String VCF_ASSEMBLY = "VCF_ASSEMBLY"; - private static final String DEFAULT_VCF_ASSEMBLY = "assembly19=GRCh38,hs37=GRCh37,grch37=GRCh37,grch38=GRCh38"; + private static final String DEFAULT_VCF_ASSEMBLY = "assembly19=GRCh37,hs37=GRCh37,grch37=GRCh37,grch38=GRCh38"; private static final String VCF_SPECIES = "VCF_SPECIES"; // default is human + private static final String DEFAULT_REFERENCE = "grch37"; // fallback default is human GRCh37 + /* * keys to fields of VEP CSQ consequence data * see https://www.ensembl.org/info/docs/tools/vep/vep_formats.html @@ -263,7 +265,12 @@ public class VCFLoader public SequenceI loadVCFContig(String contig) { VCFHeaderLine headerLine = header.getOtherHeaderLine(VCFHeader.REFERENCE_KEY); - String ref = headerLine == null ? null : headerLine.getValue(); + if (headerLine == null) + { + Cache.log.error("VCF reference header not found"); + return null; + } + String ref = headerLine.getValue(); if (ref.startsWith("file://")) { ref = ref.substring(7); @@ -282,7 +289,7 @@ public class VCFLoader } else { - System.err.println("VCF reference not found: " + ref); + Cache.log.error("VCF reference not found: " + ref); } return seq; @@ -301,7 +308,7 @@ public class VCFLoader { VCFHeaderLine ref = header .getOtherHeaderLine(VCFHeader.REFERENCE_KEY); - String reference = ref.getValue(); + String reference = ref == null ? null : ref.getValue(); setSpeciesAndAssembly(reference); @@ -373,8 +380,13 @@ public class VCFLoader */ protected void setSpeciesAndAssembly(String reference) { + if (reference == null) + { + Cache.log.error("No VCF ##reference found, defaulting to " + + DEFAULT_REFERENCE + ":" + DEFAULT_SPECIES); + reference = DEFAULT_REFERENCE; // default to GRCh37 if not specified + } reference = reference.toLowerCase(); - vcfSpecies = DEFAULT_SPECIES; /* * for a non-human species, or other assembly identifier, @@ -397,6 +409,7 @@ public class VCFLoader } } + vcfSpecies = DEFAULT_SPECIES; prop = Cache.getProperty(VCF_SPECIES); if (prop != null) { @@ -724,7 +737,7 @@ public class VCFLoader String species = seqCoords.getSpeciesId(); String chromosome = seqCoords.getChromosomeId(); String seqRef = seqCoords.getAssemblyId(); - MapList map = seqCoords.getMap(); + MapList map = seqCoords.getMapping(); // note this requires the configured species to match that // returned with the Ensembl sequence; todo: support aliases?