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

{bio}[GOMPI-2020a] UShER 0.4.1 created. #13694

Conversation

sassy-crick
Copy link
Collaborator

(created using eb --new-pr)

…clude external TBB libs, removed libtbb_preview.so.2 and replaced with libtbb.so.2, TBB-2021.3.0 misses currently tbb/pipeline.h
@sassy-crick sassy-crick changed the title WIP UShER created (DRAFT) {bil}[GOMPI-2020a] UShER 0.4.1 created. Aug 12, 2021
@sassy-crick sassy-crick marked this pull request as ready for review August 12, 2021 13:27
@sassy-crick
Copy link
Collaborator Author

Downgraded the toolchain to gompi-2020a as tbb-2021.3.0 PR 13404 is not ready yet: tbb/pipeline.h is missing, apparently.
This downgrade means I will update PR 13119.
The boost library is already merged in the development branch.

@sassy-crick
Copy link
Collaborator Author

What I have not included is this (taken from here

install faToVcf

rsync -aP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/faToVcf .
chmod +x faToVcf
mv faToVcf build/

@sassy-crick
Copy link
Collaborator Author

sassy-crick commented Aug 12, 2021

Following the suggestion of @branfosj from PR 13708 I have added Kent_tools which includes faToVcf .
It does make sense to have all of that in one EC instead of loading it separately.

@sassy-crick sassy-crick changed the title {bil}[GOMPI-2020a] UShER 0.4.1 created. {bio}[GOMPI-2020a] UShER 0.4.1 created. Aug 12, 2021
Copy link
Contributor

@SethosII SethosII left a comment

Choose a reason for hiding this comment

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

@sassy-crick I would split the patch into two patches because they address different things that aren't connected. Also the usual name for patches is like %(name)s-%(version)s_fix-something.patch so in your case it's something like UShER-0.4.1_fix-isnan.patch and UShER-0.4.1_disable-internal-tbb.patch or so.

@sassy-crick
Copy link
Collaborator Author

@SethosII I renamed the patch, that slipped through. I also had some styled problems which oddly enough slipped through as well.
As for splitting the patch: I think I leave that up to a maintainer to decided. I don't have an opinion on it.

('Boost', '1.74.0'),
('Python', '3.8.6'),
('zlib', '1.2.11'),
('Kent_tools', '411'),
Copy link
Contributor

Choose a reason for hiding this comment

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

This doesn't depend on Kent tools at all. It only uses one specific tool in one example workflow file, which is a file that we don't even install. So there is literally not a single reference to this software anywhere.

Copy link
Collaborator Author

@sassy-crick sassy-crick Aug 13, 2021

Choose a reason for hiding this comment

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

I beg to differ. The installation instructions clearly include faToVcf which is part of the the Kent_tools set. Anybody who is using UShER from the GitHub page thus expects this program to be around when installing UShER via EasyBuild. So for me this is an extension similarly to the modules we are installing in R. So from that angle I think it makes much sense to install that. This is particularly true as ''UShER'' is part of the pagnolin package which is widely used for Covid-19 PCR tests. It does not help to exclude this vital program, which is needed to convert one file format into another one.
I agree with the part of how they included it is not the best way, but I disagree on the part regarding dependency. In order to use the full potential of the program, and in order how it is used in praxis, we should leave the Kent_tool in it as a dependency.

Copy link
Contributor

Choose a reason for hiding this comment

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

It is only referenced in

  1. A snakefile that we don't even install. https://github.com/yatisht/usher/blob/master/workflows/Snakefile#L82
  2. A snakefile that requires (according to their own instructions) to use conda, which, of course won't be compatible with EB regardless.
    Nothing that gets installed here has any connection to the other tools whatsoever.

@@ -0,0 +1,43 @@
Patch to correct CMakeLists.txt so external TBB will be used instead of internal build.
Patch to convert innan to std::isnan
Copy link
Contributor

Choose a reason for hiding this comment

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

Please do these in separate patches. Also, you don't actually need to change the std::isnan for 10.3.0 at least.
Also the rest of the changes are unncessary. Using find_package works fine. cf. #13708

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am happy to split the patch in two, no worries here.
I cannot use 10.3.0, simply because of the problem I am having with tbb-2021.3.0 and the missing header file so I am stuck with the older version where we only have the 10.2.0 version of gcc.
I am not sure where the std::isnan crept in. I cannot reproduce it any more so I removed that patch, only leaving the patch for CMake.
I had problems with the CMake patch when I tried that method manually which caused the long discussion thread.
The patch I came up with works also outside EasyBuild, which I see as an advantage specially when debugging programs. In the end, both work.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I have removed the usher-0.4.1-isnan-CMake.patch and replaced it with the usher-0.4.1-CMake.patch one which addresses the CMakeList.txt issue we both noted, and solved differently.

@sassy-crick
Copy link
Collaborator Author

To move forward and get that in dry sheets: I have removed the Kent_tools from this PR and added a line both into the module comment and in the EB file. I suggest we merge this PR and PR 13708. I did not want to 'steal' the patch file from the other PR.
@Micket are you happy with this merge?

@branfosj
Copy link
Member

Closing in favour of #13708, as I prefer the patch there.

@branfosj branfosj closed this Aug 27, 2021
@boegel boegel added the new label Aug 28, 2021
@boegel boegel added this to the next release (4.4.2?) milestone Aug 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants