Since we allow any generic header types, there's no longer any reason to check for supported types
This commit is contained in:
parent
4910ef86d9
commit
ade1971581
|
|
@ -167,10 +167,10 @@ public abstract class AbstractVCFCodec implements FeatureCodec, NameAwareCodec {
|
|||
metaData.add(format);
|
||||
formatFields.put(format.getID(), format.getType());
|
||||
} else if ( str.startsWith(VCFConstants.CONTIG_HEADER_START) ) {
|
||||
final VCFSimpleHeaderLine contig = new VCFSimpleHeaderLine(str.substring(9), version, VCFSimpleHeaderLine.SupportedHeaderLineType.GENERIC, null);
|
||||
final VCFSimpleHeaderLine contig = new VCFSimpleHeaderLine(str.substring(9), version, VCFConstants.CONTIG_HEADER_START.substring(2), null);
|
||||
metaData.add(contig);
|
||||
} else if ( str.startsWith(VCFConstants.ALT_HEADER_START) ) {
|
||||
final VCFSimpleHeaderLine alt = new VCFSimpleHeaderLine(str.substring(6), version, VCFSimpleHeaderLine.SupportedHeaderLineType.GENERIC, Arrays.asList("ID", "Description"));
|
||||
final VCFSimpleHeaderLine alt = new VCFSimpleHeaderLine(str.substring(6), version, VCFConstants.ALT_HEADER_START.substring(2), Arrays.asList("ID", "Description"));
|
||||
metaData.add(alt);
|
||||
} else {
|
||||
int equals = str.indexOf("=");
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class VCFFilterHeaderLine extends VCFSimpleHeaderLine {
|
|||
* @param description the description for this header line
|
||||
*/
|
||||
public VCFFilterHeaderLine(String name, String description) {
|
||||
super(name, description, SupportedHeaderLineType.FILTER);
|
||||
super("FILTER", name, description);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -25,6 +25,6 @@ public class VCFFilterHeaderLine extends VCFSimpleHeaderLine {
|
|||
* @param version the vcf header version
|
||||
*/
|
||||
protected VCFFilterHeaderLine(String line, VCFHeaderVersion version) {
|
||||
super(line, version, SupportedHeaderLineType.FILTER, Arrays.asList("ID", "Description"));
|
||||
super(line, version, "FILTER", Arrays.asList("ID", "Description"));
|
||||
}
|
||||
}
|
||||
|
|
@ -11,41 +11,30 @@ import java.util.Map;
|
|||
*/
|
||||
public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLine {
|
||||
|
||||
public enum SupportedHeaderLineType {
|
||||
FILTER, GENERIC;
|
||||
}
|
||||
|
||||
private String name;
|
||||
private Map<String, String> genericFields = new LinkedHashMap<String, String>();
|
||||
|
||||
|
||||
// our type of line, i.e. filter, alt, etc
|
||||
private final SupportedHeaderLineType lineType;
|
||||
|
||||
|
||||
/**
|
||||
* create a VCF filter header line
|
||||
*
|
||||
* @param key the key for this header line
|
||||
* @param name the name for this header line
|
||||
* @param genericFields other fields for this header line
|
||||
* @param lineType the header line type
|
||||
*/
|
||||
public VCFSimpleHeaderLine(String name, Map<String, String> genericFields, SupportedHeaderLineType lineType) {
|
||||
super(lineType.toString(), "");
|
||||
this.lineType = lineType;
|
||||
public VCFSimpleHeaderLine(String key, String name, Map<String, String> genericFields) {
|
||||
super(key, "");
|
||||
initialize(name, genericFields);
|
||||
}
|
||||
|
||||
/**
|
||||
* create a VCF filter header line
|
||||
*
|
||||
* @param key the key for this header line
|
||||
* @param name the name for this header line
|
||||
* @param description description for this header line
|
||||
* @param lineType the header line type
|
||||
*/
|
||||
public VCFSimpleHeaderLine(String name, String description, SupportedHeaderLineType lineType) {
|
||||
super(lineType.toString(), "");
|
||||
this.lineType = lineType;
|
||||
public VCFSimpleHeaderLine(String key, String name, String description) {
|
||||
super(key, "");
|
||||
Map<String, String> map = new LinkedHashMap<String, String>(1);
|
||||
map.put("Description", description);
|
||||
initialize(name, map);
|
||||
|
|
@ -56,12 +45,11 @@ public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLin
|
|||
*
|
||||
* @param line the header line
|
||||
* @param version the vcf header version
|
||||
* @param lineType the header line type
|
||||
* @param key the key for this header line
|
||||
* @param expectedTagOrdering the tag ordering expected for this header line
|
||||
*/
|
||||
protected VCFSimpleHeaderLine(String line, VCFHeaderVersion version, SupportedHeaderLineType lineType, List<String> expectedTagOrdering) {
|
||||
super(lineType.toString(), "");
|
||||
this.lineType = lineType;
|
||||
protected VCFSimpleHeaderLine(String line, VCFHeaderVersion version, String key, List<String> expectedTagOrdering) {
|
||||
super(key, "");
|
||||
Map<String, String> mapping = VCFHeaderLineTranslator.parseLine(version, line, expectedTagOrdering);
|
||||
name = mapping.get("ID");
|
||||
initialize(name, mapping);
|
||||
|
|
@ -79,7 +67,7 @@ public class VCFSimpleHeaderLine extends VCFHeaderLine implements VCFIDHeaderLin
|
|||
Map<String, Object> map = new LinkedHashMap<String, Object>();
|
||||
map.put("ID", name);
|
||||
map.putAll(genericFields);
|
||||
return lineType.toString() + "=" + VCFHeaderLine.toStringEncoding(map);
|
||||
return getKey() + "=" + VCFHeaderLine.toStringEncoding(map);
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue