*/
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
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);
}
else
{
- System.err.println("VCF reference not found: " + ref);
+ Cache.log.error("VCF reference not found: " + ref);
}
return seq;
{
VCFHeaderLine ref = header
.getOtherHeaderLine(VCFHeader.REFERENCE_KEY);
- String reference = ref.getValue();
+ String reference = ref == null ? null : ref.getValue();
setSpeciesAndAssembly(reference);
*/
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,
}
}
+ vcfSpecies = DEFAULT_SPECIES;
prop = Cache.getProperty(VCF_SPECIES);
if (prop != null)
{