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

Baysor module #7270

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Baysor module #7270

wants to merge 5 commits into from

Conversation

sebgoti
Copy link

@sebgoti sebgoti commented Jan 7, 2025

Attempting to do my first module’s contribution, so some things might be improved. I also know that @khersameesh24 wanted to work on this module.

Quick note on tests:

  • Right now there is no main.nf.test.snap file since the module’s output is non-deterministic. I was not sure on what is the best way to tackle this, so any feedback is really appreciated.

process BAYSOR {
tag '$meta.id'
label 'process_high_memory'
container "docker.io/segonzal/baysor:0.7.1"
Copy link
Contributor

@khersameesh24 khersameesh24 Jan 7, 2025

Choose a reason for hiding this comment

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

@sebgoti, ask a core team member to get the baysor image into nf-core
You can also refer to Docker image if the image size is too large

Copy link
Author

Choose a reason for hiding this comment

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

@khersameesh24, indeed my current image is very large (~15 GB). I could refer to yours but I wanted to use the latest version (0.7.1). Could you help me figuring out how to reduce the size? Here is how I build the image:
FROM quay.io/pypa/manylinux2014_x86_64

WORKDIR /app
RUN yum install -y unzip
RUN curl -O -L https://github.com/kharchenkolab/Baysor/releases/download/v0.7.1/baysor-x86_x64-linux-v0.7.1_build.zip
RUN unzip baysor-x86_x64-linux-v0.7.1_build.zip
RUN mv bin unzip
RUN mv unzip/baysor/* .
RUN rm -rf unzip
RUN rm baysor-x86_x64-linux-v0.7.1_build.zip
ENV PATH="/app/bin:$PATH"

Copy link
Contributor

Choose a reason for hiding this comment

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

The docker image from [Baysor Dockerhub](docker pull vpetukhov/baysor:v0.7.0) can also be referred to in this case

Copy link
Author

Choose a reason for hiding this comment

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

I just checked and my image with the latest version has a compressed size of 5.41 GB, this one (vpetukhov/baysor:v0.7.0) is 2.12 GB. If this difference is not significant I would rather keep the latest version since it fixes some issues from the tool.

def VERSION = "0.7.1"

"""
/app/bin/baysor run ${transcripts_csv} -c ${config_toml} $args
Copy link
Contributor

Choose a reason for hiding this comment

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

In the docker image, add the baysor executable to PATH

when:
task.ext.when == null || task.ext.when

script:
Copy link
Contributor

@khersameesh24 khersameesh24 Jan 7, 2025

Choose a reason for hiding this comment

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

add the following code snippet to have a check for conda

if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
        error "Baysor module does not support Conda. Please use Docker / Singularity / Podman instead."
    }

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.

2 participants