public VariantBuilder setSvInsSeq(String left, String right) { initSv(); sv.setLeftSvInsSeq(left); sv.setRightSvInsSeq(right); return this; }
private void parseAlternate(String alternate) { int idx = alternate.indexOf("..."); if (idx >= 0) { setAlternate(INS_ALT); initSv(); sv.setLeftSvInsSeq(alternate.substring(0, idx)); sv.setRightSvInsSeq(alternate.substring(idx + 3)); } else { setAlternate(alternate); } }
public Variant buildVariant(String variantId, int end, String reference, String alternate) { String[] split = variantId.split(SEPARATOR, -1); String chr = split[CHR].trim(); int start = Integer.parseInt(split[POS].trim()); StructuralVariation sv = buildSv(split, reference, alternate); if (StringUtils.contains(alternate, INS_SEQ_SEPARATOR)) { String[] alternateSplit = StringUtils.splitPreserveAllTokens(alternate, INS_SEQ_SEPARATOR); alternate = alternateSplit[0]; if (sv == null) { sv = new StructuralVariation(); } sv.setLeftSvInsSeq(alternateSplit[1]); sv.setRightSvInsSeq(alternateSplit[2]); } Variant variant = new Variant(chr, start, end, reference, alternate); if (sv != null) { if (variant.getSv() != null && variant.getSv().getType() != null) { sv.setType(variant.getSv().getType()); } variant.setSv(sv); } return variant; }
sv.setCiEndRight(ciEnd.get(1)); sv.setLeftSvInsSeq(insSeq.get(0)); sv.setRightSvInsSeq(insSeq.get(1)); sv.setCopyNumber(mongoSv.getInteger(SV_CN_FIELD));
@Deprecated public static StructuralVariation getStructuralVariation(Variant variant, StructuralVariantType tandemDuplication) { int[] impreciseStart = getImpreciseStart(variant); int[] impreciseEnd = getImpreciseEnd(variant); String[] svInsSeq = getSvInsSeq(variant); StructuralVariation sv = new StructuralVariation(); sv.setCiStartLeft(impreciseStart[0]); sv.setCiStartRight(impreciseStart[1]); sv.setCiEndLeft(impreciseEnd[0]); sv.setCiEndRight(impreciseEnd[1]); sv.setLeftSvInsSeq(svInsSeq[0]); sv.setRightSvInsSeq(svInsSeq[1]); // If it's not a tandem duplication, this will set the type to null sv.setType(tandemDuplication); // Will properly set the type if it's a CNV if (variant.getType().equals(VariantType.CNV)) { Integer copyNumber = getCopyNumberFromAlternate(variant.getAlternate()); if (copyNumber != null) { sv.setCopyNumber(copyNumber); sv.setType(getCNVSubtype(copyNumber)); } } return sv; }