데이터분석/Bioinformatics

[한주현님강의] 생물정보학 리눅스 툴 설치하기 (samtools), bam파일 보는 방법 + WSL2 우분투 설치 방법

묘걍 2023. 10. 13. 17:01

👉🏻 오늘 설치할 툴

  • samtools
  • BAM파일을 다루는 툴
  • BAM파일은 FASTQ를 맵핑한 파일 포맷

👉🏻 리눅스 툴 설치의 어려움

  • 윈도우에서 설치하던 것 처럼 더블클릭으로 쉽게 되지 않는다
  • 리눅스에서는 툴을 설치하기 위해 필요한 프로그램 (즉, dependency)들을 미리 설치해야 설치가 진행된다

👉🏻 실습 준비물

  • 인터넷이 연결된 리눅스 운영체제
  • 아무것도 안 깔려 있는 기본 ubuntu를 gcp(Google Cloud Platform)에서 구동함

저는 리눅스부터 설치해야하는 상황이라 리눅스 설치를 하겠습니다.

설치 되어있는 분들은 이 단계를 넘어가주세요!

✅ 리눅스 설치하기

더보기
  1. Windows Subsystem for Linux (WSL) 사용:
    • 최근의 윈도우 버전들은 WSL을 지원합니다. WSL을 사용하면 윈도우 내에서 리눅스 배포판을 직접 실행할 수 있습니다.
    • 설치 방법:
      1. '프로그램 및 기능'에서 'Windows 기능 켜기/끄기'를 선택합니다.
      2. 'Windows Subsystem for Linux'을 체크하고 확인을 클릭합니다.
      3. 컴퓨터를 재시작합니다.
      4. Microsoft Store에서 원하는 리눅스 배포판(예: 우분투)을 설치합니다.
      5. 설치 후 리눅스 배포판을 실행하여 초기 설정을 완료합니다.
  2. VirtualBox, VMware 등의 가상화 소프트웨어 사용:
    • 이 방법은 윈도우 내에서 가상의 컴퓨터를 실행하여 그 위에 리눅스를 설치하는 것입니다.
    • 설치 방법:
      1. VirtualBox나 VMware 등의 가상화 소프트웨어를 설치합니다.
      2. 새 가상 머신을 생성하고, 리눅스 배포판 ISO 파일을 선택합니다.
      3. 가상 머신을 시작하여, 그 위에 리눅스를 설치합니다.
  3. Dual Boot 설정:
    • 윈도우와 리눅스를 동일한 컴퓨터에 병렬로 설치하면, 컴퓨터 부팅 시 선택하여 사용할 수 있습니다.
    • 설치 방법:
      1. 리눅스 배포판 ISO 파일을 USB 드라이브에 쓰기 위한 소프트웨어(예: Rufus, balenaEtcher)를 사용합니다.
      2. BIOS/UEFI 설정에서 USB 부팅을 우선으로 설정합니다.
      3. USB 드라이브로부터 부팅하고, 리눅스 설치 프로세스를 따릅니다. 이 때, 디스크 파티션 설정에서 윈도우와 리눅스가 함께 공존할 수 있도록 설정합니다.

각 방법마다 장단점이 있으므로, 원하는 사용 목적에 따라 가장 적합한 방법을 선택하시면 됩니다. 예를 들어, WSL은 가벼운 리눅스 경험을 원할 때 좋지만, 전체 리눅스 환경을 경험하고자 한다면 가상화 소프트웨어나 Dual Boot 방법을 추천합니다.

https://velog.io/@pikamon/Linux-3

 

[Linux] Windows 10에 WSL2 우분투 설치하기

WSL2 설치가 의외로 매우 간단해서 깜짝 놀랬다.오 이런 좋은 기술이 있었으면 더 일찍 배울걸 싶었다. ㅠㅠ필자는 WSL2 전체 설치 과정을 아래 글을 참고했다.\[Windows 10 WSL2 설치 및 사용법 - LainyZin

velog.io

이 블로그 참고해서 WSL로 설치했는데 WSL로도 가능한지는 일단 해봐야 알 것 같다

 

1. window powershell 관리자 권한으로 실행

2. 다음 명령어 입력

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. PC 재부팅

--하고 오겠습니다--

 

4. WSL2 Linux 커널 업데이트

본인 PC CPU에 맞춰 설치 파일을 다운로드

다운로드 후 실행 (그냥 next .. finish)

 

PowerShell에 명령어 입력

wsl --set-default-version 2

5. MS Store에서 Ubuntu 앱 설치

하단바에서 검색, 혹은 하단바에 있는 스토어 아이콘 클릭

ubuntu 검색

(마우스 올리고 있으면 무료 버튼이 다운로드 버튼으로 바껴요!)

더보기

실행시 " WslRegisterDistribution failed with error: 0xc03a001a"에러가 뜬다면

  1. 시작 > 실행 > %localappdata%\Packages 입력.
  2. CanonicalGroupLimited.Ubuntu_ 로 검색해서 나오는 폴더를 찾아서 오른쪽 클릭.
  3. 속성 > 일반 > 고급 > "내용을 압축하여 디스크 공간 절약" 의 체크 박스의 체크를 해제.
  4. Ubuntu App 재실행.

으로 해결할 수 있다

(위에 첨부한 블로그 참고했습니다)

 나는 오류 코드가 0x80D02017였다

일단 재시도눌러봤는데 무한 다운로드에 빠져벌임

무한 다운로드 끝나면 따라해볼 것↓

더보기

해결 못해서 결국 다른 걸로 다운 받았다

이걸로 해도 되겠지..?

6. Ubuntu 콘솔에 들어가면 아래와 같이 출력된다

사용할 계정 명과 패스워드를 입력하면 끝!


1. 링크로 들어간다

https://www.htslib.org/download/

 

SAMtools/BCFtools/HTSlib - Downloads

Current releases SAMtools and BCFtools are distributed as individual packages. The code uses HTSlib internally, but these source packages contain their own copies of htslib so they can be built independently. HTSlib is also distributed as a separate packag

www.htslib.org

2. 1.18에 해당하는 버튼 우클릭, 주소 복사

https://github.com/samtools/samtools/releases/download/1.18/samtools-1.18.tar.bz2

3. 주소 붙여넣기 전에 samtools 설치 여부확인

- which: 시스템에 들어 있는 path안에 samtools라는 커멘드가 들어있는지 확인

- 설치 되어 있지 않음

 

4. 주소 붙여넣기

- wget이후에 주소 붙여넣기

5. ll로 확인

- ll: 디렉토리 내의 파일 및 디렉토리 리스트를 표시하는 명령어. 일반적으로는 ls-l명령어로 사용한다

     - ls: 파일 및 디렉토리 목록을 보여줌

     - -l: 긴 형식으로 출력

6. 압축 풀기

를 하면

이런 에러가 났다. 이유는 bzip2혹은 lbzip2가 설치되어있지 않아서이다.

해결을 위해서

sudo apt update
sudo apt install bzip2

를 입력해 설치해주면 된다고 한다

위 두가지 명령을 입력하고 나니 아주 속시원하게 압축이 풀렸다!

다시 ll을 통해 확인해보면

해당 디렉토리가 생성되어있다.

해당 디렉토리로 들어가서

ll을 통해 확인해보면

이것저것 많이 들어 있음

7. 본격적인 설치에 앞서 관리자 권한으로 바꾸기

위 명령어를 입력하면 프롬프트가 #으로 바뀌어 관리자 권한인 root으로 들어갔음을 확인할 수 있다

또 다른 확인법은 맨 앞이 사용자명에서 root로 바뀌어있다

또 다른 확인 방법은 whoami라는 명령어를 사용하는 것

root라는 답을 준다

8. configure 파일 실행

라고 입력하면

configure 파일이 있음을 확인할 수 있다

라고 입력해보면

no라고 뜨는 것들이 있다. 순서대로 설치를 한다

gcc 설치 필요

9. configure에서 필요한 디펜던시들을 설치

APT: advanced packaging tool

- 우분투에서 사용하는 패키지 관리 명령어 툴

APT get이 참조하는 레포지토리를 최신으로 업데이트

완료

9-1. gcc 설치

다시 ./configure 해보면

여전히 오류가 남

다음과 같은 것을 설치해주어야 한다고 함

9-2. libncurses5-dev 설치

다시 ./configure해주면

또 이런걸 설치하라고 나옴

9-3. zlib1g-dev 설치

설치 완료 후 ./configure해보면 여전히

9-4. libbz2-dev 설치

./configure 해보면

여전히.. 안됨

9-5. liblzma-dev 설치

다시 ./configure 해보면

WARNING은 있지만 error는 없음!!!! 끝!

 

10. make 설치

11. make 실행

시간이 조금 걸리지만 완료!

12. make install

13. samtools 위치 확인

(처음에 했을 때는 samtools가 없다고 나옴. 그래서 설치)

그러면 해당 위치에 있다고 알려줌

14. samtools 실행

버전과 다양한 정보가 나오며 잘 실행 됨

15. root 접속 나가기

16. 홈 디렉토리로 가기

17. 사용자 계정에서 samtools 확인 및 실행

여기서도 잘 확인됨

실행

잘 됨


sample bam file 받아보기

1. BAM파일

뒷 주소 생략. 아래 참고

강사님이 유튜브에 있는 주소 복사하라고 하시는데 복사하면

https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjl5SGROLUMzbEpHQURsSm53bklxZlJ4TUVtQXxBQ3Jtc0tscVN1TzdHQkFNdUVncXc3TE13b1R4MXpEdW0yalJhaXU5SjlRV1I1dmN6eDdrX1V2MjQ5UUMxNEp6T2drYnoxSE8xdUdhRzlUR25Jdmtkc2lHZW9VQV9KSl9IbDNvZXQ3ZXNDSHhIeTI0M2dYLTdUaw&q=https%3A%2F%2Fgithub.com%2FKennethJHan%2FGenome-Analysis-Tutorial%2Fraw%2Fmaster%2Fresult%2FSRR000982.mapped.sorted.markdup.bam&v=8bau7KESJTo 

 

YouTube

 

www.youtube.com

이 주소가 복사된다

 

원래는 아래 주소라서 내가 한땀한땀 타이핑했다

https://github.com/KennethJHan/Genome-Analysis-Tutorial/raw/master/result/SRR000982.mapped.sorted.bam

(사실 유튜브에 올려주신 주소를 클릭하면 바로 파일이 다운되도록 되어있는데 이건 어디까지나 콘솔에 입력해서 다운 받아보는 것에 의의가 있는 작업이니...)

혹시라도 제 블로그를 보고 따라하시는 분들은 참고하세용

2. BAM Index File

뒷 주소 생략. 아래 참고

https://github.com/KennethJHan/Genome-Analysis-Tutorial/raw/master/result/SRR000982.mapped.sorted.bam.bai

(위 주소에 .bai만 추가하심 됩니당)

3. ll로 확인해보기

명령어 입력하면

다음과 같이 bam 파일과 bai파일을 확인할 수 있다

 

samtools로 BAM 파일 보기

명령어를 입력하면

여기서 키보드 상의 c를 누르면

명령어 목록 보기

shift + ?키

명령어 참고

 

이동할 곳 검색

/키

왜인지 모르겠지만 강사님이랑 화면이 살짝 다른데

어디로 이동할지를 작성할 수 있다

나는 처음에 어떤 디폴트 값이 작성되어 나왔다

예시

 

나가기

q키

(근데 저 Goto창에서 안 나가져서 ctrl + c 누르니까 나가짐)

 

 

 

 

 

 

출처: https://youtu.be/8bau7KESJTo?si=1kjaEcHNzXA0YWPv