Current collected state Current
Observed since 20 Oct, 18:16 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aclimatise
aCLImatise is a Python library and command-line utility for parsing the help output of a command-line tool and then outputting a description of the tool in a more structured format
aCLImatise
***********
|DOI|
.. |DOI| image:: https://zenodo.org/badge/DOI/10.1093/bioinformatics/btaa1033.svg
:target: https://doi.org/10.1093/bioinformatics/btaa1033
For the full documentation, refer to the `Github Pages Website
<https://aclimatise.github.io/CliHelpParser/>`_.
======================================================================
aCLImatise is a Python library and command-line utility for parsing the help output
of a command-line tool and then outputting a description of the tool in a more
structured format, for example a
`Common Workflow Language tool definition <https://www.commonwl.org/v1.1/CommandLineTool.html>`_.
Currently aCLImatise supports both `CWL <https://www.commonwl.org/>`_ and
`WDL <https://openwdl.org/>`_ outputs, but other formats will be considered in the future, especially pull
requests to support them.
Please also refer to `The aCLImatise Base Camp <https://aclimatise.github.io/BaseCamp/>`_, which is a database of pre-computed tool definitions
generated by the aCLImatise parser. Most bioinformatics tools have a tool definition already generated in the Base Camp,
so you may not need to run aCLImatise directly.
aCLImatise is now published in the journal *Bioinformatics*. You can read the application note here: https://doi.org/10.1093/bioinformatics/btaa1033.
To cite aCLImatise, please use the citation generator provided by the journal.
Example
-------
Lets say you want to create a CWL workflow containing the common Unix ``wc`` (word count)
utility. Running ``wc --help`` returns:
.. code-block::
Usage: wc [OPTION]... [FILE]...
or: wc [OPTION]... --files0-from=F
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified. A word is a non-zero-length sequence of
characters delimited by white space.
With no FILE, or when FILE is -, read standard input.
The options below may be used to select which counts are printed, always in
the following order: newline, word, character, byte, maximum line length.
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
--files0-from=F read input from the files specified by
NUL-terminated names in file F;
If F is - then read names from standard input
-L, --max-line-length print the maximum display width
-w, --words print the word counts
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/wc>
or available locally via: info '(coreutils) wc invocation'
If you run ``aclimatise explore wc``, which means "parse the wc command and all subcommands",
you'll end up with the following files in your current directory:
* ``wc.cwl``
* ``wc.wdl``
* ``wc.yml``
These are representations of the command ``wc`` in 3 different formats. If you look at ``wc.wdl``, you'll see that it
contains a WDL-compatible tool definition for ``wc``:
.. code-block:: text
version 1.0
task Wc {
input {
Boolean bytes
Boolean chars
Boolean lines
String files__from
Boolean max_line_length
Boolean words
}
command <<<
wc \
~{true="--bytes" false="" bytes} \
~{true="--chars" false="" chars} \
~{true="--lines" false="" lines} \
~{if defined(files__from) then ("--files0-from " + '"' + files__from + '"') else ""} \
~{true="--max-line-length" false="" max_line_length} \
~{true="--words" false="" words}
>>>
}
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
pyparsingEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | pyparsing | runtime |
jinja2Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | jinja2 | runtime |
spacyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | spacy (~=3.0) | runtime |
miniwdlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | miniwdl | runtime |
wordsegmentEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | wordsegment | runtime |
inflectionEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | inflection | runtime |
illusional.wdlgenEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | illusional.wdlgen (==0.3.0) | runtime |
ruamel.yamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | ruamel.yaml (==0.16.5) | runtime |
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | click | runtime |
cwltoolEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | cwltool | runtime |
cwl-utilsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | cwl-utils (>=0.4) | runtime |
regexEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | regex | runtime |
num2wordsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | num2words | runtime |
word2numberEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | word2number | runtime |
psutilEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | psutil | runtime |
deprecatedEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | deprecated | runtime |
attrsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | attrs | runtime |
janis-pipelines.coreEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | janis-pipelines.core (>=0.11.2) | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | pytest ; extra == 'dev' | runtime |
pre-commitEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | pre-commit ; extra == 'dev' | runtime |
SphinxEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | Sphinx ; extra == 'dev' | runtime |
sphinx-clickEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | sphinx-click ; extra == 'dev' | runtime |
pytest-timeoutEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | pytest-timeout ; extra == 'dev' | runtime |
dockerEnvironment{
"extras": "",
"marker": "extra == 'dev'",
"requires_python": ">=3.6",
"evaluation": "NOT_EVALUATED"
} | docker ; extra == 'dev' | runtime |
bdist_wheel · 73.01 KB · Python py3
sdist · 47.77 KB · Python source
Observed since 20 Oct, 18:16 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:651f522cafeecda8d4b2a651758e9b6b5f07bbed09fc7fccf7ecb37733fd26a4