comparison docker/alphafold/scripts/download_pdb_mmcif.sh @ 1:6c92e000d684 draft

"planemo upload for repository https://github.com/usegalaxy-au/galaxy-local-tools commit a510e97ebd604a5e30b1f16e5031f62074f23e86"
author galaxy-australia
date Tue, 01 Mar 2022 02:53:05 +0000
parents
children
comparison
equal deleted inserted replaced
0:7ae9d78b06f5 1:6c92e000d684
1 #!/bin/bash
2 #
3 # Copyright 2021 DeepMind Technologies Limited
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 # Downloads, unzips and flattens the PDB database for AlphaFold.
18 #
19 # Usage: bash download_pdb_mmcif.sh /path/to/download/directory
20 set -e
21
22 if [[ $# -eq 0 ]]; then
23 echo "Error: download directory must be provided as an input argument."
24 exit 1
25 fi
26
27 if ! command -v aria2c &> /dev/null ; then
28 echo "Error: aria2c could not be found. Please install aria2c (sudo apt install aria2)."
29 exit 1
30 fi
31
32 if ! command -v rsync &> /dev/null ; then
33 echo "Error: rsync could not be found. Please install rsync."
34 exit 1
35 fi
36
37 DOWNLOAD_DIR="$1"
38 ROOT_DIR="${DOWNLOAD_DIR}/pdb_mmcif"
39 RAW_DIR="${ROOT_DIR}/raw"
40 MMCIF_DIR="${ROOT_DIR}/mmcif_files"
41
42 echo "Running rsync to fetch all mmCIF files (note that the rsync progress estimate might be inaccurate)..."
43 mkdir --parents "${RAW_DIR}"
44 rsync --recursive --links --perms --times --compress --info=progress2 --delete --port=33444 \
45 rsync.rcsb.org::ftp_data/structures/divided/mmCIF/ \
46 "${RAW_DIR}"
47
48 echo "Unzipping all mmCIF files..."
49 find "${RAW_DIR}/" -type f -iname "*.gz" -exec gunzip {} +
50
51 echo "Flattening all mmCIF files..."
52 mkdir --parents "${MMCIF_DIR}"
53 find "${RAW_DIR}" -type d -empty -delete # Delete empty directories.
54 for subdir in "${RAW_DIR}"/*; do
55 mv "${subdir}/"*.cif "${MMCIF_DIR}"
56 done
57
58 # Delete empty download directory structure.
59 find "${RAW_DIR}" -type d -empty -delete
60
61 aria2c "ftp://ftp.wwpdb.org/pub/pdb/data/status/obsolete.dat" --dir="${ROOT_DIR}"