private void writeInfoString(final Map<String, String> infoFields, final Appendable vcfoutput) throws IOException { if ( infoFields.isEmpty() ) { vcfoutput.append(VCFConstants.EMPTY_INFO_FIELD); return; } boolean isFirst = true; for (final Map.Entry<String, String> entry : infoFields.entrySet()) { if (isFirst) isFirst = false; else vcfoutput.append(VCFConstants.INFO_FIELD_SEPARATOR); vcfoutput.append(entry.getKey()); if ( ! entry.getValue().isEmpty()) { final VCFInfoHeaderLine metaData = this.header.getInfoHeaderLine(entry.getKey()); if ( metaData == null || metaData.getCountType() != VCFHeaderLineCount.INTEGER || metaData.getCount() != 0 ) { vcfoutput.append('='); vcfoutput.append(entry.getValue()); } } } }
private void writeInfoString(final Map<String, String> infoFields, final Appendable vcfoutput) throws IOException { if ( infoFields.isEmpty() ) { vcfoutput.append(VCFConstants.EMPTY_INFO_FIELD); return; } boolean isFirst = true; for (final Map.Entry<String, String> entry : infoFields.entrySet()) { if (isFirst) isFirst = false; else vcfoutput.append(VCFConstants.INFO_FIELD_SEPARATOR); vcfoutput.append(entry.getKey()); if ( ! entry.getValue().isEmpty()) { final VCFInfoHeaderLine metaData = this.header.getInfoHeaderLine(entry.getKey()); if ( metaData == null || metaData.getCountType() != VCFHeaderLineCount.INTEGER || metaData.getCount() != 0 ) { vcfoutput.append('='); vcfoutput.append(entry.getValue()); } } } }
private void writeInfoString(final Map<String, String> infoFields, final StringBuilder builder) { if ( infoFields.isEmpty() ) { builder.append(VCFConstants.EMPTY_INFO_FIELD); return; } boolean isFirst = true; for (final Map.Entry<String, String> entry : infoFields.entrySet()) { if (isFirst) isFirst = false; else builder.append(VCFConstants.INFO_FIELD_SEPARATOR); builder.append(entry.getKey()); if ( ! entry.getValue().equals("")) { final VCFInfoHeaderLine metaData = this.header.getInfoHeaderLine(entry.getKey()); if ( metaData == null || metaData.getCountType() != VCFHeaderLineCount.INTEGER || metaData.getCount() != 0 ) { builder.append("="); builder.append(entry.getValue()); } } } }
type = ((VCFFormatHeaderLine) headerLine).getCountType(); } else { type = ((VCFInfoHeaderLine) headerLine).getCountType();
final boolean useRefAndAltAlleles = VCFHeaderLineCount.R == hInfo.getCountType(); final boolean useAltAlleles = VCFHeaderLineCount.A == hInfo.getCountType();
private void annotate(VariantContext vc, String infix, HashMap<Integer, AnnotatingRecord<VariantContext>> records, String fieldName, VariantContextBuilder builder) { final VCFInfoHeaderLine headerLine = genericVcfHeaderExtender.getFileHeader().getInfoHeaderLine(fieldName); final VCFHeaderLineCount countType = headerLine.getCountType();
if (((VCFInfoHeaderLine) headerLine).getCountType() == VCFHeaderLineCount.A) { infoHeaderAltAllelesLineNames.add(((VCFInfoHeaderLine) headerLine).getID());
if ( mleLine.getCountType() != VCFHeaderLineCount.A ) { throw new UserException("VCF does not have a properly formatted MLEAC field: the count type should be \"A\"");
if ( targetHeaderLine.getCountType() == VCFHeaderLineCount.INTEGER ) hInfo.add(new VCFInfoHeaderLine(expression.fullName, targetHeaderLine.getCount(), targetHeaderLine.getType(), targetHeaderLine.getDescription())); else hInfo.add(new VCFInfoHeaderLine(expression.fullName, targetHeaderLine.getCountType(), targetHeaderLine.getType(), targetHeaderLine.getDescription())); } else { hInfo.add(new VCFInfoHeaderLine(expression.fullName, VCFHeaderLineCount.UNBOUNDED, VCFHeaderLineType.String, "Value transferred from another external VCF resource"));
public void addHeadersInfixes(VCFHeader header, String prefix, String infix, String note) { try (VCFFileReader reader = new VCFFileReader(new File(genericVcfOptions.getPathVcfFile()), false)) { fileHeader = reader.getFileHeader(); } for (String fieldName : genericVcfOptions.getFieldNames()) { final VCFInfoHeaderLine headerLine = fileHeader.getInfoHeaderLine(fieldName); final VCFHeaderLineCount countType = headerLine.getCountType(); // TODO(holtgrewe): support more counts, could require using "|" for nested lists VCFInfoHeaderLine line; if (countType == VCFHeaderLineCount.R) { line = new VCFInfoHeaderLine(prefix + infix + fieldName, VCFHeaderLineCount.R, headerLine.getType(), "Field " + fieldName + " from file " + genericVcfOptions.getPathVcfFile() + note); } else if (countType == VCFHeaderLineCount.A) { line = new VCFInfoHeaderLine(prefix + infix + fieldName, VCFHeaderLineCount.A, headerLine.getType(), "Field " + fieldName + " from file " + genericVcfOptions.getPathVcfFile() + note); } else if (countType == VCFHeaderLineCount.INTEGER) { if (headerLine.getCount() != 1) { throw new RuntimeException("Unsupported integer count " + headerLine.getCount()); } line = new VCFInfoHeaderLine(prefix + infix + fieldName, 1, headerLine.getType(), "Field " + fieldName + " from file " + genericVcfOptions.getPathVcfFile() + note); } else { throw new RuntimeException("Unsupported count type " + countType); } header.addMetaDataLine(line); } }