elynx-markov-0.2.1: test/ELynx/Data/MarkovProcess/NucleotideSpec.hs
{- |
Module : ELynx.Data.MarkovProcess.NucleotideSpec
Copyright : (c) Dominik Schrempf 2020
License : GPL-3.0-or-later
Maintainer : dominik.schrempf@gmail.com
Stability : unstable
Portability : portable
Creation date: Fri Jan 25 16:47:28 2019.
-}
module ELynx.Data.MarkovProcess.NucleotideSpec
( spec
)
where
import Data.Vector.Generic
import Test.Hspec
import ELynx.Tools
import ELynx.Data.MarkovProcess.Nucleotide
import ELynx.Data.MarkovProcess.RateMatrix
import ELynx.Data.MarkovProcess.SubstitutionModel
stationaryDist :: StationaryDistribution
stationaryDist = fromList [0.2, 0.3, 0.3, 0.2]
hkyModel :: SubstitutionModel
hkyModel = hky 6.0 stationaryDist
spec :: Spec
spec =
describe "getStationaryDistribution"
$ it "extracts the stationary distribution from a rate matrix"
$ do
let sd = getStationaryDistribution (rateMatrix hkyModel)
sd `nearlyEqVec` stationaryDist `shouldBe` True