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 +12/−0
- cobot.cabal +64/−9
- src/Bio/Chain.hs +26/−14
- src/Bio/Chain/Alignment/Scoring/TH.hs +17/−9
- src/Bio/Chain/Alignment/Type.hs +2/−1
- src/Bio/NucleicAcid/Nucleotide/Type.hs +36/−8
- src/Bio/Protein/AminoAcid/Instances.hs +3/−2
- src/Bio/Protein/Chain/Builder.hs +2/−1
- src/Bio/Protein/Metric.hs +2/−1
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