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()); } } } }
public static void assertHeadersEquals(VCFHeader header0, VCFHeader header1) { assertEquals(header0.getColumnCount(), header1.getColumnCount()); assertEquals(header0.getGenotypeSamples(), header1.getGenotypeSamples()); assertEquals(header0.getContigLines(), header1.getContigLines()); for (VCFInfoHeaderLine line0 : header0.getInfoHeaderLines()) { VCFInfoHeaderLine line1 = header1.getInfoHeaderLine(line0.getID()); assertEquals(line0.getCount(), line1.getCount()); assertEquals(line0.getType(), line1.getType()); assertEquals(line0.getDescription(), line1.getDescription()); assertEquals(0, line0.compareTo(line1)); } } }
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()); } } } }
length = String.valueOf(((VCFFormatHeaderLine)headerLine).getCount()); } else { length = String.valueOf(((VCFInfoHeaderLine)headerLine).getCount());
start = 1; } else if (countType == VCFHeaderLineCount.INTEGER) { assert headerLine.getCount() == 1; annotatePos = true;
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); } }
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()));