Hi, I have a pipeline version question to ask. I'v...
# help
c
Hi, I have a pipeline version question to ask. I've been expanding
nf-core/pacvar
pipeline over the past few months. The current release version of pacvar is 1.0.1. In the dev branch, another contributor and I have added six major modules:
hificnv
for copy number variants,
pbmerge
for merging failed BAMs,
sawfish
for structural variants,
pbcpgtools
for 5mC methylation,
ensemblvep
for variant annotation, and
fibertools
for m6A/nucleosome processing. These additions substantially expand pacvar’s support for PacBio long-read sequencing analysis. Given that this is a major update from 1.0.1, should the next release remain 1.1.0, as currently labeled in the development branch (v1.1.0dev), or should I bump it to 2.0.0? Thank you.
m
In semantic versioning, the pipeline interface is what matters. Is a v1,0.1 user able to run your new version with exactly the same input parameters and find the outputs in the same place ? If yes (i.e. you’ve only expanded the interface), then it’s v1.1.0. If no (i.e. you’ve modified the interface in a breaking manner), then it’s v2.0.0.
c
Thank you, @Matthieu Muffato. So here is what I am confused: The user is able to run the newer version with exactly the same input parameters. But a few outputs (from tabxi/samtools) are rearranged and published in different directories, and several outputs are new, especially for annotation, CpG scores, and copy number variations. Is changing a few minor output file paths considered a breaking change?
p
Generally speaking, most nf-core pipelines would not consider this breaking, no.
🙌 1
There is some variation and in the end it's a choice for the person drafting the release. There's no right or wrong answer.
Do whatever you think is most appropriate for users of the pipeline 🙂
c
Got it. Thank you, Phil. I will keep it V1.1.0.
👍🏻 1
j
But like Phil said, we are not that strict
👍 1
c
Great. I was just looking for the documentation. I think I should keep it as V1.1.0. Thanks for all the help.