AndriiPovsten / Snakemake-backend-for-RECAST

Snakemake implementation for RECAST
1 stars 0 forks source link

Run RECAST hello world example on REANA #14

Open matthewfeickert opened 1 year ago

matthewfeickert commented 1 year ago

Following up on Issue #1, now that there is a Snakemake based workflow for the RECAST hello world example, we should additionally add a workflow and instructions to be able to run this workflow on REANA.

This would include:

AndriiPovsten commented 1 year ago

@matthewfeickert for running a Snakemake workflow as I understand from this example: [(https://blog.reana.io/posts/2021/support-for-running-snakemake-workflows/)] I adittionaly should create a reana-snakemake.yaml file and after see the output from reana-client validate -f reana-snakemake.yaml --environments --pull:? Something like this:

version: 0.8.0
inputs:
  files:
    - data/input.txt
    - results/helloworld_output.txt
  directories:
    - recast_helloworld/snakemake
  parameters:

    input: recast_helloworld/snakemake/input.txt

workflow:

  type: snakemake

  file: recast_helloworld/Snakefile

outputs:
  files:
    - results/example_output.txt

Because just reana-environment.yml shouldn't be enough for running Snakefile on REANA?:

name: Snakemake-reana-helloworld-example
channels:
  - conda-forge
dependencies:
  - python=3.11
  - bioconda::snakemake=7.25.0
  - pip
  - pytest
  - pandas
  - samtools
  - matplotlib
  - ruff
  - pip:
    - reana-client
matthewfeickert commented 1 year ago

Given our call today the recommendations I have for moving forward are:

matthewfeickert commented 1 year ago
  1. So we already have a PR that is most of the way there with PR #16. :+1: So we can focus on having that get cleaned up and merged into main as the top proiroity for this week.
    • We also noted that when running in the logs we get a note of
      conda environments: ignored
      Singularity containers: ignored

which seems to indicate that these aren't getting picked up by Snakemake at runtime. This should get figured out, and see if this is due to options not being passed at the CLI API or if this is due to some configuration issue. Probably easiest to start by googling on these commments.

  1. After that is merged in, then we can look at having @AndriiPovsten resolve any merge conflicts that exit in PR #17, which is going to get renamed and rescoped to addd the use instruction so the README.
  2. After both of these are merged into main, then I will add an additional example into Issue #15 and we can go from there.

As the project ends 2023-09-22 we should stop "the work" with finishing Issue #15 and we can then spend the rest of the time making sure the documentation is clear as well as working on preparing a very nice presentaiton to show off the work that has been done.

AndriiPovsten commented 1 year ago

@matthewfeickert I suppose that the problem is due to the missing singularity package. I was trying to install it but received such message:


conda install -c conda-forge singularity
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - singularity

Current channels:

  - https://conda.anaconda.org/conda-forge/osx-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

But singularity is installed via the conda-forge channel as said here: singularity. Do you know any other ways to install it? Just in case I'll try to add in the environment.file

AndriiPovsten commented 1 year ago

Close #14 After this issue, we have: