{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedLists #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PackageImports #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# Language QuasiQuotes #-} -- | -- Module : Data.SAM.Version1_6.Header.HD -- Copyright : (c) Matthew Mosior 2023 -- License : BSD-style -- Maintainer : mattm.github@gmail.com -- Portability : portable -- -- = WARNING -- -- This module is considered __internal__. -- -- The Package Versioning Policy __does not apply__. -- -- The contents of this module may change __in any way whatsoever__ -- and __without any warning__ between minor versions of this package. -- -- Authors importing this library are expected to track development -- closely. -- -- All credit goes to the author(s)/maintainer(s) of the -- [containers](https://hackage.haskell.org/package/containers) library -- for the above warning text. -- -- = Description -- -- This library enables the decoding/encoding of SAM, BAM and CRAM file formats. module Data.SAM.Version1_6.Header.HD ( -- * SAM version 1.6 File-level metadata data type SAM_V1_6_File_Level_Metadata(..), -- * SAM version 1.6 File-Level Metadata data types SAM_V1_6_File_Level_Metadata_Format_Version(..), SAM_V1_6_File_Level_Metadata_Sorting_Order(..), SAM_V1_6_File_Level_Metadata_Alignment_Grouping(..), SAM_V1_6_File_Level_Metadata_SubSorting_Order(..) ) where import Data.ByteString import Data.Sequence import Data.Word -- | Custom SAM (version 1.6) @"SAM_V1_6_File_Level_Metadata"@ data type. -- See section 1.3 of the [SAM v1.6](http://samtools.github.io/hts-specs/SAMv1.pdf) specification documentation. data SAM_V1_6_File_Level_Metadata = SAM_V1_6_File_Level_Metadata { sam_v1_6_file_level_metadata_format_version :: SAM_V1_6_File_Level_Metadata_Format_Version , sam_v1_6_file_level_metadata_sorting_order :: Maybe SAM_V1_6_File_Level_Metadata_Sorting_Order , sam_v1_6_file_level_metadata_alignment_grouping :: Maybe SAM_V1_6_File_Level_Metadata_Alignment_Grouping , sam_v1_6_file_level_metadata_subsorting_order :: Maybe SAM_V1_6_File_Level_Metadata_SubSorting_Order } -- | VN tag for @"SAM_V1_6_File_Level_Metadata"@. data SAM_V1_6_File_Level_Metadata_Format_Version = SAM_V1_6_File_Level_Metadata_Format_Version { sam_v1_6_file_level_metadata_format_version_tag :: Seq Word8 , sam_v1_6_file_level_metadata_format_version_value :: ByteString } -- | SO tag for @"SAM_V1_6_File_Level_Metadata"@. data SAM_V1_6_File_Level_Metadata_Sorting_Order = SAM_V1_6_File_Level_Metadata_Sorting_Order { sam_v1_6_file_level_metadata_sorting_order_tag :: Seq Word8 , sam_v1_6_file_level_metadata_sorting_order_value :: ByteString } -- | GO tag for @"SAM_V1_6_File_Level_Metadata"@. data SAM_V1_6_File_Level_Metadata_Alignment_Grouping = SAM_V1_6_File_Level_Metadata_Alignment_Grouping { sam_v1_6_file_level_metadata_alignment_grouping_tag :: Seq Word8 , sam_v1_6_file_level_metadata_alignment_grouping_value :: ByteString } -- | SS tag for @"SAM_V1_6_File_Level_Metadata"@. data SAM_V1_6_File_Level_Metadata_SubSorting_Order = SAM_V1_6_File_Level_Metadata_SubSorting_Order { sam_v1_6_file_level_metadata_subsorting_order_tag :: Seq Word8 , sam_v1_6_file_level_metadata_subsorting_order_value :: ByteString }