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

No valid choice in the pipeline parameters for hybrid strategies and problem with -c config #36

Closed
josruirod opened this issue Jul 25, 2022 · 9 comments · Fixed by #37
Closed
Assignees
Labels
bug Something isn't working

Comments

@josruirod
Copy link

Hi, thanks for the impressive work and pipeline

So I'm trying to use it on our data, and getting a couple of errors for starters.
If I ran the pipeline with --input XXXX.yml and --hybrid_strategy 2, I get the error:

Launching https://github.com/fmalmeida/mpgap [golden_bell] DSL2 - revision: c1d2ab6 [master]
ERROR: Validation of pipeline parameters failed!

  • --hybrid_strategy: '2' is not a valid choice (Available choices: 1, 2, both)
  • --hybrid_strategy: '2' is not a valid choice (Available choices: 1, 2, both)

both seems to be working with this syntaxis, but not 1 nor 2

If I ran the pipeline trying to provide the config file with -c, I get the error

N E X T F L O W ~ version 22.04.5
Unknown method invocation call on BigDecimal type -- Did you mean?
scale

I don't have much experience with nextflkow, so I may be missing something "easy". Hope you can comment and help. Thanks for the support

@fmalmeida
Copy link
Owner

fmalmeida commented Jul 25, 2022

Hi @josruirod,

Thanks for your words and for reporting this issue.

I will take a look at this ASAP. But at first glance, I think it might be related to an update in nextflow and how it is handling the integers and strings when read from command line. To guarantee that this may be the case, can you try passing this parameter through the samplesheet (as shown here), instead of the command line, please?

About the error with -c, I really don't have a clue of what it may be. Can you share your config file and how you executed in that case?

@fmalmeida fmalmeida self-assigned this Jul 25, 2022
@fmalmeida fmalmeida added the bug Something isn't working label Jul 25, 2022
@fmalmeida
Copy link
Owner

For the problem related to the parameter, I created a new branch called params-issue. Can you later try to run the pipeline using the code from this branch so we can check if it solves the issue before merging?

For that, you would need to attach the following in your command line: -r params-issue -latest.

@josruirod
Copy link
Author

Hi, thanks for the prompt response! So few points to answer:

  • Seems to be working if I include the hybrid strategy in the samplesheet
  • About the error with -c, find attached the config file, and the execution was just:
    test.config.txt

nextflow run fmalmeida/mpgap -c test.config

  • Couple of comments. I got it working in the both hybrid strategy. Quast failed and weirdly enough, the command.sh, stderror, etc, in essence the files in the folder to debug were empty. I'm probably more interested in strategy 2 either way, and I think quast is in strategy 1, right? In any case, would the pipeline finish if I had let it run, the QC is not essential, right? Can Quast and MultiQC be skipped somehow, maybe similar to the assemblers?

Best

@fmalmeida
Copy link
Owner

Hi @josruirod,

I am not sure, but I think the problem on your config file is that you've set genome_size param as a number:

genome_size = 23.3m

But this actually needs to be a string:

genome_size = "23.3m"

Not saying is really that, but is the only thing I could spot in a rapid look.

About the QC steps, actually they are performed in any strategy ... and is indeed super weird that your files are all blank. They should've at least have started and have something in it, even an error 🤔

Unfertunately, skippping is not possible, I may add in a future release, if you please open a new issue describing why you want it and flagging as "enchancement" 😄 .

But, even though you can't skip, I think is possible to ignore its errors and avoid pipeline crash if they fail, with a config file like this:

process {
    withName: 'multiqc|quast' {
        errorStrategy = 'ignore'
    }
}

Please, let me know if that helps 😄

@josruirod
Copy link
Author

Thanks for your time and kind support!

So indeed, if I added genome size with quotes in the config file and used -c, it started but later complained also in relation with the hybrid strategy:

  • --hybrid_strategy: '2' is not a valid choice (Available choices: 1, 2, both)

If I add quotes to hybrid strategy within the config, like hybrid_strategy = "2", then it works! But if I provide the parameter manually in the command line, --hybrid_strategy "2", same error.

About the QC, sure, I didn't mean that they are not necessary. I would like to get them to work. But maybe if they fail the whole pipeline shouldn't fail? Usable results could be obtained without requiring to restart the execution.
I added those lines to ignore errors in the config file. It's currently running, will let you know if quast is bypassed.
Maybe I'm opening another issue regarding with quast errors, so this one does not get too unrelated. Thanks

@josruirod josruirod changed the title No valid choice in the pipeline parameters? No valid choice in the pipeline parameters for hybrid strategies and problem with -c config Jul 25, 2022
@fmalmeida
Copy link
Owner

fmalmeida commented Jul 26, 2022

Thanks for that. I will continue to take a look. Just to make sure, you continued to observe the error with hybrid_strategy even with the new branch? Because when I use it, it does not complain about hybrid_strategy anymore.

And I totally get what you mean about the QC. I think would be good to create a new issue to solve this quast error 😃

@fmalmeida fmalmeida linked a pull request Jul 26, 2022 that will close this issue
@josruirod
Copy link
Author

Hi, thanks for the work! So I'm happy to check, but can you please help? How can I run the new branch only? I've git cloned it, but the nextflow run command and some modifications I've tried seem to load the master branch only. Thanks

@fmalmeida
Copy link
Owner

fmalmeida commented Jul 26, 2022

No, you don't need to clone it. I wrote here but you probably did not see 😄

You can use it directly from nextflow:

nextflow run fmalmeida/mpgap -r params-issue -latest [the rest of params you were using].

with -r you tell nextflow which revision you want, either a branch or a release tag.

@josruirod
Copy link
Author

josruirod commented Jul 26, 2022

Oh my, apparently we wrote the mesage at exactly the same time, according to github, 20:54 CEST yesterday. What a sync. That's why I did not see your message. Sorry about that.
So I can confirm with the params-issue what I observed with the hybrid seems to be solved. It does not complain like before and starts to run. Thanks for the help, let's see if I can make the whole pipeline to run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants