{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
module Data.BAM.Version1_6.BAM (
BAM_V1_6_BAM(..)
) where
import Data.BAM.Version1_6.BAM.BAMHeader
import Data.BAM.Version1_6.BAM.BAMAlignments
import Data.Data
import Generics.Deriving.Base
data BAM_V1_6_BAM = BAM_V1_6_BAM
{ :: Maybe BAM_V1_6_BAM_BAMHeader
, BAM_V1_6_BAM -> Maybe BAM_V1_6_BAM_BAMAlignments
bam_v1_6_bam_bamalignments :: Maybe BAM_V1_6_BAM_BAMAlignments
, BAM_V1_6_BAM -> Bool
bam_v1_6_bam_endoffilemarker :: Bool
} deriving ((forall x. BAM_V1_6_BAM -> Rep BAM_V1_6_BAM x)
-> (forall x. Rep BAM_V1_6_BAM x -> BAM_V1_6_BAM)
-> Generic BAM_V1_6_BAM
forall x. Rep BAM_V1_6_BAM x -> BAM_V1_6_BAM
forall x. BAM_V1_6_BAM -> Rep BAM_V1_6_BAM x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BAM_V1_6_BAM -> Rep BAM_V1_6_BAM x
from :: forall x. BAM_V1_6_BAM -> Rep BAM_V1_6_BAM x
$cto :: forall x. Rep BAM_V1_6_BAM x -> BAM_V1_6_BAM
to :: forall x. Rep BAM_V1_6_BAM x -> BAM_V1_6_BAM
Generic,Typeable)
instance Eq BAM_V1_6_BAM where
BAM_V1_6_BAM Maybe BAM_V1_6_BAM_BAMHeader
bam_v1_6_bam_bamheader1
Maybe BAM_V1_6_BAM_BAMAlignments
bam_v1_6_bam_bamalignments1
Bool
bam_v1_6_bam_endoffilemarker1 == :: BAM_V1_6_BAM -> BAM_V1_6_BAM -> Bool
==
BAM_V1_6_BAM Maybe BAM_V1_6_BAM_BAMHeader
bam_v1_6_bam_bamheader2
Maybe BAM_V1_6_BAM_BAMAlignments
bam_v1_6_bam_bamalignments2
Bool
bam_v1_6_bam_endoffilemarker2 =
Maybe BAM_V1_6_BAM_BAMHeader
bam_v1_6_bam_bamheader1 Maybe BAM_V1_6_BAM_BAMHeader
-> Maybe BAM_V1_6_BAM_BAMHeader -> Bool
forall a. Eq a => a -> a -> Bool
== Maybe BAM_V1_6_BAM_BAMHeader
bam_v1_6_bam_bamheader2 Bool -> Bool -> Bool
&&
Maybe BAM_V1_6_BAM_BAMAlignments
bam_v1_6_bam_bamalignments1 Maybe BAM_V1_6_BAM_BAMAlignments
-> Maybe BAM_V1_6_BAM_BAMAlignments -> Bool
forall a. Eq a => a -> a -> Bool
== Maybe BAM_V1_6_BAM_BAMAlignments
bam_v1_6_bam_bamalignments2 Bool -> Bool -> Bool
&&
Bool
bam_v1_6_bam_endoffilemarker1 Bool -> Bool -> Bool
forall a. Eq a => a -> a -> Bool
== Bool
bam_v1_6_bam_endoffilemarker2
instance Show BAM_V1_6_BAM where
show :: BAM_V1_6_BAM -> String
show (BAM_V1_6_BAM Maybe BAM_V1_6_BAM_BAMHeader
header
Maybe BAM_V1_6_BAM_BAMAlignments
alignments
Bool
endoffilemarker
) =
String
"BAM_V1_6_BAM { " String -> ShowS
forall a. [a] -> [a] -> [a]
++
String
"bam_v1_6_bam_bamheader = " String -> ShowS
forall a. [a] -> [a] -> [a]
++
(Maybe BAM_V1_6_BAM_BAMHeader -> String
forall a. Show a => a -> String
show Maybe BAM_V1_6_BAM_BAMHeader
header) String -> ShowS
forall a. [a] -> [a] -> [a]
++
String
" , bam_v1_6_bam_alignments = " String -> ShowS
forall a. [a] -> [a] -> [a]
++
(Maybe BAM_V1_6_BAM_BAMAlignments -> String
forall a. Show a => a -> String
show Maybe BAM_V1_6_BAM_BAMAlignments
alignments) String -> ShowS
forall a. [a] -> [a] -> [a]
++
String
" , bam_v1_6_bam_endoffilemarker = " String -> ShowS
forall a. [a] -> [a] -> [a]
++
(Bool -> String
forall a. Show a => a -> String
show Bool
endoffilemarker) String -> ShowS
forall a. [a] -> [a] -> [a]
++
String
" }"