# OpenFold

## 安装
OpenFold支持
+ Python 3.7.
+ Python 3.8.
+ Python 3.9.

### 使用pip安装
openfold whl包下载目录：[https://cancon.hpccube.com:65024/4/main/openfold/dtk23.04](https://cancon.hpccube.com:65024/4/main/openfold/dtk23.04)
根据对应的pytorch版本和python版本，下载对应openfold的whl包

```shell
pip install openfold* (下载的openfold的whl包)
```

### 使用源码安装

#### 编译环境准备
pytorch whl包下载目录：[https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.04](https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.04)
根据python版本,下载对应pytorch的whl包
```shell
pip install torch* (下载的torch的whl包)
```

```shell
pip install setuptools=59.5.0 wheel
```

#### 编译安装
```shell
git clone https://developer.hpccube.com/codes/aicomponent/openfold  # 根据需要的分支进行切换
cd openfold

1、 编译whl包并安装
python setup.py bdist_wheel 
pip install dist/openfold*

2、 直接编译安装
python setup.py install 
```

## 安装包命名
例： openfold-1.0.1+gitae4af8f.abi0.dtk2304.torch1.10-cp37-cp37m-manylinux2014_x86_64.whl
- openfold: 安装包名称；
- 1.0.1: 安装包版本号；
- gitae4af8f: git号；
- abi0: 对应centos和rocky多系统的标识，取值为abi0（centos7），abi1(rocky8)，可使用命令行动态查询获取辅助判断（echo '#include <string>' | gcc -x c++ -E -dM - | fgrep _GLIBCXX_USE_CXX11_ABI）;
- dtk2304: 对应dtk大版本号，命令行动态查询取值（/opt/dtk-23.04/.info/rocm_version）；
- torch1.10: 对应构建的torch版本号，命令行动态查询取值（torch.\_\_version__）;
- cp37-cp37m: 对应python版本号；
- manylinux2014_x86_64: 系统架构；

## 版本号查询
- openfold.\_\_version__：与官方版本同步，查询该安装包的版本号，例如1.0.1；

## Note
+ 若使用 pip install 下载安装过慢，可添加源：-i https://pypi.tuna.tsinghua.edu.cn/simple/

## 参考
- [README_ORIGIN](README_ORIGIN.md)