/** * For each variant in the file, determine the phasing for the child and replace the child's * genotype with the trio's genotype * * @param tracker the reference meta-data tracker * @param ref the reference context * @param context the alignment context * @return null */ @Override public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { if (tracker != null) { for (VariantContext vc : tracker.getValues(variantCollection.variants, context.getLocation())) { vc = vc.subContextFromSamples(samples); if (!vc.isPolymorphicInSamples()) continue; double log10pSomatic = calcLog10pSomatic(vc); // write in the somatic status probability Map<String, Object> attrs = new HashMap<String, Object>(); // vc.getAttributes()); if (!minimalVCF) attrs.putAll(vc.getAttributes()); attrs.put(SOMATIC_LOD_TAG_NAME, log10pSomatic); if (log10pSomatic > somaticMinLOD) { attrs.put(VCFConstants.SOMATIC_KEY, true); attrs.put(SOMATIC_NONREF_TAG_NAME, calculateTumorNNR(vc)); attrs.put(SOMATIC_AC_TAG_NAME, calculateTumorAC(vc)); } final VariantContextBuilder builder = new VariantContextBuilder(vc).attributes(attrs); VariantContextUtils.calculateChromosomeCounts(builder, false); VariantContext newvc = builder.make(); vcfWriter.add(newvc); } return null; } return null; }