관리 메뉴

데이터 과학

Ubuntu 24.04에 RoseTTAFold-All-Atom 설치하기 본문

생명정보학 & 화학정보학/알파폴드와 단백질 구조 예측

Ubuntu 24.04에 RoseTTAFold-All-Atom 설치하기

티에스윤 2026. 8. 4. 18:51

RTX 5060 , SSD 2TB 환경 기준

RoseTTAFold-All-Atom은 단백질뿐 아니라 DNA, RNA, 작은 분자, 금속 이온을 포함한 복합체 구조를 예측할 수 있는 인공지능 기반 구조 예측 도구입니다.

기존 RoseTTAFold가 주로 단백질 구조 예측에 초점을 맞추었다면, RoseTTAFold-All-Atom은 실제 생체 환경에 가까운 복합체를 다룰 수 있도록 확장된 모델입니다.

이 글에서는 다음 환경을 기준으로 설치 과정을 설명합니다.

 

항목기준 환경

운영체제 Ubuntu 24.04 LTS
GPU NVIDIA GeForce RTX 5060
GPU 메모리 8GB 기준
저장장치 SSD 2TB
설치 대상 RoseTTAFold-All-Atom
Python 환경 Miniforge·Mamba
실행 방식 로컬 GPU 실행

1. 설치 전에 확인할 사항

RoseTTAFold-All-Atom은 일반적인 Python 프로그램보다 설치 과정이 복잡합니다.

프로그램 소스만 내려받는 것으로는 실행할 수 없으며 다음 구성 요소가 모두 필요합니다.

Ubuntu
  ↓
NVIDIA Driver
  ↓
Python·Mamba 환경
  ↓
RoseTTAFold-All-Atom
  ↓
SE3Transformer
  ↓
SignalP 6
  ↓
모델 가중치
  ↓
UniRef30·BFD·PDB100 데이터베이스
  ↓
구조 예측 실행

설치 과정에서 가장 많은 시간과 공간을 차지하는 부분은 데이터베이스 구축입니다.

또한 RTX 5060은 비교적 최신 GPU이기 때문에, RFAA 공식 환경에 포함된 오래된 CUDA 패키지와 충돌할 가능성이 있습니다.

따라서 설치는 다음 두 단계로 나누어 진행하는 것이 안전합니다.

  1. RFAA 공식 환경을 기준으로 프로그램과 데이터베이스를 구축합니다.
  2. RTX 5060이 정상 인식되도록 PyTorch와 CUDA 관련 패키지를 조정합니다.

2. SSD 2TB 저장공간 구성

RoseTTAFold-All-Atom은 여러 대용량 데이터베이스를 사용합니다.

주요 데이터의 압축 파일 크기는 대략 다음과 같습니다.

구성 요소대략적인 압축 용량

UniRef30 약 46GB
BFD 약 272GB
PDB100 약 81GB
BLAST 약 39MB
모델 가중치 수 GB 이내
Conda 환경 및 도구 수십 GB

압축 파일만 합쳐도 약 400GB에 가깝습니다.

하지만 압축을 해제하는 과정에서는 압축 파일과 해제된 데이터가 동시에 존재하므로 실제로는 훨씬 많은 여유 공간이 필요합니다.

권장 저장공간 배치

/data/rfaa/program      프로그램과 모델 가중치
/data/rfaa/databases    대용량 데이터베이스
/data/rfaa/jobs         입력 파일과 결과 파일
/data/rfaa/downloads    설치 파일과 임시 다운로드

폴더를 생성합니다.

sudo mkdir -p /data/rfaa/{program,databases,jobs,downloads}
sudo chown -R "$USER":"$USER" /data/rfaa

저장공간을 확인합니다.

df -h
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS

2TB SSD는 운영체제에서 약 1.8TB 정도로 표시될 수 있습니다.

RFAA 설치용으로는 다음과 같이 공간을 배분하는 것이 좋습니다.

용도권장 공간

Ubuntu 및 일반 프로그램 250~300GB
RFAA 데이터베이스 800GB 이상
프로그램 및 Conda 환경 약 100GB
입력·출력·실험 결과 나머지 공간

하나의 파티션만 사용하더라도 폴더는 반드시 프로그램, 데이터베이스, 결과 파일로 분리하는 것이 좋습니다.


3. 시스템 환경 확인

3.1 Ubuntu 버전 확인

lsb_release -a

또는 다음 명령어를 사용할 수 있습니다.

cat /etc/os-release

Ubuntu 24.04 LTS가 표시되는지 확인합니다.

3.2 CPU와 메모리 확인

lscpu
free -h

RFAA는 GPU뿐 아니라 CPU와 RAM도 많이 사용합니다.

특히 MSA 생성과 데이터베이스 검색 과정은 CPU와 시스템 메모리의 영향을 크게 받습니다.

RAM은 최소 32GB 이상을 권장하며, 가능하면 64GB가 더 안정적입니다.

3.3 GPU 확인

lspci | grep -i nvidia

출력 결과에 RTX 5060이 표시되는지 확인합니다.


4. NVIDIA 드라이버 설치

먼저 NVIDIA 드라이버가 정상적으로 설치되어 있는지 확인합니다.

nvidia-smi

정상적으로 설치되어 있다면 다음 정보가 표시됩니다.

  • NVIDIA GeForce RTX 5060
  • Driver Version
  • CUDA Version
  • GPU Memory

여기에서 표시되는 CUDA Version은 현재 설치된 CUDA Toolkit의 버전이 아니라, 드라이버가 지원하는 최대 CUDA 계열을 의미합니다.

드라이버가 설치되어 있지 않은 경우

sudo apt update
sudo apt install ubuntu-drivers-common -y
ubuntu-drivers devices

권장 드라이버를 자동 설치합니다.

sudo ubuntu-drivers autoinstall
sudo reboot

재부팅 후 다시 확인합니다.

nvidia-smi

RTX 5060은 최신 GPU이므로 오래된 NVIDIA 드라이버에서는 정상적으로 인식되지 않을 수 있습니다.


5. 필수 개발 도구 설치

다음 명령어로 기본 도구를 설치합니다.

sudo apt update

sudo apt install -y \
    git \
    wget \
    curl \
    aria2 \
    build-essential \
    cmake \
    ninja-build \
    pkg-config \
    gcc \
    g++ \
    gfortran \
    make \
    unzip \
    bzip2 \
    pigz \
    rsync \
    tmux \
    htop \
    tree \
    libgl1 \
    libglib2.0-0 \
    libxrender1 \
    libxext6

각 도구의 역할은 다음과 같습니다.

도구역할

git RFAA 소스 코드 다운로드
wget·aria2 대용량 파일 다운로드
gcc·g++·cmake C/C++ 기반 패키지 컴파일
pigz 멀티코어 압축 해제
tmux 장시간 다운로드와 설치 작업 유지
htop CPU와 메모리 사용량 확인

6. Miniforge와 Mamba 설치

RFAA는 Conda 환경에서 설치하는 것이 좋습니다.

여기서는 의존성 해결 속도가 빠른 Miniforge와 Mamba를 사용합니다.

cd /data/rfaa/downloads

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"

설치합니다.

bash Mambaforge-$(uname)-$(uname -m).sh

설치 과정에서는 다음과 같이 선택합니다.

라이선스 동의: yes
설치 경로: 기본값 사용 가능
conda init 실행: yes

설치 후 환경 설정을 다시 불러옵니다.

source ~/.bashrc

설치 여부를 확인합니다.

conda --version
mamba --version

설치 파일은 삭제해도 됩니다.

rm -f Mambaforge-$(uname)-$(uname -m).sh

7. RoseTTAFold-All-Atom 다운로드

프로그램 설치 폴더로 이동합니다.

cd /data/rfaa/program

공식 저장소를 내려받습니다.

git clone https://github.com/baker-laboratory/RoseTTAFold-All-Atom.git

프로젝트 폴더로 이동합니다.

cd RoseTTAFold-All-Atom

현재 설치한 버전을 기록해 두는 것이 좋습니다.

git rev-parse HEAD
git status

GitHub 저장소는 업데이트될 수 있으므로, 연구 결과를 재현하려면 사용한 커밋 값을 반드시 기록하는 것이 좋습니다.


8. 공식 Conda 환경 생성

프로젝트 루트에서 다음 명령어를 실행합니다.

mamba env create -f environment.yaml

설치가 끝나면 환경을 활성화합니다.

conda activate RFAA

설치 상태를 확인합니다.

which python
python --version
conda info --envs

정상이라면 RFAA 환경이 활성화되고, 해당 환경의 Python 경로가 표시됩니다.


9. RTX 5060 GPU 호환성 확인

RFAA 공식 환경은 비교적 오래된 CUDA 11.8 계열을 기준으로 작성되어 있을 수 있습니다.

RTX 5060은 최신 GPU이므로 공식 환경의 PyTorch가 GPU를 지원하지 못할 수 있습니다.

다음 코드를 실행하여 확인합니다.

python - <<'PY'
import torch

print("PyTorch:", torch.__version__)
print("CUDA runtime:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))
    print("Capability:", torch.cuda.get_device_capability(0))
PY

정상이라면 다음과 같이 표시됩니다.

CUDA available: True
GPU: NVIDIA GeForce RTX 5060

다음과 같은 오류가 발생할 수 있습니다.

no kernel image is available for execution on the device

또는 다음과 같은 호환성 경고가 나올 수 있습니다.

GPU with CUDA capability sm_120 is not compatible

이 경우 현재 설치된 PyTorch가 RTX 5060을 지원하지 않는 것입니다.


10. RTX 5060용 PyTorch 설치

먼저 기존 환경을 백업합니다.

conda activate RFAA

conda env export > /data/rfaa/program/RFAA_original_environment.yml
pip freeze > /data/rfaa/program/RFAA_original_pip.txt

기존 PyTorch를 제거합니다.

pip uninstall -y torch torchvision torchaudio

CUDA 12.8용 PyTorch를 설치합니다.

pip install torch torchvision torchaudio \
    --index-url https://download.pytorch.org/whl/cu128

설치 후 GPU 연산을 테스트합니다.

python - <<'PY'
import torch

print("PyTorch:", torch.__version__)
print("CUDA runtime:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))
    print("Capability:", torch.cuda.get_device_capability(0))

    x = torch.randn(2048, 2048, device="cuda")
    y = x @ x
    print("GPU tensor test:", y.mean().item())
PY

GPU 텐서 계산 결과가 출력되면 PyTorch 수준에서는 RTX 5060이 정상적으로 작동하는 것입니다.

다만 PyTorch를 교체하면 다음 패키지와 충돌할 수 있습니다.

  • DGL
  • SE3Transformer
  • 기존 CUDA 확장 모듈
  • 오래된 PyTorch API를 사용하는 라이브러리

따라서 PyTorch 설치 후에는 반드시 공식 예제까지 실행하여 전체 호환성을 확인해야 합니다.


11. SE3Transformer 설치

RFAA는 3차원 회전과 이동에 대응하는 구조 정보를 처리하기 위해 SE3Transformer를 사용합니다.

다음 폴더로 이동합니다.

cd /data/rfaa/program/RoseTTAFold-All-Atom/rf2aa/SE3Transformer

필요한 패키지를 설치합니다.

pip install --no-cache-dir -r requirements.txt
python setup.py install

설치가 끝나면 프로젝트 루트로 돌아갑니다.

cd /data/rfaa/program/RoseTTAFold-All-Atom

SE3Transformer 설치는 CUDA 및 PyTorch 버전에 민감하므로, 오류가 발생하면 PyTorch와 DGL 버전을 함께 확인해야 합니다.


12. SignalP 6 설치

SignalP 6은 단백질의 신호 펩타이드를 예측하는 프로그램입니다.

RFAA 저장소에 포함되어 있지 않으므로 SignalP 공식 배포 사이트에서 별도로 내려받아야 합니다.

예를 들어 설치 파일이 다음 위치에 있다고 가정합니다.

~/Downloads/signalp-6.0h.fast.tar.gz

RFAA 환경에서 등록합니다.

conda activate RFAA

signalp6-register ~/Downloads/signalp-6.0h.fast.tar.gz

공식 설치 방식에 따라 모델 파일 이름을 변경합니다.

mv \
"$CONDA_PREFIX/lib/python3.10/site-packages/signalp/model_weights/distilled_model_signalp6.pt" \
"$CONDA_PREFIX/lib/python3.10/site-packages/signalp/model_weights/ensemble_model_signalp6.pt"

설치 파일을 확인합니다.

ls -lh \
"$CONDA_PREFIX/lib/python3.10/site-packages/signalp/model_weights/"

SignalP 버전에 따라 경로나 파일명이 다를 수 있으므로 실제 설치 결과를 기준으로 확인해야 합니다.


13. 추가 의존성 설치

프로젝트 루트에서 다음 스크립트를 실행합니다.

conda activate RFAA
cd /data/rfaa/program/RoseTTAFold-All-Atom

bash install_dependencies.sh

이 스크립트는 입력 준비와 구조 예측에 필요한 추가 프로그램을 설치합니다.

설치 후 주요 명령어를 확인합니다.

which hhblits
which hhsearch
which makeblastdb
which blastpgp
which signalp6

명령어가 정상적으로 설치되었다면 해당 실행 파일의 경로가 표시됩니다.


14. 모델 가중치 다운로드

프로젝트 폴더에서 모델 가중치를 내려받습니다.

cd /data/rfaa/program/RoseTTAFold-All-Atom

wget -c \
    http://files.ipd.uw.edu/pub/RF-All-Atom/weights/RFAA_paper_weights.pt

가중치 전용 폴더를 생성합니다.

mkdir -p /data/rfaa/program/weights

가중치 파일을 이동합니다.

mv RFAA_paper_weights.pt \
   /data/rfaa/program/weights/

파일을 확인합니다.

ls -lh /data/rfaa/program/weights/RFAA_paper_weights.pt

15. 데이터베이스 다운로드

데이터베이스 다운로드는 수시간에서 수일이 걸릴 수 있습니다.

터미널 연결이 끊겨도 작업이 계속되도록 tmux를 사용하는 것이 좋습니다.

tmux new -s rfaa-download

작업을 유지한 채 tmux에서 빠져나오려면 다음 키를 누릅니다.

Ctrl+B
D

다시 연결할 때는 다음 명령어를 사용합니다.

tmux attach -t rfaa-download

데이터베이스 폴더로 이동합니다.

cd /data/rfaa/databases

15.1 UniRef30 다운로드

aria2c -x 8 -s 8 -c \
    http://wwwuser.gwdg.de/~compbiol/uniclust/2020_06/UniRef30_2020_06_hhsuite.tar.gz

압축을 해제합니다.

mkdir -p UniRef30_2020_06

tar -xzf UniRef30_2020_06_hhsuite.tar.gz \
    -C UniRef30_2020_06

설치 결과를 확인합니다.

find UniRef30_2020_06 -maxdepth 2 -type f | head
du -sh UniRef30_2020_06

정상적으로 압축이 해제되었다면 압축 파일을 삭제할 수 있습니다.

rm UniRef30_2020_06_hhsuite.tar.gz

15.2 BFD 다운로드

aria2c -x 8 -s 8 -c \
    https://bfd.mmseqs.com/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz

압축을 해제합니다.

mkdir -p bfd

tar -xzf \
    bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz \
    -C bfd

설치 결과를 확인합니다.

du -sh bfd
find bfd -maxdepth 2 -type f | head

정상적으로 설치되었다면 압축 파일을 삭제할 수 있습니다.

rm bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz

BFD는 설치 과정에서 가장 많은 시간과 공간을 사용하는 데이터베이스입니다.


15.3 PDB100 다운로드

aria2c -x 8 -s 8 -c \
    https://files.ipd.uw.edu/pub/RoseTTAFold/pdb100_2021Mar03.tar.gz

압축을 해제합니다.

tar -xzf pdb100_2021Mar03.tar.gz

설치 결과를 확인합니다.

du -sh pdb100_2021Mar03
find pdb100_2021Mar03 -maxdepth 2 -type f | head

HH-suite 데이터베이스 파일이 존재하는지 확인합니다.

find pdb100_2021Mar03 \
    \( -name "*.ffdata" -o -name "*.ffindex" \) | head

15.4 Legacy BLAST 2.2.26 다운로드

RFAA는 오래된 BLAST 2.2.26을 요구할 수 있습니다.

wget -c \
    https://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/blast-2.2.26-x64-linux.tar.gz

압축을 해제합니다.

mkdir -p blast-2.2.26

tar -xf blast-2.2.26-x64-linux.tar.gz \
    -C blast-2.2.26

폴더 구조를 정리합니다.

cp -r blast-2.2.26/blast-2.2.26 \
    blast-2.2.26_bk

rm -rf blast-2.2.26

mv blast-2.2.26_bk blast-2.2.26

설치 결과를 확인합니다.

ls -lh blast-2.2.26
ls -lh blast-2.2.26/data

16. 환경변수 설정

~/.bashrc 파일을 엽니다.

nano ~/.bashrc

맨 아래에 다음 내용을 추가합니다.

# RoseTTAFold-All-Atom
export RFAA_HOME=/data/rfaa/program/RoseTTAFold-All-Atom
export RFAA_DB=/data/rfaa/databases
export RFAA_WEIGHTS=/data/rfaa/program/weights

export DB_UR30=/data/rfaa/databases/UniRef30_2020_06
export DB_BFD=/data/rfaa/databases/bfd
export BLASTMAT=/data/rfaa/databases/blast-2.2.26/data

export PATH="$RFAA_HOME:$PATH"

설정을 적용합니다.

source ~/.bashrc

설정값을 확인합니다.

echo "$RFAA_HOME"
echo "$DB_UR30"
echo "$DB_BFD"
echo "$BLASTMAT"

17. RFAA 설정 파일 수정

설정 파일의 실제 이름을 확인합니다.

cd /data/rfaa/program/RoseTTAFold-All-Atom

find rf2aa/config/inference \
    -maxdepth 1 \
    \( -name "base.yml" -o -name "base.yaml" \)

파일명이 base.yaml이라면 다음과 같이 엽니다.

nano rf2aa/config/inference/base.yaml

파일명이 base.yml이라면 다음과 같이 엽니다.

nano rf2aa/config/inference/base.yml

다음 항목을 실제 설치 경로에 맞게 수정합니다.

database_params:
  sequencedb: "/data/rfaa/databases/pdb100_2021Mar03/pdb100_2021Mar03"
  hhdb: "/data/rfaa/databases/pdb100_2021Mar03/pdb100_2021Mar03"

checkpoint_path: "/data/rfaa/program/weights/RFAA_paper_weights.pt"

경로를 입력하기 전에 실제 파일이 존재하는지 확인합니다.

ls /data/rfaa/databases/pdb100_2021Mar03/pdb100_2021Mar03*

파일이 보이지 않는다면 다음 명령어로 실제 위치를 확인합니다.

find /data/rfaa/databases/pdb100_2021Mar03 \
    -maxdepth 3 \
    -type f | head -30

압축 해제된 폴더 구조는 버전에 따라 다를 수 있으므로, README의 예시를 그대로 입력하기보다 실제 파일 경로를 확인해야 합니다.


18. 설치 상태 점검

RFAA 환경을 활성화합니다.

conda activate RFAA
cd /data/rfaa/program/RoseTTAFold-All-Atom

Python 패키지를 확인합니다.

python - <<'PY'
modules = [
    "torch",
    "numpy",
    "hydra",
    "omegaconf",
    "Bio",
]

for name in modules:
    try:
        module = __import__(name)
        version = getattr(module, "__version__", "unknown")
        print(f"{name}: OK, version={version}")
    except Exception as error:
        print(f"{name}: FAILED, {error}")
PY

GPU를 확인합니다.

python - <<'PY'
import torch

print("PyTorch:", torch.__version__)
print("PyTorch CUDA:", torch.version.cuda)
print("GPU available:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))
    print(
        "VRAM GB:",
        torch.cuda.get_device_properties(0).total_memory / 1024**3
    )
PY

외부 프로그램을 확인합니다.

for cmd in hhblits hhsearch blastpgp signalp6; do
    printf "%-12s" "$cmd"
    command -v "$cmd" || echo "NOT FOUND"
done

19. 공식 예제 실행

프로젝트 루트에서 다음 명령어를 실행합니다.

conda activate RFAA

cd /data/rfaa/program/RoseTTAFold-All-Atom

python -m rf2aa.run_inference --config-name protein

공식 단백질 예제 설정은 다음과 같은 형태입니다.

defaults:
  - base

job_name: "7u7w_protein"

protein_inputs:
  A:
    fasta_file: examples/protein/7u7w_A.fasta

A는 단백질 사슬을 구분하는 chain ID입니다.

공식 예제가 끝까지 실행되면 기본 설치가 정상적으로 완료된 것으로 볼 수 있습니다.


20. 사용자 단백질 구조 예측

작업 폴더를 생성합니다.

mkdir -p /data/rfaa/jobs/my_first_protein
cd /data/rfaa/jobs/my_first_protein

FASTA 파일을 작성합니다.

nano protein_A.fasta

예시는 다음과 같습니다.

>protein_A
MKTIIALSYIFCLVFADYKDDDDK

RFAA 설정 파일을 작성합니다.

cd /data/rfaa/program/RoseTTAFold-All-Atom

nano rf2aa/config/inference/my_protein.yaml

다음 내용을 입력합니다.

defaults:
  - base

job_name: "my_first_protein"

output_path: "/data/rfaa/jobs/my_first_protein/output"

protein_inputs:
  A:
    fasta_file: "/data/rfaa/jobs/my_first_protein/protein_A.fasta"

예측을 실행합니다.

conda activate RFAA

cd /data/rfaa/program/RoseTTAFold-All-Atom

python -m rf2aa.run_inference \
    --config-name my_protein

21. 결과 파일 확인

결과 폴더를 확인합니다.

find /data/rfaa/jobs/my_first_protein/output \
    -maxdepth 2 \
    -type f \
    -printf "%p\n"

일반적으로 다음과 같은 결과가 생성됩니다.

  • 예측 구조가 포함된 PDB 파일
  • 신뢰도 지표가 저장된 PyTorch 파일
  • 실행 로그
  • 중간 결과 파일

PDB 파일은 PyMOL이나 ChimeraX에서 열어 구조를 확인할 수 있습니다.

PyTorch 결과 파일에는 다음과 같은 정보가 포함될 수 있습니다.

  • pLDDT
  • PAE
  • PDE
  • 평균 pLDDT
  • 평균 PAE
  • 복합체 계면 신뢰도

결과 파일의 내부 구조를 확인하는 예시는 다음과 같습니다.

python - <<'PY'
import glob
import torch

files = glob.glob(
    "/data/rfaa/jobs/my_first_protein/output/**/*.pt",
    recursive=True
)

for file in files:
    print("\nFILE:", file)
    data = torch.load(file, map_location="cpu")

    if isinstance(data, dict):
        for key, value in data.items():
            shape = getattr(value, "shape", None)
            print(key, shape if shape is not None else type(value))
PY

22. RTX 5060 8GB 환경에서의 한계

RTX 5060은 연산 성능이 높은 GPU이지만, RFAA에서는 GPU 세대보다 VRAM 용량이 더 큰 제약이 될 수 있습니다.

8GB VRAM에서는 다음과 같은 작업에서 메모리 부족이 발생할 수 있습니다.

  • 매우 긴 단백질
  • 여러 사슬로 구성된 복합체
  • 단백질–DNA–리간드 복합체
  • 원자 수가 많은 리간드
  • 많은 반복 횟수
  • 여러 작업의 동시 실행

처음에는 다음 조건으로 테스트하는 것이 좋습니다.

  • 100~250개 아미노산 정도의 단일 단백질
  • 기본 MAXCYCLE=4
  • 한 번에 하나의 작업
  • 다른 CUDA 프로그램 종료
  • 브라우저와 그래픽 프로그램 최소화

GPU 메모리 사용량은 다음 명령어로 확인할 수 있습니다.

watch -n 1 nvidia-smi

23. 자주 발생하는 오류

23.1 torch.cuda.is_available()이 False인 경우

nvidia-smi
python -c "import torch; print(torch.__version__, torch.version.cuda)"

가능한 원인은 다음과 같습니다.

  • NVIDIA 드라이버가 설치되지 않았습니다.
  • CPU 전용 PyTorch가 설치되었습니다.
  • RFAA Conda 환경이 활성화되지 않았습니다.
  • PyTorch가 RTX 5060을 지원하지 않습니다.

23.2 no kernel image is available 오류

RTX 5060을 지원하지 않는 CUDA 빌드가 설치된 경우 발생할 수 있습니다.

pip uninstall -y torch torchvision torchaudio

pip install torch torchvision torchaudio \
    --index-url https://download.pytorch.org/whl/cu128

PyTorch를 교체한 뒤에는 SE3Transformer와 DGL 등의 호환성을 다시 확인해야 합니다.


23.3 CUDA out of memory 오류

GPU 메모리 사용량을 확인합니다.

nvidia-smi

실행 중인 Python 프로세스를 확인합니다.

ps aux | grep python

불필요한 프로세스를 종료합니다.

kill <PID>

그 후 더 작은 단백질로 다시 실행합니다.


23.4 데이터베이스 경로 오류

환경변수를 확인합니다.

echo "$DB_UR30"
echo "$DB_BFD"
echo "$BLASTMAT"

폴더 존재 여부를 확인합니다.

test -d "$DB_UR30" && echo "UR30 OK"
test -d "$DB_BFD" && echo "BFD OK"
test -d "$BLASTMAT" && echo "BLASTMAT OK"

PDB100 설정은 단순한 폴더 경로가 아니라 HH-suite 데이터베이스의 실제 접두사 경로를 지정해야 합니다.


23.5 SignalP 모델 오류

설치된 SignalP 파일을 확인합니다.

find "$CONDA_PREFIX/lib/python3.10/site-packages/signalp" \
    -type f | sort

ensemble_model_signalp6.pt 파일이 존재하는지 확인합니다.


24. 권장 설치 순서

RTX 5060과 SSD 2TB 환경에서는 다음 순서가 가장 안전합니다.

1. 최신 NVIDIA 드라이버 설치
2. Miniforge와 Mamba 설치
3. RFAA 공식 Conda 환경 생성
4. 프로그램 의존성 설치
5. SignalP 6 설치
6. 모델 가중치 다운로드
7. UniRef30·BFD·PDB100 데이터베이스 구축
8. 환경변수와 설정 파일 수정
9. RTX 5060용 PyTorch 호환성 조정
10. 공식 단백질 예제 실행
11. 사용자 단백질 예측
12. 이후 복합체 예측으로 확장

25. 맺음말

SSD 2TB는 RoseTTAFold-All-Atom의 전체 데이터베이스를 설치할 수 있는 수준입니다. 다만 압축 파일과 해제된 데이터가 동시에 존재하는 설치 과정에서는 저장공간이 빠르게 줄어들 수 있습니다.

따라서 데이터베이스 압축 해제가 정상적으로 완료된 뒤에는 원본 압축 파일을 삭제하고, 결과 파일은 주기적으로 외장 SSD나 다른 저장장치로 백업하는 것이 좋습니다.

RTX 5060 환경에서는 저장공간보다 CUDA와 PyTorch의 호환성이 더 큰 문제가 될 수 있습니다. RFAA 공식 환경은 비교적 오래된 CUDA 버전을 기준으로 작성되었을 수 있기 때문에, 공식 환경을 그대로 설치한 뒤 RTX 5060을 지원하는 최신 PyTorch로 조정해야 할 가능성이 높습니다.

처음부터 복잡한 단백질–리간드 복합체를 실행하기보다, 공식 단백질 단량체 예제를 먼저 실행하여 다음 항목을 확인하는 것이 중요합니다.

  • GPU가 정상적으로 인식되는지
  • MSA 생성이 완료되는지
  • 데이터베이스 경로가 올바른지
  • 모델 가중치가 정상적으로 불러와지는지
  • PDB 결과 파일이 생성되는지

이 과정을 통과한 뒤 단백질–리간드, 단백질–DNA, 단백질–RNA, 금속 이온 복합체 예측으로 단계적으로 확장하는 것이 가장 안정적인 설치 및 활용 방법입니다.

 

 

참고: chatGPT 5.5