Skip to content

Updated custom_paths for picard-1.124 and above#796

Merged
boegel merged 7 commits intoeasybuilders:developfrom
nathanhaigh:picard-1.124
Mar 8, 2016
Merged

Updated custom_paths for picard-1.124 and above#796
boegel merged 7 commits intoeasybuilders:developfrom
nathanhaigh:picard-1.124

Conversation

@nathanhaigh
Copy link
Copy Markdown
Contributor

A restructure of picard at v1.124 means only a single picard.jar file is created

@hpcugentbot
Copy link
Copy Markdown

Automatic reply from Jenkins: Can I test this?

Comment thread easybuild/easyblocks/p/picard.py Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

rather than copy-pasting this whole block, it would be better to change the logic that defines the jar_files list?

How familiar are you with Python @nathanhaigh? Let us know if you're up for this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm not familiar with Python - I'm a Perl guy! :)

I'll have a bash at it though!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Let me know if you need help.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 5, 2016

Jenkins: ok to test

@boegel boegel added this to the v2.6.0 milestone Jan 5, 2016
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1556/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1578/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@nathanhaigh
Copy link
Copy Markdown
Contributor Author

@boegel This now implements a comprehensive sanity_check_step for all versions of picard from 1.100 to the current 2.0.1. Versions prior to 1.100 may also work, but I haven't tested them.

Comment thread easybuild/easyblocks/p/picard.py Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

hmm, do we want this one per line? I'd collapse this by listing multiple items on a single line, but keeping it down to max 120 chars line length?

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 17, 2016

Looks good, but let's make this less verbose/long (vertically)?

@boegel boegel modified the milestones: v2.7.0, v2.6.0 Jan 23, 2016
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1690/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@nathanhaigh
Copy link
Copy Markdown
Contributor Author

Do you really want multiple elements in jar_files to be placed on a single line? I was thinking that for the sake of some vertical real-estate it makes things more readable.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 22, 2016

@nathanhaigh: well, it's a matter of preference, sure... There's no other easyblock I know of that has a list this long with one entry per line. I agree it makes things more readable, but how often is that really relevant in this case?
This makes me scroll a lot more when looking at other bits of the easyblock, which I find annoying.

Anyway, it's up to you in this case, I don't feel strongly enough about it to make this a blocker.

@nathanhaigh
Copy link
Copy Markdown
Contributor Author

Ok, I'll leave it as it is :) I'm finished with this PR, so please merge when you're happy.

Comment thread easybuild/easyblocks/p/picard.py Outdated
jar_files = ['picard']
if LooseVersion(self.version) < LooseVersion('1.115'):
jar_files.append('sam')
"""All versions prior to 1.124 have these jar files"""
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this shouldn't be a docstring, but a comment:

# all versions prior to 1.124 have these jar files

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 23, 2016

@nathanhaigh: sanity check fails for existing picard-1.39.eb with this...

Most likely because comparing 1.39 < 1.124 yields False...

We need a way around that, maybe by counting the digits in the minor version number?

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1693/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 2, 2016

@nathanhaigh: ping on the issue with picard-1.39.eb?

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 2, 2016

btw, apparently easybuilders/easybuild-easyconfigs#2572 was merged even though it requires this PR to be merged...

seems like I was not very careful with testing easybuilders/easybuild-easyconfigs#2572, and it got tested on top of your modified easyblock... :(

@nathanhaigh
Copy link
Copy Markdown
Contributor Author

Actually, @boegel the version comparison works as expected:

>>> from distutils.version import LooseVersion
>>> LooseVersion('1.39') < LooseVersion('1.124')
True

I think the fail on picard 1.39 is because the following jars are not actually present:

AddOrReplaceReadGroups.jar
CheckIlluminaDirectory.jar
CollectRnaSeqMetrics.jar

I'll update the easyblock.

Some jar files were incorrectly assumed to be in picard versions < 1.124 but weren't.
This broke installation of existing easyconfigs for the really old picard 1.39.
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1759/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 7, 2016

@nathanhaigh: I'm afraid picard 1.39 is still failing, see below...

I have a feeling we're over-specifying this...

The largest part of the easyblock now consists over making exceptions on which .jar files to check for, while we've actually just copied them...

Is that really worth the trouble? Shouldn't we just check for a couple of key .jar files instead?
Like picard* (and maybe sam*) for the older versions of picard, and the three current .jar for recent versions?

== 2016-03-07 18:55:59,137 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('CollectTargetedPcrMetrics.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,138 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('DownsampleSam.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,139 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('ExtractIlluminaBarcodes.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,139 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('FilterSamReads.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,143 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('IlluminaBasecallsToFastq.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,143 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('IlluminaBasecallsToSam.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,144 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('IntervalListTools.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,144 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('MakeSitesOnlyVcf.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,145 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('MarkIlluminaAdapters.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,146 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('MergeVcfs.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,146 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('ReorderSam.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,148 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('SplitVcfs.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39
== 2016-03-07 18:55:59,148 not available in optimized mode.EB_picard WARNING Sanity check: no file of ('VcfFormatConverter.jar',) in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/picard/1.39

@nathanhaigh
Copy link
Copy Markdown
Contributor Author

yep - I agree :)

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1768/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 8, 2016

retested with existing picard easyconfigs and easybuilders/easybuild-easyconfigs#2252, all is well, so going in

Thanks @nathanhaigh!

boegel added a commit that referenced this pull request Mar 8, 2016
Updated custom_paths for picard-1.124 and above
@boegel boegel merged commit 5280668 into easybuilders:develop Mar 8, 2016
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.

3 participants