packages feed

RNAlien 1.2.6 → 1.2.8

raw patch · 5 files changed

+34/−32 lines, 5 filesdep +http-typesPVP ok

version bump matches the API change (PVP)

Dependencies added: http-types

API changes (from Hackage documentation)

+ Bio.RNAcentralHTTP: RNAcentralEntry :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> RNAcentralEntry
+ Bio.RNAcentralHTTP: RNAcentralEntryResponse :: Int -> Maybe Text -> Maybe Text -> [RNAcentralEntry] -> RNAcentralEntryResponse
+ Bio.RNAcentralHTTP: [count] :: RNAcentralEntryResponse -> Int
+ Bio.RNAcentralHTTP: [length] :: RNAcentralEntry -> Int
+ Bio.RNAcentralHTTP: [md5] :: RNAcentralEntry -> Text
+ Bio.RNAcentralHTTP: [next] :: RNAcentralEntryResponse -> Maybe Text
+ Bio.RNAcentralHTTP: [previous] :: RNAcentralEntryResponse -> Maybe Text
+ Bio.RNAcentralHTTP: [publications] :: RNAcentralEntry -> Text
+ Bio.RNAcentralHTTP: [results] :: RNAcentralEntryResponse -> [RNAcentralEntry]
+ Bio.RNAcentralHTTP: [rnacentral_id] :: RNAcentralEntry -> Text
+ Bio.RNAcentralHTTP: [sequence] :: RNAcentralEntry -> Text
+ Bio.RNAcentralHTTP: [url] :: RNAcentralEntry -> Text
+ Bio.RNAcentralHTTP: [xrefs] :: RNAcentralEntry -> Text

Files

RNAlien.cabal view
@@ -1,8 +1,5 @@--- Initial RNAlien.cabal generated by cabal init.  For further documentation, --- see http://haskell.org/cabal/users-guide/- name:                RNAlien-version:             1.2.6+version:             1.2.8 synopsis:            Unsupervized construction of RNA family models description:         RNAlien is a tool for automatic construction of RNAfamily models from a single sequence.                      .@@ -53,8 +50,8 @@  source-repository this   type:     git-  location: https://github.com/eggzilla/RNAlien/tree/1.2.6-  tag:      1.2.6+  location: https://github.com/eggzilla/RNAlien/tree/1.2.8+  tag:      1.2.8                       executable RNAlien   Hs-Source-Dirs:      ./src/Bio/@@ -89,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.1, process, directory, blastxml>=0.3.2, biofasta, parsec, random, BlastHTTP>=1.2.1, biocore, bytestring, Taxonomy >= 1.0.2, either-unwrap, containers, ClustalParser>=1.1.0, EntrezHTTP>=1.0.3, vector, edit-distance, cassava, matrix, hierarchical-clustering, filepath, HTTP, http-conduit, hxt, network, aeson, text, transformers, pureMD5+  build-depends:       base >=4.5 && <5, cmdargs, ViennaRNAParser>=1.3.1, process, directory, blastxml>=0.3.2, biofasta, parsec, random, BlastHTTP>=1.2.1, biocore, bytestring, Taxonomy >= 1.0.2, either-unwrap, containers, ClustalParser>=1.1.0, EntrezHTTP>=1.0.3, vector, edit-distance, cassava, matrix, hierarchical-clustering, filepath, HTTP, http-conduit, hxt, network, aeson, text, transformers, pureMD5, http-types   Exposed-Modules:     Bio.RNAlienData                        Bio.RNAlienLibrary                        Bio.RNAcentralHTTP
src/Bio/RNAcentralHTTP.hs view
@@ -9,8 +9,8 @@                       buildStringViaMD5Query,                                               getRNACentralEntries,                       showRNAcentralAlienEvaluation,-                      RNAcentralEntryResponse,-                      RNAcentralEntry+                      RNAcentralEntryResponse(..),+                      RNAcentralEntry(..)                       ) where  import Network.HTTP.Conduit    @@ -24,7 +24,6 @@ import Bio.Core.Sequence  import Bio.Sequence.Fasta import Data.Either-import Data.Aeson.Types  --Datatypes -- | Data structure for RNAcentral entry response
src/Bio/RNAcentralHTTPRequest.hs view
@@ -6,8 +6,6 @@ module Main where      import System.Console.CmdArgs    -import Bio.RNAlienLibrary-import Data.Either.Unwrap import Bio.RNAcentralHTTP  data Options = Options            
src/Bio/RNAlien.hs view
@@ -33,7 +33,8 @@     inputQueryNumber :: Int,     threads :: Int,     taxonomyRestriction :: Maybe String,-    sessionIdentificator :: Maybe String+    sessionIdentificator :: Maybe String,+    performEvaluation :: Bool   } deriving (Show,Data,Typeable)  options :: Options@@ -52,8 +53,9 @@     inputQueryNumber = (5 :: Int) &= name "n" &= help "Number of queries used for candidate search. Default: 5",     threads = 1 &= name "c" &= help "Number of available cpu slots/cores. Default: 1",     taxonomyRestriction = Nothing &= name "r" &= help "Restrict search space to taxonomic kingdom (bacteria,archea,eukaryia). Default: not set",-    sessionIdentificator = Nothing &= name "d" &= help "Optional session id that is used instead of automatically generated one."-  } &= summary ("RNAlien " ++ alienVersion) &= help "Florian Eggenhofer, Ivo L. Hofacker, Christian Höner zu Siederdissen - 2013 - 2016" &= verbosity       +    sessionIdentificator = Nothing &= name "d" &= help "Optional session id that is used instead of automatically generated one.",+    performEvaluation = True &= name "x" &= help "Perform evaluation step. Default: True"+  } &= summary ("RNAlien " ++ alienVersion) &= help "Florian Eggenhofer, Ivo L. Hofacker, Christian Höner zu Siederdissen - 2013 - 2017" &= verbosity                         main :: IO () main = do@@ -100,11 +102,16 @@               logMessage (show initialization) temporaryDirectoryPath               modelConstructionResults <- modelConstructer staticOptions initialization               let resultTaxonomyRecordsCSVTable = constructTaxonomyRecordsCSVTable modelConstructionResults-              resultEvaluation <- evaluateConstructionResult staticOptions modelConstructionResults-              appendFile (temporaryDirectoryPath ++ "Log") resultEvaluation               writeFile (temporaryDirectoryPath ++ "result.csv") resultTaxonomyRecordsCSVTable-              resultSummary modelConstructionResults staticOptions-              writeFile (temporaryDirectoryPath ++ "done") ""+              if performEvaluation+                then do+                  resultEvaluation <- evaluateConstructionResult staticOptions modelConstructionResults+                  appendFile (temporaryDirectoryPath ++ "Log") resultEvaluation+                  resultSummary modelConstructionResults staticOptions+                  writeFile (temporaryDirectoryPath ++ "done") ""+                else do+                  resultSummary modelConstructionResults staticOptions+                  writeFile (temporaryDirectoryPath ++ "done") ""  alienVersion :: String alienVersion = showVersion version
src/Bio/RNAlienLibrary.hs view
@@ -43,6 +43,7 @@ import Data.Int (Int16) import Bio.RNAlienData import qualified Data.ByteString.Lazy.Char8 as L+import qualified Data.ByteString.Char8 as B import Bio.Taxonomy  import Data.Either.Unwrap import Data.Maybe@@ -63,9 +64,10 @@ import Bio.RNAfoldParser import Bio.RNAalifoldParser import Bio.RNAzParser-import Network.HTTP+import qualified Network.HTTP.Conduit as N+import Network.HTTP.Types.Status import qualified Bio.RNAcodeParser as RC-import Bio.RNAcentralHTTP+import qualified Bio.RNAcentralHTTP as RCH import Bio.InfernalParser import qualified Data.Text as T import qualified Data.Text.IO as TI@@ -1509,9 +1511,9 @@   let cmFilepath = tempDirPath staticOptions ++ "result.cm"   let resultSequences = (inputFasta mCResult):map nucleotideSequence (concatMap sequenceRecords (taxRecords mCResult))   let resultNumber = length resultSequences + 1 -  let rnaCentralQueries = map buildSequenceViaMD5Query resultSequences    -  rnaCentralEntries <- getRNACentralEntries rnaCentralQueries-  let rnaCentralEvaluationResult = showRNAcentralAlienEvaluation rnaCentralEntries+  let rnaCentralQueries = map RCH.buildSequenceViaMD5Query resultSequences    +  rnaCentralEntries <- RCH.getRNACentralEntries rnaCentralQueries+  let rnaCentralEvaluationResult = RCH.showRNAcentralAlienEvaluation rnaCentralEntries   writeFile (tempDirPath staticOptions ++ "result.rnacentral") rnaCentralEvaluationResult   systemCMalign ("--outformat=Clustal --cpu " ++ show (cpuThreads staticOptions)) cmFilepath fastaFilepath clustalFilepath   let resultModelStatistics = tempDirPath staticOptions ++ "result.cmstat"@@ -1652,14 +1654,13 @@ -- | Check if alien can connect to NCBI checkNCBIConnection :: IO (Either String String) checkNCBIConnection = do-   response <- simpleHTTP (getRequest "https://www.ncbi.nlm.nih.gov")-   if isRight response-     then do-       let rightResponse = fromRight response-       if rspCode rightResponse == (2,0,0)-         then return (Right ("Network connection with NCBI server is ok: "  ++ show (rspCode rightResponse)))-         else return (Left ("Could not connect to NCBI server \"https://www.ncbi.nlm.nih.gov\". Response Code: " ++ show (rspCode rightResponse)))-     else return (Left ("Could not connect to NCBI server: \"https://www.ncbi.nlm.nih.gov\": " ++ show (fromLeft response)))+   req <- N.parseRequest "https://www.ncbi.nlm.nih.gov"+   manager <- N.newManager N.tlsManagerSettings+   response <- N.httpLbs req manager+   let sta = N.responseStatus response+   if statusIsSuccessful sta+     then return (Right ("Network connection with NCBI server was successful"))+     else return (Left ("Could not connect to NCBI server \"https://www.ncbi.nlm.nih.gov\". Response Code: " ++ show (statusCode sta) ++ " \n" ++ B.unpack (statusMessage sta)))  -- | Blast evalue is set stricter in inital alignment mode setBlastExpectThreshold :: ModelConstruction -> Double