Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating icfree from version 2.4.0 to 2.5.0 #196

Merged
merged 12 commits into from
Dec 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions tools/icfree/calibrator.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<tool id="icfree_calibrator" name="iCFree calibrator" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" license="MIT">
<description>Calculate yield based on fluorescence data and optionally apply calibration</description>
<macros>
<import>macros.xml</import>
</macros>
<expand macro="requirements"/>
<command detect_errors="exit_code"><![CDATA[
cp '$initial_data_file' 'initial_data.csv' &&
cp '$sampling_file' 'sampling.csv' &&
cp '$ref_file' 'reference.csv' &&
python -m icfree.learner.extractor
--initial_data_file 'initial_data.csv'
--sampling_file 'sampling.csv'
--output_file 'extractor.csv'
#if str($adv.num_samples) != ''
--num_samples '$adv.num_samples'
#end if
#if str($adv.num_replicates) != ''
--num_replicates '$adv.num_replicates'
#end if
&&
python -m icfree.learner.calibrator
--output 'calibrated.csv'
--plot '$output_graph'
--jove_plus '$jove_plus'
--jove_minus '$jove_minus'
--r2_limit '$adv.r2_limit'
#if str($adv.num_control_points) != ''
--num_control_points '$adv.num_control_points'
#end if
#if str($adv.num_samples) != ''
--num '$adv.num_samples'
#end if
'extractor.csv' 'reference.csv' &&
mv 'calibrated.csv' '$output_calibrated' &&
mv 'calibrated_control_points.csv' '$output_control_points'
]]></command>
<inputs>
<param name="initial_data_file" type="data" format="csv" label="Initial file" help="Initial file"/>
<param name="sampling_file" type="data" format="csv" label="Sampling file" help="Sampling file"/>
<param name="ref_file" type="data" format="csv" label="Reference input file" help="Reference input file"/>
<param argument="jove_plus" type="integer" value="3" label="Line number for Jove+ (1-based index)" help="Line number for Jove+ (1-based index)" />
<param argument="jove_minus" type="integer" value="2" label="Line number for Jove- (1-based index)" help="Line number for Jove- (1-based index)" />
<section name="adv" title="Advanced Options" expanded="false">
<param argument="num_samples" type="integer" optional="true" label="Number of samples" help="Number of samples" />
<!-- Extractor -->
<param argument="num_replicates" type="integer" optional="true" label="Number of replicates" help="Number of replicates." />
<!-- Calibrator -->
<param argument="r2_limit" type="float" value="0.8" label="R-squared limit for the regression" help="R-squared limit for the regression" />
<param argument="num_control_points" type="integer" optional="true" label="Number of control points to select" help="Number of control points to select" />
</section>
</inputs>
<outputs>
<data name="output_calibrated" format="csv" label="${tool.name} - Calibrated yields" />
<data name="output_control_points" format="csv" label="${tool.name} - Control points" />
<data name="output_graph" format="png" label="${tool.name} - Graph" />
</outputs>
<tests>
<test expect_num_outputs="3">
<!-- python -m icfree.learner.extractor -initial_data_file calibrator.input.initial_data.csv -sampling_file calibrator.input.sampling.csv -output_file calibrator.extractor_output.1.csv -->
<!-- python -m icfree.learner.calibrator -output calibrator.output.calibrated.1.csv -jove_plus 3 -jove_minus 2 -plot calibrator.output.1.png calibrator.output.extractor.1.csv calibrator.input.ref.csv -->
<param name="initial_data_file" value="calibrator.input.initial_data.csv" />
<param name="sampling_file" value="calibrator.input.sampling.csv" />
<param name="ref_file" value="calibrator.input.ref.csv" />
<param name="jove_plus" value="3" />
<param name="jove_minus" value="2" />
<output name="output_calibrated" ftype="csv">
<assert_contents>
<has_n_lines n="58" />
</assert_contents>
</output>
<output name="output_control_points" ftype="csv">
<assert_contents>
<has_n_lines n="6" />
</assert_contents>
</output>
<output name="output_graph" ftype="png" >
<assert_contents>
<has_size value="45000" delta="2000" />
</assert_contents>
</output>
</test>
<test expect_num_outputs="3">
<!-- python -m icfree.learner.extractor -initial_data_file calibrator.input.initial_data.csv -sampling_file calibrator.input.sampling.tsv -output_file calibrator.output.extractor.2.csv -num_samples 20 -num_replicates 3 -->
<!-- python -m icfree.learner.calibrator -plot calibrator.output.2.png -output calibrator.output.2.csv -jove_plus 4 -jove_minus 3 -r2_limit 0.9 -num 20 -num_control_points 4 calibrator.output.extractor.2.csv calibrator.input.ref.csv -->
<param name="initial_data_file" value="calibrator.input.initial_data.csv" />
<param name="sampling_file" value="calibrator.input.sampling.csv" />
<param name="ref_file" value="calibrator.input.ref.csv" />
<param name="num_samples" value="20" />
<param name="num_replicates" value="3" />
<param name="r2_limit" value="0.9" />
<param name="num_control_points" value="4" />
<param name="jove_plus" value="4" />
<param name="jove_minus" value="3" />
<output name="output_calibrated" ftype="csv">
<assert_contents>
<has_n_lines n="21" />
</assert_contents>
</output>
<output name="output_control_points" ftype="csv">
<assert_contents>
<has_n_lines n="21" />
</assert_contents>
</output>
<output name="output_graph" ftype="png" >
<assert_contents>
<has_size value="38000" delta="1000" />
</assert_contents>
</output>
</test>
</tests>
<help><![CDATA[
Calibrator
==========
Calculate yield based on fluorescence data and apply calibration.

]]></help>
<expand macro="creator"/>
<expand macro="citation"/>
</tool>
10 changes: 2 additions & 8 deletions tools/icfree/macros.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<macros>
<token name="@TOOL_VERSION@">2.4.0</token>
<token name="@TOOL_VERSION@">2.7.0</token>
<token name="@VERSION_SUFFIX@">0</token>
<xml name="requirements">
<requirements>
Expand All @@ -9,13 +9,7 @@
</xml>
<xml name="citation">
<citations>
<citation type="bibtex">
@unpublished{icfree
author = {Joan Hérisson, Yorgo El Moubayed},
title = {{icfree}},
url = {https://github.com/brsynth/icfree-ml/},
}
</citation>
<citation type="doi">10.1101/2024.10.28.619828</citation>
</citations>
</xml>
<xml name="creator">
Expand Down
Loading
Loading