Skip to content

Instantly share code, notes, and snippets.

@Abby3017
Created June 14, 2020 05:29
Show Gist options
  • Save Abby3017/9683dd8a483278cc51a17de95816a364 to your computer and use it in GitHub Desktop.
Save Abby3017/9683dd8a483278cc51a17de95816a364 to your computer and use it in GitHub Desktop.
class Payload {
int idx;
ByteBuffer[] buf;
long value;
byte bits_left;
}
class Block {
DataSetHeader data_set_header;
BlockHeader block_header;
Payload payload;
}
class AccessUnitContainer{
DatasetContainer datasetContainer;
DatasetHeader datasetHeader;
AccessUnitHeader access_unit_header;
List<Block> blocks;
}
class AccessUnitHeader {
int access_unit_id;
byte num_blocks;
short parameter_set_id;
DATA_CLASS au_type;
int reads_count;
short mm_threshold;
int mm_count;
SequenceIdentifier ref_sequence_id;
long ref_start_position;
long ref_end_position;
byte reference_id;
SequenceIdentifier sequence_id;
long au_start_position;
long au_end_position;
long extended_au_start_position;
long extended_au_end_position;
int[] u_cluster_signatures;
}
class DescriptorStream Container {
DescriptorStreamHeader descriptor_stream_header;
Payload payload;
long streamByteOffset;
long streamSize;
long startDataset;
}
class DescriptorStreamHeader {
byte descriptor_id;
DATA_CLASS class_id;
int num_blocks;
}
class DataSetContainer {
DatasetHeader dataset_header;
List<DatasetParameterSet> dataset_parameters;
List<AccessUnitContainer> accessUnitContainers;
List<List<DescriptorStreamContainer>> descriptorStreamContainers;
DatasetMetadata datasetMetadata;
DatasetProtection datasetProtection;
BidirectionalMap<AccessUnitContainer, AU_Id_triplet> accessUnitContainerToAuIdTriplet;
AccessUnitContainer[] unalignedAccessUnitContainer;
BidirectionalMap<DescriptorStreamIdDuplet, DescriptorStreamContainer> descriptorStreamIdDupletToContainer;
TreeSet<Long> accessUnitContainerOffsets;
BidirectionalMap<Long, AccessUnitContainer> offsetToAccessUnits;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment