-- | "cmalign" provides two interesting results, bit scores of sequences -- aligned to the model and the alignments themselves. module Biobase.Infernal.Align where import Data.ByteString.Char8 (ByteString) import Biobase.Infernal.Types -- | cmalign results, includes sequence scores if available. -- -- TODO stockholmAlignment, should be "biostockholm" (will be set after some -- fun iteratee tests). For now, the 'ByteString' holds everything needed to -- parse using biostockholm. data Align = Align { modelIdentification :: ModelIdentification , sequenceScores :: [SequenceScore] , stockholmAlignment :: ByteString } -- | Individual sequence scores. -- -- TODO avgProbability should use Probability newtype data SequenceScore = SequenceScore { sequenceName :: !(ModelAccession,ModelIdentification,EmblAccession) -- ^ sequence name, typically RFxxxxxx;RfamID;embl-accession , sLength :: !Int -- ^ aligned sequence length , totalBitScore :: !BitScore -- ^ total alignment bitscore , structureBitScore :: !BitScore -- ^ structural score part , avgProbability :: !Double -- ^ }