/**Return Object unk as a string quoted or not quoted depending on its type * and suitable for a javascript script. * */ private String formatObjectForJS(String key, Object unk, VCFHeaderLineType type) { if(unk == null){ return "null"; // Can this actually happen? } if(type.equals(VCFHeaderLineType.Flag) || type.equals(VCFHeaderLineType.Integer) || type.equals(VCFHeaderLineType.Float)){ return unk.toString(); } else { return '"' + unk.toString() + '"'; } }
public String rearrange(String key, String data, @Nullable Integer ploidy) { if (StringUtils.isEmpty(data) || data.equals(".")) { // Do not rearrange missing values return data; } Pair<VCFHeaderLineType, VCFHeaderLineCount> pair = configuration.otherFieldsMap.getOrDefault(key, Pair.of(VCFHeaderLineType.String, VCFHeaderLineCount.UNBOUNDED)); VCFHeaderLineType type = pair.getLeft(); String missingValue = type.equals(VCFHeaderLineType.Float) || type.equals(VCFHeaderLineType.Integer) ? "0" : "."; try { switch (pair.getRight()) { case A: data = rearrangeNumberA(data, missingValue); break; case R: data = rearrangeNumberR(data, missingValue); break; case G: data = rearrangeNumberG(data, missingValue, ploidy); break; case INTEGER: case UNBOUNDED: default: // Do not rearrange other fields } } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Error rearranging key " + key + " = " + data, e); } return data; }
fmtValue= this.formatObjectForJS(key, unkValue, vcfHeader.getInfoHeaderLine(key).getType()); } catch(NullPointerException e){ if(headerLine.getType().equals(VCFHeaderLineType.Flag)){
if (compLine.getType().equals(compOther.getType())) {
if ( compLine.getType().equals(compOther.getType()) ) {
if (compLine.getType().equals(compOther.getType())) {
return line.getType().equals(VCFHeaderLineType.String) && line.getCount()==1 ; else if(id.equals(VCFConstants.GENOTYPE_QUALITY_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1; else if(id.equals(VCFConstants.DEPTH_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1; else if(id.equals(VCFConstants.GENOTYPE_PL_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCountType().equals(VCFHeaderLineCount.G); else if(id.equals(VCFConstants.GENOTYPE_ALLELE_DEPTHS)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCountType().equals(VCFHeaderLineCount.R); else if(id.equals(VCFConstants.GENOTYPE_FILTER_KEY)) return line.getType().equals(VCFHeaderLineType.String) && line.getCountType().equals(VCFHeaderLineCount.UNBOUNDED); else if(id.equals(VCFConstants.PHASE_QUALITY_KEY)) return line.getType().equals(VCFHeaderLineType.Float) && line.getCount()==1; else if(id.equals(VCFConstants.END_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1; else if(id.equals(VCFConstants.DBSNP_KEY)) return line.getType().equals(VCFHeaderLineType.Flag) && line.getCount()==0; else if(id.equals(VCFConstants.DEPTH_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1; else if(id.equals(VCFConstants.STRAND_BIAS_KEY)) return line.getType().equals(VCFHeaderLineType.Float) && line.getCount()==1; else if(id.equals(VCFConstants.ALLELE_FREQUENCY_KEY)) return line.getType().equals(VCFHeaderLineType.Float) && line.getCountType().equals(VCFHeaderLineCount.A); else if(id.equals(VCFConstants.ALLELE_COUNT_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCountType().equals(VCFHeaderLineCount.A); else if(id.equals(VCFConstants.ALLELE_NUMBER_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1; else if(id.equals(VCFConstants.MAPPING_QUALITY_ZERO_KEY)) return line.getType().equals(VCFHeaderLineType.Integer) && line.getCount()==1;
VCFInfoHeaderLine infoHeaderLine = (VCFInfoHeaderLine) headerLine; if (infoHeaderLine.getType().equals(VCFHeaderLineType.Flag)) { System.err.println("WARNING: Flag type fields are not handled by GenomicsDB currently - skipping field " +infoHeaderLine.getID());