protected void add(IntervalTree<List<VariantEvidenceSupport>> lookup, int start, int end, VariantEvidenceSupport ves) { Node<List<VariantEvidenceSupport>> node = lookup.find(start, end); if (node != null) { node.getValue().add(ves); } else { ArrayList<VariantEvidenceSupport> list = new ArrayList<>(2); list.add(ves); lookup.put(start, end, list); } } protected void remove(IntervalTree<List<VariantEvidenceSupport>> lookup, int start, int end, VariantEvidenceSupport ves) {
public boolean containsKey(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getContig()); if (tree == null) { return false; } return (tree.find(key.getStart(), key.getEnd()) != null); }
protected void remove(IntervalTree<List<VariantEvidenceSupport>> lookup, int start, int end, VariantEvidenceSupport ves) { Node<List<VariantEvidenceSupport>> node = lookup.find(start, end); if (node != null) { List<VariantEvidenceSupport> list = node.getValue(); if (!list.remove(ves)) { String msg = String.format("Attempting to remove %s which does not exist on interval (%d, %d)", ves.location, start, end); throw new IllegalStateException(msg); } node.getValue().remove(ves); if (node.getValue().isEmpty()) { lookup.remove(start, end); } } else { String msg = String.format("Attempting to remove %s from non-existant interval (%d, %d)", ves.location, start, end); throw new IllegalStateException(msg); } } /**
public boolean containsKey(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getContig()); if (tree == null) { return false; } return (tree.find(key.getStart(), key.getEnd()) != null); }
public boolean containsKey(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getSequence()); if (tree == null) { return false; } return (tree.find(key.getStart(), key.getEnd()) != null); }
public T get(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getContig()); if (tree == null) { return null; } final IntervalTree.Node<T> node = tree.find(key.getStart(), key.getEnd()); if (node == null) { return null; } return node.getValue(); }
public T get(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getSequence()); if (tree == null) { return null; } final IntervalTree.Node<T> node = tree.find(key.getStart(), key.getEnd()); if (node == null) { return null; } return node.getValue(); }
public T get(final Interval key) { final IntervalTree<T> tree = mSequenceMap.get(key.getContig()); if (tree == null) { return null; } final IntervalTree.Node<T> node = tree.find(key.getStart(), key.getEnd()); if (node == null) { return null; } return node.getValue(); }