private String getLeftAlternate() { // alternate == <INS> <=> alternate seq is not complete and must be found within the variant.sv.rightSvInsSeq if (variant.getAlternate().startsWith(SYMBOLIC_START)) { if (variant.getSv() != null && variant.getSv().getLeftSvInsSeq() != null) { return variant.getSv().getLeftSvInsSeq(); } else { throw new IllegalArgumentException("Insertion found with <INS> tag in the alternate and no alternate" + " sequence available within variant.sv.leftSvInsSeq; Malformed variant object. Please, check."); } } else { return variant.getAlternate(); } }
private String getLeftAlternate() { // alternate == <INS> <=> alternate seq is not complete and must be found within the variant.sv.rightSvInsSeq if (variant.getAlternate().startsWith(SYMBOLIC_START)) { if (variant.getSv() != null && variant.getSv().getLeftSvInsSeq() != null) { return variant.getSv().getLeftSvInsSeq(); } else { throw new IllegalArgumentException("Insertion found with <INS> tag in the alternate and no alternate" + " sequence available within variant.sv.leftSvInsSeq; Malformed variant object. Please, check."); } } else { return variant.getAlternate(); } }
private String getRightAlternate() { // alternate == <INS> <=> alternate seq is not complete and must be found within the variant.sv.rightSvInsSeq if (variant.getAlternate().startsWith(SYMBOLIC_START)) { if (variant.getSv() != null && variant.getSv().getRightSvInsSeq() != null) { return variant.getSv().getRightSvInsSeq(); } else { throw new IllegalArgumentException("Insertion found with <INS> tag in the alternate and no alternate" + " sequence available within variant.sv.rightSvInsSeq; Malformed variant object. Please, check."); } } else { return variant.getAlternate(); } }
private Region startBreakpointToRegion(Variant variant) { if (imprecise && variant.getSv() != null) { return new Region(variant.getChromosome(), variant.getSv().getCiStartLeft() != null ? variant.getSv().getCiStartLeft() - svExtraPadding : variant.getStart(), variant.getSv().getCiStartRight() != null ? variant.getSv().getCiStartRight() + svExtraPadding : variant.getStart()); } else { return new Region(variant.getChromosome(), variant.getStart(), variant.getStart()); } }
private Region startBreakpointToRegion(Variant variant) { if (imprecise && variant.getSv() != null) { return new Region(variant.getChromosome(), variant.getSv().getCiStartLeft() != null ? variant.getSv().getCiStartLeft() - svExtraPadding : variant.getStart(), variant.getSv().getCiStartRight() != null ? variant.getSv().getCiStartRight() + svExtraPadding : variant.getStart()); } else { return new Region(variant.getChromosome(), variant.getStart(), variant.getStart()); } }
public static Variant getMateBreakend(Variant variant) { // Check variant does have a mate if (variant.getSv() != null && variant.getSv().getBreakend() != null && variant.getSv().getBreakend().getMate() != null) { Variant mate = new Variant(variant.getSv().getBreakend().getMate().getChromosome(), variant.getSv().getBreakend().getMate().getPosition(), null, null); mate.setType(VariantType.BREAKEND); mate.setSv(getMateStructuralVariation(variant)); return mate; } else { return null; } }
public VariantStatsWrapper(Variant variant, Map<String, VariantStats> cohortStats) { this.chromosome = variant.getChromosome(); this.start = variant.getStart(); this.end = variant.getEnd(); this.reference = variant.getReference(); this.alternate = variant.getAlternate(); this.sv = variant.getSv(); this.cohortStats = cohortStats; }
@Override public Document convertToStorageType(Variant variant) { return new Document(ID_FIELD, idConverter.buildId(variant)) .append(REF_FIELD, variant.getReference()) // Add left and right SvInsSeq to the alternate .append(ALT_FIELD, idConverter.buildSVAlternate(variant.getAlternate(), variant.getSv())) .append(END_FIELD, variant.getEnd()); }
public static byte[] generateVariantRowKey(Variant var) { return generateVariantRowKey(var.getChromosome(), var.getStart(), var.getEnd(), var.getReference(), var.getAlternate(), var.getSv()); }
@Test public void cnv() { // CNV Variant v = new Variant("1", 1000, 2000, "A", "<CN5>"); assertEquals(" 1: 1000:A:<CN5>", converter.buildId(v)); assertEquals(v, converter.buildVariant(converter.buildId(v), 2000, "A", "<CN5>")); v.getSv().setCiStartLeft(999); v.getSv().setCiStartRight(1010); assertEquals(" 1: 1000:A:<CN5>:999:1010::", converter.buildId(v)); assertEquals(v, converter.buildVariant(converter.buildId(v), 2000, "A", "<CN5>")); v.getSv().setCiEndLeft(1999); v.getSv().setCiEndRight(2010); assertEquals(" 1: 1000:A:<CN5>:999:1010:1999:2010", converter.buildId(v)); assertEquals(v, converter.buildVariant(converter.buildId(v), 2000, "A", "<CN5>")); }
@Test public void insertion() { // INS Variant v = new Variant("1:1000:-:AAAAA...TTTT"); assertEquals(" 1: 1000::<INS>_AAAAA_TTTT::::", converter.buildId(v)); assertEquals(v, converter.buildVariant(converter.buildId(v), 999, "", "<INS>_AAAAA_TTTT")); v.getSv().setCiStartLeft(999); v.getSv().setCiStartRight(1010); assertEquals(" 1: 1000::<INS>_AAAAA_TTTT:999:1010::", converter.buildId(v)); assertEquals(v, converter.buildVariant(converter.buildId(v), 999, "", "<INS>_AAAAA_TTTT")); }