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


Java SortOrder.queryname方法代码示例

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


在下文中一共展示了SortOrder.queryname方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getQuerynameSortedAlignedRecords

import htsjdk.samtools.SAMFileHeader.SortOrder; //导入方法依赖的package包/类
/**
 * Reads the aligned SAM records into a SortingCollection and returns an iterator over that collection
 */
protected CloseableIterator<SAMRecord> getQuerynameSortedAlignedRecords() {

    final CloseableIterator<SAMRecord> mergingIterator;
    final SAMFileHeader header;

    // When the alignment records, including both ends of a pair, are in SAM files
    if (alignedSamFile != null && !alignedSamFile.isEmpty()) {
        final List<SAMFileHeader> headers = new ArrayList<>(alignedSamFile.size());
        final List<SamReader> readers = new ArrayList<>(alignedSamFile.size());
        for (final File f : this.alignedSamFile) {
            final SamReader r = SamReaderFactory.makeDefault().referenceSequence(referenceFasta).open(f);
            headers.add(r.getFileHeader());
            readers.add(r);

            // As we're going through and opening the aligned files, if we don't have a @PG yet
            // and there is only a single one in the input file, use that!
            if (getProgramRecord() == null && r.getFileHeader().getProgramRecords().size() == 1) {
                setProgramRecord(r.getFileHeader().getProgramRecords().iterator().next());
            }
        }

        // assert that all the dictionaries are the same before merging the headers.
        alignedSamDictionary = headers.get(0).getSequenceDictionary();
        headers.stream()
                .map(SAMFileHeader::getSequenceDictionary)
                .forEach(alignedSamDictionary::assertSameDictionary);

        final SamFileHeaderMerger headerMerger = new SamFileHeaderMerger(SortOrder.queryname, headers, false);

        mergingIterator = new MergingSamRecordIterator(headerMerger, readers, true);
        header = headerMerger.getMergedHeader();

    }
    // When the ends are aligned separately and don't have firstOfPair information correctly
    // set we use this branch.
    else {
        // this merging iterator already asserts that all the headers are the same
        mergingIterator = new SeparateEndAlignmentIterator(this.read1AlignedSamFile, this.read2AlignedSamFile, referenceFasta);
        header = ((SeparateEndAlignmentIterator) mergingIterator).getHeader();

        alignedSamDictionary = header.getSequenceDictionary();

        // As we're going through and opening the aligned files, if we don't have a @PG yet
        // and there is only a single one in the input file, use that!
        if (getProgramRecord() == null && header.getProgramRecords().size() == 1) {
            setProgramRecord(header.getProgramRecords().iterator().next());
        }
    }

    if (!forceSort) {
        return mergingIterator;
    }

    final SortingCollection<SAMRecord> alignmentSorter = SortingCollection.newInstance(SAMRecord.class,
            new BAMRecordCodec(header), new SAMRecordQueryNameComparator(), MAX_RECORDS_IN_RAM);

    int count = 0;
    while (mergingIterator.hasNext()) {
        alignmentSorter.add(mergingIterator.next());
        count++;
        if (count > 0 && count % 1000000 == 0) {
            log.info("Read " + count + " records from alignment SAM/BAM.");
        }
    }
    log.info("Finished reading " + count + " total records from alignment SAM/BAM.");

    mergingIterator.close();
    return new DelegatingIterator<SAMRecord>(alignmentSorter.iterator()) {
        @Override
        public void close() {
            super.close();
            alignmentSorter.cleanup();
        }
    };
}
 
开发者ID:broadinstitute,项目名称:picard,代码行数:79,代码来源:SamAlignmentMerger.java

示例2: isPresorted

import htsjdk.samtools.SAMFileHeader.SortOrder; //导入方法依赖的package包/类
private boolean isPresorted(final SAMFileHeader inHeader, final SortOrder sortOrder, final boolean sanitizing) {
    return (inHeader.getSortOrder() == sortOrder) || (sortOrder == SortOrder.queryname && sanitizing);
}
 
开发者ID:broadinstitute,项目名称:picard,代码行数:4,代码来源:RevertSam.java


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