Closed lekhakaranam closed 4 years ago
@lekhakaranam I'm also getting docker build and other errors, seemingly because of sourmash/bam2fasta/pysam/samtools conflicts. @pranathivemuri can you offer any insight?
(base)
Fri 7 Aug - 08:04 ~/code/nf-core/kmermaid--olgabot/lekha-template template_merge ✔
docker build -t nfcore/kmermaid:template .
Sending build context to Docker daemon 11.34MB
Step 1/11 : FROM nfcore/base:1.9
---> f1c63ec29383
Step 2/11 : LABEL authors="Olga Botvinnik" description="Docker image containing all software requirements for the nf-core/kmermaid pipeline"
---> Using cache
---> 40bc4d13ad0d
Step 3/11 : COPY environment.yml /
---> 7e4421061611
Step 4/11 : RUN conda env create -f /environment.yml && conda clean -a
---> Running in 948333058ad7
Collecting package metadata (repodata.json): ...working... done
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Package libdeflate conflicts for:
bioconda::sourmash=3.2.2 -> bam2fasta[version='>=1.0.1'] -> pysam -> libdeflate[version='>=1.0,<1.1.0a0|>=1.3,<1.4.0a0|>=1.5,<1.6.0a0|>=1.6,<1.7.0a0']
pysam=0.15.4 -> libdeflate[version='>=1.5,<1.6.0a0']
bioconda::samtools=1.10 -> htslib[version='>=1.10,<1.11.0a0'] -> libdeflate[version='>=1.3,<1.4.0a0|>=1.6,<1.7.0a0']
The command '/bin/sh -c conda env create -f /environment.yml && conda clean -a' returned a non-zero code: 1
Okay I changed sourmash
to use sourmash-minimal
from conda-forge
instead since we're just using the basic features and isolated the problem to just pysam and samtools:
(base)
✘ Fri 7 Aug - 08:21 ~/code/nf-core/kmermaid--olgabot/lekha-template template_merge ✔
docker build -t nfcore/kmermaid:dev .
Sending build context to Docker daemon 11.36MB
Step 1/11 : FROM nfcore/base:1.9
---> f1c63ec29383
Step 2/11 : LABEL authors="Olga Botvinnik" description="Docker image containing all software requirements for the nf-core/kmermaid pipeline"
---> Using cache
---> 40bc4d13ad0d
Step 3/11 : COPY environment.yml /
---> fce08e89220d
Step 4/11 : RUN conda env create -f /environment.yml && conda clean -a
---> Running in 3cbd60425d4f
Collecting package metadata (repodata.json): ...working... done
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Package libdeflate conflicts for:
pysam=0.15.4 -> libdeflate[version='>=1.5,<1.6.0a0']
bioconda::samtools=1.10 -> htslib[version='>=1.10,<1.11.0a0'] -> libdeflate[version='>=1.3,<1.4.0a0|>=1.6,<1.7.0a0']
We're already at the latest version of samtools, bioconda::samtools=1.10
but right now I'm testing upgrading pysam=0.15.4
--> bioconda::pysam=0.16.0
and it seems to be at least building! We'll see if the tests pass :)
We'll have to make a separate PR with just the environment/dockerfile changes I believe, so that this PR can be built with the new environment.
@lekhakaranam it looks like the tests from the old .travis.yml didn't get moved to the .github/workflows/ci.yml
file for continuous integration. There's a lot of tests to migrate :) I started the file for you, but can you add the rest of the tests, except for the "checking for failure" tests? Anything that has if [ $? -eq 0 ]
is a "checking for failure" test. For those, can you make a separate ci_check_failure.yml
file that runs the pipeline, but with the "check for failure" aka non-exit code zero at the end?
Here's the code to add to the test:
; if [ $? -eq 0 ]; then exit 1 ; else echo "Correctly failed ${{ matrix.profile_flags }}" ; fi
Argh still failing because of pysam/samtools issues (log below). @pranathivemuri do you mind bumping the pysam version for bam2fasta
to 0.16.0
to avoid the conflict?
what are igenomes for?
@olgabot now the tests are actually failing, let me know if you would like to look at it together tomorrow - get_software_versions is failing but there is no exact way to find out which of the packages is missing, would like your input - I fixed the linting issues, missing schema.json, Dockerfile formatting
so after this PR - https://github.com/nf-core/kmermaid/pull/30 there was no automatic TEMPLATE branch setup as per the instructions here - https://nf-co.re/developers/sync#setting-up-a-pipeline-for-syncing-retrospectively which is forcing us to manually sync now. please correct me if I am wrong!
We have to definitely do it this time so we don't suffer through this again
I think I see what's happening:
WARN: Access to undefined parameter `publish_dir_mode` -- Initialise it to a default value eg. `params.publish_dir_mode = some_value`
Error executing process > 'sourmash_compute_sketch_fastx_nucleotide (SRR4050380__molecule-dna__ksize-3__num_hashes-4__track_abundance-false)'
Caused by:
No enum constant nextflow.processor.PublishDir.Mode.NULL
From: https://github.com/nf-core/kmermaid/pull/93/checks?check_run_id=1192829083
Many thanks to contributing to nf-core/kmermaid!
Please fill in the appropriate checklist below (delete whatever is not relevant). These are the most common things requested on pull requests (PRs).
PR checklist
dev
rather thanmaster
nextflow run . -profile test,docker
).nf-core lint .
).docs
is updatedCHANGELOG.md
is updatedREADME.md
is updatedLearn more about contributing: https://github.com/nf-core/kmermaid/tree/master/.github/CONTRIBUTING.md