Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 80 additions & 10 deletions group_vars/loculus/main.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: 'W-ASAP'
host: 'db.wasap.genspectrum.org'

# Pin the Loculus version
#loculus_commit_sha: 4948577ed

logo:
url: 'https://db.wasap.genspectrum.org/static/images/wasap-logo.png'
width: 200
Expand Down Expand Up @@ -39,7 +42,7 @@ s3:
bucket: wasap

organisms:
covid:
covid:
schema:
organismName: 'SARS-CoV-2'
image: 'https://db.wasap.genspectrum.org/static/images/covid-virus.png'
Expand Down Expand Up @@ -111,11 +114,8 @@ organisms:
args:
- "--watch"
- "--disableConsensusSequences"
referenceGenomes:
singleReference:
nucleotideSequences: []
genes: []
rsva:
referenceGenomes: []
rsva:
schema:
organismName: 'RSV-A'
image: 'https://db.wasap.genspectrum.org/static/images/rsv-virus.png'
Expand Down Expand Up @@ -187,10 +187,80 @@ organisms:
args:
- "--watch"
- "--disableConsensusSequences"
referenceGenomes:
singleReference:
nucleotideSequences: []
genes: []
referenceGenomes: []
rsvb:
schema:
organismName: 'RSV-B'
image: 'https://db.wasap.genspectrum.org/static/images/rsv-virus.png'
metadata:
- name: date
type: date
header: Sample details
displayName: Submission Date
- name: sampleId
type: string
header: Sample details
displayName: Sample ID
initiallyVisible: true
- name: batchId
type: string
definition: "Sequencing batch"
header: Sample details
displayName: Batch ID
- name: locationCode
type: string
header: Sample details
displayName: Location Code
- name: locationName
type: string
generateIndex: true
autocomplete: true
header: Sample details
displayName: Location
initiallyVisible: true
- name: samplingDate
type: date
header: Sample details
displayName: Sampling Date
initiallyVisible: true
- name: sr2siloVersion
type: string
header: srSILO info
definition: "Version of sr2silo used for preprocessing"
displayName: sr2silo Version
hideOnSequenceDetailsPage: true
hideInSearchResultsTable: true
- name: countSiloReads
type: string
header: srSILO info
hideOnSequenceDetailsPage: true
hideInSearchResultsTable: true
definition: "Number of reads in subsampled srSILO alignments"
displayName: srSILO Read Count
website:
tableColumns:
- date
- locationName
- samplingDate
defaultOrder: ascending
defaultOrderBy: date
submissionDataTypes:
consensusSequences: false
files:
enabled: true
categories:
- name: nucleotideAlignment
- name: siloReads
files:
- name: nucleotideAlignment
- name: siloReads
preprocessing:
- version: 1
image: ghcr.io/loculus-project/preprocessing-dummy
args:
- "--watch"
- "--disableConsensusSequences"
referenceGenomes: []

dataUseTerms:
enabled: false
Expand Down
6 changes: 6 additions & 0 deletions group_vars/srsilo/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ srsilo_group: srsilo
srsilo_enabled_viruses:
- covid
- rsva
- rsvb

# Per-virus configuration overrides
# Use this to override global defaults for specific viruses
Expand All @@ -36,6 +37,11 @@ srsilo_virus_config:
fetch_max_reads: 50000000 # 50M reads - lower volume expected
chunk_size: 500000 # Smaller chunks
docker_memory_limit: 50g
rsvb:
fetch_days: 120
fetch_max_reads: 50000000 # 50M reads - lower volume expected
chunk_size: 500000 # Smaller chunks
docker_memory_limit: 50g

# =============================================================================
# Repository Path
Expand Down
5 changes: 5 additions & 0 deletions playbooks/srsilo/vars/test_vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ srsilo_virus_config:
fetch_max_reads: 2000000 # Limit to 2M reads instead of 50M
chunk_size: 30000 # Reduced for 8GB RAM test environment
docker_memory_limit: 7g # 90% of 8GB RAM
rsvb:
fetch_days: 45 # Fetch only 45 days instead of 90
fetch_max_reads: 2000000 # Limit to 2M reads instead of 50M
chunk_size: 30000 # Reduced for 8GB RAM test environment
docker_memory_limit: 7g # 90% of 8GB RAM

# Shared configuration (same as production)
srsilo_api_base_url: https://api.db.wasap.genspectrum.org
Expand Down
9 changes: 5 additions & 4 deletions roles/loculus/templates/values.yaml.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: '{{ name }}'
host: '{{ host }}'
{% if loculus_commit_sha is defined %}
sha: '{{ loculus_commit_sha | truncate(7, True, "") }}'
{% endif %}
environment: '{{ loculus_environment }}' # Do not change this: this setup uses a "local" environment as the public traffic is proxied through nginx.

runDevelopmentMainDatabase: {{ runDevelopmentMainDatabase | lower }}
Expand Down Expand Up @@ -138,13 +141,11 @@ organisms:
{% endfor %}
{% endfor %}
referenceGenomes:
singleReference:
nucleotideSequences: {{ organism_config.referenceGenomes.singleReference.nucleotideSequences }}
genes: {{ organism_config.referenceGenomes.singleReference.genes }}
{{ organism_config.referenceGenomes }}
{% endfor %}

dataUseTerms:
enabled: {{ dataUseTerms.enabled | lower }}
disableIngest: {{ disableIngest | lower }}
disableEnaSubmission: {{ disableEnaSubmission | lower }}
accessionPrefix: "{{ accessionPrefix }}"
accessionPrefix: "{{ accessionPrefix }}"
2 changes: 2 additions & 0 deletions roles/nginx/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ nginx_loculus_ssl_certificate_key_path: "/etc/letsencrypt/live/db.{{ nginx_domai
# Upstream Service Ports - Per-virus LAPIS/SILO instances
nginx_lapis_covid_port: 8083
nginx_lapis_rsva_port: 8084
nginx_lapis_rsvb_port: 8085
nginx_silo_covid_port: 8081
nginx_silo_rsva_port: 8082
nginx_silo_rsvb_port: 8086
nginx_wasap_scout_port: 9001
nginx_loculus_port: 9000
nginx_loculus_auth_port: 9083
Expand Down
8 changes: 8 additions & 0 deletions roles/nginx/templates/conf.d/wasap.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ upstream lapis-rsva {
server 127.0.0.1:{{ nginx_lapis_rsva_port }};
}

upstream lapis-rsvb {
server 127.0.0.1:{{ nginx_lapis_rsvb_port }};
}

# SILO instances per virus
upstream silo-covid {
server 127.0.0.1:{{ nginx_silo_covid_port }};
Expand All @@ -20,6 +24,10 @@ upstream silo-rsva {
server 127.0.0.1:{{ nginx_silo_rsva_port }};
}

upstream silo-rsvb {
server 127.0.0.1:{{ nginx_silo_rsvb_port }};
}

# Default HTTP to HTTPS redirect
server {
listen 80 default_server;
Expand Down
15 changes: 15 additions & 0 deletions roles/nginx/templates/sites-available/silo.j2
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@ server {
proxy_set_header X-Forwarded-Prefix /rsva/;
}

# Redirect /rsvb without trailing slash
location = /rsvb {
return 301 /rsvb/;
}

# RSVB instance - proxy with path stripped via trailing slash
location /rsvb/ {
proxy_pass http://silo-rsvb/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Prefix /rsvb/;
}

# Backward compatibility: proxy all other requests to COVID backend
# This catches /, /info, etc. and proxies directly (no redirect)
# Using proxy instead of redirect to preserve CORS preflight behavior
Expand Down
5 changes: 5 additions & 0 deletions roles/srsilo/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ srsilo_viruses:
instance_name: wise-rsva
lapis_port: 8084
silo_port: 8082
rsvb:
organism: rsvb
instance_name: wise-rsvb
lapis_port: 8085
silo_port: 8086

# List of enabled viruses (for multi-virus playbooks)
# This controls which viruses are actually processed - override in group_vars
Expand Down
28 changes: 28 additions & 0 deletions roles/srsilo/files/viruses/rsvb/database_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
schema:
metadata:
- name: sampleId
type: string
generateIndex: true
- name: batchId
type: string
generateIndex: true
- name: locationCode
type: string
generateIndex: true
- name: samplingDate
type: date
generateIndex: false
- name: locationName
type: string
generateIndex: true
- name: readId
type: string
- name: sr2siloVersion
type: string
generateIndex: true
opennessLevel: OPEN
instanceName: wise-rsvb
features:
- name: generalizedAdvancedQuery
primaryKey: readId
siloClientThreadCount: 96
2 changes: 2 additions & 0 deletions roles/srsilo/files/viruses/rsvb/preprocessing_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ndjsonInputFilename: sorted.ndjson.zst
withoutUnalignedSequences: true
Loading