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

utility functions for general-purpose wrapper setup (e.g. JVM memory option handling) #235

Open
dlaehnemann opened this issue Oct 20, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@dlaehnemann
Copy link
Contributor

Is your feature request related to a problem? Please describe.
@tdayris is currently working on unifying the handling of Java memory specifications in wrappers where the bioconda recipes allow for this. This leads to rather large blocks of code that is repeated across all the respective recipes and whenever we want to change the strategy of memory handling, we will have to edit all those places in sync. See here:
#204 (comment)

Describe the solution you'd like
I would like to have some kind of common or utils module that provides useful functions. In the case above, it would e.g. need to take the snakemake object and a java_opts string variable as parameters and would adjust the java_opts string accordingly with the Java memory option.

Describe alternatives you've considered
The alternative is keeping all those copies of code around. This might make the wrappers more readable, as no reference to another code file is needed. But as described above, it incurs the maintenance burden of having to keep all those code blocks in sync.

@dlaehnemann dlaehnemann added the enhancement New feature or request label Oct 20, 2020
@dlaehnemann
Copy link
Contributor Author

Just pinging in some people to get some more opinions and ideas on this: @johanneskoester, @jafors, @tedil, @christopher-schroeder

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

No branches or pull requests

1 participant