public VariantAvroFilters addTypeFilter(VariantType variantType) { filters.add(variant -> variant.getType().equals(variantType)); return this; }
public boolean isSV() { return VariantBuilder.isSV(getType()); }
public static boolean validVariant(Variant variant) { return !variant.getType().equals(VariantType.NO_VARIATION); }
private boolean allSameTypeAndGT(Collection<Variant> conflicts, VariantType type) { boolean differentType = conflicts.stream().filter(v -> !v.getType().equals(type)).findAny().isPresent(); if (differentType) { return false; } StudyEntry studyEntry = conflicts.stream().findAny().get().getStudies().get(0); String sample = studyEntry.getSamplesName().stream().findFirst().get(); String gt = studyEntry.getSampleData(sample, GENOTYPE_KEY); long count = conflicts.stream().filter(v -> v.getType().equals(type) && StringUtils.equals(gt, v.getStudies().get(0).getSampleData(sample, GENOTYPE_KEY))).count(); return ((int) count) == conflicts.size(); }
private Integer getEnd(Variant variant) { // if (variant.getType().equals(VariantType.SYMBOLIC) || variant.getType().equals(VariantType.NO_VARIATION)) { // return variant.getEnd(); // } else { // return variant.getStart() + Math.max(variant.getReference().length() - 1, -1 /* 0 */); // } if (EnumSet.of(VariantType.SYMBOLIC, VariantType.CNV).contains(variant.getType())) { return variant.getStart(); } else { return variant.getEnd(); } }
default List<QueryResult<Score>> getFunctionalScoreVariant(List<Variant> variants, QueryOptions options) { List<QueryResult<Score>> queryResults = new ArrayList<>(variants.size()); for (Variant variant: variants) { if (variant.getType() == VariantType.SNV) { queryResults.add(getFunctionalScoreVariant(variant, options)); } else { queryResults.add(new QueryResult<>(variant.toString(), 0, 0, 0, null, null, Collections.emptyList())); } } return queryResults; }
default List<QueryResult<Score>> getFunctionalScoreVariant(List<Variant> variants, QueryOptions options) { List<QueryResult<Score>> queryResults = new ArrayList<>(variants.size()); for (Variant variant: variants) { if (variant.getType() == VariantType.SNV) { queryResults.add(getFunctionalScoreVariant(variant, options)); } else { queryResults.add(new QueryResult<>(variant.toString(), 0, 0, 0, null, null, Collections.emptyList())); } } return queryResults; }
private void isValidVariant(Variant current) throws IllegalArgumentException{ if (current.getType().equals(VariantType.NO_VARIATION)) { throw new IllegalStateException("Current variant can't be a NO_VARIANT"); } // Validate variant information // ensureGtFormat(current); if (getStudy(current).getFormat() == null || getStudy(current).getFormat().isEmpty()) { throw new IllegalArgumentException("Format of sample data is empty!!!!!!"); } }
private boolean potentialCodingSNVOverlap(Variant variant1, Variant variant2) { return Math.abs(variant1.getStart() - variant2.getStart()) < 3 && variant1.getChromosome().equals(variant2.getChromosome()) && variant1.getType().equals(VariantType.SNV) && variant2.getType().equals(VariantType.SNV) && samePhase(variant1, variant2); }
private boolean potentialCodingSNVOverlap(Variant variant1, Variant variant2) { return Math.abs(variant1.getStart() - variant2.getStart()) < 3 && variant1.getChromosome().equals(variant2.getChromosome()) && variant1.getType().equals(VariantType.SNV) && variant2.getType().equals(VariantType.SNV) && samePhase(variant1, variant2); }
@Override public int hashCode() { return Objects.hash(variant.getStart(), variant.getEnd(), variant.getReference(), variant.getAlternate(), variant.getType()); // return variant != null ? variant.toString().hashCode() : 0; }
public Integer getLengthReference() { return VariantBuilder.getLengthReference(getReference(), getType(), getLength()); }
public Integer getLengthAlternate() { return VariantBuilder.getLengthAlternate(getAlternate(), getType(), getLength()); }
@Test public void resolveRefRegionWithIndel() throws Exception { Variant a = getVariant("1:10230:AC:A", "TruthSensitivityTranche99.90to100.00", "1065.12", "0/1"); Variant b = getVariant("2:10231:C:.", "PASS", "87.71", "0"); // b.setType(VariantType.NO_VARIATION); VariantType ta = a.getType(); VariantType tb = b.getType(); Collection<Variant> resolved = new VariantLocalConflictResolver().resolveConflicts(Arrays.asList(a, b)); assertEquals(2, resolved.size()); assertEquals(true, resolved.contains(a)); }
public void resetLength() { setLength(VariantBuilder.inferLength(getReference(), getAlternate(), getStart(), getEnd(), getType())); }
@Test public void testQueryWithIds() throws Exception { List<String> variantIds = allVariants.getResult().stream() .filter(v -> EnumSet.of(VariantType.SNV, VariantType.SNP).contains(v.getType())) .map(Variant::toString) .limit(400) .collect(Collectors.toList()); Query query = new Query(SAMPLE.key(), "NA19660") .append(ANNOT_CONSERVATION.key(), "gerp>0.2") .append(ID.key(), variantIds); QueryOptions options = new QueryOptions(USE_SEARCH_INDEX, VariantStorageEngine.UseSearchIndex.YES); skipLimit(query, options, 50, true); }
public static Variant asVariant(Variant v) { Variant variant = new Variant(v.getChromosome(), v.getStart(), v.getEnd(), v.getReference(), v.getAlternate(), v.getStrand()); variant.setType(v.getType()); return variant; }
private Variant createVariantSecAlt(String varString, String secAlt) { Variant secAltVar = new Variant(secAlt); Variant variant = new Variant(varString); StudyEntry se = new StudyEntry("1"); AlternateCoordinate ac = new AlternateCoordinate( secAltVar.getChromosome(), secAltVar.getStart(), secAltVar.getEnd(), secAltVar.getReference(), secAltVar.getAlternate(), secAltVar.getType()); se.setSecondaryAlternates(Collections.singletonList(ac)); variant.setStudies(Collections.singletonList(se)); return variant; }
private static AlternateCoordinate copyAlt(Variant var, AlternateCoordinate orig) { AlternateCoordinate copy = new AlternateCoordinate(); copy.setChromosome(orig.getChromosome() == null ? var.getChromosome() : orig.getChromosome()); copy.setStart(orig.getStart() == null ? var.getStart() : orig.getStart()); copy.setEnd(orig.getEnd() == null ? var.getEnd() : orig.getEnd()); copy.setReference(orig.getReference() == null ? var.getReference() : orig.getReference()); copy.setAlternate(orig.getAlternate() == null ? var.getAlternate() : orig.getAlternate()); copy.setType(orig.getType() == null ? var.getType() : orig.getType()); return copy; }