Safe Haskell | None |
---|---|
Language | Haskell2010 |
Bioshake is built on a lot of instantiation and template haskell can be used to derive instances for the most common types of processes. In particular, this module provides TH functions for handling either single or multithreaded processes with single or multiple outputs (of the same type). Most things fit into these categories.
- sha1 :: ByteString -> Digest SHA1
- hashPath :: Binary b => b -> FilePath
- makeSingleTypes :: Name -> [Name] -> [Name] -> DecsQ
- makeMultiTypes :: Name -> [Name] -> [Name] -> DecsQ
- makeSingleThread :: Name -> [Name] -> Name -> Q [Dec]
- makeSingleCluster :: Name -> [Name] -> Name -> Q [Dec]
- makeThreaded :: Name -> [Name] -> Name -> Q [Dec]
- makeCluster :: Name -> [Name] -> Name -> Q [Dec]
- class Args a where
- class CArgs a where
- type (|->) a b = a
- data CmdF a where
- type Cmd = FreeT CmdF Action
- cmdFinally :: Cmd () -> IO () -> Cmd ()
- memLimit :: Int -> Cmd () -> Cmd ()
- withTempDirectory' :: FilePath -> String -> (FilePath -> Cmd ()) -> Cmd ()
- run :: CArgs a => a |-> Cmd ()
- withCmd :: Implicit Resource => Int -> Cmd () -> Action ()
- withSubmit :: Cmd () -> [Either Config TOption] -> Action ()
Documentation
:: Name | The type to generate instances for |
-> [Name] | A list of absolute Bioshake.Tags. The first of
these must be of the form IsEXT as it is used to
generate the extension of the output. Examples
include |
-> [Name] | Transitive tags. If these hold on the input then they transit to the output. |
-> DecsQ |
Generate instances of Pathable
and for all the tags associated with the
output (both transitive Bioshake.Tags and absolute Bioshake.Tags) for
actions that produce a single output file. Transitive Bioshake.Tags are
those that if they exist on the input then they will exist on the output
(e.g., a Sorted
input may result in a Sorted
output because the action
does not reorder things). Absolute Bioshake.Tags are those that hold on all
outputs of the action. These include the file type (e.g., IsBam
).
:: Name | The type to generate instances for |
-> [Name] | A list of absolute Bioshake.Tags. The first of
these must be of the form IsEXT as it is used to
generate the extension of the output. Examples
include |
-> [Name] | Transitive tags. If these hold on the input then they transit to the output. |
-> DecsQ |
Same as makeSingleTypes
but for actions that produce an output file for
each input file.