cobot-0.1.1.7: Computational biology toolkit to collaborate with researchers in constructive protein engineering
Safe HaskellNone
LanguageHaskell2010

Bio.Chain

Synopsis

Documentation

class (Ixed m, Enum (Index m)) => ChainLike m where Source #

Chain-like sequence, by default it is an array or a list

Minimal complete definition

bounds, assocs, modify, modifyBefore, modifyAfter

Methods

bounds :: m -> (Index m, Index m) Source #

assocs :: m -> [(Index m, IxValue m)] Source #

modify :: Index m -> (IxValue m -> IxValue m) -> m -> m Source #

modifyBefore :: Index m -> (IxValue m -> IxValue m) -> m -> m Source #

modifyAfter :: Index m -> (IxValue m -> IxValue m) -> m -> m Source #

unsafeRead :: m -> Index m -> IxValue m Source #

Instances

Instances details
ChainLike [a] Source # 
Instance details

Defined in Bio.Chain

Methods

bounds :: [a] -> (Index [a], Index [a]) Source #

assocs :: [a] -> [(Index [a], IxValue [a])] Source #

modify :: Index [a] -> (IxValue [a] -> IxValue [a]) -> [a] -> [a] Source #

modifyBefore :: Index [a] -> (IxValue [a] -> IxValue [a]) -> [a] -> [a] Source #

modifyAfter :: Index [a] -> (IxValue [a] -> IxValue [a]) -> [a] -> [a] Source #

unsafeRead :: [a] -> Index [a] -> IxValue [a] Source #

ChainLike (Vector a) Source # 
Instance details

Defined in Bio.Chain

(Ix i, Enum i) => ChainLike (Array i a) Source # 
Instance details

Defined in Bio.Chain

Methods

bounds :: Array i a -> (Index (Array i a), Index (Array i a)) Source #

assocs :: Array i a -> [(Index (Array i a), IxValue (Array i a))] Source #

modify :: Index (Array i a) -> (IxValue (Array i a) -> IxValue (Array i a)) -> Array i a -> Array i a Source #

modifyBefore :: Index (Array i a) -> (IxValue (Array i a) -> IxValue (Array i a)) -> Array i a -> Array i a Source #

modifyAfter :: Index (Array i a) -> (IxValue (Array i a) -> IxValue (Array i a)) -> Array i a -> Array i a Source #

unsafeRead :: Array i a -> Index (Array i a) -> IxValue (Array i a) Source #

(Ix i, Enum i) => ChainLike (ProteinChain i a) Source # 
Instance details

Defined in Bio.Protein.Chain

(Ix i, Enum i) => ChainLike (NucleicAcidChain i a) Source # 
Instance details

Defined in Bio.NucleicAcid.Chain

type Chain i a = Array i a Source #

chain :: Ix i => (i, i) -> [(i, a)] -> Chain i a Source #

Construct new chain from list

fromList :: [a] -> Chain Int a Source #

Construct new int-labeled chain from list

(!) :: Ix i => Array i e -> i -> e infixl 9 #

The value at the given index in an array.

(//) :: Ix i => Array i e -> [(i, e)] -> Array i e infixl 9 #

Constructs an array identical to the first argument except that it has been updated by the associations in the right argument. For example, if m is a 1-origin, n by n matrix, then

m//[((i,i), 0) | i <- [1..n]]

is the same matrix, except with the diagonal zeroed.

Repeated indices in the association list are handled as for array: Haskell 2010 specifies that the resulting array is undefined (i.e. bottom), but GHC's implementation uses the last association for each index.