static String buildSVAlternate(String alternate, Integer end, StructuralVariation sv) { if (sv != null) { if (StructuralVariantType.TANDEM_DUPLICATION.equals(sv.getType())) { alternate = VariantBuilder.DUP_TANDEM_ALT; } alternate = alternate + SV_ALTERNATE_SEPARATOR + end + SV_ALTERNATE_SEPARATOR + (sv.getCiStartLeft() == null ? 0 : sv.getCiStartLeft()) + SV_ALTERNATE_SEPARATOR + (sv.getCiStartRight() == null ? 0 : sv.getCiStartRight()) + SV_ALTERNATE_SEPARATOR + (sv.getCiEndLeft() == null ? 0 : sv.getCiEndLeft()) + SV_ALTERNATE_SEPARATOR + (sv.getCiEndRight() == null ? 0 : sv.getCiEndRight()); if (StringUtils.isNotEmpty(sv.getLeftSvInsSeq()) || StringUtils.isNotEmpty(sv.getRightSvInsSeq())) { alternate = alternate + SV_ALTERNATE_SEPARATOR + sv.getLeftSvInsSeq() + SV_ALTERNATE_SEPARATOR + sv.getRightSvInsSeq(); } } return alternate; }
if (sv != null && (sv.getCiEndLeft() != null || sv.getCiEndRight() != null)) { sb.append(sv.getCiEndLeft() == null ? end : sv.getCiEndLeft()) .append('<').append(end).append('<') .append(sv.getCiEndRight() == null ? end : sv.getCiEndRight());
/** * Check if the structural variant information should be serialized. * * Checks if any field is non null, or the type is not COPY_NUMBER_GAIN nor COPY_NUMBER_LOSS * This two types are inferred from the Alternate * * @param sv StructuralVariation object * @return true if it should be serialized */ private boolean validSV(StructuralVariation sv) { if (sv == null) { return false; } else { StructuralVariantType type = sv.getType(); return type != null && !COPY_NUMBER_GAIN.equals(type) && !COPY_NUMBER_LOSS.equals(type) || sv.getCiStartLeft() != null || sv.getCiStartRight() != null || sv.getCiEndLeft() != null || sv.getCiEndRight() != null || sv.getLeftSvInsSeq() != null || sv.getRightSvInsSeq() != null || sv.getBreakend() != null; } }
? variant.getSv().getCiStartRight() + svExtraPadding : variant.getStart())); regionList.add(new Region(variant.getChromosome(), variant.getSv().getCiEndLeft() != null ? variant.getSv().getCiEndLeft() - svExtraPadding : variant.getEnd(), variant.getSv().getCiEndRight() != null ? variant.getSv().getCiEndRight() + svExtraPadding : variant.getEnd()));
? variant.getSv().getCiStartRight() + svExtraPadding : variant.getStart())); regionList.add(new Region(variant.getChromosome(), variant.getSv().getCiEndLeft() != null ? variant.getSv().getCiEndLeft() - svExtraPadding : variant.getEnd(), variant.getSv().getCiEndRight() != null ? variant.getSv().getCiEndRight() + svExtraPadding : variant.getEnd()));
Document mongoSv = new Document(); mongoSv.put(SV_CISTART_FIELD, Arrays.asList(sv.getCiStartLeft(), sv.getCiStartRight())); mongoSv.put(SV_CIEND_FIELD, Arrays.asList(sv.getCiEndLeft(), sv.getCiEndRight())); if (sv.getCopyNumber() != null) { mongoSv.put(SV_CN_FIELD, sv.getCopyNumber());
add(put, VariantPhoenixHelper.VariantColumn.CI_START_R, variant.getSv().getCiStartRight()); if (variant.getSv().getCiEndLeft() != null) { add(put, VariantPhoenixHelper.VariantColumn.CI_END_L, variant.getSv().getCiEndLeft());
private Variant newVariant(Variant variant, VariantKeyFields keyFields, StructuralVariation sv) { Variant normalizedVariant = new Variant(variant.getChromosome(), keyFields.getStart(), keyFields.getEnd(), keyFields.getReference(), keyFields.getAlternate()) .setId(variant.getId()) .setNames(variant.getNames()) .setStrand(variant.getStrand()); if (sv != null) { if (normalizedVariant.getSv() != null) { // CI positions may change during the normalization. Update them. normalizedVariant.getSv().setCiStartLeft(sv.getCiStartLeft()); normalizedVariant.getSv().setCiStartRight(sv.getCiStartRight()); normalizedVariant.getSv().setCiEndLeft(sv.getCiEndLeft()); normalizedVariant.getSv().setCiEndRight(sv.getCiEndRight()); } else { normalizedVariant.setSv(sv); } // Variant will never have CopyNumber, because the Alternate is normalized from <CNxx> to <CNV> normalizedVariant.getSv().setCopyNumber(keyFields.getCopyNumber()); normalizedVariant.getSv().setType(VariantBuilder.getCNVSubtype(keyFields.getCopyNumber())); } return normalizedVariant; // normalizedVariant.setAnnotation(variant.getAnnotation()); // if (isSymbolic(variant)) { // StructuralVariation sv = getStructuralVariation(normalizedVariant, keyFields, null); // normalizedVariant.setSv(sv); // } }
default QueryResult<T> getByVariant(Variant variant, QueryOptions options) { Query query; if (VariantType.CNV.equals(variant.getType())) { query = new Query(VariantDBAdaptor.QueryParams.CHROMOSOME.key(), variant.getChromosome()) .append(VariantDBAdaptor.QueryParams.CI_START_LEFT.key(), variant.getSv().getCiStartLeft()) .append(VariantDBAdaptor.QueryParams.CI_START_RIGHT.key(), variant.getSv().getCiStartRight()) .append(VariantDBAdaptor.QueryParams.CI_END_LEFT.key(), variant.getSv().getCiEndLeft()) .append(VariantDBAdaptor.QueryParams.CI_END_RIGHT.key(), variant.getSv().getCiEndRight()) .append(VariantDBAdaptor.QueryParams.REFERENCE.key(), variant.getReference()) .append(VariantDBAdaptor.QueryParams.ALTERNATE.key(), variant.getAlternate()); } else { query = new Query(VariantDBAdaptor.QueryParams.CHROMOSOME.key(), variant.getChromosome()) .append(VariantDBAdaptor.QueryParams.START.key(), variant.getStart()) .append(VariantDBAdaptor.QueryParams.REFERENCE.key(), variant.getReference()) .append(VariantDBAdaptor.QueryParams.ALTERNATE.key(), variant.getAlternate()); } return get(query, options); }
default QueryResult<T> getByVariant(Variant variant, QueryOptions options) { Query query; if (VariantType.CNV.equals(variant.getType())) { query = new Query(VariantDBAdaptor.QueryParams.CHROMOSOME.key(), variant.getChromosome()) .append(VariantDBAdaptor.QueryParams.CI_START_LEFT.key(), variant.getSv().getCiStartLeft()) .append(VariantDBAdaptor.QueryParams.CI_START_RIGHT.key(), variant.getSv().getCiStartRight()) .append(VariantDBAdaptor.QueryParams.CI_END_LEFT.key(), variant.getSv().getCiEndLeft()) .append(VariantDBAdaptor.QueryParams.CI_END_RIGHT.key(), variant.getSv().getCiEndRight()) .append(VariantDBAdaptor.QueryParams.REFERENCE.key(), variant.getReference()) .append(VariantDBAdaptor.QueryParams.ALTERNATE.key(), variant.getAlternate()); } else { query = new Query(VariantDBAdaptor.QueryParams.CHROMOSOME.key(), variant.getChromosome()) .append(VariantDBAdaptor.QueryParams.START.key(), variant.getStart()) .append(VariantDBAdaptor.QueryParams.REFERENCE.key(), variant.getReference()) .append(VariantDBAdaptor.QueryParams.ALTERNATE.key(), variant.getAlternate()); } return get(query, options); }
&& variant.getSv().getCiStartLeft() != null && variant.getSv().getCiStartRight() != null && variant.getSv().getCiEndLeft() != null && variant.getSv().getCiEndRight() != null) { query = new Query(QueryParams.CHROMOSOME.key(), variant.getChromosome()); int ciStartLeft = variant.getSv().getCiStartLeft(); int ciStartRight = variant.getSv().getCiStartRight(); int ciEndLeft = variant.getSv().getCiEndLeft(); int ciEndRight = variant.getSv().getCiEndRight();
&& variant.getSv().getCiStartLeft() != null && variant.getSv().getCiStartRight() != null && variant.getSv().getCiEndLeft() != null && variant.getSv().getCiEndRight() != null) { query = new Query(QueryParams.CHROMOSOME.key(), variant.getChromosome()); int ciStartLeft = variant.getSv().getCiStartLeft(); int ciStartRight = variant.getSv().getCiStartRight(); int ciEndLeft = variant.getSv().getCiEndLeft(); int ciEndRight = variant.getSv().getCiEndRight();
ifNotNull(sv.getCiStartLeft(), svBuilder::setCiStartLeft); ifNotNull(sv.getCiStartRight(), svBuilder::setCiStartRight); ifNotNull(sv.getCiEndLeft(), svBuilder::setCiEndLeft); ifNotNull(sv.getCiEndRight(), svBuilder::setCiEndRight); ifNotNull(sv.getCopyNumber(), svBuilder::setCopyNumber);