Package htsjdk.beta.codecs.reads.sam.samV1_0

# Class SAMCodecV1_0

java.lang.Object
htsjdk.beta.codecs.reads.sam.SAMCodec
htsjdk.beta.codecs.reads.sam.samV1_0.SAMCodecV1_0

All Implemented Interfaces:
  `HtsCodec<ReadsDecoderOptions,ReadsEncoderOptions>`, `ReadsCodec`, `Upgradeable`

public class SAMCodecV1_0 extends SAMCodec
SAM v1.0 codec.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final HtsVersion`
`VERSION_1`

## Constructor Summary

Constructors
Constructor
Description
`SAMCodecV1_0()`

## Method Summary

Modifier and Type
Method
Description
`SAMDecoder`
`getDecoder(Bundle inputBundle, ReadsDecoderOptions decoderOptions)`
Get an `HtsDecoder` to decode the provided inputs.
`SAMEncoder`
`getEncoder(Bundle outputBundle, ReadsEncoderOptions encoderOptions)`
Get an `HtsEncoder` to encode to the provided outputs.
`HtsVersion`
`getVersion()`
Get the version of the file format returned by `HtsCodec.getFileFormat()` that is supported by this codec.
`boolean`
`runVersionUpgrade(HtsVersion sourceCodecVersion, HtsVersion targetCodecVersion)`

### Methods inherited from class htsjdk.beta.codecs.reads.sam.SAMCodec

`canDecodeSignature, canDecodeURI, getDisplayName, getFileFormat, getSignatureLength, getSignatureProbeLength, ownsURI`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface htsjdk.beta.plugin.reads.ReadsCodec

`getContentType`

## Field Details

### VERSION_1

public static final HtsVersion VERSION_1

## Constructor Details

### SAMCodecV1_0

public SAMCodecV1_0()

## Method Details

### getVersion

public HtsVersion getVersion()
Description copied from interface: `HtsCodec`
Get the version of the file format returned by `HtsCodec.getFileFormat()` that is supported by this codec.

Returns:
  the file format version (`HtsVersion`) supported by this codec

### getDecoder

public SAMDecoder getDecoder(Bundle inputBundle, ReadsDecoderOptions decoderOptions)
Description copied from interface: `HtsCodec`
Get an `HtsDecoder` to decode the provided inputs. The input bundle must contain resources of the type required by this codec. To find a codec appropriate for decoding a given resource, use an `HtsCodecResolver` obtained from an `HtsCodecRegistry`.

The framework will never call thi* method unless either `HtsCodec.ownsURI(IOPath)`, or `HtsCodec.canDecodeURI(IOPath)` and `HtsCodec.canDecodeSignature(SignatureStream, String)` (IOPath)} return true for `inputBundle`.

Parameters:
  `inputBundle` - input to be decoded. To get a decoder for use with index queries that use `HtsQuery` methods, the bundle must contain an index resource.
  `decoderOptions` - options for the decoder to use
Returns:
  an `HtsDecoder` that can decode the provided inputs

### getEncoder

public SAMEncoder getEncoder(Bundle outputBundle, ReadsEncoderOptions encoderOptions)
Description copied from interface: `HtsCodec`
Get an `HtsEncoder` to encode to the provided outputs. The output bundle must contain resources of the type required by this codec. To find a codec appropriate for encoding a given resource, use an `HtsCodecResolver` obtained from an `HtsCodecRegistry`. The framework will never call this method unless either `HtsCodec.ownsURI(IOPath)`, or `HtsCodec.canDecodeURI(IOPath)` returned true for `outputBundle`.

Parameters:
  `outputBundle` - target output for the encoder
  `encoderOptions` - encoder options to use
Returns:
  an `HtsEncoder` suitable for writing to the provided outputs

### runVersionUpgrade

public boolean runVersionUpgrade(HtsVersion sourceCodecVersion, HtsVersion targetCodecVersion)