-
Notifications
You must be signed in to change notification settings - Fork 489
New Tool addition: Haltools #7488
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
base: main
Are you sure you want to change the base?
Conversation
SaimMomin12
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Maed0x Congrats on your first contribution to IUC 🎉 .Some comments inline.
tools/haltools/.shed.yml
Outdated
| long_description: | | ||
| A set of tools to for manipulating HAL alignment files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please write a long description
tools/haltools/.shed.yml
Outdated
| - Sequence Analysis | ||
| auto_tool_repositories: | ||
| name_template: "{{ tool_id }}" | ||
| description_template: "Wrapper for hal tool suite: {{ tool_name }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| description_template: "Wrapper for hal tool suite: {{ tool_name }}" | |
| description_template: "Wrapper for haltools suite: {{ tool_name }}" |
tools/haltools/.shed.yml
Outdated
| name: "suite_haltools" | ||
| description: "A set of tools to for manipulating HAL alignment files" | ||
| long_description: | | ||
| A set of tools to for manipulating HAL alignment files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here too
tools/haltools/hal_halStats.xml
Outdated
| @@ -0,0 +1,238 @@ | |||
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> | |
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define a PROFILE token in macros.xml
tools/haltools/macros.xml
Outdated
| </xml> | ||
| <token name="@TOOL_VERSION@">2.9.9</token> | ||
| <token name="@VERSION_SUFFIX@">0</token> | ||
| <xml name="in_hal_file"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <xml name="in_hal_file"> | |
| <xml name="input_hal"> |
tools/haltools/hal_halStats.xml
Outdated
| <param name="allCoverage" type="boolean" truevalue="--allCoverage" falsevalue="" checked="false" | ||
| label="All Coverage" | ||
| help="Print histogram of coverage from all genomes to all genomes" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Format
tools/haltools/hal_halStats.xml
Outdated
| <param name="baseComp" type="text" value="" | ||
| label="Base composition" | ||
| help="Print base composition for given genome by sampling every step bases. Parameter value is of the form genome,step. Ex: human,1000. The output is of the form fraction_of_As fraction_of_Gs fraction_of_Cs fraction_of_Ts" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe specify an example and considering defining a sanitizer
| <test expect_num_outputs="1"> | ||
| <param name="in_hal_file" value="halTest.hal"/> | ||
| <output name="out_file_txt" file="halStats_output.txt"/> | ||
| </test> | ||
| <test expect_num_outputs="1"> | ||
| <param name="in_hal_file" value="halTest.hal"/> | ||
| <conditional name="mode"> | ||
| <param name="option" value="--allCoverage"/> | ||
| <param name="allCoverage" value="true"/> | ||
| </conditional> | ||
| <output name="out_file_csv" file="halStats_allCoverage_output.csv"/> | ||
| </test> | ||
| </tests> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please extend your test for other parameters.
tools/haltools/hal_halStats.xml
Outdated
| </test> | ||
| </tests> | ||
| <help><![CDATA[ | ||
| Some global information from a HAL file can be quickly obtained using halStats. It will return the number of genomes, their phylogenetic tree, and the size of each array in each genome. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some other help text would be benefits
| </requirements> | ||
| </xml> | ||
| <token name="@TOOL_VERSION@">2.9.9</token> | ||
| <token name="@VERSION_SUFFIX@">0</token> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Introduce @Profile@ Token
tools/haltools/hal_halStats.xml
Outdated
| <data name="out_file_txt" format="txt" from_work_dir="stats.txt" label="${tool.name} on ${on_string}: Stats"> | ||
| <filter>mode['option'] != '--allCoverage'</filter> | ||
| </data> | ||
| <data name="out_file_csv" format="tabular" from_work_dir="stats.csv" label="${tool.name} on ${on_string}: CSV Stats"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <data name="out_file_csv" format="tabular" from_work_dir="stats.csv" label="${tool.name} on ${on_string}: CSV Stats"> | |
| <data name="out_file_csv" format="csv" from_work_dir="stats.csv" label="${tool.name} on ${on_string}: CSV Stats"> |
tools/haltools/hal_halStats.xml
Outdated
| @@ -0,0 +1,238 @@ | |||
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> | |
| <tool id="hal_halstats" name="halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> |
tools/haltools/hal_halStats.xml
Outdated
| @@ -0,0 +1,238 @@ | |||
| <tool id="hal_halstats" name="HAL halStats" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.0"> | |||
| <description>retrieves basic statistics from a hal file</description> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <description>retrieves basic statistics from a hal file</description> | |
| <description>retrieve basic statistics from a HAL file</description> |
| <token name="@VERSION_SUFFIX@">0</token> | ||
| <token name="@PROFILE@">25.0</token> | ||
| <xml name="input_hal"> | ||
| <param name="input_hal" type="data" format="hal" label="Input hal file to analyze" optional="false"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <param name="input_hal" type="data" format="hal" label="Input hal file to analyze" optional="false"/> | |
| <param name="input_hal" type="data" format="hal" label="Input hal file to analyze"/> |
| <citation type="bibtex"> | ||
| @misc{githubhal, | ||
| title = {HAL GitHub page}, | ||
| url = {https://github.com/ComparativeGenomicsToolkit/hal}, | ||
| } | ||
| </citation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <citation type="bibtex"> | |
| @misc{githubhal, | |
| title = {HAL GitHub page}, | |
| url = {https://github.com/ComparativeGenomicsToolkit/hal}, | |
| } | |
| </citation> |
| <xml name="input_hal"> | ||
| <param name="input_hal" type="data" format="hal" label="Input hal file to analyze" optional="false"/> | ||
| </xml> | ||
| <xml name="params_inputFormat"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <xml name="params_inputFormat"> | |
| <xml name="hal_backend_format"> |
Perhaps a better name?
| ]]></command> | ||
| <inputs> | ||
| <expand macro="input_hal"/> | ||
| <expand macro="params_inputFormat"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <expand macro="params_inputFormat"/> | |
| <expand macro="hal_backend_format"/> |
| ( | ||
| #if $mode.option == "--baseComp": | ||
| echo -e "fraction_of_As\tfraction_of_Gs\tfraction_of_Cs\tfraction_of_Ts"; | ||
| #else if $mode.option == "--numSegments": | ||
| echo "numTopSegments numBottomSegments"; | ||
| #end if |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there some reason, why this is echoed? Is it part of the tool?
| </conditional> | ||
| </inputs> | ||
| <outputs> | ||
| <data name="out_file" format="txt" label="${tool.name} on ${on_string}: Stats"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tool outputs different file formats? (csv,tsv is fine, but why bed file)?
| </test> | ||
| </tests> | ||
| <help><![CDATA[ | ||
| halStats lets you inspect the contents of a HAL database and pull out essential details about genomes, sequences, coverage, identity, and alignment structure. It provides quick checks on genome relationships, segment layout, metadata, and sequence level stats. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a bit more info on what are the inputs, outputs, etc
FOR CONTRIBUTOR:
Adding the first tool of haltools