alphafold icon indicating copy to clipboard operation
alphafold copied to clipboard

`run_docker.py` fails to mount databases

Open masterdesky opened this issue 3 years ago • 0 comments

I worked with Alphafold several times in the past and after a 2-3 months long hiatus I've tried to run it again on the same computer as before. During this 2-3 months long period there was some hardware update to the head node of the computer center itself, but not to the server I'm working on. However now the run_docker.py script encounters an error that I cannot trace back whether it's related to Docker or Alphafold (or something else), that's why I'm posting it here too.

I'm running the regular command on the machine from the alphafold directory:

python3 docker/run_docker.py \
  --fasta_paths=/home/masterdesky/test/test.fasta \
  --max_template_date=2022-02-22 \
  --data_dir=/data/AlphaFoldResources/databases/db-2022-02-22/ \
  --gpu_devices=0

But at the very beginning the docker throws the following error, saying that the uniref90 database directory, which was (supposedly) mounted previously does not exists.

I0614 13:43:46.418478 140482368956224 run_docker.py:113] Mounting /home/masterdesky/test -> /mnt/fasta_path_0
I0614 13:43:46.418703 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/uniref90 -> /mnt/uniref90_database_path
I0614 13:43:46.418829 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/mgnify -> /mnt/mgnify_database_path
I0614 13:43:46.418927 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22 -> /mnt/data_dir
I0614 13:43:46.419023 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/pdb_mmcif/mmcif_files -> /mnt/template_mmcif_dir
I0614 13:43:46.419130 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/pdb_mmcif -> /mnt/obsolete_pdbs_path
I0614 13:43:46.419247 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/pdb70 -> /mnt/pdb70_database_path
I0614 13:43:46.419362 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/uniclust30/uniclust30_2018_08 -> /mnt/uniclust30_database_path
I0614 13:43:46.419475 140482368956224 run_docker.py:113] Mounting /data/AlphaFoldResources/databases/db-2022-02-22/bfd -> /mnt/bfd_database_path
Traceback (most recent call last):
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/api/client.py", line 268, in _raise_for_status
    response.raise_for_status()
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/requests/models.py", line 960, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http+docker://localhost/v1.41/containers/create

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "docker/run_docker.py", line 264, in <module>
    app.run(main)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "docker/run_docker.py", line 234, in main
    container = client.containers.run(
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/models/containers.py", line 819, in run
    container = self.create(image=image, command=command,
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/models/containers.py", line 878, in create
    resp = self.client.api.create_container(**create_kwargs)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/api/container.py", line 428, in create_container
    return self.create_container_from_config(config, name)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/api/container.py", line 439, in create_container_from_config
    return self._result(res, True)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/api/client.py", line 274, in _result
    self._raise_for_status(response)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/api/client.py", line 270, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/home/masterdesky/.venv/alphafold/lib/python3.8/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 400 Client Error for http+docker://localhost/v1.41/containers/create: Bad Request ("invalid mount config for type "bind": bind source path does not exist: /data/AlphaFoldResources/databases/db-2022-02-22/uniref90")

All of the necessary files are in the correct location however:

ll /data/AlphaFoldResources/databases/db-2022-02-22/

total 48
drwxrwsr-x 12 masterdesky    alphafold 4096 May  5 15:04 ./
drwxrwsr-x  3 masterdesky alphafold 4096 May  5 08:48 ../
drwxr-sr-x  2 masterdesky    alphafold 4096 May  5 13:33 bfd/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 13:33 mgnify/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 13:44 params/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 13:52 pdb70/
drwxrwsr-x  3 masterdesky    alphafold 4096 May  5 13:52 pdb_mmcif/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 14:32 pdb_seqres/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 14:32 small_bfd/
drwxrwsr-x  3 masterdesky    alphafold 4096 May  5 14:35 uniclust30/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 14:48 uniprot/
drwxrwsr-x  2 masterdesky    alphafold 4096 May  5 15:04 uniref90/

masterdesky avatar Jun 14 '22 14:06 masterdesky