Macos에 STAR를 설치하며 겪은 우여곡절을 적은 글
https://github.com/alexdobin/STAR
STAR는 RNA seq들을 align 해주는 툴로, 위 깃허브에 들어가서 다운을 받을 수 있다.
다운을 받는 과정은 README를 따라하면 된다.
글을 적을 당시 2.7.11a가 최신인데, 나중엔 아닐 수 있으니 깃허브를 참조해주세요.
코드를 다운 받는 것까지는 어떤 OS든 공통적인 과정이니 똑같이 터미널에 복붙하면 된다.
wget https://github.com/alexdobin/STAR/archive/2.7.11a.tar.gz
tar -xzf 2.7.11a.tar.gz
cd STAR-2.7.11a
지금까지는 소스코드를 다운 받는 거였고, 이제부터는 빌드를 해야한다.
여기서부터는 mac os에 해당하는 빌드 방법, 에러 해결 과정만을 적으려고 한다.
# 1. Install brew (http://brew.sh/)
# 2. Install gcc with brew:
$ brew install gcc
# 3. Build STAR:
# run 'make' in the source directory
# note that the path to c++ executable has to be adjusted to its current version
$cd source
$make STARforMacStatic CXX=/usr/local/Cellar/gcc/8.2.0/bin/g++-8
# 4. Make it availible through the terminal
$cp STAR /usr/local/bin
이대로하면 빌드 및 설치가 된다고는 하는데...
나는 2가지 error를 만났다.
뒤에 'CXX' 옵션 없이 make STARforMacStatic만 입력하면 뜨는 에러이다.
'CXX='를 붙여서 g++을 명시해주자.
하지만 CXX를 써줘도 다음과 같은 에러가 발생한다.
나는 STAR에 올라온 이슈를 보고 해결했다.
brew install llvm
위의 명령어로 llvm을 설치해준다.
echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc
다음 명령어로 경로를 바꾸어주고,
source 디렉토리에서 '-mavx2'라는 내용을 포함하는 두개의 makeFile이 있는데, 그 파일을 열어서
#CXXFLAGS_SIMD ?= -mavx2
해당부분을 위와 같이 #로 주석처리해준다.
그리고 터미널에
brew list g++
를 쳐보면 설치된 g++ 리스트가 나오므로 그걸 이용하자.
make STARforMacStatic CXX=/opt/homebrew/Cellar/gcc/13.1.0/bin/g++-13
나는 13버전이었으므로 13버전으로 했다. 이렇게 하면 STAR가 빌드될 것이다.