Skip to content

Conversation

@robnewman
Copy link
Member

Already tested and working in Seqera's staging container registry environment

Comment on lines 85 to 99
# Install IGV
ARG igv_version=IGV_Linux_2.19.4
RUN apt-get update && apt-get install -y --no-install-recommends \
software-properties-common \
default-jre \
unzip \
lsof \
glib-networking-common && \
mkdir -p /igv && \
cd /igv && \
wget "https://data.broadinstitute.org/igv/projects/downloads/2.19/${igv_version}_WithJava.zip" && \
unzip ${igv_version}_WithJava.zip && \
cd ${igv_version} && \
cd /usr/bin && \
ln -s /igv/${igv_version}/igv.sh ./igv
Copy link
Member

Choose a reason for hiding this comment

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

Since we already have mamba (right?) couldn't this just be mamba install igv? Any of the deps above that relate to IGV rather than xpra (if any) could then also be removed.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah - will update and pin to a specific IGV version.

@robnewman
Copy link
Member Author

robnewman commented May 23, 2025

@pinin4fjords Mamba installing IGV is throwing ugly errors. You seen these before?

 > [stage-2 12/23] RUN rm -rf /opt/conda/pkgs/*.lock &&     micromamba create -y -n igv -c bioconda     igv     && micromamba clean --all --yes     && rm -rf /opt/conda/pkgs/*.lock:                                             
3.657 error    libmamba Could not solve for environment specs                                                                                                                                                                     
3.657     The following packages are incompatible                                                                                                                                                                                 
3.657     └─ igv is not installable because there are no viable options                                                                                                                                                           
3.657        ├─ igv 2.3.98 would require                                                                                                                                                                                          
3.657        │  └─ openjdk, which does not exist (perhaps a missing channel);
3.657        ├─ igv [2.4.6|2.4.9] would require
3.657        │  └─ openjdk >=8.0 , which does not exist (perhaps a missing channel);
3.657        ├─ igv [2.10.0|2.10.2|...|2.9.5] would require
3.657        │  └─ openjdk >=11 , which does not exist (perhaps a missing channel);
3.657        ├─ igv 2.16.2 would require
3.657        │  └─ openjdk 11.* , which does not exist (perhaps a missing channel);
3.657        ├─ igv [2.17.3|2.17.4] would require
3.657        │  └─ openjdk 17.* , which does not exist (perhaps a missing channel);
3.657        ├─ igv 2.19.1 would require
3.657        │  └─ openjdk 21.* , which does not exist (perhaps a missing channel);
3.657        ├─ igv [2.19.1|2.19.2] would require
3.657        │  └─ glib, which does not exist (perhaps a missing channel);
3.657        ├─ igv 2.19.3 would require
3.657        │  └─ openjdk <22 , which does not exist (perhaps a missing channel);
3.657        └─ igv [2.4.16|2.4.17] would require
3.657           └─ openjdk >=8.0,<9 , which does not exist (perhaps a missing channel).
3.659 critical libmamba Could not solve for environment specs
------

@robnewman robnewman requested review from pinin4fjords and robsyme May 23, 2025 17:52
@robnewman robnewman requested a review from robsyme May 23, 2025 21:22
Copy link
Member

@robsyme robsyme left a comment

Choose a reason for hiding this comment

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

Tidy. Nice work, Rob.

@robnewman
Copy link
Member Author

robnewman commented May 24, 2025

Tested and Thunar works as expected, but IGV doesn't work! IGV gets installed in a weirdly named directory and does not appear to be executable (even though it clearly is):

CleanShot 2025-05-24 at 13 20 32@2x

@robnewman
Copy link
Member Author

@pinin4fjords Any ideas here? It looks like the igv environment doesn't get activated and IGV is not executable. I'm at the limit of my Docker kung-fu.

@robsyme
Copy link
Member

robsyme commented May 25, 2025

Tested and Thunar works as expected, but IGV doesn't work! IGV gets installed in a weirdly named directory and does not appear to be executable (even though it clearly is):

Surely it must get symlinked in somewhere. @robnewman - what is the output of

which igv

Does this directory exist?

ls /opt/conda/bin

@pinin4fjords
Copy link
Member

@pinin4fjords Any ideas here? It looks like the igv environment doesn't get activated and IGV is not executable. I'm at the limit of my Docker kung-fu.

Yep, I don't think it will work to create a new env as you're doing (as least not without getting very fiddly), just update the base env with micromamba install, just like we do in the 'default' images.

@pinin4fjords
Copy link
Member

Sorry, this comment might be really annoying at this point. But I'm wondering if we actually need to re-create the Seqera Xpra image here?

Maybe we could demo how to augment the existing one?

FROM cr.seqera.io/public/data-studio-xpra:6.2.0-r2-1-0.8-rc

micromamba install -n igv -c bioconda

<other customisations here>

@robnewman
Copy link
Member Author

Sorry, this comment might be really annoying at this point. But I'm wondering if we actually need to re-create the Seqera Xpra image here?

Maybe we could demo how to augment the existing one?

FROM cr.seqera.io/public/data-studio-xpra:6.2.0-r2-1-0.8-rc

micromamba install -n igv -c bioconda

<other customisations here>

@pinin4fjords But then this repo will need to be updated every time a new Seqera-managed container is released, correct?

@pinin4fjords
Copy link
Member

Sorry, this comment might be really annoying at this point. But I'm wondering if we actually need to re-create the Seqera Xpra image here?
Maybe we could demo how to augment the existing one?

FROM cr.seqera.io/public/data-studio-xpra:6.2.0-r2-1-0.8-rc

micromamba install -n igv -c bioconda

<other customisations here>

@pinin4fjords But then this repo will need to be updated every time a new Seqera-managed container is released, correct?

I was kind of worried about the same thing in the other direction. This has a lot of the same content as the internal xpra Dockerfile, so if you have cause to change how the xpra image is built internally, we'll need to keep all that content in synch.

Plus we'll probably need to update for new connect base images anyway, at least this way it would just be the base image.

Anyway, just a suggestion.

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.

4 participants