diff --git a/host_vars/127.0.0.1/main.yml b/host_vars/127.0.0.1/main.yml index 501436fb..e0ef8e84 100644 --- a/host_vars/127.0.0.1/main.yml +++ b/host_vars/127.0.0.1/main.yml @@ -44,9 +44,7 @@ ngi_pipeline_db_sthlm: "{{ ngi_pipeline_sthlm_path }}/db/records_db_sthlm.sql" piper_module_version: 1.5.1 gatk_bundle_b37: "/sw/data/uppnex/piper_references/2016-04-07/gatk_bundle/2.8/b37/" -sarek_repo: "https://github.com/SciLifeLab/sarek.git" -sarek_version: "2.3.FIX1" -sarek_tag: "2.3" +sarek_tag: "2.5.2" sarek_dest: "{{ sw_path }}/sarek" sarek_containers: "{{ ngi_containers }}/sarek" sarek_irma_config: "{{ ngi_pipeline_conf }}/sarek_irma.config" diff --git a/install.yml b/install.yml index e0e6a0f1..83069e6c 100644 --- a/install.yml +++ b/install.yml @@ -38,15 +38,12 @@ - { role: arteria-siswrap-ws, tags: arteria-siswrap } - { role: arteria-delivery-ws, tags: arteria-delivery } - { role: sarek, tags: sarek } - - { role: rnaseq, tags: rnaseq } - - { role: methylseq, tags: methylseq } - { role: neutronstar, tags: neutronstar } - { role: standalone_scripts, tags: standalone_scripts } - { role: ugc, tags: ugc } - { role: misc-tools, tags: misc-tools } - { role: archive-upload-ws, tags: archive-upload } - - { role: ampliseq, tags: ampliseq } - - { role: atacseq, tags: atacseq } + - { role: nf-core, tags: nf-core } environment: "{{ anaconda_env }}" diff --git a/roles/ampliseq/defaults/main.yml b/roles/ampliseq/defaults/main.yml deleted file mode 100644 index 9984c439..00000000 --- a/roles/ampliseq/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -ampliseq_repo: "https://github.com/nf-core/ampliseq.git" -ampliseq_dest: "{{ sw_path }}/ampliseq" -ampliseq_container_url: "docker://nfcore/ampliseq:{{ ampliseq_version }}" -ampliseq_container_path: "{{ ngi_containers }}/ampliseq" -ampliseq_image: "ampliseq-{{ ampliseq_version }}.simg" -ampliseq_version: "1.1.0" diff --git a/roles/ampliseq/tasks/main.yml b/roles/ampliseq/tasks/main.yml deleted file mode 100644 index 028f37e9..00000000 --- a/roles/ampliseq/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- - -- name: Fetch nf-core/ampliseq from GitHub - git: repo="{{ ampliseq_repo }}" - dest="{{ ampliseq_dest }}" - version="{{ ampliseq_version }}" - force=yes - -- name: Create nf-core/ampliseq Singularity folder - file: name="{{ ampliseq_container_path }}" state=directory mode=g+s - -- name: Create nf-core/ampliseq temp/cache folder for images - file: name="{{ item }}" state=directory mode=g+s - with_items: - - "{{ ampliseq_container_path }}/singularity_cache" - - "{{ ampliseq_container_path }}/singularity_temp" - -- name: Pull nf-core/ampliseq Singularity image - command: "singularity build {{ ampliseq_image }} {{ ampliseq_container_url }}" - environment: - SINGULARITY_CACHEDIR: "{{ ampliseq_container_path }}/singularity_cache" - SINGULARITY_TMPDIR: "{{ ampliseq_container_path }}/singularity_temp" - args: - chdir: "{{ ampliseq_container_path }}" - -- name: Remove nf-core/ampliseq singularity temp directories - file: name="{{ item }}" state=absent - with_items: - - "{{ ampliseq_container_path }}/singularity_cache" - - "{{ ampliseq_container_path }}/singularity_temp" - -- name: Create nf-core/ampliseq config - template: - src: "ampliseq_site.config" - dest: "{{ ngi_pipeline_conf }}/ampliseq_{{ item.site }}.config" - with_items: - - { site: "sthlm", project_id: "{{ ngi_pipeline_sthlm_delivery }}" } - - { site: "upps", project_id: "{{ ngi_pipeline_upps_delivery }}" } - - -- name: Set nf-core/ampliseq Bismark alias - lineinfile: dest="{{ ngi_pipeline_conf }}/{{ item.script }}" - line="alias ampliseq='nextflow run {{ ampliseq_dest }}/ -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.site }}.config -c {{ ngi_pipeline_conf }}/ampliseq_{{ item.site }}.config'" - backup=no - with_items: - - { site: "sthlm", script: "{{ bash_env_sthlm_script }}" } - - { site: "upps", script: "{{ bash_env_upps_script }}" } - -- name: Store ampliseq tool version in deployment - lineinfile: - dest: "{{ deployed_tool_versions }}" - line: "ampliseq: {{ ampliseq_version }}" diff --git a/roles/ampliseq/templates/ampliseq_site.config b/roles/ampliseq/templates/ampliseq_site.config deleted file mode 100644 index ee9f65ec..00000000 --- a/roles/ampliseq/templates/ampliseq_site.config +++ /dev/null @@ -1,3 +0,0 @@ -process { - container = '{{ ampliseq_container_path }}/{{ ampliseq_image }}' -} diff --git a/roles/atacseq/defaults/main.yml b/roles/atacseq/defaults/main.yml deleted file mode 100644 index af4a2d8c..00000000 --- a/roles/atacseq/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -atacseq_repo: "https://github.com/nf-core/atacseq.git" -atacseq_dest: "{{ sw_path }}/atacseq" -atacseq_container_url: "docker://nfcore/atacseq:{{ atacseq_version }}" -atacseq_container_path: "{{ ngi_containers }}/atacseq" -atacseq_image: "atacseq-{{ atacseq_version }}.simg" -atacseq_version: "1.0.0" diff --git a/roles/atacseq/tasks/main.yml b/roles/atacseq/tasks/main.yml deleted file mode 100644 index 9139ab2f..00000000 --- a/roles/atacseq/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- - -- name: Fetch nf-core/atacseq from GitHub - git: repo="{{ atacseq_repo }}" - dest="{{ atacseq_dest }}" - version="{{ atacseq_version }}" - force=yes - -- name: Create nf-core/atacseq Singularity folder - file: name="{{ atacseq_container_path }}" state=directory mode=g+s - -- name: Create nf-core/atacseq temp/cache folder for images - file: name="{{ item }}" state=directory mode=g+s - with_items: - - "{{ atacseq_container_path }}/singularity_cache" - - "{{ atacseq_container_path }}/singularity_temp" - -- name: Pull nf-core/atacseq Singularity image - command: "singularity build {{ atacseq_image }} {{ atacseq_container_url }}" - environment: - SINGULARITY_CACHEDIR: "{{ atacseq_container_path }}/singularity_cache" - SINGULARITY_TMPDIR: "{{ atacseq_container_path }}/singularity_temp" - args: - chdir: "{{ atacseq_container_path }}" - -- name: Remove nf-core/atacseq singularity temp directories - file: name="{{ item }}" state=absent - with_items: - - "{{ atacseq_container_path }}/singularity_cache" - - "{{ atacseq_container_path }}/singularity_temp" - -- name: Create nf-core/atacseq config - template: - src: "atacseq_site.config" - dest: "{{ ngi_pipeline_conf }}/atacseq_{{ item.site }}.config" - with_items: - - { site: "sthlm", project_id: "{{ ngi_pipeline_sthlm_delivery }}" } - - { site: "upps", project_id: "{{ ngi_pipeline_upps_delivery }}" } - - -- name: Set nf-core/atacseq Bismark alias - lineinfile: dest="{{ ngi_pipeline_conf }}/{{ item.script }}" - line="alias atacseq='nextflow run {{ atacseq_dest }}/ -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.site }}.config -c {{ ngi_pipeline_conf }}/atacseq_{{ item.site }}.config'" - backup=no - with_items: - - { site: "sthlm", script: "{{ bash_env_sthlm_script }}" } - - { site: "upps", script: "{{ bash_env_upps_script }}" } - -- name: Store atacseq tool version in deployment - lineinfile: - dest: "{{ deployed_tool_versions }}" - line: "atacseq: {{ atacseq_version }}" diff --git a/roles/atacseq/templates/atacseq_site.config b/roles/atacseq/templates/atacseq_site.config deleted file mode 100644 index c9171230..00000000 --- a/roles/atacseq/templates/atacseq_site.config +++ /dev/null @@ -1,3 +0,0 @@ -process { - container = '{{ atacseq_container_path }}/{{ atacseq_image }}' -} diff --git a/roles/methylseq/defaults/main.yml b/roles/methylseq/defaults/main.yml deleted file mode 100644 index f8178cf5..00000000 --- a/roles/methylseq/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -methylseq_repo: "https://github.com/nf-core/methylseq.git" -methylseq_dest: "{{ sw_path }}/methylseq" -methylseq_container_url: "docker://nfcore/methylseq:{{ methylseq_version }}" -methylseq_container_path: "{{ ngi_containers }}/methylseq" -methylseq_image: "methylseq-{{ methylseq_version }}.simg" -methylseq_version: "1.4" diff --git a/roles/methylseq/tasks/main.yml b/roles/methylseq/tasks/main.yml deleted file mode 100644 index d4fdb54b..00000000 --- a/roles/methylseq/tasks/main.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- - -- name: Fetch nf-core/methylseq from GitHub - git: repo="{{ methylseq_repo }}" - dest="{{ methylseq_dest }}" - version="{{ methylseq_version }}" - force=yes - -- name: Create nf-core/methylseq Singularity folder - file: name="{{ methylseq_container_path }}" state=directory mode=g+s - -- name: Create nf-core/methylseq temp/cache folder for images - file: name="{{ item }}" state=directory mode=g+s - with_items: - - "{{ methylseq_container_path }}/singularity_cache" - - "{{ methylseq_container_path }}/singularity_temp" - -- name: Pull nf-core/methylseq Singularity image - command: "singularity build {{ methylseq_image }} {{ methylseq_container_url }}" - environment: - SINGULARITY_CACHEDIR: "{{ methylseq_container_path }}/singularity_cache" - SINGULARITY_TMPDIR: "{{ methylseq_container_path }}/singularity_temp" - args: - chdir: "{{ methylseq_container_path }}" - -- name: Remove nf-core/methylseq singularity temp directories - file: name="{{ item }}" state=absent - with_items: - - "{{ methylseq_container_path }}/singularity_cache" - - "{{ methylseq_container_path }}/singularity_temp" - -- name: Create nf-core/methylseq config - template: - src: "methylseq_site.config" - dest: "{{ ngi_pipeline_conf }}/methylseq_{{ item.site }}.config" - with_items: - - { site: "sthlm", project_id: "{{ ngi_pipeline_sthlm_delivery }}" } - - { site: "upps", project_id: "{{ ngi_pipeline_upps_delivery }}" } - - -- name: Set nf-core/methylseq Bismark alias - lineinfile: - dest: "{{ ngi_pipeline_conf }}/{{ item.script }}" - line: > - alias methylseq='nextflow run {{ methylseq_dest }}/ \ - -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.site }}.config \ - -c {{ ngi_pipeline_conf }}/methylseq_{{ item.site }}.config' - backup: no - with_items: - - { site: "sthlm", script: "{{ bash_env_sthlm_script }}" } - - { site: "upps", script: "{{ bash_env_upps_script }}" } - -- name: Store methylseq tool version in deployment - lineinfile: - dest: "{{ deployed_tool_versions }}" - line: "methylseq: {{ methylseq_version }}" diff --git a/roles/methylseq/templates/methylseq_site.config b/roles/methylseq/templates/methylseq_site.config deleted file mode 100644 index f3d8c650..00000000 --- a/roles/methylseq/templates/methylseq_site.config +++ /dev/null @@ -1,12 +0,0 @@ -process { - container = '{{ methylseq_container_path }}/{{ methylseq_image }}' - - // Default memory is less than we have per cpu - memory = { 15.GB * task.attempt } - time = { 6.h * task.attempt } - - // Large projects seem to need more than default - withName:qualimap { - time = 4.d - } -} diff --git a/roles/multiqc/defaults/main.yml b/roles/multiqc/defaults/main.yml index d07b29f0..9dd0efec 100644 --- a/roles/multiqc/defaults/main.yml +++ b/roles/multiqc/defaults/main.yml @@ -1,6 +1,6 @@ multiqc_repo: https://github.com/ewels/MultiQC.git multiqc_dest: "{{ sw_path }}/multiqc" -multiqc_version: "v1.7" +multiqc_version: "v1.8" multiqc_ngi_repo: https://github.com/NationalGenomicsInfrastructure/MultiQC_NGI.git multiqc_ngi_dest: "{{ sw_path }}/multiqc_ngi" diff --git a/roles/multiqc/templates/multiqc_config.yml.j2 b/roles/multiqc/templates/multiqc_config.yml.j2 index 259ba596..499fffbf 100644 --- a/roles/multiqc/templates/multiqc_config.yml.j2 +++ b/roles/multiqc/templates/multiqc_config.yml.j2 @@ -1,5 +1,6 @@ --- no_version_check: True +export_plots: true {% if item.site == "upps" %} swedac_accredited: False @@ -19,7 +20,7 @@ remote_destination: 'ngi.web@ngi-internal.scilifelab.se:/var/local/mqc_reports/' {% elif deployment_environment == "staging" %} remote_sshkey: "/home/funk_007/ssh_keys/id_rsa" remote_port: '22' # Optional -remote_destination: 'genomics.www@tools-dev.scilifelab.se:/var/local/mqc_reports/' +remote_destination: 'ngi.web@ngi-internal-dev.scilifelab.se:/home/ngi.web/mqc_reports/' megaqc_url: http://megaqc.scilifelab.se/api/upload_parse megaqc_access_token: {{ megaqc_token_sthlm_stage }} {% endif %} diff --git a/roles/neutronstar/defaults/main.yml b/roles/neutronstar/defaults/main.yml index c88a4fb6..650d8047 100644 --- a/roles/neutronstar/defaults/main.yml +++ b/roles/neutronstar/defaults/main.yml @@ -1,11 +1,15 @@ --- neutronstar_repo: "https://github.com/nf-core/neutronstar" neutronstar_dest: "{{ sw_path }}/neutronstar" -# neutronstar_container_url: "docker://nf-core/neutronstar:{{ rnaseq_version }}" + neutronstar_container_path: "{{ ngi_containers }}/neutronstar" -# neutronstar_image: "neutronstar-{{ neutronstar_version }}.simg" -neutronstar_version: "157a0c904fd5c8de6a174a184aee4a0ac96a871b" -# Temporary variables whilst under dev by Remi -neutronstar_container_url: "docker://remiolsen/neutronstar" +neutronstar_version: "1.0.0" + +neutronstar_container_url: "docker://nfcore/neutronstar" neutronstar_image: "neutronstar.simg" + +supernova_container_url: "docker://nfcore/supernova" +supernova_image: "supernova.simg" +supernova_version: "2.1.1" +supernova_container_path: "{{ ngi_containers }}/supernova" diff --git a/roles/neutronstar/tasks/main.yml b/roles/neutronstar/tasks/main.yml index c8fb4110..9e068733 100644 --- a/roles/neutronstar/tasks/main.yml +++ b/roles/neutronstar/tasks/main.yml @@ -6,11 +6,13 @@ version="{{ neutronstar_version }}" force=yes -- name: Create neutronstar temp/cache folder for images +- name: Create neutronstar and supernova temp/cache folder for images file: name="{{ item }}" state=directory mode=g+s with_items: - "{{ neutronstar_container_path }}/singularity_cache" - "{{ neutronstar_container_path }}/singularity_temp" + - "{{ supernova_container_path }}/singularity_cache" + - "{{ supernova_container_path }}/singularity_temp" - name: Pull neutronstar Singularity images command: "singularity build {{ neutronstar_image }} {{ neutronstar_container_url }}" @@ -21,11 +23,22 @@ chdir: "{{ neutronstar_container_path }}" ignore_errors: true -- name: Remove neutronstar singularity temp directories +- name: Pull supernova Singularity images + command: "singularity build {{ supernova_image }} {{ supernova_container_url }}" + environment: + SINGULARITY_CACHEDIR: "{{ supernova_container_path }}/singularity_cache" + SINGULARITY_TMPDIR: "{{ supernova_container_path }}/singularity_temp" + args: + chdir: "{{ supernova_container_path }}" + ignore_errors: true + +- name: Remove neutronstar and supernova singularity temp directories file: name="{{ item }}" state=absent with_items: - "{{ neutronstar_container_path }}/singularity_cache" - "{{ neutronstar_container_path }}/singularity_temp" + - "{{ supernova_container_path }}/singularity_cache" + - "{{ supernova_container_path }}/singularity_temp" - name: Create neutronstar config template: @@ -39,14 +52,20 @@ lineinfile: dest: "{{ ngi_pipeline_conf }}/{{ bash_env_sthlm_script }}" line: > - alias neutronstar='nextflow run {{ neutronstar_dest }}/main.nf -profile standard,uppmax - -c {{ ngi_pipeline_conf }}/neutronstar_{{ item.site }}.config' + alias neutronstar='nextflow run {{ neutronstar_dest }}/main.nf -profile uppmax \ + -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.site }}.config \ + -c {{ ngi_pipeline_conf }}/neutronstar_{{ item.site }}.config --supernova_container {{ supernova_container_path }}' backup: no with_items: - { site: "sthlm", script: "{{ bash_env_sthlm_script }}" } - { site: "upps", script: "{{ bash_env_upps_script }}" } -- name: Store neutronstar tool version in deployement +- name: Store neutronstar tool version in deployment lineinfile: dest: "{{ deployed_tool_versions }}" line: "neutronstar: {{ neutronstar_version }}" + +- name: Store supernova tool version in deployment + lineinfile: + dest: "{{ deployed_tool_versions }}" + line: "supernova: {{ supernova_version }}" diff --git a/roles/neutronstar/templates/neutronstar_site.config b/roles/neutronstar/templates/neutronstar_site.config index 7b0bed96..ece7a47c 100644 --- a/roles/neutronstar/templates/neutronstar_site.config +++ b/roles/neutronstar/templates/neutronstar_site.config @@ -1,13 +1,6 @@ -process { - container = '{{ neutronstar_container_path }}/{{ neutronstar_image }}' - withName:multiqc { - container = null - executor = 'local' - } -} +process.container = '{{ neutronstar_container_path }}/{{ neutronstar_image }}' params { - project = "{{ item.project_id }}" - multiqc_config = "{{ ngi_pipeline_conf }}/multiqc_{{ item.site }}_config.yml" - clusterOptions = "-A {{ item.project_id }} -p node" - max_memory = 250.GB + busco_folder = '/sw/apps/bioinfo/BUSCO/v2_lineage_sets' + busco_data = 'eukaryota_odb9' + } diff --git a/roles/nextflow/defaults/main.yml b/roles/nextflow/defaults/main.yml index 916f7e36..925282bf 100644 --- a/roles/nextflow/defaults/main.yml +++ b/roles/nextflow/defaults/main.yml @@ -1,3 +1,3 @@ nextflow_java: "/sw/comp/java/x86_64/sun_jdk1.8.0_151" -nextflow_version_tag: "v19.04.1" +nextflow_version_tag: "v20.01.0" nextflow_download_url: "https://github.com/nextflow-io/nextflow/releases/download/{{ nextflow_version_tag }}/nextflow" diff --git a/roles/nf-core/defaults/main.yml b/roles/nf-core/defaults/main.yml new file mode 100644 index 00000000..099bb162 --- /dev/null +++ b/roles/nf-core/defaults/main.yml @@ -0,0 +1,13 @@ +nextflow_java: "/sw/comp/java/x86_64/sun_jdk1.8.0_151" +nextflow_version_tag: "v20.01.0" +nextflow_download_url: "https://github.com/nextflow-io/nextflow/releases/download/{{ nextflow_version_tag }}/nextflow" +nf_core_env: "/lupus/ngi/irma3/nf-core-env" +pipelines: + - name: rnaseq + release: 1.4.2 + - name: methylseq + release: 1.4 + - name: ampliseq + release: 1.1.2 + - name: atacseq + release: 1.1.0 diff --git a/roles/nf-core/tasks/main.yml b/roles/nf-core/tasks/main.yml new file mode 100644 index 00000000..857e5b1f --- /dev/null +++ b/roles/nf-core/tasks/main.yml @@ -0,0 +1,70 @@ +--- + +- name: install nf-core + local_action: + module: pip + virtualenv_command: /lupus/ngi/irma3/virtualenv-15.0.0/virtualenv.py + virtualenv: "{{ nf_core_env }}" + name: nf-core + state: present + +- name: Download NextFlow + local_action: + get_url url="{{ nextflow_download_url }}" dest="{{ nf_core_env }}/bin" mode="u+rwx,g=rwx" + +- name: Install NextFlow + local_action: + module: command + _raw_params: "{{ nf_core_env }}/bin/nextflow" + environment: + NXF_LAUNCHER: "/scratch" + NXF_HOME: "{{ nf_core_env }}/nextflow" + NXF_WORK: "/scratch" + +- name: nf-core + command: "{{ nf_core_env }}/bin/nf-core -v download {{ item.name }} --singularity --compress none --outdir {{ sw_path }}{{ item.name }} --release {{ item.release }}" + environment: + PATH: "{{ nf_core_env }}/bin:{{ ansible_env.PATH }}" + args: + chdir: "{{ sw_path }}" + with_items: "{{ pipelines }}" + +- name: Create directories for singularity images + file: + path: "{{ ngi_containers }}/{{ item.name }}" + state: directory + mode: g+s + with_items: "{{ pipelines }}" + +- name: Move singularity images + shell: "mv {{ sw_path }}{{ item.name }}/singularity-images/nf-core-{{ item.name }}-{{ item.release }}.simg {{ ngi_containers }}/{{ item.name }}/" + with_items: + - "{{ pipelines }}" + +- name: Create nf-core config + template: + src: "site.config.j2" + dest: "{{ ngi_pipeline_conf }}/{{ item.0.name }}_{{ item.1.site }}.config" + with_nested: + - "{{ pipelines }}" + - [ { site: "sthlm", project_id: "{{ ngi_pipeline_sthlm_delivery }}" }, { site: "upps", project_id: "{{ ngi_pipeline_upps_delivery }}" }] + +- name: Set alias for pipeline + lineinfile: + dest: "{{ ngi_pipeline_conf }}/{{ item.1.script }}" + line: > + alias {{ item.0.name }}='nextflow run {{ sw_path }}{{ item.0.name }}/workflow/ \ + -profile uppmax \ + -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.1.site }}.config \ + -c {{ ngi_pipeline_conf }}/{{ item.0.name }}_{{ item.1.site }}.config' + backup: no + with_nested: + - "{{ pipelines }}" + - [ { site: "sthlm", script: "{{ bash_env_sthlm_script }}" }, { site: "upps", script: "{{ bash_env_upps_script }}" } ] + +- name: Store tool version in deployment + lineinfile: + dest: "{{ deployed_tool_versions }}" + line: "{{ item.name }}: {{ item.release }}" + with_items: + - "{{ pipelines }}" diff --git a/roles/nf-core/templates/site.config.j2 b/roles/nf-core/templates/site.config.j2 new file mode 100644 index 00000000..adf3f8a1 --- /dev/null +++ b/roles/nf-core/templates/site.config.j2 @@ -0,0 +1,18 @@ +process { + container = '{{ ngi_containers }}/{{ item.0.name }}/nf-core-{{ item.0.name }}-{{ item.0.release }}.simg' + {% if item.0.name=='methylseq' %} + memory = { 15.GB * task.attempt } + time = { 6.h * task.attempt } + + withName:qualimap { + cpus = { 4 * task.attempt } + memory = { 62.GB * task.attempt } + time = { 2.d * task.attempt } + } + {% endif %} +} +params { + {% if item.0.name=='rnaseq' %} + reverse_stranded = true + {% endif %} +} diff --git a/roles/ngi_pipeline/templates/irma_ngi_config.yaml.j2 b/roles/ngi_pipeline/templates/irma_ngi_config.yaml.j2 index 0c1a02a3..d522cb70 100644 --- a/roles/ngi_pipeline/templates/irma_ngi_config.yaml.j2 +++ b/roles/ngi_pipeline/templates/irma_ngi_config.yaml.j2 @@ -1,25 +1,25 @@ # This file should be placed under $HOME/.ngiconfig/ngi_config.yaml # or its path exported as the environment variable NGI_CONFIG -# TODO: Deploy the correct version of the database. +# TODO: Deploy the correct version of the database. database: record_tracking_db_path: {{ ngi_pipeline_db }} environment: project_id: {{ ngi_pipeline_slurm_project }} - ngi_scripts_dir: {{ ngi_pipeline_dest }}/scripts + ngi_scripts_dir: {{ ngi_pipeline_dest }}/scripts conda_env: NGI flowcell_inbox: - {{ proj_root }}/{{ ngi_pipeline_sthlm_delivery }}/incoming - {{ proj_root }}/{{ ngi_pipeline_upps_delivery }}/incoming -# TODO: This QOS flag is probably not used/needed any longer. -# Enable later in the future if required. +# TODO: This QOS flag is probably not used/needed any longer. +# Enable later in the future if required. {% if deployment_environment in [ "staging", "devel" ] %} slurm: queue: testcore {% endif %} - + piper: #sample: # required_autosomal_coverage: 28.4 @@ -34,7 +34,7 @@ piper: # - arg1 # - arg2 # - arg3 - # TODO: Piper module adds setupfilecreator to the path; unsure if this works or if complete path is required. + # TODO: Piper module adds setupfilecreator to the path; unsure if this works or if complete path is required. path_to_setupfilecreator: setupfilecreator gatk_key: "{{ ngi_resources }}/piper/{{ gatk_key }}" @@ -54,7 +54,7 @@ sarek: supported_genomes: # GRCh37: Indexed version of "/lupus/data/uppnex/reference/Homo_sapiens/GRCh37/concat/Homo_sapiens.GRCh37.57.dna.concat.fa" "GRCh37": "{{ gatk_bundle_b37 }}/human_g1k_v37.fasta" - # GRMc38 is currently not used. + # GRMc38 is currently not used. #"GRCm38": "/sw/data/uppnex/reference/Mus_musculus/GRCm38/concat/Mus_musculus.GRCm38.69.dna.concat.fa" "rn4": None "saccer2": None @@ -74,7 +74,7 @@ analysis: analysis_engine: ngi_pipeline.engines.qc_ngi RNA-seq: analysis_engine: ngi_pipeline.engines.rna_ngi - ngi_nf_path: {{ rnaseq_dest }}/main.nf + ngi_nf_path: {{ sw_path }}rnaseq/workflow/ sthlm_ngi_conf: {{ sthlm_rna_seq_conf }} upps_ngi_conf: {{ upps_rna_seq_conf }} wgs_germline: @@ -111,8 +111,8 @@ gt_concordance: INTERVAL_FILE: {{ ngi_pipeline_dest }}/static/snps.interval_list SNPS_FILE: {{ ngi_pipeline_dest }}/static/maf_snps.txt -logging: - log_file: "{{ ngi_pipeline_log }}" +logging: + log_file: "{{ ngi_pipeline_log }}" mail: recipient: {{ recipient_mail }} diff --git a/roles/ngi_reports/defaults/main.yml b/roles/ngi_reports/defaults/main.yml index ac4ec2c6..ab919961 100644 --- a/roles/ngi_reports/defaults/main.yml +++ b/roles/ngi_reports/defaults/main.yml @@ -1,7 +1,7 @@ --- ngi_reports_repo: https://github.com/NationalGenomicsInfrastructure/ngi_reports.git ngi_reports_dest: "{{ sw_path }}/ngi_reports" -ngi_reports_version: 4cd7e236586cc5853f0a58f28edad0a6d5e224a8 +ngi_reports_version: 1491800e748b84f1c5a92c64f51af04d72ba0573 ngi_reports_log: "/log/ngi_reports.log" ngi_reports_log_sthlm: "{{ ngi_pipeline_sthlm_path }}/{{ ngi_reports_log }}" ngi_reports_log_upps: "{{ ngi_pipeline_upps_path }}/{{ ngi_reports_log }}" diff --git a/roles/rnaseq/defaults/main.yml b/roles/rnaseq/defaults/main.yml deleted file mode 100644 index db7c9cab..00000000 --- a/roles/rnaseq/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -rnaseq_repo: "https://github.com/nf-core/rnaseq.git" -rnaseq_dest: "{{ sw_path }}/rnaseq" -rnaseq_container_url: "docker://nfcore/rnaseq:{{ rnaseq_version }}" -rnaseq_container_path: "{{ ngi_containers }}/rnaseq" -rnaseq_image: "rnaseq-{{ rnaseq_version }}.simg" -rnaseq_version: "1.4.2" diff --git a/roles/rnaseq/files/install_R_dependencies.r b/roles/rnaseq/files/install_R_dependencies.r deleted file mode 100644 index 55f358b3..00000000 --- a/roles/rnaseq/files/install_R_dependencies.r +++ /dev/null @@ -1,12 +0,0 @@ -#For edgeR_heatmap_MDS.r -source("http://bioconductor.org/biocLite.R") -biocLite("limma", suppressUpdates=TRUE) -biocLite("edgeR", suppressUpdates=TRUE) - -install.packages("data.table", dependencies=TRUE, repos='http://cloud.r-project.org/') -install.packages("gplots", dependencies=TRUE, repos='http://cloud.r-project.org/') - -#For dupRadar.r -biocLite("dupRadar", suppressUpdates=TRUE) - -install.packages("parallel", dependencies=TRUE, repos='http://cloud.r-project.org/') diff --git a/roles/rnaseq/tasks/main.yml b/roles/rnaseq/tasks/main.yml deleted file mode 100644 index bc7b3d89..00000000 --- a/roles/rnaseq/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- - -- name: Fetch nf-core/rnaseq from GitHub - git: repo="{{ rnaseq_repo }}" - dest="{{ rnaseq_dest }}" - version="{{ rnaseq_version }}" - force=yes - -- name: Create nf-core/rnaseq temp/cache folder for images - file: name="{{ item }}" state=directory mode=g+s - with_items: - - "{{ rnaseq_container_path }}/singularity_cache" - - "{{ rnaseq_container_path }}/singularity_temp" - -- name: Pull nf-core/rnaseq Singularity images - command: "singularity build {{ rnaseq_image }} {{ rnaseq_container_url }}" - environment: - SINGULARITY_CACHEDIR: "{{ rnaseq_container_path }}/singularity_cache" - SINGULARITY_TMPDIR: "{{ rnaseq_container_path }}/singularity_temp" - args: - chdir: "{{ rnaseq_container_path }}" - -- name: Remove nf-core/rnaseq singularity temp directories - file: name="{{ item }}" state=absent - with_items: - - "{{ rnaseq_container_path }}/singularity_cache" - - "{{ rnaseq_container_path }}/singularity_temp" - -- name: Create nf-core/rnaseq config - template: - src: "rnaseq_site.config" - dest: "{{ ngi_pipeline_conf }}/rnaseq_{{ item.site }}.config" - with_items: - - { site: "sthlm", project_id: "{{ ngi_pipeline_sthlm_delivery }}" } - - { site: "upps", project_id: "{{ ngi_pipeline_upps_delivery }}" } - -- name: Set alias for nf-core/rnaseq - lineinfile: - dest: "{{ ngi_pipeline_conf }}/{{ item.script }}" - line: > - alias rnaseq='nextflow run {{ rnaseq_dest }}/ \ - -c {{ ngi_pipeline_conf }}/nextflow_irma_{{ item.site }}.config \ - -c {{ ngi_pipeline_conf }}/rnaseq_{{ item.site }}.config' - backup: no - with_items: - - { site: "sthlm", script: "{{ bash_env_sthlm_script }}" } - - { site: "upps", script: "{{ bash_env_upps_script }}" } - -- name: Store rnaseq tool version in deployment - lineinfile: - dest: "{{ deployed_tool_versions }}" - line: "rnaseq: {{ rnaseq_version }}" diff --git a/roles/rnaseq/templates/rnaseq_site.config b/roles/rnaseq/templates/rnaseq_site.config deleted file mode 100644 index d0f00315..00000000 --- a/roles/rnaseq/templates/rnaseq_site.config +++ /dev/null @@ -1,6 +0,0 @@ -process { - container = '{{ rnaseq_container_path }}/{{ rnaseq_image }}' -} -params { - reverse_stranded = true -} diff --git a/roles/sarek/defaults/main.yml b/roles/sarek/defaults/main.yml index 13c21d0c..cbdbd9ff 100644 --- a/roles/sarek/defaults/main.yml +++ b/roles/sarek/defaults/main.yml @@ -1,11 +1,12 @@ --- -sarek_containers_repo: "docker://maxulysse" -sarek_containers_images: - - "sarek" - - "r-base" - - "runallelecount" - - "snpeff" - - "snpeffgrch37" - - "snpeffgrch38" - - "vepgrch37" - - "vepgrch38" +sarek_containers_repo: "docker://nfcore" +sarek_repo: "https://github.com/nf-core/sarek.git" +sarek_version: "2.5.2" +sarek_genome_specific_containers: + - sarekvep + - sareksnpeff +sarek_genomes: + - GRCh38 + - GRCh37 + - GRCm38 + - CanFam3.1 diff --git a/roles/sarek/tasks/main.yml b/roles/sarek/tasks/main.yml index de0ef4fd..cf86e73e 100644 --- a/roles/sarek/tasks/main.yml +++ b/roles/sarek/tasks/main.yml @@ -9,18 +9,31 @@ - name: Create sarek containers folder and temp/cache for images file: name="{{ item }}" state=directory mode=g+s with_items: + - "{{ sarek_containers }}" - "{{ sarek_containers }}/singularity_cache" - "{{ sarek_containers }}/singularity_temp" -- name: Pull sarek Singularity images - command: "singularity build {{ item }}-{{ sarek_tag }}.simg {{ sarek_containers_repo }}/{{ item }}:{{ sarek_tag }}" +- name: Pull sarek Singularity image + command: "singularity pull --name sarek-{{ sarek_version }}.simg {{ sarek_containers_repo }}/sarek:{{ sarek_version }}" environment: SINGULARITY_CACHEDIR: "{{ sarek_containers }}/singularity_cache" SINGULARITY_TMPDIR: "{{ sarek_containers }}/singularity_temp" args: chdir: "{{ sarek_containers }}" - creates: "{{ item }}-{{ sarek_tag }}.img" - with_items: "{{ sarek_containers_images }}" + creates: "{{ sarek_containers }}/saresarek-{{ sarek_version }}.simg" + ignore_errors: true + +- name: Pull sarekvep, sareksnpeff Singularity images + command: "singularity pull --name {{ item.0 }}-{{ sarek_version }}.{{ item.1 }}.simg {{ sarek_containers_repo }}/{{ item.0 }}:{{ sarek_version }}.{{ item.1 }}" + environment: + SINGULARITY_CACHEDIR: "{{ sarek_containers }}/singularity_cache" + SINGULARITY_TMPDIR: "{{ sarek_containers }}/singularity_temp" + args: + chdir: "{{ sarek_containers }}" + creates: "{{ sarek_containers }}/{{ item.0 }}-{{ sarek_version }}.{{ item.1 }}.simg" + with_nested: + - "{{ sarek_genome_specific_containers }}" + - "{{ sarek_genomes }}" ignore_errors: true - name: Remove sarek containers temp directories diff --git a/roles/standalone_scripts/defaults/main.yml b/roles/standalone_scripts/defaults/main.yml index e03672d7..1671bb20 100644 --- a/roles/standalone_scripts/defaults/main.yml +++ b/roles/standalone_scripts/defaults/main.yml @@ -5,4 +5,3 @@ ss_sthlm_dest: "{{ sw_path }}/standalone_scripts" ss_upps_repo: "https://github.com/Molmed/irma-scripts.git" ss_upps_dest: "{{ sw_path }}/upps_standalone_scripts" ss_upps_version: "master" -ss_upps_local_dest: "{{ proj_root }}/{{ ngi_pipeline_upps_delivery }}/private/scripts" \ No newline at end of file diff --git a/roles/standalone_scripts/tasks/main.yml b/roles/standalone_scripts/tasks/main.yml index 72585096..a11f5639 100644 --- a/roles/standalone_scripts/tasks/main.yml +++ b/roles/standalone_scripts/tasks/main.yml @@ -13,13 +13,6 @@ version="{{ ss_upps_version }}" force=yes -# Symlink the upps scripts to the local project -- name: Symlink upps standalone scripts - file: - src: "{{ ss_upps_dest }}" - dest: "{{ ss_upps_local_dest }}" - state: link - # Since the standalone repo is more free-form than others # putting PATH at end of $PATH as a safeguard from future problems - name: Add standalone scripts to end of sthlm's $PATH via sourceme @@ -31,4 +24,3 @@ lineinfile: dest={{ ngi_pipeline_conf }}/{{ bash_env_upps_script }} line='export PATH=$PATH:{{ ss_upps_dest }}' backup=no - diff --git a/roles/taca/defaults/main.yml b/roles/taca/defaults/main.yml index 46c22d4f..64e139c9 100644 --- a/roles/taca/defaults/main.yml +++ b/roles/taca/defaults/main.yml @@ -1,16 +1,16 @@ --- taca_ngi_repo: https://github.com/SciLifeLab/taca-ngi-pipeline.git taca_ngi_dest: "{{ sw_path }}/taca-ngi-pipeline" -taca_ngi_version: b9ed0c748bcbb0bfe6b1106e5dc2778f73b936a2 +taca_ngi_version: 4df67826eea84aef95682570c3bb1ce71890c1fb statusdb_repo: "https://github.com/SciLifeLab/statusdb.git" statusdb_dest: "{{ sw_path }}/statusdb" -statusdb_version: "ca2a3faea82a10359c70f7a7697db499b5c82b17" +statusdb_version: "4100278170269759e65dd0e8801a33787dd5d5c2" flowcell_parser_repo: "https://github.com/SciLifeLab/flowcell_parser.git" flowcell_parser_dest: "{{ sw_path }}/flowcell_parser" -flowcell_parser_version: "e4750ce700026b1e7427de712d1464049d222a88" +flowcell_parser_version: "39224d94cf3d6b6547ae06012f54b664a22e8fac" taca_repo: "https://github.com/SciLifeLab/TACA.git" taca_dest: "{{ sw_path }}/TACA" -taca_version: dd76b0699766d8cc42db4f0b20ebb1a979c6cc6b +taca_version: b0e4e0a658fa0eda39f8f7999ea0a32148c9a865 diff --git a/roles/taca/tasks/main.yml b/roles/taca/tasks/main.yml index 621cad22..e57bff5e 100644 --- a/roles/taca/tasks/main.yml +++ b/roles/taca/tasks/main.yml @@ -59,7 +59,7 @@ - name: Deploy runfolder delivery stockholm config template: src="site_taca_runfolder_delivery.yml.j2" dest="{{ ngi_pipeline_conf }}/TACA/{{ site }}_taca_runfolder_delivery.yml" -- name: Store taca tools version on deployement +- name: Store taca tools version on deployment lineinfile: dest: "{{ deployed_tool_versions }}" line: "{{ item.tool_name }}: {{ item.tool_version }}"