Mercurial > repos > iuc > jq
view jq.xml @ 0:5ff75eb1a893 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jq commit 09e822fb844c9c724eb03dd12f352577ef404ea8
author | iuc |
---|---|
date | Tue, 04 Jul 2017 18:29:48 -0400 |
parents | |
children |
line wrap: on
line source
<?xml version="1.0"?> <tool id="jq" name="JQ" version="1.0"> <description>process JSON</description> <requirements> <requirement type="package" version="1.5">jq</requirement> </requirements> <command detect_errors="aggressive"><![CDATA[ JQ_BIN=`which jq` && cat '$input' | env -i JQ_BIN=\$JQ_BIN \$JQ_BIN -r -S '$filter $tsv' > '$output' ]]></command> <inputs> <param name="input" label="JSON Input" type="data" format="json" /> <param name="filter" label="jq filter" type="text"> <sanitizer> <valid> <add value='"'/> <add value="@"/> <add value="|"/> <add value="!"/> <add value="="/> <add value="$"/> <add value="["/> <add value="]"/> <add value="{"/> <add value="}"/> <add value="("/> <add value=")"/> <add value="<"/> <add value=">"/> </valid> </sanitizer> </param> <param name="tsv" label="Convert output to tabular" type="boolean" truevalue="| @tsv" falsevalue="" help="@tsv can be used normally, but this will automatically mark the output as tabular"/> </inputs> <outputs> <data format="json" name="output"> <change_format> <when input="tsv" value="| @tsv" format="tabular" /> </change_format> </data> </outputs> <tests> <test> <param name="input" value="list.json"/> <param name="filter" value=".[] | [.foo, .bar]"/> <param name="tsv" value="| @tsv"/> <output name="output" file="out-1.json" /> </test> <test> <param name="input" value="list.json"/> <param name="filter" value='{"a": env}'/> <param name="tsv" value=""/> <output name="output"> <assert_contents> <has_text text="JQ_BIN"/> <not_has_text text="GALAXY_CONFIG"/> </assert_contents> </output> </test> </tests> <help><![CDATA[ JQ == jq is a lightweight and flexible JSON processor. Brief Examples -------------- See `the manual <https://stedolan.github.io/jq/manual/>`__ for a much more detailed guide on using JQ. Select an Attribute ~~~~~~~~~~~~~~~~~~~ Given an input like the following :: {"foo": 42, "bar": "less interesting data"} To select just the value of ``foo``, supply the filter ``.foo`` Loop over an Array ~~~~~~~~~~~~~~~~~~ Given an input like the following :: [{"foo": 1123}, {"foo": 6536}, {"foo": 5321}] To select the values of ``foo``, supply the filter ``.[].foo`` or ``.[] | .foo``. This will produce a file with one number per line. If you wish to select multiple things: :: [{"foo": 1123, "bar": "a"}, {"foo": 6536, "bar": "b"}, {"foo": 5321, "bar": "c"}] To select the values of ``foo`` AND ``bar``, supply the filter ``.[] | [.foo, .bar]``. This will produce and output array like: :: [ [1123, "a"] [6536, "b"] [5321, "c"] ] A common next step is to turn this into a tabular output which more Galaxy tools can work with. This can be done by checking the box for tabular. This will invoke the JQ filter of ``@tsv`` at the end of the processing chain, and produce a tabular file. ]]></help> <citations/> </tool>