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

Error: Invalid parameter type for parameter input_csv #111

Open
alkaZeltser opened this issue Nov 5, 2022 · 1 comment
Open

Error: Invalid parameter type for parameter input_csv #111

alkaZeltser opened this issue Nov 5, 2022 · 1 comment

Comments

@alkaZeltser
Copy link

alkaZeltser commented Nov 5, 2022

Describe the issue
I'm attempting to run call-gSNP and getting the following error:
Invalid parameter type for parameter input_csv. Requires class java.lang.String but received class groovy.util.ConfigObject.
Could be totally wrong but my first suspicion was that it might be because I'm trying to automate the config file and input_csv path creation by using this code in the config file:

final String SAMPLE = 'BZPRGPT1000001-N001-B01-F'
params {
input_csv = "/hot/project/disease/ProstateTumor/PRAD-000100-ProSeqGPilot/call-gSNP/inputs/${SAMPLE}.csv"
}

Got it from Julie L and it worked great for release 7. Any thoughts on how to make this back-compatible?

  • Pipeline release version: 9.1.0
  • Cluster you are using (SGE/Slurm-Dev/Slurm-Test): slurm
  • Node type (F2s (lowmem) / F72s (midmem) / M64s (execute)): F72
  • Submission method (interactive/submission script): script
  • Actual submission script (python submission script, "nextflow run ...", etc.)
  • Sbatch or qsub command and logs if applicable
  • Config files: /hot/project/disease/ProstateTumor/PRAD-000100-ProSeqGPilot/call-gSNP/configs/expanded-target-with-off-target-configs/
  • Path to the working directory
  • Any logs produced by the pipeline: /hot/user/nzeltser/project-disease-ProstateTumor-PRAD-000100-ProSeqGPilot/BZPRGPT1000001-N001-B01-F.log

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error
@yashpatel6
Copy link
Collaborator

The issue here is that call-gSNP automatically tried to validate the params and input_csv only accepts String. When you add ${} to a string, it becomes a Groovy String (GString). That type mismatch causes the error. This can be updated but wouldn't be immediate.

In the meantime, I'm not sure exactly how you're generating the final String SAMPLE = ... line for each config but you could apply the same logic to bypass this step and just replace ${SAMPLE} in input_csv during the config generation. That way, the config file will always have a String for input_csv and you'd also not need the extra final String SAMPLE = ... line since it seems to only be used for the input CSV.

Alternatively, call-gSNP supports YAML input so you can have a single config file and just generate a YAML for each sample.

Also, it looks like you're using an older version of the config template (I see some params that shouldn't be in the config with 9.1.0).

With major version updates (ex. 7.0.0 to 8.0.0), the changes are expected to be backwards-incompatible in general so I would be careful about trying to use older configs with different major versions of the pipeline.

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

No branches or pull requests

2 participants