-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Unsupervized construction of RNA family models
--   
--   RNAlien is a tool for automatic construction of RNAfamily models from
--   a single sequence.
--   
--   It is available as a commandline tool, for testing or construction of
--   few sequences the webservice can be used.
--   
--   The source code of RNAlien, as well as the webserver is open source
--   and available via GitHub (License GPL-3):
--   
--   <ul>
--   <li><a>RNAlien</a></li>
--   <li><a>AlienServer</a></li>
--   </ul>
--   
--   TaxonomyTools which can be used to visualise the organisms included in
--   a RNAlien result can be found here (License GPL-3):
--   
--   <ul>
--   <li><a>TaxonomyTools-Github</a></li>
--   <li><a>TaxonomyTools-Hackage</a></li>
--   </ul>
--   
--   For instruction how to use RNAlien please see the <a>Help page</a>.
--   
--   Dependencies:
--   
--   <ul>
--   <li><a>Infernal</a></li>
--   <li><a>Locarna</a></li>
--   <li><a>RNAz</a></li>
--   <li><a>RNAcode</a></li>
--   <li><a>ViennaRNA package</a></li>
--   </ul>
--   
--   Installation via cabal-install:
--   
--   <pre>
--   cabal install RNAlien
--   </pre>
@package RNAlien
@version 1.3.7


-- | This module contains data structures for RNAlien
module Bio.RNAlienData

-- | Static construction options
data StaticOptions
StaticOptions :: String -> String -> Double -> Maybe Int -> Bool -> String -> Int -> Bool -> Bool -> Bool -> Int -> Maybe String -> Maybe String -> Bool -> StaticOptions
[tempDirPath] :: StaticOptions -> String
[sessionID] :: StaticOptions -> String
[nSCICutoff] :: StaticOptions -> Double
[userTaxId] :: StaticOptions -> Maybe Int
[singleHitperTaxToggle] :: StaticOptions -> Bool
[querySelectionMethod] :: StaticOptions -> String
[queryNumber] :: StaticOptions -> Int
[lengthFilterToggle] :: StaticOptions -> Bool
[coverageFilterToggle] :: StaticOptions -> Bool
[blastSoftmaskingToggle] :: StaticOptions -> Bool
[cpuThreads] :: StaticOptions -> Int
[blastDatabase] :: StaticOptions -> Maybe String
[taxRestriction] :: StaticOptions -> Maybe String
[verbositySwitch] :: StaticOptions -> Bool

-- | Keeps track of model construction
data ModelConstruction
ModelConstruction :: Int -> Sequence -> [TaxonomyRecord] -> Maybe Int -> Maybe Taxon -> Double -> Bool -> [Sequence] -> [SearchResult] -> ModelConstruction
[iterationNumber] :: ModelConstruction -> Int
[inputFasta] :: ModelConstruction -> Sequence
[taxRecords] :: ModelConstruction -> [TaxonomyRecord]
[upperTaxonomyLimit] :: ModelConstruction -> Maybe Int
[taxonomicContext] :: ModelConstruction -> Maybe Taxon
[evalueThreshold] :: ModelConstruction -> Double
[alignmentModeInfernal] :: ModelConstruction -> Bool
[selectedQueries] :: ModelConstruction -> [Sequence]
[potentialMembers] :: ModelConstruction -> [SearchResult]
data TaxonomyRecord
TaxonomyRecord :: Int -> [SequenceRecord] -> TaxonomyRecord
[recordTaxonomyId] :: TaxonomyRecord -> Int
[sequenceRecords] :: TaxonomyRecord -> [SequenceRecord]
data SequenceRecord
SequenceRecord :: Sequence -> Int -> ByteString -> SequenceRecord
[nucleotideSequence] :: SequenceRecord -> Sequence
[aligned] :: SequenceRecord -> Int
[recordDescription] :: SequenceRecord -> ByteString
data CMsearch
CMsearch :: String -> String -> String -> [CMsearchHit] -> CMsearch
[queryCMfile] :: CMsearch -> String
[targetSequenceDatabase] :: CMsearch -> String
[numberOfWorkerThreads] :: CMsearch -> String
[cmsearchHits] :: CMsearch -> [CMsearchHit]
data CMsearchHit
CMsearchHit :: Int -> Char -> Double -> Double -> Double -> ByteString -> Int -> Int -> Char -> ByteString -> ByteString -> Double -> ByteString -> CMsearchHit
[hitRank] :: CMsearchHit -> Int
[hitSignificance] :: CMsearchHit -> Char
[hitEvalue] :: CMsearchHit -> Double
[hitScore] :: CMsearchHit -> Double
[hitBias] :: CMsearchHit -> Double
[hitSequenceHeader] :: CMsearchHit -> ByteString
[hitStart] :: CMsearchHit -> Int
[hitEnd] :: CMsearchHit -> Int
[hitStrand] :: CMsearchHit -> Char
[hitModel] :: CMsearchHit -> ByteString
[hitTruncation] :: CMsearchHit -> ByteString
[hitGCContent] :: CMsearchHit -> Double
[hitDescription] :: CMsearchHit -> ByteString
data SearchResult
SearchResult :: [(Sequence, Int, ByteString)] -> Maybe Double -> SearchResult
[candidates] :: SearchResult -> [(Sequence, Int, ByteString)]
[blastDatabaseSize] :: SearchResult -> Maybe Double
data CMstat
CMstat :: Int -> String -> String -> Int -> Double -> Int -> Int -> Int -> Int -> String -> Double -> Double -> CMstat
[statIndex] :: CMstat -> Int
[statName] :: CMstat -> String
[statAccession] :: CMstat -> String
[statSequenceNumber] :: CMstat -> Int
[statEffectiveSequences] :: CMstat -> Double
[statConsensusLength] :: CMstat -> Int
[statW] :: CMstat -> Int
[statBasepairs] :: CMstat -> Int
[statBifurcations] :: CMstat -> Int
[statModel] :: CMstat -> String
[relativeEntropyCM] :: CMstat -> Double
[relativeEntropyHMM] :: CMstat -> Double
instance GHC.Read.Read Bio.RNAlienData.CMstat
instance GHC.Classes.Eq Bio.RNAlienData.CMstat
instance GHC.Read.Read Bio.RNAlienData.CMsearch
instance GHC.Classes.Eq Bio.RNAlienData.CMsearch
instance GHC.Show.Show Bio.RNAlienData.CMsearch
instance GHC.Read.Read Bio.RNAlienData.CMsearchHit
instance GHC.Classes.Eq Bio.RNAlienData.CMsearchHit
instance GHC.Show.Show Bio.RNAlienData.CMsearchHit
instance GHC.Show.Show Bio.RNAlienData.StaticOptions
instance GHC.Show.Show Bio.RNAlienData.ModelConstruction
instance GHC.Show.Show Bio.RNAlienData.TaxonomyRecord
instance GHC.Show.Show Bio.RNAlienData.SequenceRecord
instance GHC.Show.Show Bio.RNAlienData.SearchResult
instance GHC.Show.Show Bio.RNAlienData.CMstat


-- | Interface for the RNAcentral REST webservice.
module Bio.RNAcentralHTTP

-- | Function for querying the RNAcentral REST interface.
rnaCentralHTTP :: String -> IO (Either String RNAcentralEntryResponse)
buildSequenceViaMD5Query :: Sequence -> String
buildStringViaMD5Query :: String -> String
getRNACentralEntries :: [String] -> IO [Either String RNAcentralEntryResponse]
showRNAcentralAlienEvaluation :: [Either String RNAcentralEntryResponse] -> String

-- | Data structure for RNAcentral entry response
data RNAcentralEntryResponse
RNAcentralEntryResponse :: Int -> Maybe Text -> Maybe Text -> [RNAcentralEntry] -> RNAcentralEntryResponse
[count] :: RNAcentralEntryResponse -> Int
[next] :: RNAcentralEntryResponse -> Maybe Text
[previous] :: RNAcentralEntryResponse -> Maybe Text
[results] :: RNAcentralEntryResponse -> [RNAcentralEntry]
data RNAcentralEntry
RNAcentralEntry :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> RNAcentralEntry
[url] :: RNAcentralEntry -> Text
[rnacentral_id] :: RNAcentralEntry -> Text
[md5] :: RNAcentralEntry -> Text
[sequence] :: RNAcentralEntry -> Text
[length] :: RNAcentralEntry -> Int
[xrefs] :: RNAcentralEntry -> Text
[publications] :: RNAcentralEntry -> Text
instance GHC.Generics.Generic Bio.RNAcentralHTTP.RNAcentralEntryResponse
instance GHC.Classes.Eq Bio.RNAcentralHTTP.RNAcentralEntryResponse
instance GHC.Show.Show Bio.RNAcentralHTTP.RNAcentralEntryResponse
instance GHC.Generics.Generic Bio.RNAcentralHTTP.RNAcentralEntry
instance GHC.Classes.Eq Bio.RNAcentralHTTP.RNAcentralEntry
instance GHC.Show.Show Bio.RNAcentralHTTP.RNAcentralEntry
instance Data.Aeson.Types.ToJSON.ToJSON Bio.RNAcentralHTTP.RNAcentralEntryResponse
instance Data.Aeson.Types.FromJSON.FromJSON Bio.RNAcentralHTTP.RNAcentralEntryResponse
instance Data.Aeson.Types.ToJSON.ToJSON Bio.RNAcentralHTTP.RNAcentralEntry
instance Data.Aeson.Types.FromJSON.FromJSON Bio.RNAcentralHTTP.RNAcentralEntry


-- | This module contains parsing functions for Infernal programs
module Bio.InfernalParser

-- | parse from input filePath
readCMSearch :: String -> IO (Either ParseError CMsearch)

-- | parse from input filePath
readCMSearches :: String -> IO (Either ParseError CMsearch)

-- | parse from input filePath
parseCMSearch :: String -> Either ParseError CMsearch

-- | parse from input filePath
parseCMSearches :: String -> Either ParseError CMsearch

-- | parse from input filePath
parseCMstat :: String -> Either ParseError CMstat

-- | parse from input filePath
readCMstat :: String -> IO (Either ParseError CMstat)


-- | This module contains functions for RNAlien
module Bio.RNAlienLibrary

-- | Create session id for RNAlien
createSessionID :: Maybe String -> IO String
logMessage :: String -> String -> IO ()
logEither :: (Show a) => Either a b -> String -> IO ()

-- | Initial RNA family model construction - generates iteration number,
--   seed alignment and model
modelConstructer :: StaticOptions -> ModelConstruction -> IO ModelConstruction
constructTaxonomyRecordsCSVTable :: ModelConstruction -> String

-- | Used for passing progress to Alien server
resultSummary :: ModelConstruction -> StaticOptions -> IO ()
setVerbose :: Verbosity -> Bool
logToolVersions :: String -> String -> IO ()
checkTools :: [String] -> String -> String -> IO (Either String String)

-- | Run CMsearch
systemCMsearch :: Int -> String -> String -> String -> String -> IO ExitCode

-- | parse from input filePath
readCMSearch :: String -> IO (Either ParseError CMsearch)

-- | parse from input filePath
readCMSearches :: String -> IO (Either ParseError CMsearch)
compareCM :: String -> String -> String -> IO (Either String Double)

-- | parse from input filePath
parseCMSearch :: String -> Either ParseError CMsearch

-- | Extract a substring with coordinates from cmsearch, first nucleotide
--   has index 1
cmSearchsubString :: Int -> Int -> String -> String
setInitialTaxId :: Maybe String -> String -> Maybe Int -> Sequence -> IO (Maybe Int)
evaluateConstructionResult :: StaticOptions -> ModelConstruction -> IO String

-- | parse from input filePath
readCMstat :: String -> IO (Either ParseError CMstat)

-- | parse from input filePath
parseCMstat :: String -> Either ParseError CMstat

-- | Check if alien can connect to NCBI
checkNCBIConnection :: IO (Either String String)
preprocessClustalForRNAz :: String -> String -> Int -> Double -> Double -> Bool -> IO (Either String (String, String))

-- | Call for external preprocessClustalForRNAz
preprocessClustalForRNAzExternal :: String -> String -> Int -> Int -> Int -> Bool -> IO (Either String (String, String))

-- | Call for external preprocessClustalForRNAcode - RNAcode additionally
--   to RNAz requirements does not accept pipe,underscore, doublepoint
--   symbols
preprocessClustalForRNAcodeExternal :: String -> String -> Int -> Int -> Int -> Bool -> IO (Either String (String, String))
rnaZEvalOutput :: Either ParseError RNAz -> String
reformatFasta :: Sequence -> Sequence
checkTaxonomyRestriction :: Maybe String -> Maybe String

-- | Partitions sequences by containing a cmsearch hit and extracts the hit
--   region as new sequence
evaluePartitionTrimCMsearchHits :: Double -> [(CMsearch, (Sequence, Int, ByteString))] -> ([(CMsearch, (Sequence, Int, ByteString))], [(CMsearch, (Sequence, Int, ByteString))], [(CMsearch, (Sequence, Int, ByteString))])
