packages feed

RNAlien 1.3.0 → 1.3.1

raw patch · 3 files changed

+30/−23 lines, 3 filesdep ~ClustalParser

Dependency ranges changed: ClustalParser

Files

RNAlien.cabal view
@@ -1,5 +1,5 @@ name:                RNAlien-version:             1.3.0+version:             1.3.1 synopsis:            Unsupervized construction of RNA family models description:         RNAlien is a tool for automatic construction of RNAfamily models from a single sequence.                      .@@ -50,8 +50,8 @@  source-repository this   type:     git-  location: https://github.com/eggzilla/RNAlien/tree/1.3.0-  tag:      1.3.0+  location: https://github.com/eggzilla/RNAlien/tree/1.3.1+  tag:      1.3.1                       executable RNAlien   Hs-Source-Dirs:      ./src/Bio/@@ -86,7 +86,7 @@ Library   Hs-Source-Dirs:      ./src/   ghc-options:         -Wall -O2 -fno-warn-unused-do-bind-  build-depends:       base >=4.5 && <5, cmdargs, ViennaRNAParser>=1.3.2, process, directory, blastxml>=0.3.2, biofasta, parsec, random, BlastHTTP>=1.2.1, biocore, bytestring, Taxonomy >= 1.0.2, either-unwrap, containers, ClustalParser>=1.2.0, EntrezHTTP>=1.0.3, vector, edit-distance, cassava, matrix, hierarchical-clustering, filepath, HTTP, http-conduit, hxt, network, aeson, text, transformers, pureMD5, http-types, text-metrics+  build-depends:       base >=4.5 && <5, cmdargs, ViennaRNAParser>=1.3.2, process, directory, blastxml>=0.3.2, biofasta, parsec, random, BlastHTTP>=1.2.1, biocore, bytestring, Taxonomy >= 1.0.2, either-unwrap, containers, ClustalParser>=1.2.1, EntrezHTTP>=1.0.3, vector, edit-distance, cassava, matrix, hierarchical-clustering, filepath, HTTP, http-conduit, hxt, network, aeson, text, transformers, pureMD5, http-types, text-metrics   Exposed-Modules:     Bio.RNAlienData                        Bio.RNAlienLibrary                        Bio.RNAcentralHTTP
src/Bio/RNAlien.hs view
@@ -85,7 +85,7 @@           logMessage "Error: Input fasta file is empty.\n" temporaryDirectoryPath         else do           let iterationNumber = 0-          let tools = ["mlocarna","RNAfold","RNAalifold","cmcalibrate","cmstat","cmbuild","RNAz","RNAcode"]+          let tools = if inputQuerySelectionMethod == "clustering" then ["clustalo","mlocarna","RNAfold","RNAalifold","cmcalibrate","cmstat","cmbuild","RNAz","RNAcode"] else ["mlocarna","RNAfold","RNAalifold","cmcalibrate","cmstat","cmbuild","RNAz","RNAcode"]           toolsCheck <- checkTools tools inputQuerySelectionMethod temporaryDirectoryPath           -- Check required commandline tools           if isLeft toolsCheck@@ -93,7 +93,7 @@               putStrLn ("Error - Not all required tools could be found in $PATH: " ++ fromLeft toolsCheck ++ "\n")               logMessage ("Error - Not all required tools could be found in $PATH: " ++ fromLeft toolsCheck ++ "\n") temporaryDirectoryPath             else do-              logToolVersions temporaryDirectoryPath+              logToolVersions inputQuerySelectionMethod temporaryDirectoryPath               let inputSequence = reformatFasta (head inputFasta)               initialTaxId <- setInitialTaxId inputBlastDatabase temporaryDirectoryPath inputTaxId inputSequence               let checkedTaxonomyRestriction = checkTaxonomyRestriction taxonomyRestriction
src/Bio/RNAlienLibrary.hs view
@@ -851,13 +851,13 @@                         -- | Compute identity of sequences-stringIdentity :: String -> String -> Double-stringIdentity string1 string2 = identityPercent-   where distance = ED.levenshteinDistance costs string1 string2-         --Replication of RNAz select sequences requires only allowing substitutions-         costs = ED.defaultEditCosts {ED.deletionCosts = ED.ConstantCost 100,ED.insertionCosts = ED.ConstantCost 100,ED.transpositionCosts = ED.ConstantCost 100}-         maximumDistance = maximum [length string1,length string2]-         identityPercent = 1 - (fromIntegral distance/fromIntegral maximumDistance)+-- stringIdentity :: String -> String -> Double+-- stringIdentity string1 string2 = identityPercent+--    where distance = ED.levenshteinDistance costs string1 string2+--          --Replication of RNAz select sequences requires only allowing substitutions+--          costs = ED.defaultEditCosts {ED.deletionCosts = ED.ConstantCost 100,ED.insertionCosts = ED.ConstantCost 100,ED.transpositionCosts = ED.ConstantCost 100}+--          maximumDistance = maximum [length string1,length string2]+--          identityPercent = 1 - (fromIntegral distance/fromIntegral maximumDistance)  -- | Compute identity of sequences sequenceIdentity :: Sequence -> Sequence -> Double@@ -1466,26 +1466,33 @@       logMessage ("Tools : " ++ intercalate "," tools ++ "\n") temporaryDirectoryPath       return (Right "Tools ok") -logToolVersions :: String -> IO ()-logToolVersions temporaryDirectoryPath = do+logToolVersions :: String -> String -> IO ()+logToolVersions inputQuerySelectionMethod temporaryDirectoryPath = do   let clustaloversionpath = temporaryDirectoryPath ++ "log/clustalo.version"   let mlocarnaversionpath = temporaryDirectoryPath ++ "log/mlocarna.version"   let rnafoldversionpath = temporaryDirectoryPath ++ "log/RNAfold.version"   let infernalversionpath = temporaryDirectoryPath ++ "log/Infernal.version"-  _ <- system ("clustalo --version >" ++ clustaloversionpath)+  --_ <- system ("clustalo --version >" ++ clustaloversionpath)   _ <- system ("mlocarna --version >" ++ mlocarnaversionpath)   _ <- system ("RNAfold --version >" ++ rnafoldversionpath)   _ <- system ("cmcalibrate -h >" ++ infernalversionpath)     -- _ <- system ("RNAz" ++ rnazversionpath)   -- _ <- system ("CMCompare >" ++ infernalversionpath)-  clustaloversion <- readFile clustaloversionpath   mlocarnaversion <- readFile mlocarnaversionpath   rnafoldversion <- readFile rnafoldversionpath    infernalversionOutput <- readFile infernalversionpath   let infernalversion = lines infernalversionOutput !! 1-  let messageString = "Clustalo version: " ++ clustaloversion ++ "mlocarna version: " ++ mlocarnaversion  ++ "RNAfold version: " ++ rnafoldversion  ++ "infernalversion: " ++ infernalversion ++ "\n"-  logMessage messageString temporaryDirectoryPath+  if inputQuerySelectionMethod == "clustering"+     then do+       _ <- system ("clustalo --version >" ++ clustaloversionpath)+       clustaloversion <- readFile clustaloversionpath+       let messageString = "Clustalo version: " ++ clustaloversion ++ "mlocarna version: " ++ mlocarnaversion  ++ "RNAfold version: " ++ rnafoldversion  ++ "infernalversion: " ++ infernalversion ++ "\n"+       logMessage messageString temporaryDirectoryPath+     else do+       let messageString = "mlocarna version: " ++ mlocarnaversion  ++ "RNAfold version: " ++ rnafoldversion  ++ "infernalversion: " ++ infernalversion ++ "\n"+       logMessage messageString temporaryDirectoryPath + checkTool :: String -> IO (Either String String) checkTool tool = do   toolcheck <- findExecutable tool@@ -1526,7 +1533,7 @@   let reformatedClustalPath = evaluationDirectoryFilepath ++ "result.clustal.reformated"   let cmFilepath = tempDirPath staticOptions ++ "result.cm"   let resultSequences = (inputFasta mCResult):map nucleotideSequence (concatMap sequenceRecords (taxRecords mCResult))-  let resultNumber = length resultSequences + 1 +  let resultNumber = length resultSequences    let rnaCentralQueries = map RCH.buildSequenceViaMD5Query resultSequences       rnaCentralEntries <- RCH.getRNACentralEntries rnaCentralQueries   let rnaCentralEvaluationResult = RCH.showRNAcentralAlienEvaluation rnaCentralEntries@@ -1647,9 +1654,9 @@           return (Right (formatedIdMatrix,selectedClustalpath))         else return (Left (show (fromLeft parsedClustalInput)))     else do-      let clustalTextLines = T.lines clustalText-      let headerClustalTextLines = T.unlines (take 2 clustalTextLines)-      let headerlessClustalTextLines = T.unlines (drop 2 clustalTextLines)+      let clustalLines = T.lines clustalText+      let headerClustalTextLines = T.unlines (take 2 clustalLines)+      let headerlessClustalTextLines = T.unlines (drop 2 clustalLines)       let reformatedClustalText = T.map reformatRNACodeAln headerlessClustalTextLines       TI.writeFile selectedClustalpath (headerClustalTextLines `T.append` (T.singleton '\n') `T.append` reformatedClustalText)       return (Right ([],clustalFilepath))