Skip to content

Commit

Permalink
v0.1.0 pipeline release (#80)
Browse files Browse the repository at this point in the history
* Birth of a pipeline (#2)

* cleaned up the code and docs before starting

* cleaned up the github actions

* cleaned some more code

* removed unused pipeline code

* added an easily adjustable input checker

* removed some CI

* added the variant callers

* linting

* tests update

* ci update

* linting

* linting

* linting

* turned off actions

* added read counts + delly updates

* added scatter count to delly call

* added versions and multiqc

* updated the manta workflow

* updated the whamg workflow

* added versions to whamg

* added some additional test data

* updated the test data

* updated the test data

* updated the test data

* updated the test data

* overal updates and improvements

* small updates

* small updates

* metrics part 1

* metrics part 2

* Module  evidence qc (#3)

* make bincov matrix part 1

* added ploidy and parts of calcmedcov

* added WGD

* removed delly and added a reheader to MANTA

* added all code to the module (some parts are still broken)

* small updates

* small ploidy matrix fix

* small updates to evidenceQC + re-added delly

* Module gather batch evidence (#4)

* added groundwork for the module

* added groundwork for the module

* more work done

* removed commented lines

* Continue module gather batch evidence (#19)

* printsvevidence update (not done yet)

* restructured the pipeline to match nf-core v2.6

* updated module paths

* some small "improvements"

* Template update for nf-core/tools version 2.6

* additional fixes to the template

* removed wrong file

* Added clarifying comments to GSE

* updated some of the modules to 4.3.0.0

* fixed some issues caused by gatk4.3.0.0

* latest additions

* Refactoring (#20)

* refactored gather sample evidence

* refactor the rest

* New series of fixes and features (#21)

* update whamg

* update local tests

* updated whamg officially

* updated whamg + fixed svtk standardize

* small work on scramble (still no correct data for this tool)

* updated schema

* improved whamg bed file integration

* added a merge vcfs subworkflow

* small fix

* update test config

* added the samplesheet validation and conversion script

* hotfix dev test (#22)

* Add smoove & tests (#23)

* Template update for nf-core/tools version 2.6

* hotfix dev test

* fixed a lot of issues

* added smoove

* updated the schema

* fix samplesheet and schema

* add better outdir folders

* add tests

* tests fix

* fix secrets

* fix typo

* add more tests

* add template yml

* Template update for nf-core/tools version 2.7.2

* fixes after template merge

* linting

* more linting

* even more linting

* black

* Refactor the pipeline to prepare for subworkflow export to nf-core (#24)

* refactored the pipeline

* remove unused modules

* removed unused workflows

* Add gridss (#25)

* refactored the pipeline

* remove unused modules

* removed unused workflows

* add gridss

* add stub to local modules

* fix stubs

* fully add gridss

* add tests

* copy fix?

* add gridss test to ci

* exclude gridss vcfs from metrics (not supported)

* update min nextflow version to fix caching issue

* update gridss

* remove TODOs [no ci]

* Add genotyping (#26)

* update scattering

* update delly

* bump commit

* add --output_callers parameter

* small fix to --output_callers

* fix schema and test config

* removed reheadering from manta

* update bcftools/sort

* update bcftools/sort

* update headers after jasmine merge

* small fix

* finished genotyping

* fix for paragraph/multigrmpy

* updated the samplesheet conversion

* removed some unused modules

* add merging of samples from the same family

* removed scattering from whamg

* Updated jasmine (added support for bgzip to the module)

* fix prettier

* fix tests

* fix tests again and remove black CI

* add linting ci to nf-core.yml

* Adopted SVINSSEQ as uniform ins sequence info key

* disabled whamg for now

* add missing format header

* add patch for delly

* fix header typo

* remove local test profile

* updated test profiles and added big tests

* add delly args

* add new args to schema and config

* Add annotation + viola + join checks + cleanup (#29)

* add join checks

* fix delly mismatches

* Added viola

* fix header issues in single caller runs

* header fix?

* appease eclint

* add stub to reverse_bed

* fix for gridss?

* appease eclint again!

* typo

* fix permissions

* fix shebang

* fix shebang again

* disable gridss

* fix tests

* remove old code from gatk-sv

* Add VEP to the pipeline

* add some QOL parameters

* update tests

* QOL changes (variables and joins)

* disable scattering for delly

* remove unused gatk modules

* update modules

* made BED files optional

* add metro map and update readme

* forgot to save svg

* fix linting

* fix vep test

* free up CI space?

* use another cache for vep

* edit PosCon3 samplesheet_big.csv (#30)

* Add bcftools sort (#31)

* add join checks

* fix delly mismatches

* Added viola

* fix header issues in single caller runs

* header fix?

* appease eclint

* add stub to reverse_bed

* fix for gridss?

* appease eclint again!

* typo

* fix permissions

* fix shebang

* fix shebang again

* disable gridss

* fix tests

* remove old code from gatk-sv

* Add VEP to the pipeline

* add some QOL parameters

* update tests

* QOL changes (variables and joins)

* disable scattering for delly

* remove unused gatk modules

* update modules

* made BED files optional

* add metro map and update readme

* forgot to save svg

* fix linting

* fix vep test

* free up CI space?

* use another cache for vep

* add bcftools sort

* fix smoove output (#33)

* fix smoove output

* update according to other modules

* Fully implement annotation (#35)

* Template update for nf-core/tools version 2.6

* Template update for nf-core/tools version 2.7.2

* first steps

* fully implement the annotation

* update test

* offer a lamb to the linting gods

* bug fix

* offer a virgin to the linting gods (hope this is enough)

* Add dynamic VCFanno config creation

* go on a pilgrimage to the mountain of the linting gods and make a blood sacrifice

* fix and update annotate test to stub

* update vep container on stub runs

* add postannotations support to the configs

* simplified the vcfanno config code and made it smarter

* added new fields from the annotsv vcf to the default configs

* added a param for the default annotsv file name

* fix small bug with param

* fix small bug with param

* Add all default configs

* sacrificing my firstborn child to the linting gods

* Moved the unused configs to a separate folder

* update configs

* update vep config

* add option to annotate on small variants with AnnotSV (real test files should still be added)

* Remove unused VEP parameters

* fix issues

* add tests for small variants vcfs

* add an option to also output the annotsv outputs

* Merge wrongly placed commits (#40)

* fixes for big tests

* metro map update

* Template update for nf-core/tools version 2.8

* black linting

* update modules

* update modules

* fix local modules

* bump

* eclint

* update genome in docs

* update vcfanno configs retina and rpe

* fix rpe bed file in config

* Cnv support (#50)

* Template update for nf-core/tools version 2.6

* Template update for nf-core/tools version 2.7.2

* first steps

* fully implement the annotation

* update test

* offer a lamb to the linting gods

* bug fix

* offer a virgin to the linting gods (hope this is enough)

* Add dynamic VCFanno config creation

* go on a pilgrimage to the mountain of the linting gods and make a blood sacrifice

* fix and update annotate test to stub

* update vep container on stub runs

* add postannotations support to the configs

* simplified the vcfanno config code and made it smarter

* added new fields from the annotsv vcf to the default configs

* added a param for the default annotsv file name

* fix small bug with param

* fix small bug with param

* Add all default configs

* sacrificing my firstborn child to the linting gods

* Moved the unused configs to a separate folder

* update configs

* update vep config

* add option to annotate on small variants with AnnotSV (real test files should still be added)

* Remove unused VEP parameters

* fix issues

* add tests for small variants vcfs

* add an option to also output the annotsv outputs

* Merge wrongly placed commits (#40)

* fixes for big tests

* metro map update

* Template update for nf-core/tools version 2.8

* black linting

* update modules

* update modules

* fix local modules

* bump

* eclint

* update genome in docs

* update vcfanno configs retina and rpe

* fix rpe bed file in config

* adjust test to new data

* remove unused data from workflows

* remove simple event annotation

* update modules config

* remove unused modules

* fix compile error

* another compile error

* remove comments in config

* guess what! another compile error

* small fixes to annotsv

* update viola

* circumvent a annotsv bug

* add gridss genotyping

* filter out variants with 0/0 genotype from gridss

* move ref variants filtering to before annotsv

* update tests

* fix linting and add meta to references

* black

* install expansionhunter

* fix merge conflict issues

* fix linting

* fix config

* fix stub

* add expansionhunter

* some concurrency debugging

* add nf-validation support

* revert to using linkedhashmap for now

* fix jasmine issue

* update tests

* fix typos

* fix linting

* there you go editorconfig

* let's make it pretty

* update nf-test config

* fix even more tests

* add concat output and fix tests

* fix schema

* now be nice please

* i'm pretty again

* update big test samplesheet [no ci]

* fix max_time pattern [no ci]

* add bcftools sort to single runs

* only apply viola on gridss VCFs and change prefixes

* remove unused comment [no ci]

* fix input pattern

* improve the efficiency of viola

* black

* added a sort step to gridss

* updated the gridss label

* patch gridss module

* remove estimate_read_length

* remove unused code

* small typo

* add -ends to vcfanno

* add full test config

* fix full test description

* update samplesheet

* add exists tags to the samplesheet schema

* specify advised resources for gridss

* possible fix for gridss OOM?

* remove code duplication

* remove an unused parameter

* added a check for callers support being higher than the amount of sv callers

* update metro map

* increase gridss memory

* try to optimize gridss part 2

* try to optimize gridss part 3

* oops

* oops 2

* oops 3

* update to advised amounts

* increase viola time

* discourage the use of gridss for now

* typo

* linting fix

* rename SV subworkflow

* fix expansionhunter catalog and add qdnaseq ref

* add qdnaseq

* add a check for the qdnaseq reference

* fixed some issues with qdnaseq

* add cram merging and index creation

* update resources for qdnaseq

* update resources for qdnaseq

* update resources for qdnaseq

* fix resources qdnaseq

* add wisecondorx

* updated the metro map

* fix background of metro map

* update resolution

* update resolution

* remove old samplesheet conversion script

* moved available callers to a groovy script

* removed the manual check for file exists (now fully uses nf-validation)

* fix a bug with concat when a cnv caller has been supplied

* added some comments for the last fix

* update optional input handling

* fix small issue with annotsv annotations

* fix a no process matching selector warning

* revert last changes

* temp fix for warning

* improve vep cache handling + update modules

* typo

* fix container declaration

* fix for manta issue?

* undo last commit

* version bump expansionhunter

* added support for manta configs

* made qdnaseq references gender specific

* update manta resources

* add contig input to manta

* moved the contigs file creation to the manta subwf

* fix vep params in schema

* fix linting with no template update

* fix nf-test tests

* fix eclint

* fix eclint

* change gender to sex

* typo

* added the sex arg to expansionhunter

* fix nf-test config for v0.8.0

* revert nf-test to 0.7.3

* prettier

* set default sex to female instead of male

* fix tests samplesheet

* Fix vep container issue (#52)

* add dynamic container fetching for vep

* linting fix

* moved the function to the process itself

* fix conda issue

* eclint

* fix params schema

* fix linting

* fix for vep issue?

* fix for missing singularity container

* Add filtering on annotations + fix linting (#55)

* Add filtering on annotations

* fix linting

* begone trailing whitespace

* add annotation filter to test

* CNV VCFs (#58)

* add vcf creation to wisecondorx

* add qdnaseq vcfs

* update tests

* add a simple qdnaseq filter

* small fix in the wisecondorx config

* small naming fix

* add jasmine

* fix for config?

* fix tests

* prettier

* fix tests again

* fix output logic

* fix jasmine + add annotation

* eclint

* more output logic fixes

* eclint (again)

* more output logic fixes

* fix cnv outputs

* remove obsolete if statement

* fix issue with meta joining

* Family merging (#61)

* add vcf creation to wisecondorx

* add qdnaseq vcfs

* update tests

* add a simple qdnaseq filter

* small fix in the wisecondorx config

* small naming fix

* add jasmine

* fix for config?

* fix tests

* prettier

* fix tests again

* fix output logic

* fix jasmine + add annotation

* eclint

* more output logic fixes

* eclint (again)

* more output logic fixes

* fix cnv outputs

* remove obsolete if statement

* fix issue with meta joining

* add family name to the samplesheet and meta

* changes to jasmine subwf + add family merging subwf

* add correct reheadering

* add family merging (does not work rn)

* some more work

* fix repeat  VCF error

* add z-score to VCF header

* small fixes to sex defining

* Add proper testing + fix some issues found (#64)

* add vcf creation to wisecondorx

* add qdnaseq vcfs

* update tests

* add a simple qdnaseq filter

* small fix in the wisecondorx config

* small naming fix

* add jasmine

* fix for config?

* fix tests

* prettier

* fix tests again

* fix output logic

* fix jasmine + add annotation

* eclint

* more output logic fixes

* eclint (again)

* more output logic fixes

* fix cnv outputs

* remove obsolete if statement

* fix issue with meta joining

* add family name to the samplesheet and meta

* changes to jasmine subwf + add family merging subwf

* add correct reheadering

* add family merging (does not work rn)

* some more work

* fix repeat  VCF error

* first commit

* add z-score to VCF header

* small fixes to sex defining

* add test for bam_cnv_calling

* test bam_prepare_samtools

* test bam_repeat_estimation_expansionhunter

* test bam_sv_calling

* test bam_variant_calling_delly

* test bam_variant_calling_gridss

* test bam_variant_calling_manta

* test bam_variant_calling_qdnaseq

* test bam_variant_calling_smoove

* test bam_variant_calling_wisecondorx

* uniformize config

* test vcf_annotate_vep_annotsv_vcfanno

* test vcf_concat_bcftools

* test vcf_merge_callers_jasmine

* fix header

* update vep annotations

* oops

* add gnomad to vep

* revert vep container changes

* add sift

* fix merge crams with families

* fix join duplication for replicates

* fully test jasmine family merge

* uniformize tests

* fix duplication glitch

* add pipeline tests for callers

* add families tests

* add duplicates tests

* remove old tests and add new tests to ci

* fix linting

* use nf-core dev for linting

* update minimum nextflow version

* revert nf-core version to latest

* upload artifacts

* fix artifacts

* only upload nf-test folder

* fix artifact again?

* fix artifact again?

* fix artifact again?

* prettier

* only get artifacts on failure

* only get artifacts on failure

* only get artifacts on failure

* fix qdnaseq test

* set nf-test to v0.8.1

* try to fix permission errors

* update family jasmine tests

* small clarification in the header

* Fix annotsv TCL error (#69)

* add vcf creation to wisecondorx

* add qdnaseq vcfs

* update tests

* add a simple qdnaseq filter

* small fix in the wisecondorx config

* small naming fix

* add jasmine

* fix for config?

* fix tests

* prettier

* fix tests again

* fix output logic

* fix jasmine + add annotation

* eclint

* more output logic fixes

* eclint (again)

* more output logic fixes

* fix cnv outputs

* remove obsolete if statement

* fix issue with meta joining

* add family name to the samplesheet and meta

* changes to jasmine subwf + add family merging subwf

* add correct reheadering

* add family merging (does not work rn)

* some more work

* fix repeat  VCF error

* first commit

* add z-score to VCF header

* small fixes to sex defining

* add test for bam_cnv_calling

* test bam_prepare_samtools

* test bam_repeat_estimation_expansionhunter

* test bam_sv_calling

* test bam_variant_calling_delly

* test bam_variant_calling_gridss

* test bam_variant_calling_manta

* test bam_variant_calling_qdnaseq

* test bam_variant_calling_smoove

* test bam_variant_calling_wisecondorx

* uniformize config

* test vcf_annotate_vep_annotsv_vcfanno

* test vcf_concat_bcftools

* test vcf_merge_callers_jasmine

* fix header

* update vep annotations

* oops

* add gnomad to vep

* revert vep container changes

* add sift

* fix merge crams with families

* fix join duplication for replicates

* fully test jasmine family merge

* uniformize tests

* fix duplication glitch

* add pipeline tests for callers

* add families tests

* add duplicates tests

* remove old tests and add new tests to ci

* fix linting

* use nf-core dev for linting

* update minimum nextflow version

* revert nf-core version to latest

* upload artifacts

* fix artifacts

* only upload nf-test folder

* fix artifact again?

* fix artifact again?

* fix artifact again?

* prettier

* only get artifacts on failure

* only get artifacts on failure

* only get artifacts on failure

* fix qdnaseq test

* set nf-test to v0.8.1

* try to fix permission errors

* update family jasmine tests

* split annotsv input files by svtype and merge them back

* small clarification in the header

* fix bcftools concat issue

* fix linting

* don't lint .prettierignore

* Add Svync standardization + other fixes (#72)

* add vcf creation to wisecondorx

* add qdnaseq vcfs

* update tests

* add a simple qdnaseq filter

* small fix in the wisecondorx config

* small naming fix

* add jasmine

* fix for config?

* fix tests

* prettier

* fix tests again

* fix output logic

* fix jasmine + add annotation

* eclint

* more output logic fixes

* eclint (again)

* more output logic fixes

* fix cnv outputs

* remove obsolete if statement

* fix issue with meta joining

* add family name to the samplesheet and meta

* changes to jasmine subwf + add family merging subwf

* add correct reheadering

* add family merging (does not work rn)

* some more work

* fix repeat  VCF error

* first commit

* add z-score to VCF header

* small fixes to sex defining

* add test for bam_cnv_calling

* test bam_prepare_samtools

* test bam_repeat_estimation_expansionhunter

* test bam_sv_calling

* test bam_variant_calling_delly

* test bam_variant_calling_gridss

* test bam_variant_calling_manta

* test bam_variant_calling_qdnaseq

* test bam_variant_calling_smoove

* test bam_variant_calling_wisecondorx

* uniformize config

* test vcf_annotate_vep_annotsv_vcfanno

* test vcf_concat_bcftools

* test vcf_merge_callers_jasmine

* fix header

* update vep annotations

* oops

* add gnomad to vep

* revert vep container changes

* add sift

* fix merge crams with families

* fix join duplication for replicates

* fully test jasmine family merge

* uniformize tests

* fix duplication glitch

* add pipeline tests for callers

* add families tests

* add duplicates tests

* remove old tests and add new tests to ci

* fix linting

* use nf-core dev for linting

* update minimum nextflow version

* revert nf-core version to latest

* upload artifacts

* fix artifacts

* only upload nf-test folder

* fix artifact again?

* fix artifact again?

* fix artifact again?

* prettier

* only get artifacts on failure

* only get artifacts on failure

* only get artifacts on failure

* fix qdnaseq test

* set nf-test to v0.8.1

* try to fix permission errors

* update family jasmine tests

* split annotsv input files by svtype and merge them back

* small clarification in the header

* fix bcftools concat issue

* fix linting

* don't lint .prettierignore

* deprecate gridss for now

* implement delly svync

* implement manta svync

* implement smoove svync

* add better headering to merge callers

* small fix to bcftools annotate

* fix headers for family merging

* remove unused assets

* fix some stability issues

* simplify expansionhunter handling

* reheader with bcftools/reheader again

* fix the headering once and for all

* add a quick view statement

* change view to dump

* rename dump tag

* extra dump

* fix join issue

* fix header issues with annotsv

* add missing header line for annotsv

* fix callers info field

* remove some views

* add views for hpc debugging

* a workaround for double variants in annotsv

* a workaround for double variants in annotsv try 2

* remove view statements

* fix join error?

* fix some linting issues

* don't test gridss

* drop pinned nf-test version

* disable gridss tests for real

* fix some tests

* update subwf tests

* update pipeline tests

* fix annotate tests?

* fix annotate tests again?

* add views to annotation test

* fix join error + fix test jasmine

* revert join error changes?

* another try to fix weird join error

* join error fix try 3

* join error fix try 4

* join error fix try 5

* join error fix try 6

* join error fix try 7

* Template v2.13.1 sync + update all modules (#73)

* Template update for nf-core/tools version 2.6

* Template update for nf-core/tools version 2.7.2

* update pipeline name

* update test-data repo name

* update test data config name

* update pipeline name

* update pipeline name

* update nf-core yaml

* Template update for nf-core/tools version 2.13.1

* Merge branch 'TEMPLATE' into template-v2.13.1-sync

* fix some linting issues

* update all modules

* fix subwf in modules json

* remove unused code

* remove unused code

* fix jasminesv

* fix eclint

* prettier

* have nf-test in the CI

* fix samtools convert stub

* prettier

* fix tabix outputs + tests

* update test snapshots

* remove views

* rearrange joins

* revert last commit

* another try 🤞

* another try 2 🤞

* try adding by

* fix wrong versions yml

* patch bcftools concat

* fix bcftools concat versions

* fix delly svync config

* use midnighter's approach of joining channels

* fix linting

* fix test

* Create beautiful docs with mkdocs (#74)

* create beautiful docs

* some small fixes

* set dev version to beta version

* Docs 0.1.0dev (#75)

* update docs

* fix linting

* update description of pipeline

* docs-output (#76)

* docs

* parameters.md adapted

* relative links

* comments for docs-output PR

* parameters.md correction

* Last fixes before v0.1.0 release (#77)

* fix tests

* some esthetic fixes

* move the logo in the metro map

* made the metro map logo a bit smaller

* update parameter docs

* bump to version 0.1.0

---------

Co-authored-by: mvheetve <[email protected]>
  • Loading branch information
nvnieuwk and mvheetve authored Apr 3, 2024
1 parent 707f6f1 commit dec66ea
Show file tree
Hide file tree
Showing 364 changed files with 20,688 additions and 2,302 deletions.
20 changes: 20 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "nfcore",
"image": "nfcore/gitpod:latest",
"remoteUser": "gitpod",
"runArgs": ["--privileged"],

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python"
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
}
}
}
17 changes: 15 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ trim_trailing_whitespace = true
indent_size = 4
indent_style = space

[*.{md,yml,yaml,html,css,scss,js,cff}]
[*.{md,yml,yaml,html,css,scss,js}]
indent_size = 2

# These files are edited and tested upstream in nf-core/modules
Expand All @@ -18,7 +18,20 @@ end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset
indent_size = unset
[/subworkflows/nf-core/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset

[/assets/email*]
indent_size = unset

# ignore Readme
[README.md]
indent_style = unset

# ignore python
[*.{py,md}]
indent_style = unset
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*.config linguist-language=nextflow
*.nf.test linguist-language=nextflow
modules/nf-core/** linguist-generated
subworkflows/nf-core/** linguist-generated
41 changes: 33 additions & 8 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# y/nfcmggstructural: Contributing Guidelines
# nf-cmgg/structural: Contributing Guidelines

Hi there!
Many thanks for taking an interest in improving y/nfcmggstructural.
Many thanks for taking an interest in improving nf-cmgg/structural.

We try to manage the required tasks for y/nfcmggstructural using GitHub issues, you probably came to this page when creating one.
We try to manage the required tasks for nf-cmgg/structural using GitHub issues, you probably came to this page when creating one.
Please use the pre-filled template to save time.

However, don't be put off by this template - other more general issues and suggestions are welcome!
Contributions to the code are even more welcome ;)

## Contribution workflow

If you'd like to write some code for y/nfcmggstructural, the standard workflow is as follows:
If you'd like to write some code for nf-cmgg/structural, the standard workflow is as follows:

1. Check that there isn't already an issue about your idea in the [y/nfcmggstructural issues](https://github.com/y/nfcmggstructural/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [y/nfcmggstructural repository](https://github.com/y/nfcmggstructural) to your GitHub account
1. Check that there isn't already an issue about your idea in the [nf-cmgg/structural issues](https://github.com/nf-cmgg/structural/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-cmgg/structural repository](https://github.com/nf-cmgg/structural) to your GitHub account
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
Expand All @@ -23,6 +23,12 @@ If you're not used to this workflow with git, you can start with some [docs from

## Tests

You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:

```bash
nf-test test --profile debug,test,docker --verbose
```

When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.

Expand Down Expand Up @@ -50,9 +56,13 @@ These tests are run both with the latest available version of `Nextflow` and als
- Fix the bug, and bump version (X.Y.Z+1).
- A PR should be made on `master` from patch to directly this particular bug.

## Getting help

For further information/help, please consult the [nf-core/structural documentation](https://nf-co.re/structural/usage) and don't hesitate to get in touch on the nf-core Slack [#structural](https://nfcore.slack.com/channels/structural) channel ([join our Slack here](https://nf-co.re/join/slack)).

## Pipeline contribution conventions

To make the y/nfcmggstructural code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
To make the nf-cmgg/structural code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.

### Adding a new step

Expand All @@ -79,7 +89,7 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`.

Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.

The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block.
The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.

### Naming schemes

Expand All @@ -95,3 +105,18 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
### Images and figures

For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).

## GitHub Codespaces

This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.

To get started:

- Open the repo in [Codespaces](https://github.com/nf-cmgg/structural/codespaces)
- Tools installed
- nf-core
- Nextflow

Devcontainer specs:

- [DevContainer config](.devcontainer/devcontainer.json)
37 changes: 20 additions & 17 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,56 @@
name: Bug report
description: Report something that is broken or incorrect
labels: bug
labels: [bug]
body:
- type: markdown
attributes:
value: |
Before you post this issue, please check the documentation:
- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
- [nf-core/structural pipeline documentation](https://nf-co.re/structural/usage)
- type: textarea
id: description
attributes:
label: Description of the bug
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: command_used
attributes:
label: Command used and terminal output
description: Steps to reproduce the behaviour. Please paste the command you used
to launch the pipeline and the output from your terminal.
description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal.
render: console
placeholder: "$ nextflow run ...
placeholder: |
$ nextflow run ...
Some output where something broke
"
- type: textarea
id: files
attributes:
label: Relevant files
description: "Please drag and drop the relevant files here. Create a `.zip` archive
if the extension is not allowed.
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file
in the directory where you launched the pipeline)_ as well as custom Nextflow
configuration files.
description: |
Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed.
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files.
"
- type: textarea
id: system
attributes:
label: System information
description: "* Nextflow version _(eg. 21.10.3)_
description: "* Nextflow version _(eg. 23.10.0)_
* Hardware _(eg. HPC, Desktop, Cloud)_
* Executor _(eg. slurm, local, awsbatch)_
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud,
or Apptainer)_
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
* Version of y/nfcmggstructural _(eg. 1.1, 1.5, 1.8.2)_
* Version of nf-cmgg/structural _(eg. 1.1, 1.5, 1.8.2)_
"
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
contact_links:
- name: Join nf-core
url: https://nf-co.re/join
about: Please join the nf-core community here
- name: "Slack #structural channel"
url: https://nfcore.slack.com/channels/structural
about: Discussion about the nf-core/structural pipeline
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Feature request
description: Suggest an idea for the y/nfcmggstructural pipeline
description: Suggest an idea for the nf-cmgg/structural pipeline
labels: enhancement
body:
- type: textarea
Expand Down
12 changes: 7 additions & 5 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
<!--
# y/nfcmggstructural pull request
# nf-cmgg/structural pull request
Many thanks for contributing to y/nfcmggstructural!
Many thanks for contributing to nf-cmgg/structural!
Please fill in the appropriate checklist below (delete whatever is not relevant).
These are the most common things requested on pull requests (PRs).
Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release.
Learn more about contributing: [CONTRIBUTING.md](https://github.com/y/nfcmggstructural/tree/master/.github/CONTRIBUTING.md)
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-cmgg/structural/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/y/nfcmggstructural/tree/master/.github/CONTRIBUTING.md)
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-cmgg/structural/tree/master/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Ensure the test suite passes (`nf-test test`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] Parameters Documentation is updated with `nf-core schema docs --format markdown --output docs/parameters.md --force`
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and authors/contributors).
6 changes: 3 additions & 3 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ jobs:
steps:
# PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'y/nfcmggstructural'
if: github.repository == 'nf-cmgg/structural'
run: |
{ [[ ${{github.event.pull_request.head.repo.full_name }} == y/nfcmggstructural ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-cmgg/structural ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
# If the above check failed, post a comment on the PR explaining the failure
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
- name: Post PR comment
if: failure()
uses: mshick/add-pr-comment@v1
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `master` branch :x:
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: build docs
on:
push:
branches:
- master
- main
- dev
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all commits/branches
- uses: actions/setup-python@v4
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- name: Obtain version from MANIFEST.MF
run: echo "pipeline_version=$(grep "version" nextflow.config | tail -1 | sed -e s'/[^=]*= //' | cut -d "'" -f 2)" >> $GITHUB_ENV
- name: Setup git user
run: |
git config --global user.name "${{github.actor}}"
git config --global user.email "${{github.actor}}@users.noreply.github.com"
- uses: actions/cache@v3
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- name: Install dependencies
run: pip install mkdocs-material pymdown-extensions pillow cairosvg mike
- name: Build docs
run: mike deploy --push --update-aliases ${{ env.pipeline_version }} latest
- name: Set default docs
run: mike set-default --push latest
Loading

0 comments on commit dec66ea

Please sign in to comment.