@gmod/cram
Version:
read CRAM files with pure Javascript
67 lines (66 loc) • 2.14 kB
TypeScript
import CramCodec from '../codecs/_base.ts';
import { DataSeriesEncodingKey, DataSeriesEncodingMap } from '../codecs/dataSeriesTypes.ts';
import { CramEncoding } from '../encoding.ts';
import { CramCompressionHeader } from '../sectionParsers.ts';
declare const dataSeriesTypes: {
readonly BF: "int";
readonly CF: "int";
readonly RI: "int";
readonly RL: "int";
readonly AP: "int";
readonly RG: "int";
readonly MF: "int";
readonly NS: "int";
readonly NP: "int";
readonly TS: "int";
readonly NF: "int";
readonly TC: "byte";
readonly TN: "int";
readonly FN: "int";
readonly FC: "byte";
readonly FP: "int";
readonly BS: "byte";
readonly IN: "byteArray";
readonly SC: "byteArray";
readonly DL: "int";
readonly BA: "byte";
readonly BB: "byteArray";
readonly RS: "int";
readonly PD: "int";
readonly HC: "int";
readonly MQ: "int";
readonly RN: "byteArray";
readonly QS: "byte";
readonly QQ: "byteArray";
readonly TL: "int";
};
export type DataSeriesTypes = typeof dataSeriesTypes;
type DataSeriesCache = {
[K in DataSeriesEncodingKey]?: CramCodec<DataSeriesTypes[K]>;
};
export default class CramContainerCompressionScheme {
readNamesIncluded: boolean;
APdelta: boolean;
referenceRequired: boolean;
tagIdsDictionary: Record<number, string[]>;
substitutionMatrix: string[][];
dataSeriesCodecCache: DataSeriesCache;
tagCodecCache: Record<string, CramCodec>;
tagEncoding: Record<string, CramEncoding>;
dataSeriesEncoding: DataSeriesEncodingMap;
constructor(content: CramCompressionHeader);
/**
* @param {string} tagName three-character tag name
* @private
*/
getCodecForTag(tagName: string): CramCodec;
/**
*
* @param {number} tagListId ID of the tag list to fetch from the tag dictionary
* @private
*/
getTagNames(tagListId: number): string[] | undefined;
getCodecForDataSeries<TDataSeries extends DataSeriesEncodingKey>(dataSeriesName: TDataSeries): CramCodec<DataSeriesTypes[TDataSeries]> | undefined;
toJSON(): any;
}
export {};