{-# LANGUAGE RecordWildCards #-} {-# OPTIONS_GHC -funbox-strict-fields #-} -- | Provides a datatype for cmsearch verbose output. The Import/Export system -- now allows for primitive annotations using "##" as the first two characters. -- Annotations are only accepted for individual hits. module Biobase.Infernal.VerboseHit where import Data.ByteString.Char8 as BS import Text.Printf -- | Captures a complete alignment data VerboseHit = VerboseHit { vhTarget :: !(Int,Int) -- ^ part of target sequence (start counting at 1) , vhQuery :: !(Int,Int) -- ^ which part of the CM/stk do we align to , vhCM :: !ByteString -- ^ the CM for this alignment , vhStrand :: !Strand -- ^ should be either '+' or '-' , vhScore :: !Double -- ^ bit score , vhEvalue :: !Double -- ^ number of hits we expect to find with 'score' or higher for 'targetSequence' length , vhPvalue :: !Double -- ^ ? , vhGC :: !Int -- ^ ? , vhScaffold :: !ByteString -- ^ scaffold, chromosome, ... (the name of the sequence, not the sequence data!) , vhWuss :: !ByteString -- ^ fancy secondary structure annotation using wuss notation , vhConsensus :: !ByteString -- ^ query consensus (upper: highly, lower: weak/no) , vhScoring :: !ByteString -- ^ represents where positive and negative scores come from , vhSequence :: !ByteString -- ^ the target sequence which aligns to the model , vhAnnotation :: ![ByteString] -- ^ any annotations that could be associated (# lines) } deriving (Show,Read) type Strand = Char