MC-Fold-DP 0.1.0.1 → 0.1.1.0
raw patch · 3 files changed
+29/−23 lines, 3 filesdep ~cmdargs
Dependency ranges changed: cmdargs
Files
- BioInf/MCFoldDP.hs +7/−7
- MC-Fold-DP.cabal +21/−16
- MCFoldDP.hs +1/−0
BioInf/MCFoldDP.hs view
@@ -238,7 +238,7 @@ fncmSingle :: MotifDB -> Primary -> Constraint -> Int -> Int -> Double fncmSingle MotifDB{..} inp cns@(Constraint constr) i j- | (fst $ constr VU.! i) == 'x' || (fst $ constr VU.! j) == 'x' = eInf+ | (fst $ constr `VU.unsafeIndex` i) == 'x' || (fst $ constr `VU.unsafeIndex` j) == 'x' = eInf | l<4 = eInf | otherwise = bonus + (maybe 0 ((!ci) . snd) $ find ((l==).fst) $ sCycles) where@@ -256,7 +256,7 @@ fncmDS :: MotifDB -> Primary -> Constraint -> Int -> Int -> Int -> Int -> Table2 -> Double fncmDS MotifDB{..} inp cns@(Constraint constr) i j k l sncm- | (fst $ constr VU.! i) == 'x' || (fst $ constr VU.! j) == 'x' = eInf+ | (fst $ constr `VU.unsafeIndex` i) == 'x' || (fst $ constr `VU.unsafeIndex` j) == 'x' = eInf | k>=l = eInf -- in case we have one of the three known single NCMs | Just hinge <- ((di,dj),len) `lookup` dsConnect@@ -282,7 +282,7 @@ fncmDD :: MotifDB -> Primary -> Constraint -> Int -> Int -> Int -> Int -> [Table2] -> VU.Vector (Int,Double) fncmDD MotifDB{..} inp cns@(Constraint constr) i j k l dncms- | (fst $ constr VU.! i) == 'x' || (fst $ constr VU.! j) == 'x' = VU.empty+ | (fst $ constr `VU.unsafeIndex` i) == 'x' || (fst $ constr `VU.unsafeIndex` j) == 'x' = VU.empty | otherwise = VU.fromList $ zipWith3 f (map fst $ VU.toList knownDoubleNCM) [0..] dncms where bonus = giveBonus cns i j@@ -326,7 +326,7 @@ fMulti :: MotifDB -> Primary -> Constraint -> Int -> Int -> Table2 -> Table2 -> VU.Vector (Int,Double) fMulti db inp cns@(Constraint constr) i j mbr mbr1- | (fst $ constr VU.! i) == 'x' || (fst $ constr VU.! j) == 'x' = VU.empty+ | (fst $ constr `VU.unsafeIndex` i) == 'x' || (fst $ constr `VU.unsafeIndex` j) == 'x' = VU.empty | otherwise = xs where xs = VU.map (\k -> (k, mbr!(i+1,k) + mbr1!(k+1,j-1) + bonus)) $ (VU.enumFromN (i+1) (j-i-1))@@ -352,7 +352,7 @@ fInterior :: MotifDB -> Primary -> Constraint -> Int -> Int -> Table2 -> VU.Vector ((Int,Int),Double) fInterior MotifDB{..} inp cns@(Constraint constr) i j dncm- | (fst $ constr VU.! i) == 'x' || (fst $ constr VU.! j) == 'x' = VU.empty+ | (fst $ constr `VU.unsafeIndex` i) == 'x' || (fst $ constr `VU.unsafeIndex` j) == 'x' = VU.empty | otherwise = res where bonus = giveBonus cns i j@@ -422,5 +422,5 @@ | any (`VU.elem` bonusCC) [c,d] = bonusScore | otherwise = 0 where- (c,k) = constr VU.! i- (d,l) = constr VU.! j+ (c,k) = constr `VU.unsafeIndex` i+ (d,l) = constr `VU.unsafeIndex` j
MC-Fold-DP.cabal view
@@ -1,5 +1,5 @@ name: MC-Fold-DP-version: 0.1.0.1+version: 0.1.1.0 author: Christian Hoener zu Siederdissen, Stephan H Bernhart, Peter F Stadler, Ivo L Hofacker copyright: Christian Hoener zu Siederdissen, 2010-2011 homepage: http://www.tbi.univie.ac.at/software/mcfolddp/@@ -9,7 +9,7 @@ license-file: LICENSE build-type: Simple stability: experimental-cabal-version: >= 1.4.0+cabal-version: >= 1.6.0 synopsis: Folding algorithm based on nucleotide cyclic motifs. description:@@ -17,17 +17,28 @@ idea of combining small motifs, called nucleotide cyclic motifs (NCMs). The algorithm implemented here and described in .+ . Hoener zu Siederdissen C, Bernhart SH, Stadler PF, Hofacker IL,+ . "A Folding Algorithm for Extended RNA Secondary Structures",- 2011, submitted .+ Bioinformatics (2011) 27 (13), i129-136+ .+ <http://www.tbi.univie.ac.at/software/rnawolf/>+ .+ . has polynomial runtime in O(n^3) and uses a (pseudo-energy) scoring scheme based on .- Parisien M, Major F. "The MC-Fold and MC-Sym pipeline infers- RNA structure from sequence data", Nature 2008,- 452(7183):51-55. <http://www.major.iric.ca/MC-Fold/> .+ Parisien M, Major F.+ .+ "The MC-Fold and MC-Sym pipeline infers RNA structure from+ sequence data",+ .+ Nature 2008, 452(7183):51-55. <http://www.major.iric.ca/MC-Fold/>+ .+ . This program uses the same database as MC-Fold (which has exponential run-time) and aims to be able to produce the same results.@@ -40,7 +51,7 @@ . Current status: .- * comparable prediction accuracy on sequences+ * comparable prediction accuracy on sequences (compared with MC-Fold) . * possibility to use sparse data correction .@@ -74,14 +85,11 @@ -O0 else ghc-options:- -Odph- if impl(ghc > 6.13)- ghc-options:- -fllvm+ -O2 executable MCFoldDP build-depends:- cmdargs == 0.6.8,+ cmdargs == 0.10.* , split main-is: MCFoldDP.hs@@ -90,7 +98,4 @@ -O0 else ghc-options:- -Odph- if impl(ghc > 6.13)- ghc-options:- -fllvm+ -O2
MCFoldDP.hs view
@@ -107,6 +107,7 @@ common . mkConstraint $ c | otherwise = error $ "doFold: " ++ show (inp,cnstr) where+ common :: Constraint -> IO () common c = do let pri = mkPrimary inp let ts = fold db pri c