Variant Context simple merging routine should keep ID if one of the VCs has it
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3718 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
3016e1cf80
commit
e7220bc885
|
|
@ -198,6 +198,7 @@ public class VariantContextUtils {
|
||||||
double negLog10PError = -1;
|
double negLog10PError = -1;
|
||||||
Set<String> filters = new TreeSet<String>();
|
Set<String> filters = new TreeSet<String>();
|
||||||
Map<String, Object> attributes = new TreeMap<String, Object>(first.getAttributes());
|
Map<String, Object> attributes = new TreeMap<String, Object>(first.getAttributes());
|
||||||
|
String rsID = null;
|
||||||
int depth = 0;
|
int depth = 0;
|
||||||
|
|
||||||
// filtering values
|
// filtering values
|
||||||
|
|
@ -228,7 +229,9 @@ public class VariantContextUtils {
|
||||||
|
|
||||||
filters.addAll(vc.getFilters());
|
filters.addAll(vc.getFilters());
|
||||||
if ( vc.hasAttribute(VCFRecord.DEPTH_KEY) )
|
if ( vc.hasAttribute(VCFRecord.DEPTH_KEY) )
|
||||||
depth += Integer.valueOf(vc.getAttribute(VCFRecord.DEPTH_KEY).toString());
|
depth += Integer.valueOf(vc.getAttributeAsString(VCFRecord.DEPTH_KEY));
|
||||||
|
if ( rsID == null && vc.hasAttribute("ID") )
|
||||||
|
rsID = vc.getAttributeAsString("ID");
|
||||||
}
|
}
|
||||||
|
|
||||||
// if at least one record was unfiltered and we want a union, clear all of the filters
|
// if at least one record was unfiltered and we want a union, clear all of the filters
|
||||||
|
|
@ -254,6 +257,8 @@ public class VariantContextUtils {
|
||||||
|
|
||||||
if ( depth > 0 )
|
if ( depth > 0 )
|
||||||
attributes.put(VCFRecord.DEPTH_KEY, String.valueOf(depth));
|
attributes.put(VCFRecord.DEPTH_KEY, String.valueOf(depth));
|
||||||
|
if ( rsID != null )
|
||||||
|
attributes.put("ID", rsID);
|
||||||
|
|
||||||
VariantContext merged = new VariantContext(name, loc, alleles, genotypes, negLog10PError, filters, attributes);
|
VariantContext merged = new VariantContext(name, loc, alleles, genotypes, negLog10PError, filters, attributes);
|
||||||
if ( printMessages && remapped ) System.out.printf("Remapped => %s%n", merged);
|
if ( printMessages && remapped ) System.out.printf("Remapped => %s%n", merged);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue