File size: 1,341 Bytes
40e5504
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env bash
set -euo pipefail

# Run this script inside an already prepared GPU environment/node.
# It does not request a compute node.

cd /public/home/scnb9biwet/jiangqq/GPSite-main

GPU_ID="${1:-0}"
INPUT_FASTA="${2:-./conf/example/demo.fa}"
OUT_DIR="${3:-./results/}"

PROTTRANS_DIR="/path/to/prot_t5_xl_uniref50"
ESMFOLD_HUB_DIR="/path/to/weight"
ESMFOLD_WEIGHT="${ESMFOLD_HUB_DIR}/checkpoints/esmfold_3B_v1.pt"
ESM2_WEIGHT="${ESMFOLD_HUB_DIR}/checkpoints/esm2_t36_3B_UR50D.pt"

if [ ! -d "${PROTTRANS_DIR}" ]; then
  echo "ERROR: ProtTrans directory not found: ${PROTTRANS_DIR}" >&2
  exit 1
fi

if [ ! -f "${ESMFOLD_WEIGHT}" ]; then
  echo "ERROR: ESMFold weight not found: ${ESMFOLD_WEIGHT}" >&2
  exit 1
fi

if [ ! -f "${ESM2_WEIGHT}" ]; then
  echo "ERROR: ESM2 weight not found: ${ESM2_WEIGHT}" >&2
  exit 1
fi

if [ ! -f "${INPUT_FASTA}" ]; then
  echo "ERROR: input FASTA not found: ${INPUT_FASTA}" >&2
  exit 1
fi

chmod +x ./scripts/feature_extraction/mkdssp

export PROTTRANS_PATH="${PROTTRANS_DIR}"
export ESMFOLD_HUB_DIR="${ESMFOLD_HUB_DIR}"

echo "Using GPU: ${GPU_ID}"
echo "Input FASTA: ${INPUT_FASTA}"
echo "Output directory: ${OUT_DIR}"
echo "ProtTrans: ${PROTTRANS_DIR}"
echo "ESMFold hub dir: ${ESMFOLD_HUB_DIR}"

python ./scripts/predict.py \
  -i "${INPUT_FASTA}" \
  -o "${OUT_DIR}" \
  --gpu "${GPU_ID}"