当前位置: 首页>>代码示例>>Java>>正文


Java PeekableIterator.next方法代码示例

本文整理汇总了Java中htsjdk.samtools.util.PeekableIterator.next方法的典型用法代码示例。如果您正苦于以下问题:Java PeekableIterator.next方法的具体用法?Java PeekableIterator.next怎么用?Java PeekableIterator.next使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在htsjdk.samtools.util.PeekableIterator的用法示例。


在下文中一共展示了PeekableIterator.next方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
 
开发者ID:epam,项目名称:NGB,代码行数:19,代码来源:BedGraphProcessor.java

示例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;
}
 
开发者ID:broadinstitute,项目名称:picard,代码行数:25,代码来源:QuerySortedReadPairIteratorUtil.java

示例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;
}
 
开发者ID:PAA-NCIC,项目名称:SparkSeq,代码行数:8,代码来源:MergingPileupElementIterator.java

示例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;
}
 
开发者ID:broadinstitute,项目名称:picard,代码行数:20,代码来源:RevertSam.java

示例5: 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;
}
 
开发者ID:broadinstitute,项目名称:picard,代码行数:52,代码来源:BamToBfqWriter.java


注:本文中的htsjdk.samtools.util.PeekableIterator.next方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。