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

update proteinortho v6.2.3 and some changes to the xml #5184

Merged
merged 27 commits into from
Jun 16, 2023
Merged

update proteinortho v6.2.3 and some changes to the xml #5184

merged 27 commits into from
Jun 16, 2023

Conversation

pmjklemm
Copy link
Contributor

@pmjklemm pmjklemm commented Mar 10, 2023

update to 6.2.0

FOR CONTRIBUTOR:

  • - I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • - License permits unrestricted use (educational + commercial)
  • - This PR adds a new tool or tool collection
  • - This PR updates an existing tool or tool collection
  • - This PR does something else (explain below)

@pmjklemm
Copy link
Contributor Author

pmjklemm commented Mar 10, 2023

Current problems:

@pmjklemm pmjklemm changed the title update proteinortho v6.2.0 update proteinortho v6.2.0 and some changes to the xml Mar 10, 2023
@bernt-matthias
Copy link
Contributor

The artifacts are here: https://github.com/galaxyproject/tools-iuc/actions/runs/4386446633

You can find them if you go to any of the tests and there go to the summary page.

@pmjklemm
Copy link
Contributor Author

Thank you!
I screened through the JSON output and found NameMapper.NotFound: cannot find 'evalue', I will try to investigate this.

<section name="more_options" title="Additional Options" expanded="False">
<param argument="--evalue" type="float" value="0.001" min="0" label="E-value threshold of the blast algorithm" help="Larger values results in more false positives (connections between proteins)."/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency I would use $more_options.evalue in the command block (even if $evalue should work as well).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh ok, so since these options are nested in the more_options sections, the env var needs this too, I will add this to the xml

Copy link
Contributor Author

@pmjklemm pmjklemm Mar 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do the test also need this? So e.g. <param name="evalue" value="1"/> needs to be <param name="more_options.evalue" value="1"/> ?
I just saw that diamond wraps the nested params in the same section tags, so this is probably the solution for this problem here

@bernt-matthias
Copy link
Contributor

I screened through the JSON output

The html output is easier to read (if you click on failed / errored tests below the table the failing tests are shown).

@pmjklemm
Copy link
Contributor Author

pmjklemm commented Mar 11, 2023

OK, i managed to pass all test when removing C2.faa (only for diamond).
C2.faa is designed to make some trouble as the sequences as well as the names are strange but this should be catched by proteinortho and fixed using --ignore-warnings flag.
But the test fails using diamond makedb (using different version) with the error Option is not permitted for this workflow: ignore-warnings.
This error is neither thrown on my computer (linux) nor on a osx system ...

@bernt-matthias
Copy link
Contributor

Cool. Looks good to me.

For the problem with the citations I would suggest to check if they also appear if you start a local instance with planemo serve.

I was also wondering if it would be better to include all the requirements in the bioconda recipe? But we don't have to do it now. Advantage would be that they would be included in the container that is built by bioconda.. And we could avoid building yet another container over here.

@bernt-matthias
Copy link
Contributor

bernt-matthias commented Mar 12, 2023

FYI: the linter warns (for the summary tool) : WARNING: Command template contains TODO text

@pmjklemm
Copy link
Contributor Author

The requirements are optional and not mandatory (only diamond+lapack are required).
So, I do not want to include all of these alternative tools.

I can try to planemo serve but I will take some time to set this up.

Thanks for mentioning the TODO in summary, I will work on resolving this!

Copy link
Contributor

@bernt-matthias bernt-matthias left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked the citations with planemo serve. They look good. So the problem seems to be at usegalaxy.eu. @bgruening can you check if something is wrong with the citations of proteinortho at the public server?

One last optional suggestion: you could set the column names metadata for the output tables:

<action name="column_names" type="metadata" default="Geneid,Chr,Start,End,Strand,Length,${alignment.element_identifier}"/>

Leave this up to you. Just tell me if I should merge.

@pmjklemm
Copy link
Contributor Author

pmjklemm commented Mar 13, 2023

planemo serve does not produce a localhost:9000 endpoint for me, not sure what is wrong. You just call planemo serve in the root directory of the tools-iuc right?

$ planemo serve
...
[2023-03-13 11:13:08 +0100] [3096343] [INFO] Waiting for application startup.                                                                                                                                                                                         
[2023-03-13 11:13:08 +0100] [3096343] [INFO] Application startup complete.                                                                                                                                                                                            
Exception in thread database_heartbeart_main.1.thread:                                                                                                                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                                    
  File "/home/paul/miniconda3/envs/planemo/lib/python3.10/threading.py", line 1016, in _bootstrap_inner                                                                                                                                                               
    self.run()                                                                                                                                                                                                                                                        
  File "/home/paul/miniconda3/envs/planemo/lib/python3.10/threading.py", line 953, in run
...
  File "/home/paul/.planemo/gx_venv_3/lib/python3.10/site-packages/watchdog/observers/inotify_c.py", line 427, in _raise_error                                                                                                                                        
    raise OSError(errno.EMFILE, "inotify instance limit reached")                                                                                                                                                                                                     
OSError: [Errno 24] inotify instance limit reached

Update: I will try the planemo serve tools/proteinortho

I was not aware that you can put variables in the column_names, therefore I just omitted these. I will add those to the metadata, very nice!

@bernt-matthias
Copy link
Contributor

planemo serve should be available at localhost:9090/. You should call it planemo serve tools/proteinortho or call it from with in the tool's directory. Otherwise planemo will server all tools in the IUC repos which will need more time.

from_work_dir="result.proteinortho.tsv">
<actions>
<action name="column_names" type="metadata"
default="species,genes,alg.-conn.,${','.join([ f.element_identifier for f in $input_files ])}"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets see if this works. You should certainly check with planemo serve if this works out as expected. Maybe also include it in the tests https://docs.galaxyproject.org/en/master/dev/schema.html#tool-tests-test-output-metadata

There are even more advanced techniques for setting output metadata. For instance you can deposit a file galaxy.json in the working directory. That describes all sorts of output properties. Unfortunately this is largely undocumented https://planemo.readthedocs.io/en/latest/writing_advanced.html?highlight=galaxy.json#tool-provided-metadata

@@ -4,7 +4,6 @@
<import>proteinortho_macros.xml</import>
<xml name="test_outputs">
<output name="proteinortho">
<metadata name="column_names" value="species,genes,alg.-conn.,${','.join([ f.element_identifier for f in $input_files ])}"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess you could keep the metadata tag but you would need to replace ${','.join([ f.element_identifier for f in $input_files ])} with a specific list of columns for the respective test. If this list is not constant we can parametrize the macro.

Let me know if you need help with this.

@pmjklemm
Copy link
Contributor Author

I think that is everything from my side!

@bernt-matthias
Copy link
Contributor

Hi @pmjklemm I have a few more commits over here https://github.com/bernt-matthias/tools-iuc/tree/tools/proteinortho for some reason I can not push to your branch or open a PR against your fork (probably because you forked from the autoupdate fork).

If you like you can cherry pick them to here.

Mostly stricter tests regarding column and row numbers (please take check test 3 .. row numbers seem to change from call to call .. so I added delta).

Successful linting of the comment attribute of has_n_columns depends on galaxyproject/galaxy#15791 .. I hope that we can merge that in time ..

@pmjklemm
Copy link
Contributor Author

Yes, I tried to push to the autoupdate branch of the last PR of proteinortho and realized that this is not possible.

Your additions look very good, I did take them all! And no hurry, we can wait on #15791 and merge afterwards.

@pmjklemm pmjklemm changed the title update proteinortho v6.2.0 and some changes to the xml update proteinortho v6.2.2 and some changes to the xml Mar 23, 2023
@pmjklemm
Copy link
Contributor Author

I will trigger a new test with v6.2.3 (just squashed in bioconda)

@pmjklemm pmjklemm changed the title update proteinortho v6.2.2 and some changes to the xml update proteinortho v6.2.3 and some changes to the xml Mar 30, 2023
@pmjklemm pmjklemm requested a review from bernt-matthias April 2, 2023 10:25
Copy link
Contributor

@bernt-matthias bernt-matthias left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still looks good. But we also still have the problem with the linter.

Btw. you can always trigger CI by closing and reopening a PR.

@pmjklemm pmjklemm closed this Apr 11, 2023
@pmjklemm pmjklemm reopened this Apr 11, 2023
@pmjklemm pmjklemm closed this Apr 13, 2023
@pmjklemm pmjklemm reopened this Apr 13, 2023
@pmjklemm pmjklemm closed this Apr 17, 2023
@pmjklemm pmjklemm reopened this Apr 17, 2023
@bernt-matthias
Copy link
Contributor

The linter problem should be fixed once galaxyproject/galaxy#15933 and galaxyproject/galaxy#15873 are merged and new python packages have been released. I'm not sure when this will happen .. people seem busy with the 23.0 release and courses.

Tell me if its pressing. Then we can merge and deploy manually.

@pmjklemm
Copy link
Contributor Author

Tell me if its pressing. Then we can merge and deploy manually.

It is not urgent, I can wait. From time to time I will check if it merges, so that is no problem (:

@bernt-matthias bernt-matthias merged commit b4d8b8d into galaxyproject:main Jun 16, 2023
@bernt-matthias
Copy link
Contributor

Finally :) Thanks for all your efforts and patience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants