Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<java.version>1.8</java.version>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.source>${java.version}</maven.compiler.source>
<htsjdk.version>2.19.0</htsjdk.version>
<htsjdk.version>2.20.0</htsjdk.version>
<hadoop.version>2.7.5</hadoop.version>
<mockito.version>2.22.0</mockito.version>
<kryo-serializers.version>0.42</kryo-serializers.version>
Expand Down
490 changes: 0 additions & 490 deletions src/htsjdk/java/htsjdk/samtools/CRAMContainerStreamWriter2.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public CachingBAMFileIndexOptimized(SeekableStream stream, SAMSequenceDictionary
super(stream, dictionary);
}

@Override
protected BAMIndexContent query(final int referenceSequence, final int startPos, final int endPos) {
seek(4);

Expand All @@ -31,7 +32,8 @@ protected BAMIndexContent query(final int referenceSequence, final int startPos,
return super.query(referenceSequence, startPos, endPos);
}

private void skipToSequence(final int sequenceIndex) {
@Override
protected void skipToSequence(final int sequenceIndex) {
//Use sequence position cache if available
if(sequenceIndexes[sequenceIndex] != -1){
seek(sequenceIndexes[sequenceIndex]);
Expand Down
2 changes: 1 addition & 1 deletion src/htsjdk/java/htsjdk/samtools/cram/CRAIIndexMerger.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void processIndex(CRAIIndex index, long partLength) {
}

private static CRAIEntry shift(CRAIEntry entry, long offset) {
return new CRAIEntry(entry.getSequenceId(), entry.getAlignmentStart(), entry.getAlignmentSpan(), entry.getContainerStartByteOffset() + offset, entry.getSliceByteOffset(), entry.getSliceByteSize());
return new CRAIEntry(entry.getSequenceId(), entry.getAlignmentStart(), entry.getAlignmentSpan(), entry.getContainerStartByteOffset() + offset, entry.getSliceByteOffsetFromCompressionHeaderStart(), entry.getSliceByteSize());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
*/
package org.disq_bio.disq.impl.formats.cram;

import htsjdk.samtools.CRAMContainerStreamWriter2;
import htsjdk.samtools.CRAMCRAIIndexer;
import htsjdk.samtools.CRAMContainerStreamWriter;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.samtools.SAMRecord;
import htsjdk.samtools.cram.CRAIIndex;
Expand Down Expand Up @@ -83,7 +84,7 @@ public RecordWriter<Void, SAMRecord> getRecordWriter(TaskAttemptContext taskAtte
static class CramRecordWriter extends RecordWriter<Void, SAMRecord> {

private final OutputStream out;
private final CRAMContainerStreamWriter2 cramWriter;
private final CRAMContainerStreamWriter cramWriter;

public CramRecordWriter(
Configuration conf,
Expand All @@ -103,8 +104,12 @@ public CramRecordWriter(
indexStream = null;
}
cramWriter =
new CRAMContainerStreamWriter2(
out, indexStream, referenceSource, header, file.toString());
new CRAMContainerStreamWriter(
out,
referenceSource,
header,
file.toString(),
indexStream == null ? null : new CRAMCRAIIndexer(indexStream, header));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/
package org.disq_bio.disq.impl.formats.cram;

import htsjdk.samtools.CRAMContainerStreamWriter2;
import htsjdk.samtools.CRAMContainerStreamWriter;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.samtools.SAMRecord;
import htsjdk.samtools.cram.CRAIIndex;
Expand Down Expand Up @@ -134,8 +134,8 @@ private void writeHeader(
OutputStream out,
String headerFile,
CRAMReferenceSource referenceSource) {
CRAMContainerStreamWriter2 cramWriter =
new CRAMContainerStreamWriter2(out, null, referenceSource, header, headerFile);
CRAMContainerStreamWriter cramWriter =
new CRAMContainerStreamWriter(out, null, referenceSource, header, headerFile);
cramWriter.writeHeader(header);
cramWriter.finish(false); // don't write terminator
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ private NavigableSet<Long> getContainerOffsetsFromFile(
NavigableSet<Long> containerOffsets = new TreeSet<>();
while (it.hasNext()) {
Container container = it.next();
containerOffsets.add(container.offset);
containerOffsets.add(container.byteOffset);
}
containerOffsets.add(cramFileLength);
return containerOffsets;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ public void registerClasses(final Kryo kryo) {
kryo.register(htsjdk.variant.variantcontext.VariantContext.Type.class);

// htsjdk.variant.vcf
kryo.register(htsjdk.variant.vcf.VCFAltHeaderLine.class);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomwhite The htsjdk PR that introduced this new header line class also added a couple of others that should probably be registered for serialization as well: VCFSampleHeaderLine, VCFMetaHeaderLine, VCFPedigreeHeaderLine.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those VCF header line changes binary compatible with htsjdk 2.18.x? At some point we need to start thinking about how htsjdk and Disq releases synchronize with each other.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@huermh Yes, the new header line classes are VCFHeaderLine-derived, so they should be binary compatible with previous VCFHeader/VCFHeaderLine consumers.

kryo.register(htsjdk.variant.vcf.VCFCompoundHeaderLine.SupportedHeaderLineType.class);
kryo.register(htsjdk.variant.vcf.VCFContigHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFFilterHeaderLine.class);
Expand All @@ -133,7 +134,11 @@ public void registerClasses(final Kryo kryo) {
kryo.register(htsjdk.variant.vcf.VCFHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFHeaderLineCount.class);
kryo.register(htsjdk.variant.vcf.VCFHeaderLineType.class);
kryo.register(htsjdk.variant.vcf.VCFHeaderVersion.class);
kryo.register(htsjdk.variant.vcf.VCFInfoHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFMetaHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFPedigreeHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFSampleHeaderLine.class);
kryo.register(htsjdk.variant.vcf.VCFSimpleHeaderLine.class);

// java.io
Expand Down