本文整理汇总了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);
}
}
示例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());
}
}
示例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);
}
示例4: MergingSamRecordIterator
import htsjdk.samtools.SAMRecordCoordinateComparator; //导入依赖的package包/类
public MergingSamRecordIterator(final List<CloseableIterator<SAMRecord>> iterators)
{
this(new SAMRecordCoordinateComparator(),iterators);
}
示例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;
}