{-# OPTIONS_GHC -fno-warn-orphans #-}
module Bio.MMTF.MessagePack where
import Bio.MMTF.Decode
import Bio.MMTF.Decode.MessagePack
import Bio.MMTF.Type
import Data.MessagePack (MessagePack (..))
instance MessagePack MMTF where
toObject :: MMTF -> Object
toObject = forall a. HasCallStack => a
undefined
fromObject :: forall (m :: * -> *).
(Applicative m, Monad m, MonadFail m) =>
Object -> m MMTF
fromObject Object
obj = do Map Text Object
mp <- forall (m :: * -> *). MonadFail m => Object -> m (Map Text Object)
transformObjectMap Object
obj
FormatData
f <- forall (m :: * -> *).
MonadFail m =>
Map Text Object -> m FormatData
formatData Map Text Object
mp
StructureData
s <- forall (m :: * -> *).
MonadFail m =>
Map Text Object -> m StructureData
structureData Map Text Object
mp
ModelData
m <- forall (m :: * -> *). MonadFail m => Map Text Object -> m ModelData
modelData Map Text Object
mp
ChainData
c <- forall (m :: * -> *). MonadFail m => Map Text Object -> m ChainData
chainData Map Text Object
mp
GroupData
g <- forall (m :: * -> *). MonadFail m => Map Text Object -> m GroupData
groupData Map Text Object
mp
AtomData
a <- forall (m :: * -> *). MonadFail m => Map Text Object -> m AtomData
atomData Map Text Object
mp
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ FormatData
-> StructureData
-> ModelData
-> ChainData
-> GroupData
-> AtomData
-> MMTF
MMTF FormatData
f StructureData
s ModelData
m ChainData
c GroupData
g AtomData
a