Skip to content

Seqr Installation Issues #282

@YasirKusay

Description

@YasirKusay

I am testing your version of Seqr. I am performing a local install with docker-compose. I ran the command docker compose up -d seqr from this guide: https://github.com/populationgenomics/seqr/blob/staging/deploy/LOCAL_INSTALL.md, but after running docker compose exec seqr python manage.py createsuperuser, I get this error:

WARNINGS:
clickhouse_search.ClinvarGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.ClinvarMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.ClinvarSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.EntriesGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.EntriesGcnv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.EntriesMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.EntriesSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.EntriesSv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.GtStatsDictGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.GtStatsDictMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.GtStatsDictSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.GtStatsDictSv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.HgmdGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
clickhouse_search.HgmdSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
Traceback (most recent call last):
  File "/seqr/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/opt/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/venv/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/venv/lib/python3.11/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 88, in execute
    return super().execute(*args, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/django/core/management/base.py", line 457, in execute
    self.check_migrations()
  File "/opt/venv/lib/python3.11/site-packages/django/core/management/base.py", line 574, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/django/db/migrations/loader.py", line 58, in __init__
    self.build_graph()
  File "/opt/venv/lib/python3.11/site-packages/django/db/migrations/loader.py", line 229, in build_graph
    self.load_disk()
  File "/opt/venv/lib/python3.11/site-packages/django/db/migrations/loader.py", line 120, in load_disk
    migration_module = import_module(migration_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/seqr/clickhouse_search/migrations/0035_promoterai.py", line 30, in <module>
    class Migration(migrations.Migration):
  File "/seqr/clickhouse_search/migrations/0035_promoterai.py", line 93, in Migration
    source=f"QUERY 'SELECT key, max(score) from {DATABASES['clickhouse_write']['NAME']}.`GRCh38/SNV_INDEL/reference_data/promoterAI/seqr_variants` GROUP BY key'",  #nosec B608
                                                 ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 'clickhouse_write'

Running this command: docker compose logs -f seqr reveals the below:

seqr-1  | WARNINGS:
seqr-1  | clickhouse_search.ClinvarGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.ClinvarMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.ClinvarSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.EntriesGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.EntriesGcnv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.EntriesMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.EntriesSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.EntriesSv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.GtStatsDictGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.GtStatsDictMito.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.GtStatsDictSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.GtStatsDictSv.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.HgmdGRCh37SnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | clickhouse_search.HgmdSnvIndel.key: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
seqr-1  | 	HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
seqr-1  | Traceback (most recent call last):
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 288, in ensure_connection
seqr-1  |     self.connect()
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
seqr-1  |     return func(*args, **kwargs)
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 269, in connect
seqr-1  |     self.connection = self.get_new_connection(conn_params)
seqr-1  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
seqr-1  |     return func(*args, **kwargs)
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 275, in get_new_connection
seqr-1  |     connection = self.Database.connect(**conn_params)
seqr-1  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/psycopg/connection.py", line 119, in connect
seqr-1  |     raise last_ex.with_traceback(None)
seqr-1  | psycopg.OperationalError: connection failed: database "seqrdb" does not exist
seqr-1  | 
seqr-1  | The above exception was the direct cause of the following exception:
seqr-1  | 
seqr-1  | Traceback (most recent call last):
seqr-1  |   File "/seqr/manage.py", line 10, in <module>
seqr-1  |     execute_from_command_line(sys.argv)
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
seqr-1  |     utility.execute()
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
seqr-1  |     self.fetch_command(subcommand).run_from_argv(self.argv)
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
seqr-1  |     self.execute(*args, **cmd_options)
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
seqr-1  |     output = self.handle(*args, **options)
seqr-1  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/core/management/commands/loaddata.py", line 101, in handle
seqr-1  |     with transaction.atomic(using=self.using):
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/transaction.py", line 198, in __enter__
seqr-1  |     if not connection.get_autocommit():
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 463, in get_autocommit
seqr-1  |     self.ensure_connection()
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
seqr-1  |     return func(*args, **kwargs)
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 287, in ensure_connection
seqr-1  |     with self.wrap_database_errors:
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__
seqr-1  |     raise dj_exc_value.with_traceback(traceback) from exc_value
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 288, in ensure_connection
seqr-1  |     self.connect()
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
seqr-1  |     return func(*args, **kwargs)
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 269, in connect
seqr-1  |     self.connection = self.get_new_connection(conn_params)
seqr-1  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
seqr-1  |     return func(*args, **kwargs)
seqr-1  |            ^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 275, in get_new_connection
seqr-1  |     connection = self.Database.connect(**conn_params)
seqr-1  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
seqr-1  |   File "/opt/venv/lib/python3.11/site-packages/psycopg/connection.py", line 119, in connect
seqr-1  |     raise last_ex.with_traceback(None)
seqr-1  | django.db.utils.OperationalError: connection failed: database "seqrdb" does not exist
seqr-1  | + python -u manage.py loaddata variant_tag_types
seqr-1  | /opt/venv/lib/python3.11/site-packages/model_utils/__init__.py:1: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
seqr-1  |   from pkg_resources import DistributionNotFound, get_distribution
seqr-1  | System check identified some issues:

It seems like the seqrdb database does not exist. Additionally, is your installation also supposed to download the seqr specific databases?

Also, does your seqr support SV, CNVs and Long Read data?

Please let me know if you need more information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions