> For the complete documentation index, see [llms.txt](https://docs-ksc.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-ksc.gitbook.io/blog/install/nurion/nurion-autodock-vina-1.1.2-install.md).

# AutoDock Vina v1.1.2 설치 소개

AutoDock Vina는 분자 도킹(Molecular Docking)을 수행하는 오픈소스 프로그램으로 주로 신약 개발 및 단백질-리간드(Ligand) 상호작용 연구에 활용되고 있습니다.

* AutoDock Vina 공식 홈페이지 : [https://vina.scripps.edu](https://vina.scripps.edu/)

이 문서에서는 AutoDock Vina 1.1.2 버전을 컴파일 하여 설치 하는 방법에 대해 예시로 소개합니다.

## **가. 설치 환경**

| 구분                      | 내용                       |
| ----------------------- | ------------------------ |
| 대상 시스템                  | 누리온                      |
| OS Version              | 리눅스 / CentOS 7.9         |
| CPU                     | <p>Intel Xeon Phi 7250   |
| <br>Intel Xeon 6148</p> |                          |
| 컴파일러                    | gcc 4.8.5 / intel 2018.3 |

## **나. 설치 전 환경 설정**

누리온 시스템에서는 PATH, LD\_LIBRARY\_PATH 설정을 손쉽게 하기 위해서 환경설정 툴인 Module이 구성되어 있으며 이하 설치 소개에서는 module load 를 이용한 환경설정 방법으로 안내 드립니다.

\[ 환경 설정 ]

#### 1) GNU 컴파일러 사용 시

* 별도의 환경설정 불필요

#### 2) intel 컴파일러 사용 시

<pre class="language-shell-session"><code class="lang-shell-session"><strong>$ module purge
</strong><strong>$ module load intel/18.0.3
</strong></code></pre>

## **다. AutoDock Vina-1.1.2 버전 설치 과정**

설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략합니다.

\[설치과정]

```shell-session
$ tar -xzvf autodock_vina_1_1_2.tgz
$ cd autodock_vina_1_1_2
$ vi src/main/main.cpp
- - - - - [ main.cpp 파일 수정 내용] 참고 - - - - -


$ vi src/split/split.cpp
- - - - - [ split.cpp 파일 수정 내용] 참고 - - - - -


$ cd build/linux/release
$ vi Makefile
- - - - - [ Makefile 파일 수정 내용] 참고 - - - - -


$ make
$ ls vina
vina vina_split
```

**※ 컴파일러 버전 호환성 문제로 GNU 컴파일러는 반드시 시스템 기본 컴파일러(4.8.5)를 사용**

\[main.cpp 파일 수정 내용]

```cpp
line 50:
<수정 전>
return path(str, boost::filesystem::native);
<수정 후>
return path(str);

line 664:
<수정 전>
std::cerr <"\n\nError: could not open \"" <e.name.native_file_string() <"\" for " <(e.in ? "reading" : "writing") <".\n";
<수정 후>
std::cerr <"\n\nError: could not open \"" <e.name.filename() <"\" for " <(e.in ? "reading" : "writing") <".\n";

line 676:
<수정 전>
std::cerr <"\n\nParse error on line " <e.line <" in file \"" <e.file.native_file_string() <"\": " <e.reason <'\n';
<수정 후>
std::cerr <"\n\nParse error on line " <e.line <" in file \"" <e.file.filename() <"\": " <e.reason <'\n';
```

\[split.cpp 파일 수정 내용]

```cpp
line 41:
<수정 전>
return path(str, boost::filesystem::native);
<수정 후>
return path(str);

line 211:
<수정 전>
std::cerr <"\n\nError: could not open \"" <e.name.native_file_string() <"\" for " <(e.in ? "reading" : "writing") <".\n";
<수정 후>
std::cerr <"\n\nError: could not open \"" <e.name.filename() <"\" for " <(e.in ? "reading" : "writing") <".\n";

line 223:
<수정 전>
std::cerr <"\n\nParse error on line " <e.line <" in file \"" <e.file.native_file_string() <"\": " <e.reason <'\n';
<수정 후>
std::cerr <"\n\nParse error on line " <e.line <" in file \"" <e.file.filename() <"\": " <e.reason <'\n';
```

\[Makefile 파일 수정 내용]

* GNU 컴파일러 사용 시

```makefile
BASE=/apps/common/boost/1.68.0
BOOST_VERSION=1_68
BOOST_INCLUDE = $(BASE)/include
C_PLATFORM= -static -pthread -L/apps/compiler/gcc/7.2.0/lib64
GPP=g++
C_OPTIONS= -O3 -DNDEBUG
BOOST_LIB_VERSION=\
include ../../makefile_common
```

* intel 컴파일러 사용 시

```makefile
BASE=/apps/common/boost/1.68.0
BOOST_VERSION=1_68
BOOST_INCLUDE = $(BASE)/include
C_PLATFORM= -static -pthread -L/apps/compiler/gcc/7.2.0/lib64
GPP=icpc
C_OPTIONS= -O3 -DNDEBUG
BOOST_LIB_VERSION=
include ../../makefile_common
```
