-- | Datastructures for Stockholm alignments module Bio.StockholmData where import qualified Data.Text as T -- | Data structure for a Stockholm format alignment data StockholmAlignment = StockholmAlignment { version :: T.Text, --annotations with the same tag are merged fileAnnotations :: [AnnotationEntry], columnAnnotations :: [AnnotationEntry], sequenceEntries :: [SequenceEntry] } deriving (Show, Eq) data SequenceEntry = SequenceEntry { sequenceId :: T.Text, entrySequence :: T.Text, sequenceAnnotation :: [AnnotationEntry], residueAnnotation :: [AnnotationEntry] } deriving (Show, Eq) data AnnotationEntry = AnnotationEntry { tag :: T.Text, annotation :: T.Text } deriving (Show, Eq) data StockholmToken = TokFileA{ fTag :: T.Text, fInfo :: T.Text } | TokColA { cTag :: T.Text, cInfo :: T.Text } | TokResA {rId :: T.Text, rTag :: T.Text, rInfo :: T.Text} | TokSeqA {aId :: T.Text, aTag :: T.Text, aInfo :: T.Text} | TokSeq {sId :: T.Text, sSeq :: T.Text} deriving (Show, Eq)