Skip to content

Commit ce2ecf8

Browse files
tomwhitelbergelson
andcommitted
Changes required to work with htsjdk 2.22.0
Remove CRAMContainerStreamWriter2 entirely Use htsjdk snapshot for testing Register VCFAltHeaderLine Register more header line classes Co-authored-by: Tom White <[email protected]> Co-authored-by: Louis Bergelson <[email protected]>
1 parent 9529873 commit ce2ecf8

File tree

8 files changed

+23
-501
lines changed

8 files changed

+23
-501
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<java.version>1.8</java.version>
3535
<maven.compiler.target>${java.version}</maven.compiler.target>
3636
<maven.compiler.source>${java.version}</maven.compiler.source>
37-
<htsjdk.version>2.19.0</htsjdk.version>
37+
<htsjdk.version>2.20.0</htsjdk.version>
3838
<hadoop.version>2.7.5</hadoop.version>
3939
<mockito.version>2.22.0</mockito.version>
4040
<kryo-serializers.version>0.42</kryo-serializers.version>

src/htsjdk/java/htsjdk/samtools/CRAMContainerStreamWriter2.java

Lines changed: 0 additions & 490 deletions
This file was deleted.

src/htsjdk/java/htsjdk/samtools/CachingBAMFileIndexOptimized.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public CachingBAMFileIndexOptimized(SeekableStream stream, SAMSequenceDictionary
1111
super(stream, dictionary);
1212
}
1313

14+
@Override
1415
protected BAMIndexContent query(final int referenceSequence, final int startPos, final int endPos) {
1516
seek(4);
1617

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

34-
private void skipToSequence(final int sequenceIndex) {
35+
@Override
36+
protected void skipToSequence(final int sequenceIndex) {
3537
//Use sequence position cache if available
3638
if(sequenceIndexes[sequenceIndex] != -1){
3739
seek(sequenceIndexes[sequenceIndex]);

src/htsjdk/java/htsjdk/samtools/cram/CRAIIndexMerger.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void processIndex(CRAIIndex index, long partLength) {
2626
}
2727

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

3232
@Override

src/main/java/org/disq_bio/disq/impl/formats/cram/CramOutputFormat.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
*/
2626
package org.disq_bio.disq.impl.formats.cram;
2727

28-
import htsjdk.samtools.CRAMContainerStreamWriter2;
28+
import htsjdk.samtools.CRAMCRAIIndexer;
29+
import htsjdk.samtools.CRAMContainerStreamWriter;
2930
import htsjdk.samtools.SAMFileHeader;
3031
import htsjdk.samtools.SAMRecord;
3132
import htsjdk.samtools.cram.CRAIIndex;
@@ -83,7 +84,7 @@ public RecordWriter<Void, SAMRecord> getRecordWriter(TaskAttemptContext taskAtte
8384
static class CramRecordWriter extends RecordWriter<Void, SAMRecord> {
8485

8586
private final OutputStream out;
86-
private final CRAMContainerStreamWriter2 cramWriter;
87+
private final CRAMContainerStreamWriter cramWriter;
8788

8889
public CramRecordWriter(
8990
Configuration conf,
@@ -103,8 +104,12 @@ public CramRecordWriter(
103104
indexStream = null;
104105
}
105106
cramWriter =
106-
new CRAMContainerStreamWriter2(
107-
out, indexStream, referenceSource, header, file.toString());
107+
new CRAMContainerStreamWriter(
108+
out,
109+
referenceSource,
110+
header,
111+
file.toString(),
112+
indexStream == null ? null : new CRAMCRAIIndexer(indexStream, header));
108113
}
109114

110115
@Override

src/main/java/org/disq_bio/disq/impl/formats/cram/CramSink.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
*/
2626
package org.disq_bio.disq.impl.formats.cram;
2727

28-
import htsjdk.samtools.CRAMContainerStreamWriter2;
28+
import htsjdk.samtools.CRAMContainerStreamWriter;
2929
import htsjdk.samtools.SAMFileHeader;
3030
import htsjdk.samtools.SAMRecord;
3131
import htsjdk.samtools.cram.CRAIIndex;
@@ -134,8 +134,8 @@ private void writeHeader(
134134
OutputStream out,
135135
String headerFile,
136136
CRAMReferenceSource referenceSource) {
137-
CRAMContainerStreamWriter2 cramWriter =
138-
new CRAMContainerStreamWriter2(out, null, referenceSource, header, headerFile);
137+
CRAMContainerStreamWriter cramWriter =
138+
new CRAMContainerStreamWriter(out, null, referenceSource, header, headerFile);
139139
cramWriter.writeHeader(header);
140140
cramWriter.finish(false); // don't write terminator
141141
}

src/main/java/org/disq_bio/disq/impl/formats/cram/CramSource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ private NavigableSet<Long> getContainerOffsetsFromFile(
166166
NavigableSet<Long> containerOffsets = new TreeSet<>();
167167
while (it.hasNext()) {
168168
Container container = it.next();
169-
containerOffsets.add(container.offset);
169+
containerOffsets.add(container.byteOffset);
170170
}
171171
containerOffsets.add(cramFileLength);
172172
return containerOffsets;

src/main/java/org/disq_bio/disq/serializer/DisqKryoRegistrator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ public void registerClasses(final Kryo kryo) {
125125
kryo.register(htsjdk.variant.variantcontext.VariantContext.Type.class);
126126

127127
// htsjdk.variant.vcf
128+
kryo.register(htsjdk.variant.vcf.VCFAltHeaderLine.class);
128129
kryo.register(htsjdk.variant.vcf.VCFCompoundHeaderLine.SupportedHeaderLineType.class);
129130
kryo.register(htsjdk.variant.vcf.VCFContigHeaderLine.class);
130131
kryo.register(htsjdk.variant.vcf.VCFFilterHeaderLine.class);
@@ -133,7 +134,11 @@ public void registerClasses(final Kryo kryo) {
133134
kryo.register(htsjdk.variant.vcf.VCFHeaderLine.class);
134135
kryo.register(htsjdk.variant.vcf.VCFHeaderLineCount.class);
135136
kryo.register(htsjdk.variant.vcf.VCFHeaderLineType.class);
137+
kryo.register(htsjdk.variant.vcf.VCFHeaderVersion.class);
136138
kryo.register(htsjdk.variant.vcf.VCFInfoHeaderLine.class);
139+
kryo.register(htsjdk.variant.vcf.VCFMetaHeaderLine.class);
140+
kryo.register(htsjdk.variant.vcf.VCFPedigreeHeaderLine.class);
141+
kryo.register(htsjdk.variant.vcf.VCFSampleHeaderLine.class);
137142
kryo.register(htsjdk.variant.vcf.VCFSimpleHeaderLine.class);
138143

139144
// java.io

0 commit comments

Comments
 (0)