packages feed

cobot 0.1.1.4 → 0.1.1.7

raw patch · 9 files changed

+164/−45 lines, 9 filesdep +vectordep ~basenew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: vector

Dependency ranges changed: base

API changes (from Hackage documentation)

- Bio.Chain: instance (GHC.Arr.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (GHC.Arr.Array i a)
- Bio.Chain: instance (GHC.Arr.Ix i, GHC.Enum.Enum i) => Bio.Chain.UnsafeReadArray (GHC.Arr.Array i a)
- Bio.Chain.Alignment.Type: instance GHC.Arr.Ix Bio.Chain.Alignment.Type.EditOp
- Bio.NucleicAcid.Chain: instance (GHC.Arr.Ix i, GHC.Classes.Eq a) => GHC.Classes.Eq (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
- Bio.NucleicAcid.Chain: instance (GHC.Arr.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
- Bio.NucleicAcid.Chain: instance (GHC.Arr.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
- Bio.NucleicAcid.Chain: instance GHC.Arr.Ix i => Control.Lens.At.Ixed (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
- Bio.NucleicAcid.Chain: instance GHC.Arr.Ix i => Data.Traversable.Traversable (Bio.NucleicAcid.Chain.NucleicAcidChain i)
- Bio.NucleicAcid.Nucleotide.Type: instance (Bio.NucleicAcid.Nucleotide.Type.Complementary a, GHC.Arr.Ix i) => Bio.NucleicAcid.Nucleotide.Type.Complementary (GHC.Arr.Array i a)
- Bio.Protein.Chain: instance (GHC.Arr.Ix i, GHC.Classes.Eq a) => GHC.Classes.Eq (Bio.Protein.Chain.ProteinChain i a)
- Bio.Protein.Chain: instance (GHC.Arr.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (Bio.Protein.Chain.ProteinChain i a)
- Bio.Protein.Chain: instance (GHC.Arr.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Bio.Protein.Chain.ProteinChain i a)
- Bio.Protein.Chain: instance GHC.Arr.Ix i => Control.Lens.At.Ixed (Bio.Protein.Chain.ProteinChain i a)
- Bio.Protein.Chain: instance GHC.Arr.Ix i => Data.Traversable.Traversable (Bio.Protein.Chain.ProteinChain i)
+ Bio.Chain: instance (GHC.Ix.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (GHC.Arr.Array i a)
+ Bio.Chain: instance (GHC.Ix.Ix i, GHC.Enum.Enum i) => Bio.Chain.UnsafeReadArray (GHC.Arr.Array i a)
+ Bio.Chain: instance Bio.Chain.ChainLike (Data.Vector.Vector a)
+ Bio.Chain.Alignment.Type: instance GHC.Ix.Ix Bio.Chain.Alignment.Type.EditOp
+ Bio.NucleicAcid.Chain: instance (GHC.Ix.Ix i, GHC.Classes.Eq a) => GHC.Classes.Eq (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
+ Bio.NucleicAcid.Chain: instance (GHC.Ix.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
+ Bio.NucleicAcid.Chain: instance (GHC.Ix.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
+ Bio.NucleicAcid.Chain: instance GHC.Ix.Ix i => Control.Lens.At.Ixed (Bio.NucleicAcid.Chain.NucleicAcidChain i a)
+ Bio.NucleicAcid.Chain: instance GHC.Ix.Ix i => Data.Traversable.Traversable (Bio.NucleicAcid.Chain.NucleicAcidChain i)
+ Bio.NucleicAcid.Nucleotide.Type: instance (Bio.NucleicAcid.Nucleotide.Type.Complementary a, GHC.Ix.Ix i) => Bio.NucleicAcid.Nucleotide.Type.Complementary (GHC.Arr.Array i a)
+ Bio.NucleicAcid.Nucleotide.Type: instance Bio.NucleicAcid.Nucleotide.Type.Complementary GHC.Types.Char
+ Bio.NucleicAcid.Nucleotide.Type: instance Bio.NucleicAcid.Nucleotide.Type.Complementary a => Bio.NucleicAcid.Nucleotide.Type.Complementary (GHC.Arr.Array GHC.Types.Int a)
+ Bio.Protein.Chain: instance (GHC.Ix.Ix i, GHC.Classes.Eq a) => GHC.Classes.Eq (Bio.Protein.Chain.ProteinChain i a)
+ Bio.Protein.Chain: instance (GHC.Ix.Ix i, GHC.Enum.Enum i) => Bio.Chain.ChainLike (Bio.Protein.Chain.ProteinChain i a)
+ Bio.Protein.Chain: instance (GHC.Ix.Ix i, GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Bio.Protein.Chain.ProteinChain i a)
+ Bio.Protein.Chain: instance GHC.Ix.Ix i => Control.Lens.At.Ixed (Bio.Protein.Chain.ProteinChain i a)
+ Bio.Protein.Chain: instance GHC.Ix.Ix i => Data.Traversable.Traversable (Bio.Protein.Chain.ProteinChain i)
- Bio.Chain.Alignment.Scoring.TH: mkClause :: ((Char, Char), Int) -> Clause
+ Bio.Chain.Alignment.Scoring.TH: mkClause :: ((Char, Char), Int) -> [Clause]
- Bio.Chain.Alignment.Type: class SequenceAlignment (a :: * -> * -> *)
+ Bio.Chain.Alignment.Type: class SequenceAlignment (a :: Type -> Type -> Type)
- Bio.Protein.AminoAcid.Instances: type family RadicalType r a :: *;
+ Bio.Protein.AminoAcid.Instances: type family RadicalType r a :: Type;
- Bio.Protein.AminoAcid.Type: atom' :: forall r_atCg a_atCh. Lens' (Env r_atCg a_atCh) a_atCh
+ Bio.Protein.AminoAcid.Type: atom' :: forall r_ao2x a_ao2y. Lens' (Env r_ao2x a_ao2y) a_ao2y
- Bio.Protein.AminoAcid.Type: c' :: forall nr_atCj car_atCk cr_atCl a_atCm cr_awsW. Lens (AminoAcid nr_atCj car_atCk cr_atCl a_atCm) (AminoAcid nr_atCj car_atCk cr_awsW a_atCm) (cr_atCl a_atCm) (cr_awsW a_atCm)
+ Bio.Protein.AminoAcid.Type: c' :: forall nr_ao2A car_ao2B cr_ao2C a_ao2D cr_aqKI. Lens (AminoAcid nr_ao2A car_ao2B cr_ao2C a_ao2D) (AminoAcid nr_ao2A car_ao2B cr_aqKI a_ao2D) (cr_ao2C a_ao2D) (cr_aqKI a_ao2D)
- Bio.Protein.AminoAcid.Type: ca' :: forall nr_atCj car_atCk cr_atCl a_atCm car_awsX. Lens (AminoAcid nr_atCj car_atCk cr_atCl a_atCm) (AminoAcid nr_atCj car_awsX cr_atCl a_atCm) (car_atCk a_atCm) (car_awsX a_atCm)
+ Bio.Protein.AminoAcid.Type: ca' :: forall nr_ao2A car_ao2B cr_ao2C a_ao2D car_aqKJ. Lens (AminoAcid nr_ao2A car_ao2B cr_ao2C a_ao2D) (AminoAcid nr_ao2A car_aqKJ cr_ao2C a_ao2D) (car_ao2B a_ao2D) (car_aqKJ a_ao2D)
- Bio.Protein.AminoAcid.Type: cb :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cb :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cd :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cd :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cd1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cd1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cd2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cd2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ce :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ce :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ce1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ce1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ce2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ce2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ce3 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ce3 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cg :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cg :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cg' :: forall a_atCd a_aydu. Lens (CG a_atCd) (CG a_aydu) a_atCd a_aydu
+ Bio.Protein.AminoAcid.Type: cg' :: forall a_ao2u a_astZ. Lens (CG a_ao2u) (CG a_astZ) a_ao2u a_astZ
- Bio.Protein.AminoAcid.Type: cg1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cg1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cg2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cg2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ch2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ch2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cz :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cz :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cz2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cz2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: cz3 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: cz3 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: environment :: forall r_atCg a_atCh r_ayaS. Lens (Env r_atCg a_atCh) (Env r_ayaS a_atCh) (r_atCg a_atCh) (r_ayaS a_atCh)
+ Bio.Protein.AminoAcid.Type: environment :: forall r_ao2x a_ao2y r_asrw. Lens (Env r_ao2x a_ao2y) (Env r_asrw a_ao2y) (r_ao2x a_ao2y) (r_asrw a_ao2y)
- Bio.Protein.AminoAcid.Type: n' :: forall nr_atCj car_atCk cr_atCl a_atCm nr_awsY. Lens (AminoAcid nr_atCj car_atCk cr_atCl a_atCm) (AminoAcid nr_awsY car_atCk cr_atCl a_atCm) (nr_atCj a_atCm) (nr_awsY a_atCm)
+ Bio.Protein.AminoAcid.Type: n' :: forall nr_ao2A car_ao2B cr_ao2C a_ao2D nr_aqKK. Lens (AminoAcid nr_ao2A car_ao2B cr_ao2C a_ao2D) (AminoAcid nr_aqKK car_ao2B cr_ao2C a_ao2D) (nr_ao2A a_ao2D) (nr_aqKK a_ao2D)
- Bio.Protein.AminoAcid.Type: nd1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: nd1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: nd2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: nd2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ne :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ne :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ne1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ne1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: ne2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: ne2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: nh1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: nh1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: nh2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: nh2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: nz :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: nz :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: o' :: forall a_atCe. Lens' (OXT a_atCe) a_atCe
+ Bio.Protein.AminoAcid.Type: o' :: forall a_ao2v. Lens' (OXT a_ao2v) a_ao2v
- Bio.Protein.AminoAcid.Type: od1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: od1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: od2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: od2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: oe1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: oe1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: oe2 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: oe2 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: og :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: og :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: og1 :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: og1 :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: oh :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: oh :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: oxt' :: forall a_atCe. Lens' (OXT a_atCe) a_atCe
+ Bio.Protein.AminoAcid.Type: oxt' :: forall a_ao2v. Lens' (OXT a_ao2v) a_ao2v
- Bio.Protein.AminoAcid.Type: radical' :: forall a_atCd. Lens' (CG a_atCd) AA
+ Bio.Protein.AminoAcid.Type: radical' :: forall a_ao2u. Lens' (CG a_ao2u) AA
- Bio.Protein.AminoAcid.Type: sd :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: sd :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.AminoAcid.Type: sg :: forall a_atCi. Traversal' (Radical a_atCi) a_atCi
+ Bio.Protein.AminoAcid.Type: sg :: forall a_ao2z. Traversal' (Radical a_ao2z) a_ao2z
- Bio.Protein.Chain.Builder: type family Monomer a :: *;
+ Bio.Protein.Chain.Builder: type family Monomer a :: Type;
- Bio.Protein.Metric: type family ReturnMetric m :: *;
+ Bio.Protein.Metric: type family ReturnMetric m :: Type;

Files

ChangeLog.md view
@@ -2,6 +2,18 @@  ## Unreleased changes +## [0.1.1.7] - 2021-10-06+### Added+- `Complementary` instance for `Char`.++## [0.1.1.6] - 2021-09-14+### Added+- `ChainLike` instance for `Vector`++## [0.1.1.5] - 2021-07-03+### Changed+- `*` -> `Type` for GHC-9.+ ## [0.1.1.4] - 2020-04-30 ### Fixed - Tweak `package.yaml` to make `stack-2.3.1` happy.
cobot.cabal view
@@ -1,13 +1,13 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack ----- hash: 4089a1d80a81d96aba9533cda10ea42186142528d17846553acc98dcd7bf43b0+-- hash: 09eef6fbd0d4093057c44a56242d5c569842b42a1e49c3625efc6d01f1471d9f  name:           cobot-version:        0.1.1.4+version:        0.1.1.7 synopsis:       Computational biology toolkit to collaborate with researchers in constructive protein engineering description:    Please see the README on GitHub at <https://github.com/biocad/cobot#readme> category:       Bio@@ -57,10 +57,27 @@       Paths_cobot   hs-source-dirs:       src-  default-extensions: AllowAmbiguousTypes ConstraintKinds DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiWayIf RankNTypes RecordWildCards ScopedTypeVariables TypeApplications TypeFamilies TypeSynonymInstances UndecidableInstances+  default-extensions:+      AllowAmbiguousTypes+      ConstraintKinds+      DeriveFoldable+      DeriveFunctor+      DeriveGeneric+      DeriveTraversable+      FlexibleContexts+      FlexibleInstances+      GeneralizedNewtypeDeriving+      MultiWayIf+      RankNTypes+      RecordWildCards+      ScopedTypeVariables+      TypeApplications+      TypeFamilies+      TypeSynonymInstances+      UndecidableInstances   build-depends:       array-    , base >=4.7 && <5+    , base >=4.9 && <5     , bytestring     , containers     , deepseq@@ -71,6 +88,7 @@     , split     , template-haskell     , text+    , vector   default-language: Haskell2010  test-suite cobot-test@@ -82,11 +100,28 @@       Paths_cobot   hs-source-dirs:       test-  default-extensions: AllowAmbiguousTypes ConstraintKinds DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiWayIf RankNTypes RecordWildCards ScopedTypeVariables TypeApplications TypeFamilies TypeSynonymInstances UndecidableInstances+  default-extensions:+      AllowAmbiguousTypes+      ConstraintKinds+      DeriveFoldable+      DeriveFunctor+      DeriveGeneric+      DeriveTraversable+      FlexibleContexts+      FlexibleInstances+      GeneralizedNewtypeDeriving+      MultiWayIf+      RankNTypes+      RecordWildCards+      ScopedTypeVariables+      TypeApplications+      TypeFamilies+      TypeSynonymInstances+      UndecidableInstances   ghc-options: -threaded -rtsopts "-with-rtsopts=-A64m -qb0 -I0 -N -qn4"   build-depends:       array-    , base >=4.7 && <5+    , base >=4.9 && <5     , bytestring     , cobot     , containers@@ -99,6 +134,7 @@     , split     , template-haskell     , text+    , vector   default-language: Haskell2010  benchmark cobot-bench@@ -108,11 +144,29 @@       Paths_cobot   hs-source-dirs:       bench-  default-extensions: AllowAmbiguousTypes ConstraintKinds DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiWayIf RankNTypes RecordWildCards ScopedTypeVariables TypeApplications TypeFamilies TypeSynonymInstances UndecidableInstances OverloadedStrings+  default-extensions:+      AllowAmbiguousTypes+      ConstraintKinds+      DeriveFoldable+      DeriveFunctor+      DeriveGeneric+      DeriveTraversable+      FlexibleContexts+      FlexibleInstances+      GeneralizedNewtypeDeriving+      MultiWayIf+      RankNTypes+      RecordWildCards+      ScopedTypeVariables+      TypeApplications+      TypeFamilies+      TypeSynonymInstances+      UndecidableInstances+      OverloadedStrings   ghc-options: -threaded -rtsopts "-with-rtsopts=-A64m -qb0 -I0 -N -qn4"   build-depends:       array-    , base >=4.7 && <5+    , base >=4.9 && <5     , bytestring     , clock     , cobot@@ -128,4 +182,5 @@     , split     , template-haskell     , text+    , vector   default-language: Haskell2010
src/Bio/Chain.hs view
@@ -7,17 +7,10 @@     ) where  import           Control.Lens-import qualified Data.Array                as A ( bounds-                                                , assocs-                                                )-import           Data.Array                     ( Array-                                                , Ix-                                                , array-                                                , listArray-                                                , (!)-                                                , (//)-                                                )-import           Data.Array.Base                (unsafeAt)+import           Data.Array      (Array, Ix, array, listArray, (!), (//))+import qualified Data.Array      as A (assocs, bounds)+import           Data.Array.Base (unsafeAt)+import qualified Data.Vector     as V  type Chain i a = Array i a @@ -48,9 +41,9 @@      assocs  = zip [0..] -    modify       _ _ []      = []-    modify       0 f (x:xs)  = f x:xs-    modify       i f (x:xs)  = x:modify (i - 1) f xs+    modify       _ _ []     = []+    modify       0 f (x:xs) = f x:xs+    modify       i f (x:xs) = x:modify (i - 1) f xs      modifyBefore i f lst = (f <$> take i lst) ++ drop i lst     modifyAfter  i f lst = take (i + 1) lst ++ (f <$> drop (i + 1) lst)@@ -71,6 +64,25 @@      {-# INLINE unsafeRead #-}     unsafeRead = unsafeReadArray++instance ChainLike (V.Vector a) where+    bounds v = (0, V.length v - 1)++    assocs = zip [0..] . V.toList++    modify i f ar = ar V.// [(i, f (ar V.! i))]++    modifyBefore i f ar = fmap f before <> after+      where+        (before, after) = V.splitAt i ar++    modifyAfter i f ar = before <> fmap f after+      where+        (before, after) = V.splitAt (i + 1) ar++    {-# INLINE unsafeRead #-}+    unsafeRead = V.unsafeIndex +  class (Ixed m) => UnsafeReadArray m where     unsafeReadArray :: m -> Index m -> IxValue m
src/Bio/Chain/Alignment/Scoring/TH.hs view
@@ -2,11 +2,11 @@ {-# LANGUAGE TemplateHaskell #-} module Bio.Chain.Alignment.Scoring.TH where -import           Data.Char                         (toLower)-import           Language.Haskell.TH-import           Language.Haskell.TH.Quote+import Data.Char                 (toLower, toUpper)+import Language.Haskell.TH+import Language.Haskell.TH.Quote -import           Bio.Chain.Alignment.Scoring.Loader+import Bio.Chain.Alignment.Scoring.Loader  type Substitution a = a -> a -> Int @@ -46,11 +46,19 @@ functionDec name txt = do let subM = loadMatrix txt                           funName <- newName (toLower <$> name)                           let funSign = SigD funName (AppT (ConT ''Substitution) (ConT ''Char))-                          let clauses = mkClause <$> subM+                          let clauses = concatMap mkClause subM                           let funDecl = FunD funName clauses                           return (funName, [funSign, funDecl]) -mkClause :: ((Char, Char), Int) -> Clause-mkClause ((c, d), i) = Clause [litC c, litC d] (NormalB (litI i)) []-  where litC = LitP . CharL-        litI = LitE . IntegerL . fromIntegral+mkClause :: ((Char, Char), Int) -> [Clause]+mkClause ((c, d), i) = fmap (\pair -> Clause pair (NormalB (litI i)) []) casePairs+  where +    litC = LitP . CharL+    litI = LitE . IntegerL . fromIntegral++    casingFunctions :: [Char -> Pat]+    casingFunctions = [litC . toUpper, litC . toLower]++    casePairs :: [[Pat]]+    casePairs = [ [f c, g d] | f <- casingFunctions, g <- casingFunctions ]+
src/Bio/Chain/Alignment/Type.hs view
@@ -7,6 +7,7 @@ import           Control.DeepSeq    (NFData (..)) import           Control.Lens       (Index, IxValue) import           Data.Array.Unboxed (Ix, UArray)+import           Data.Kind          (Type) import           GHC.Generics       (Generic (..))  -- | Scoring function, returns substitution score for a couple of elements@@ -152,7 +153,7 @@  -- |Method of sequence alignment ---class SequenceAlignment (a :: * -> * -> *) where+class SequenceAlignment (a :: Type -> Type -> Type) where     -- | Defines wheater the alignment is semiglobal or not     --     semi :: a e1 e2 -> Bool
src/Bio/NucleicAcid/Nucleotide/Type.hs view
@@ -9,13 +9,17 @@   , Complementary (..)   ) where -import           Control.DeepSeq (NFData)-import           Control.Lens    (Iso', iso)-import           Data.Array      (Array, Ix, bounds, listArray)-import           Data.Foldable   (Foldable (..))-import           GHC.Generics    (Generic)+import Control.DeepSeq (NFData)+import Control.Lens    (Iso', iso)+import Data.Array      (Array, Ix, bounds, ixmap, listArray)+import Data.Foldable   (Foldable (..))+import GHC.Generics    (Generic) -data DNA = DA | DC | DG | DT+data DNA+  = DA+  | DC+  | DG+  | DT   deriving (Eq, Ord, Bounded, Enum, Generic, NFData)  instance Show DNA where@@ -24,7 +28,11 @@     show DG = "Guanine"     show DT = "Thymine" -data RNA = RA | RC | RG | RU+data RNA+  = RA+  | RC+  | RG+  | RU   deriving (Eq, Ord, Bounded, Enum, Generic, NFData)  instance Show RNA where@@ -80,15 +88,35 @@      rcNA = cNA +instance Complementary Char where+    cNA 'A' = 'T'+    cNA 'C' = 'G'+    cNA 'G' = 'C'+    cNA 'T' = 'A'+    cNA 'a' = 't'+    cNA 'c' = 'g'+    cNA 'g' = 'c'+    cNA 't' = 'a'+    cNA c = c++    rcNA = cNA+ instance Complementary a => Complementary [a] where    cNA = fmap cNA     rcNA = reverse . cNA -instance (Complementary a, Ix i) => Complementary (Array i a) where+instance {-# OVERLAPPABLE #-} (Complementary a, Ix i) => Complementary (Array i a) where    cNA = fmap cNA     rcNA l = listArray (bounds l) rl      where        rl = rcNA . toList $ l++instance {-# OVERLAPPING  #-} (Complementary a) => Complementary (Array Int a) where+   cNA = fmap cNA++   rcNA l = cNA $ ixmap (lo, hi) (\i -> lo + (hi - i)) l+     where+       (lo, hi) = bounds l 
src/Bio/Protein/AminoAcid/Instances.hs view
@@ -11,6 +11,7 @@                                              Lens', coerced, to, (^.)) import           Data.Array                 (Array, listArray) import           Data.Coerce                (coerce)+import           Data.Kind                  (Type) import           Data.String                (IsString (..))  -------------------------------------------------------------------------------@@ -20,7 +21,7 @@ -- | Single object can be created -- class Createable a where-    type Create a :: *+    type Create a :: Type     -- | Function to create single object     --     create :: Create a@@ -80,7 +81,7 @@ -- | Has lens to observe, set and modify radicals -- class Functor r => HasRadical r where-    type RadicalType r a :: *+    type RadicalType r a :: Type     -- | Lens for radical atom or group     --     radical :: (Functor f, Functor g) => Lens' (AminoAcid f (Env r) g a) (RadicalType r a)
src/Bio/Protein/Chain/Builder.hs view
@@ -7,6 +7,7 @@  import           Control.Lens import           Data.Ix               (Ix)+import           Data.Kind             (Type) import           Linear.V3             (V3 (..), _z) import           Linear.Vector         (negated, unit, (*^)) @@ -15,7 +16,7 @@ import           Bio.Utils.Geometry    hiding (angle)  class Buildable a where-    type Monomer a :: *+    type Monomer a :: Type     initB :: Monomer a -> a     nextB :: Monomer a -> a -> a 
src/Bio/Protein/Metric.hs view
@@ -2,6 +2,7 @@     ( Metricable (..)     ) where +import           Data.Kind                      ( Type ) import           Data.Monoid                    ( First (..) ) import           Control.Lens import           Bio.Utils.Geometry             ( V3R@@ -10,7 +11,7 @@ import qualified Bio.Utils.Geometry            as G  class Metricable m where-    type ReturnMetric m :: *+    type ReturnMetric m :: Type     distance :: Getting m a V3R -> Getting m a V3R -> Getting (ReturnMetric m) a R     angle    :: Getting m a V3R -> Getting m a V3R -> Getting m a V3R -> Getting (ReturnMetric m) a R     dihedral :: Getting m a V3R -> Getting m a V3R -> Getting m a V3R -> Getting m a V3R -> Getting (ReturnMetric m) a R