-
Notifications
You must be signed in to change notification settings - Fork 42
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
Contrasts schema validation #410
base: dev
Are you sure you want to change the base?
Conversation
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 3.0.2. For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation. |
|
Waiting on new nf-schema version 2.3.0 soon to be released |
@grst I added the changes you mentioned, pipeline is working and tests are passing. Based on what we discussed here, we now need to merge this shinyngs PR, then make a new release, and then update the nf-core module, so that I can then update this PR with the latest version that allows .yaml contrasts files and I can delete the script in the bin/ folder. Looping @pinin4fjords in. |
…into contrasts_schema_validation
@grst @pinin4fjords All set, please take a look! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of comments. Please also update the tube map to reflect the the move away from CSV for contrasts.
Note also that this is quite a breaking change, so the next pipeline release is definitely a major one after this: 2.0.0.
Huh, I thought we kept accepting both formats for now? I'm fine either way, but then we should consider postponing a 2.0 release until we also implemented formula-based model definitions (#362) as this might possibly break compatibility to the current yaml format again. |
I thought so too, but the rest of the changes here seemed to indicate a change of plan. |
@grst I was acting on this comment. However, I noticed that @pinin4fjords had a different opinion about it. I can revert the changes regarding CSV compatibility; I just need to know the final decision on this matter. |
I think the cost of backwards-compatibility is low here, so let's keep it. |
@grst @pinin4fjords Adding backwards compatibility wasn't as trivial as I thought since I couldn't find a way of having a json schema that works for both csv and yaml files. What I did instead was add a line of code that would remove the contrasts schema validation from the nextflow_schema.json (and store it into a new schema file), whenever a csv contrasts file is provided. I also added a test case for csv contrasts file so that we don't lose this compatibility with further changes. |
I really don't think we should be dynamically changing workflow files. I see a few options:
Maybe we just bit the bullet and do 3. I would have liked it to be backwards compatible, but it's not looking very feasible without a high degree of additional complexity. Thoughts? |
I like the idea of keeping backwards compatibility + keeping the validation, so I'm inclined towards the first bullet point. Let me revert the latest commit and add a draft commit with these changes and we can review again. |
fa717f1
to
69a88be
Compare
I'm fine with either solution. It will anyway be a temporary solution until we start implementing the formula-based model definition. |
@pinin4fjords What do you think? |
To close #405 once the issue in the schema plugin is sorted out
PR checklist
nf-core lint
).nf-test test main.nf.test -profile test,docker
).nextflow run . -profile debug,test,docker --outdir <OUTDIR>
).docs/usage.md
is updated.docs/output.md
is updated.CHANGELOG.md
is updated.README.md
is updated (including new tool citations and authors/contributors).