cobot-tools-0.1.0.1: test/SpecViennaRNA.hs
module SpecViennaRNA where
import Bio.NucleicAcid.Nucleotide (DNA)
import Bio.Tools.Sequence.ViennaRNA.Cofold (cofold)
import Bio.Tools.Sequence.ViennaRNA.Fold (fold)
import Test.Hspec
foldSpec :: Spec
foldSpec = it "should work" $ do
let (energy1, structure1) = fold 37 ("CTGGATCGCAATGACGCTCTTAGGTCTCGT" :: [DNA])
energy1 `shouldBe` -2.9
structure1 `shouldBe` "..(((((((......)).....)))))..."
let (energy2, structure2) = fold 37 ("CTGGATCGCAATGGGTCTCGT" :: [DNA])
energy2 `shouldBe` -4.4
structure2 `shouldBe` "..(((((......)))))..."
cofoldSpec :: Spec
cofoldSpec = it "should work" $ do
let (energy1, structure1) = cofold 37 ("CAAGTACAGTTACAAGAAAGTGGAGGAGGATTAGTACAACCGGGAGGAAGTCTCAG" :: [DNA], "TCTGAATCCACTCGCAGCACAGGAGAGTCTGAGACTTCCTCCCGGTTGTACTAATC" :: [DNA])
energy1 `shouldBe` -56.40
structure1 `shouldBe` "......((.((......)).))......((((((((((((((((((((((((((((.........((((...........))))))))))))))))))))))))))))))))"
let (energy2, structure2) = cofold 37 ("TCTGAATCCACTCGCAGCACAGGAGAGTCTGAGACTTCCTCCCGGTTGTACTAATC" :: [DNA], "ACTCTCCTGTGCTGCGAGTGGATTCAGATTCAGTAACTACGCGATGAGTTGGGTCC" :: [DNA])
energy2 `shouldBe` -62.30
structure2 `shouldBe` "((((((((((((((((((((((((((((...((((..((....))..)).))....))))))))))))))))))))))))))))..........((.(((....))).)).."
foldTest :: Spec
foldTest = describe "Predict RNA secondary structure and calculate energy for one sequence" $ do
foldSpec
cofoldTest :: Spec
cofoldTest = describe "Predict RNA secondary structure and calculate energy for two sequences" $ do
cofoldSpec