Mercurial > repos > agpetit > concatenate_table
view concatenate_table.xml @ 13:2306bd893c55 draft default tip
"planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit 83670d9ceed855c9f58e0fa63a682edcaace5354-dirty"
| author | agpetit |
|---|---|
| date | Mon, 11 Jul 2022 13:08:45 +0000 |
| parents | 6364be33b0c2 |
| children |
line wrap: on
line source
<tool id="concatenate_table" name="concatenate lines of multi tables" version="1.0.0" python_template_version="3.5" profile="@GALAXY_VERSION@"> <macros> <token name="@GALAXY_VERSION@">21.05</token> </macros> <requirements> </requirements> <command detect_errors="exit_code"><![CDATA[ #set $inter_file = "test.tabular" #for $i, $input in enumerate($input_traj) #if $i == 0 cat ${input} | awk -F'\t' 'BEGIN{mean="Time (ps)"; std=""} /^Time/ {for (i=2; i<(NF+1); i++) gsub(" ", ",mean ",\$i) ; for (i=2; i<(NF+1); i++) mean=mean "\t" \$i ; for (i=2; i<(NF+1); i++) gsub(",mean", ",std ",\$i); for (i=2; i<(NF+1); i++) std=std "\t" \$i } END{print (mean std)}' &>> '$sort_file' ; #end if #set $f=open(str($input), 'r') #set $default_min = [x.rstrip().split()[0] for x in $f.readlines()][-1] #set $default_min = float($default_min) * 10 cat ${input} | awk -F'\t' -v min=${default_min} 'BEGIN{min_val=min ; max_val=0 ; means=""; std=""} /^[0-9]/ {if ($1 <= min_val) {min_val=$1} ; if ($1 >= max_val) {max_val=$1}} ; /Mean/ {for (i=2; i<NF; i++) means=means"\t"\$i ;means=means"\t"\$NF } ; /Std/ {for (i=2; i<NF; i++) std=std"\t"\$i; ;std=std"\t"\$NF} END {print (min_val "-" max_val means std)}' &>> '$inter_file' ; #end for cat '$inter_file' | sort -k1 -n &>> '$sort_file' ]]></command> <inputs> <param name="input_traj" type="data_collection" format="tabular" collection_type="list" label="Collection of tables containing the pore diameter of an aquaporin for a subtrajectory"/> </inputs> <outputs> <data name="sort_file" format="tabular" label="table_sort_pore_diameter_aqp.tabular"/> </outputs> <tests> <test> <param name="input_traj"> <collection type="list"> <element name="test_file1" value="PIP2.1_test_traj_1.tabular"/> <element name="test_file2" value="PIP2.1_test_traj_2.tabular"/> <element name="test_file3" value="PIP2.1_test_traj_3.tabular"/> </collection> </param> <output name="sort_file" file="table_sort_pore_diameter_aqp.tabular"/> </test> </tests> <help><![CDATA[ .. class:: infomark **What it does** This tool allows to estimate the number of sub-trajectories to be created. It also allows to cut a path according to a desired number of sub-trajectories. _____ .. class:: infomark **Inputs** - Collection of tables that contain the calculation of the pore diameter of an aquaporin for each subtrajectory _____ .. class:: infomark **Outputs** - Table containing the average distance and standard deviation of each subpath for a complete trajectory ]]></help> <citations> <citation type="doi">10.1016/j.softx.2015.06.001</citation> </citations> </tool>
