本文整理汇总了Java中htsjdk.samtools.util.PeekableIterator.hasNext方法的典型用法代码示例。如果您正苦于以下问题:Java PeekableIterator.hasNext方法的具体用法?Java PeekableIterator.hasNext怎么用?Java PeekableIterator.hasNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类htsjdk.samtools.util.PeekableIterator
的用法示例。
在下文中一共展示了PeekableIterator.hasNext方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getScoreForBounds
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
private float getScoreForBounds(PeekableIterator<BedGraphFeature> query, int chunkStart, int chunkStop) {
float score = 0.0f;
while (query.hasNext()) {
BedGraphFeature bedGraphFeature = query.peek();
if (bedGraphFeature.getStart() < chunkStop && bedGraphFeature.getEnd() > chunkStart) {
score = score < bedGraphFeature.getValue() ? bedGraphFeature.getValue() : score;
}
if (chunkStop >= bedGraphFeature.getEnd()) {
//let's skip future because we already move forward
query.next();
} else {
// we should keep bedGraphFeature for next track block
break;
}
}
return score;
}
示例2: getNextUsableRead
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
/**
* Return the next usable read in the iterator
*
* @param iterator the iterator to pull from
* @param justPeek if true, just peek the next usable read rather than pulling it (note: it may remove unusable reads from the iterator)
* @return the next read or null if none are left
*/
private static SAMRecord getNextUsableRead(final PeekableIterator<SAMRecord> iterator, final boolean justPeek) {
while (iterator.hasNext()) {
// trash the next read if it fails PF, is secondary, or is supplementary
final SAMRecord nextRead = iterator.peek();
if (nextRead.getReadFailsVendorQualityCheckFlag() || nextRead.isSecondaryOrSupplementary()) {
iterator.next();
}
// otherwise, return it
else {
return justPeek ? nextRead : iterator.next();
}
}
// no good reads left
return null;
}
示例3: next
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
public PE next() {
PeekableIterator<PE> currentIterator = perSampleIterators.remove();
PE current = currentIterator.next();
if(currentIterator.hasNext())
perSampleIterators.add(currentIterator);
return current;
}
示例4: fetchByReadName
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
/**
* Generates a list by consuming from the iterator in order starting with the first available
* read and continuing while subsequent reads share the same read name. If there are no reads
* remaining returns an empty list.
*/
private List<SAMRecord> fetchByReadName(final PeekableIterator<SAMRecord> iterator) {
final List<SAMRecord> out = new ArrayList<>();
if (iterator.hasNext()) {
final SAMRecord first = iterator.next();
out.add(first);
while (iterator.hasNext() && iterator.peek().getReadName().equals(first.getReadName())) {
out.add(iterator.next());
}
}
return out;
}
示例5: advance
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
@Override
protected T advance() {
T smallest= null;
int smallest_index=-1;
int i=0;
while(i< this.buffer.size())
{
final PeekableIterator<T> delegate = this.buffer.get(i);
if(!delegate.hasNext())
{
CloserUtil.close(delegate);
this.buffer.remove(i);
}
else
{
final T item = delegate.peek();
if(smallest==null || this.comparator.compare(item, smallest)<0)
{
smallest = item;
smallest_index = i;
}
i++;
}
}
if(smallest_index!=-1)
{
this.buffer.get(smallest_index).next();//consumme
if(lastForChecking!=null && this.comparator.compare(smallest, lastForChecking)<0)
{
throw new IllegalStateException("Data are not ordered... got "+ smallest_index+" after "+lastForChecking);
}
lastForChecking = smallest;
return smallest;
}
return null;
}
示例6: countWritableRecords
import htsjdk.samtools.util.PeekableIterator; //导入方法依赖的package包/类
/**
* Count the number of records in the bamFile that could potentially be written
*
* @return the number of records in the Bam file
*/
private int countWritableRecords() {
int count = 0;
final SamReader reader = SamReaderFactory.makeDefault().open(this.bamFile);
if(!reader.getFileHeader().getSortOrder().equals(SAMFileHeader.SortOrder.queryname)) {
//this is a fix for issue PIC-274: It looks like BamToBfqWriter requires that the input BAM is queryname sorted,
//but it doesn't check this early, nor produce an understandable error message."
throw new PicardException("Input file (" + this.bamFile.getAbsolutePath() +") needs to be sorted by queryname.");
}
final PeekableIterator<SAMRecord> it = new PeekableIterator<SAMRecord>(reader.iterator());
if (!this.pairedReads) {
// Filter out noise reads and reads that fail the quality filter
final List<SamRecordFilter> filters = new ArrayList<SamRecordFilter>();
filters.add(new TagFilter(ReservedTagConstants.XN, 1));
if (!this.includeNonPfReads) {
filters.add(new FailsVendorReadQualityFilter());
}
final FilteringSamIterator itr = new FilteringSamIterator(it, new AggregateFilter(filters));
while (itr.hasNext()) {
itr.next();
count++;
}
}
else {
while (it.hasNext()) {
final SAMRecord first = it.next();
final SAMRecord second = it.next();
// If both are noise reads, filter them out
if (first.getAttribute(ReservedTagConstants.XN) != null &&
second.getAttribute(ReservedTagConstants.XN) != null) {
// skip it
}
// If either fails to pass filter, then exclude them as well
else if (!this.includeNonPfReads && (first.getReadFailsVendorQualityCheckFlag() || second.getReadFailsVendorQualityCheckFlag()) ) {
// skip it
}
// Otherwise, write them out
else {
count++;
}
}
}
it.close();
CloserUtil.close(reader);
return count;
}