Hi Modules Team. I am testing a new module for Par...
# modules
g
Hi Modules Team. I am testing a new module for Parabricks (GPU Accelerated) STAR aligner. The Parabricks implementation uses STAR version 2.7.2a, so I can't use the CPU based STAR module (which uses version 2.7.11b) to generate the genome index on the fly during testing, because the data has to be indexed by the same version of STAR used in the module. As a result, I'd like host a STAR 2.7.2a version of the genome index in the test data repo and the docs said the first step in that is to ask here.
m
I think Rike stumbled into said issues when implementing this in #CE8SSJV3N
Is this what you're trying to add?
facepalm
sorrry
Mixed SENTION and PARABRICKS in my mind
forgot I said anything
Anyhow, I believe the issue is similar, but more complex in your case
As far I can see, Rike could manage to use a newer version of star index even with the sentieon implementation (which was still using the old args -> that's what got me confused)
so in your case, the issue is that it would be complex to build the genome index on the fly, and complex to have one hosted on github due to the fact that we can't access a folder from http
What we could do is create one with an older star version and tar it, and put this in our test-data set
g
I've already created an index using the old star and have it tarred. I'm just trying to see how I can host it in the test-data set.
m
oooh
then it's easy
💚 1
just need to create a PR to add it here: https://github.com/nf-core/test-datasets/tree/modules
g
Thank you. I will get started on that.
m
I'd say this looks like the right location: data/genomics/homo_sapiens/genome/index/star
Sorry for the whole rambling from my side, but looking forward to be able to add parabricks for STAR in #CE8SSJV3N and #C01NHS4CC91
g
No worries! There are so many moving parts in these modules.
And yes! You should get some PRs from me in the near future for adding this module to rnaseq and rnavar.
m
I'm quite happy with the results in #CGFUX04HZ @Famke Bäuerle have done an amazing work chasing done all issues
💚 1
and please never hesitate to ping me
g
Yes I can't thank Famke enough for that work! It's great to see people working on this.
cowboyhat tip 1
j
https://nf-co.re/nft-utils#dependency-management You might be able to use the dependency management tools in nft-utils to install an older (compatible) version of the STAR module, if one exists? You can install modules with from arbitrary git commits with it. I wrote the functions, happy to help if you want to give it a try.
g
Thank you, Jim! I'm reading through the documentation now and I will definitely give it a try. This could be a faster way, since if I were to contribute to the nf-test data sets, there's lots of legal paperwork I have to fill out internally for approval and I was hoping to have my module PRs submitted by the end of this week.
j
g
Thank you for the examples. Since I'm looking to install a specific version of STAR (2.7.2a) do you know where I can find the right SHA to use?
j
You will have to look through all the commits, I am afraid. And it looks like it uses mulled containers so you might have to pull them and check the versions inside...
g
No worries. It will be worth the hunt if I can get it to work for me!
Thankfully it tells me what STAR version without having to open the container. However, I need an even older version than this, so it looks like I'll need to host my own version of the genome lib in the test data repo.
j
Perhaps, if the maintainers are ok with it, you could briefly push a commit that has the right version? And then undo it?
m
I think we switched from:
bioconda::star=2.6.1d bioconda::samtools=1.10 conda-forge::gawk=5.1.0
to
bioconda::star=2.7.9a bioconda::samtools=1.13 conda-forge::gawk=5.1.0
Can't we create a parabricks star genomgenerate module?
using the same container?
or is the parabricks star only with star align and not star genome generate?
g
Yeah unfortunately Parabricks STAR only has align and assumes you used the correct version of STAR to generate the indices already
m
OK
that's unfortunate
ok, how about adding the star_genomegenerate you need as a parabricks star_genomegenerate module? I assume other people would want to generate proper index
even if it's not a proper parabricks module using parabricks it's for parabricks usage
Trying to find the easiest solution
thankyou 1
g
That would be a good idea to package them together that way the versions always match
m
and let's maybe mention in the README that this is not a parabricks module in itself, but a module to facilitate usage of parabricks
👍 1
g
I can definitely add that!
m
Perfect
If you need help to create the right package, I'd recommend https://seqera.io/containers/
we've been using this more and more, it's definitively easier than making a bio-container
g
Yeah all I need to do is downgrade the version of STAR inside the container. I'm hoping it's not too heavy of a lift.
@Anna Daccache for viz
@Maxime Garcia I have an nf-core module for STAR ready to submit for a PR. I have a question, though. Per your earlier advice, I also made a separate stargenomegenerate module (to support the older version of STAR that this Parabricks module needs). Should I submit that module as it's own PR? The testing for Parabricks STAR doesn't work without this module for a pre-processing step.
m
Yeah, you can put both in, that makes the most sense
g
Thank you!
m
There are some failures, I'll check tomorrow
g
Thank you. I will take a look as well.
f
I reviewed it 🙂 its basically asking too much memory for the CI run
🙏 1
m
thanks @Famke Bäuerle
g
Thank you for reviewing, Famke! I will address your comments today.
👍 1