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


Java SAMRecordCoordinateComparator类代码示例

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


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

示例1: sortBamFile

import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
public static void sortBamFile(File inputBamFile, File outputBamFile, File tempDirectory, final Comparator<SAMRecord> comparator) {
	try (SamReader currentReader = SamReaderFactory.makeDefault().open(inputBamFile)) {
		SAMFileHeader header = currentReader.getFileHeader();
		Iterator<SAMRecord> iter = currentReader.iterator();
		try (CloseableAndIterableIterator<SAMRecord> sortedIter = getSortedBamIterator(iter, header, tempDirectory, comparator)) {

			if (comparator.getClass().equals(SAMRecordCoordinateComparator.class)) {
				header.setSortOrder(SortOrder.coordinate);
			} else if (comparator.getClass().equals(SAMRecordQueryNameComparator.class)) {
				header.setSortOrder(SortOrder.queryname);
			} else if (comparator.getClass().equals(SAMRecordDuplicateComparator.class)) {
				header.setSortOrder(SortOrder.duplicate);
			}
			try (SAMFileWriter writer = new SAMFileWriterFactory().makeBAMWriter(header, true, outputBamFile, BAM_COMPRESSION_LEVEL)) {
				while (sortedIter.hasNext()) {
					SAMRecord nextRecord = sortedIter.next();
					writer.addAlignment(nextRecord);
				}
			}
		}
	} catch (IOException e) {
		throw new PicardException(e.getMessage(), e);
	}

}
 
开发者ID:NimbleGen,项目名称:bioinformatics,代码行数:26,代码来源:BamSorter.java

示例2: assertReadsAreSorted

import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
private static void assertReadsAreSorted(SAMFileHeader header, List<GATKRead> writtenReads) {
    final SAMRecordCoordinateComparator comparator = new SAMRecordCoordinateComparator();
    // Assert that the reads are sorted.
    final int size = writtenReads.size();
    for (int i = 0; i < size-1; ++i) {
        final SAMRecord smaller = writtenReads.get(i).convertToSAMRecord(header);
        final SAMRecord larger = writtenReads.get(i + 1).convertToSAMRecord(header);
        final int compare = comparator.compare(smaller, larger);
        Assert.assertTrue(compare < 0, "Reads are out of order (compare=" + compare+"): " + smaller.getSAMString() + " and " + larger.getSAMString());
    }
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:12,代码来源:ReadsSparkSinkUnitTest.java

示例3: newSortByCoordinateInstance

import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
public static SortingSAMRecordCollection newSortByCoordinateInstance(SAMRecord[] recordArray, SAMFileHeader header, int maxRecordsInRAM, String tempDir) {
	return new SortingSAMRecordCollection(recordArray, header, new SAMRecordCoordinateComparator(), maxRecordsInRAM, tempDir);
}
 
开发者ID:mozack,项目名称:abra2,代码行数:4,代码来源:SortingSAMRecordCollection.java

示例4: MergingSamRecordIterator

import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
public MergingSamRecordIterator(final List<CloseableIterator<SAMRecord>> iterators)
{
this(new SAMRecordCoordinateComparator(),iterators);
}
 
开发者ID:lindenb,项目名称:jvarkit,代码行数:5,代码来源:MergingSamRecordIterator.java

示例5: sortReadsByCoordinate

import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
/**
 * Returns the collections of reads sorted in coordinate order, according to the order defined
 * in the reads themselves
 *
 * @param reads
 * @return
 */
public final static List<GATKSAMRecord> sortReadsByCoordinate(List<GATKSAMRecord> reads) {
    final SAMRecordComparator comparer = new SAMRecordCoordinateComparator();
    Collections.sort(reads, comparer);
    return reads;
}
 
开发者ID:PAA-NCIC,项目名称:SparkSeq,代码行数:13,代码来源:ReadUtils.java


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