bgruening / galaxytools

:microscope::books: Galaxy Tool wrappers
MIT License
115 stars 222 forks source link

Add carveme #1446

Open lhtxa opened 2 weeks ago

lhtxa commented 2 weeks ago

Hi @bgruening ! I saw your previous comments, it just took me a little time to review and fix the issues. Thank you for the suggestions, here is the updated wrapper.

bgruening commented 2 weeks ago

Can you please reduce the size of the test data? Then please look at the failing linting tests ...


 .. WARNING: Missing shed metadata field [remote_repository_url] for repository
.. WARNING: Missing shed metadata field [homepage_url] for repository
bgruening commented 2 weeks ago

https://anaconda.org/bioconda/carveme/files 1.6.1 is the version that you need.

bgruening commented 2 weeks ago

We now have this error message:


/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:9: SyntaxWarning: invalid escape sequence '\w'
  id_re = '[a-zA-Z]\w*'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:10: SyntaxWarning: invalid escape sequence '\d'
  pos_float_re = '\d+(?:\.\d+)?(?:e[+-]?\d+)?'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:11: SyntaxWarning: invalid escape sequence '\d'
  float_re = '-?\d+(?:\.\d+)?(?:e[+-]?\d+)?'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:13: SyntaxWarning: invalid escape sequence '\s'
  compound = '(?:' + pos_float_re + '\s+)?' + id_re
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:14: SyntaxWarning: invalid escape sequence '\s'
  expression = compound + '(?:\s*\+\s*' + compound + ')*'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:15: SyntaxWarning: invalid escape sequence '\['
  bounds = '\[\s*(?P<lb>' + float_re + ')?\s*,\s*(?P<ub>' + float_re + ')?\s*\]'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:15: SyntaxWarning: invalid escape sequence '\s'
  bounds = '\[\s*(?P<lb>' + float_re + ')?\s*,\s*(?P<ub>' + float_re + ')?\s*\]'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:15: SyntaxWarning: invalid escape sequence '\s'
  bounds = '\[\s*(?P<lb>' + float_re + ')?\s*,\s*(?P<ub>' + float_re + ')?\s*\]'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:17: SyntaxWarning: invalid escape sequence '\s'
  reaction = '^(?P<reaction_id>' + id_re + ')\s*:' + \
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:18: SyntaxWarning: invalid escape sequence '\s'
  '\s*(?P<substrates>' + expression + ')?' + \
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:19: SyntaxWarning: invalid escape sequence '\s'
  '\s*(?P<direction>-->|<->)' + \
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:20: SyntaxWarning: invalid escape sequence '\s'
  '\s*(?P<products>' + expression + ')?' + \
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:21: SyntaxWarning: invalid escape sequence '\s'
  '\s*(?P<bounds>' + bounds + ')?' + \
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:22: SyntaxWarning: invalid escape sequence '\s'
  '\s*(?P<objective>' + objective + ')?$'
/usr/local/lib/python3.12/site-packages/reframed/core/parser.py:24: SyntaxWarning: invalid escape sequence '\s'
  self.regex_compound = compile('(?P<coeff>' + pos_float_re + '\s+)?(?P<met_id>' + id_re + ')')
diamond v2.1.9.163 (C) Max Planck Society for the Advancement of Science, Benjamin Buchfink, University of Tuebingen
Documentation, support and updates available at http://www.diamondsearch.org
Please cite: http://dx.doi.org/10.1038/s41592-021-01101-x Nature Methods (2021)

#CPU threads: 4
Scoring parameters: (Matrix=BLOSUM62 Lambda=0.267 K=0.041 Penalties=11/1)
Database input file: /usr/local/lib/python3.12/site-packages/carveme/data/generated/bigg_proteins.faa
Opening the database file... 
Error opening file /usr/local/lib/python3.12/site-packages/carveme/data/generated/bigg_proteins.dmnd: Permission denied
Read-only file system
Error: Error opening temporary file /tmp/tmpu9rg1smj/files/5/1/7/diamond-tmp-tX5Q7D
bgruening commented 2 weeks ago

You can find the planemo output here: https://github.com/bgruening/galaxytools/actions/runs/9806570824?pr=1446

lhtxa commented 2 weeks ago

@bgruening, the first time CarveMe runs, it creates a database with Diamond. It seems the error is due to the lack of permissions to write that database in CarveMe's directory because when testing there, it is only allowed to write in the working directory. Do you have any suggestions to work around this?

bgruening commented 2 weeks ago

In which folder does careme treis to write?

Only the CWD is writeable in a container setting - which we are testing here.

lhtxa commented 2 weeks ago

It seems it is inside the CarveMe folder itself. In 'carveme/data/generated/'

bgruening commented 2 weeks ago

That is not allowed. Galaxy is a multi user system and we need to ensure every user can only write to the current job working dir

bgruening commented 1 week ago

Do you need help here?

lhtxa commented 1 week ago

Maybe. The first time CarveMe runs it needs to write in its directory, out of the user's working directory. I understand this is incompatible with the Galaxy user system, so I am thinking of a way to work around it. One possibility is to have a parallel version of CarveMe just to be compatible with Galaxy, another is to keep just one version of the tool and deal with this issue in the next update, but I am waiting for some feedback on this from collaborators. If you have any suggestions, please let me know.


From: Björn Grüning @.> Sent: Saturday, July 13, 2024 7:57 PM To: bgruening/galaxytools @.> Cc: Miguel Alves Magalhaes Teixeira @.>; Author @.> Subject: Re: [bgruening/galaxytools] Add carveme (PR #1446)

Do you need help here?

— Reply to this email directly, view it on GitHubhttps://github.com/bgruening/galaxytools/pull/1446#issuecomment-2227046553, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV7E3QHHDCWFYQSODLEYYB3ZMF2BHAVCNFSM6AAAAABKLKTBX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGA2DMNJVGM. You are receiving this because you authored the thread.Message ID: @.***>

bgruening commented 1 week ago

Imho a tool installation should be read-only and during runtime no one should be allowed to write into it. This is necessary for reproducibility and to have clean installation environments.

lhtxa commented 6 days ago

I understand that. I will be back on this as soon as possible.


From: Björn Grüning @.> Sent: Sunday, July 14, 2024 1:10 PM To: bgruening/galaxytools @.> Cc: Miguel Alves Magalhaes Teixeira @.>; Author @.> Subject: Re: [bgruening/galaxytools] Add carveme (PR #1446)

Imho a tool installation should be read-only and during runtime no one should be allowed to write into it. This is necessary for reproducibility and to have clean installation environments.

— Reply to this email directly, view it on GitHubhttps://github.com/bgruening/galaxytools/pull/1446#issuecomment-2227323993, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV7E3QC4HFHT6IEML5UMC7DZMJTCZAVCNFSM6AAAAABKLKTBX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGMZDGOJZGM. You are receiving this because you authored the thread.Message ID: @.***>