/** * A function that will be called on an IntervalList prior to splitting it into sub-lists, and is a point where * implementations can chose to impose some conditions on the lists, for example, merging overlapping/abutting intervals, * removing duplicates, etc. * @param inputList the original {@link IntervalList} * @return the IntervalList that will be split up by the scatterer. */ default IntervalList preprocessIntervalList(final IntervalList inputList) { return inputList.sorted(); }
/** Returns an IntervalList with an entry for every SNP in every Haplotype in the map. */ public IntervalList getIntervalList() { this.intervals = this.intervals.sorted(); // TODO: should probably do this elsewhere return this.intervals; }
/** Returns an IntervalList with an entry for every SNP in every Haplotype in the map. */ public IntervalList getIntervalList() { this.intervals = this.intervals.sorted(); // TODO: should probably do this elsewhere return this.intervals; }
/** * A function that will be called on an IntervalList prior to splitting it into sub-lists, and is a point where * implementations can chose to impose some conditions on the lists, for example, merging overlapping/abutting intervals, * removing duplicates, etc. * @param inputList the original {@link IntervalList} * @return the IntervalList that will be split up by the scatterer. */ default IntervalList preprocessIntervalList(final IntervalList inputList) { return inputList.sorted(); }
/** * Returned an independent IntervalList that is sorted and uniquified. * * @param concatenateNames If false, interval names are not concatenated when merging intervals to save space. */ public IntervalList uniqued(final boolean concatenateNames) { final List<Interval> tmp = getUniqueIntervals(sorted(), concatenateNames); final IntervalList value = new IntervalList(this.header.clone()); value.intervals.addAll(tmp); return value; }
/** * Returned an independent IntervalList that is sorted and uniquified. * @param concatenateNames If false, interval names are not concatenated when merging intervals to save space. */ public IntervalList uniqued(final boolean concatenateNames) { final List<Interval> tmp = getUniqueIntervals(sorted(), concatenateNames); final IntervalList value = new IntervalList(this.header.clone()); value.intervals.addAll(tmp); return value; }
/** * Returned an independent IntervalList that is sorted and uniquified. * * @param concatenateNames If false, interval names are not concatenated when merging intervals to save space. */ public IntervalList uniqued(final boolean concatenateNames) { final List<Interval> tmp = getUniqueIntervals(sorted(), concatenateNames); final IntervalList value = new IntervalList(this.header.clone()); value.intervals.addAll(tmp); return value; }
public IntervalListReferenceSequenceMask(final IntervalList intervalList) { this.header = intervalList.getHeader(); if (intervalList.getHeader().getSortOrder() != SAMFileHeader.SortOrder.coordinate) { intervalList.sorted(); } final List<Interval> uniqueIntervals = intervalList.uniqued().getIntervals(); if (uniqueIntervals.isEmpty()) { lastSequenceIndex = -1; lastPosition = 0; } else { final Interval lastInterval = uniqueIntervals.get(uniqueIntervals.size() - 1); lastSequenceIndex = header.getSequenceIndex((lastInterval.getContig())); lastPosition = lastInterval.getEnd(); } intervalIterator = new PeekableIterator<Interval>(uniqueIntervals.iterator()); }
public IntervalListReferenceSequenceMask(final IntervalList intervalList) { this.header = intervalList.getHeader(); if (intervalList.getHeader().getSortOrder() != SAMFileHeader.SortOrder.coordinate) { intervalList.sorted(); } final List<Interval> uniqueIntervals = intervalList.uniqued().getIntervals(); if (uniqueIntervals.isEmpty()) { lastSequenceIndex = -1; lastPosition = 0; } else { final Interval lastInterval = uniqueIntervals.get(uniqueIntervals.size() - 1); lastSequenceIndex = header.getSequenceIndex((lastInterval.getContig())); lastPosition = lastInterval.getEnd(); } intervalIterator = new PeekableIterator<Interval>(uniqueIntervals.iterator()); }
@Override protected int doWork() { IOUtil.assertFileIsReadable(INPUT); IOUtil.assertFileIsWritable(OUTPUT); IntervalList intervals = IntervalList.fromFile(INPUT); if (SORT) intervals = intervals.sorted(); try { final BufferedWriter out = IOUtil.openFileForBufferedWriting(OUTPUT); for (final Interval i : intervals) { final String strand = i.isNegativeStrand() ? "-" : "+"; final List<?> fields = CollectionUtil.makeList(i.getContig(), i.getStart()-1, i.getEnd(), i.getName(), SCORE, strand); out.append(fields.stream().map(String::valueOf).collect(Collectors.joining("\t"))); out.newLine(); } out.close(); } catch (IOException ioe) { throw new RuntimeIOException(ioe); } return 0; } }
@Override protected int doWork() { IOUtil.assertFileIsReadable(INPUT); IOUtil.assertFileIsWritable(OUTPUT); IntervalList intervals = IntervalList.fromFile(INPUT); if (SORT) intervals = intervals.sorted(); try { final BufferedWriter out = IOUtil.openFileForBufferedWriting(OUTPUT); for (final Interval i : intervals) { final String strand = i.isNegativeStrand() ? "-" : "+"; final List<?> fields = CollectionUtil.makeList(i.getContig(), i.getStart()-1, i.getEnd(), i.getName(), SCORE, strand); out.append(fields.stream().map(String::valueOf).collect(Collectors.joining("\t"))); out.newLine(); } out.close(); } catch (IOException ioe) { throw new RuntimeIOException(ioe); } return 0; } }
intervals = list.sorted().intervals;
intervals = list.sorted().intervals; } else { intervals = list.intervals;
intervals = list.sorted().intervals; } else { intervals = list.intervals;
if (SORT) out = out.sorted(); if (UNIQUE) out = out.uniqued(); out.write(OUTPUT);
if (SORT) out = out.sorted(); if (UNIQUE) out = out.uniqued(); out.write(OUTPUT);
toIntervals.sorted().write(OUTPUT);
for (final Interval interval : overlapIntervals.sorted().uniqued()) { detector.addLhs(dummy, interval);
toIntervals.sorted().write(OUTPUT);
for (final Interval interval : overlapIntervals.sorted().uniqued()) { detector.addLhs(dummy, interval);