쏘의 해피월드

유전체 데이터 다루기 (2):: SRAtoolkit 사용법 본문

유전체데이터 분석/분석실습

유전체 데이터 다루기 (2):: SRAtoolkit 사용법

쏘이언티스트 2024. 7. 5. 10:37

SRA는 대규모의 유전체 시퀀싱 데이터를 저장하는 공개 데이터베이스로, 여기에는 다양한 생물종의 DNA와 RNA 시퀀싱 데이터가 포함되어 있습니다. sratoolkit은 특히 FASTQ 형식의 원시 시퀀싱 데이터를 다운로드하는데 유용합니다.

 

아래에서 FASTQ 데이터 다운로드를 위해 사용되는 sratoolkit을 설치하고 사용하는 방법에 대해 알려드리려 합니다.

 

sratoolkit 파일 설치


먼저 sratoolkit을 로컬 컴퓨터 환경에 맞게 설치합니다. 필자는 Mac OS 환경에서 작업했습니다. 아래 코드는 url을 사용해서 설치하는 코드입니다.

 

https://github.com/ncbi/sra-tools/wiki/02.-Installing-SRA-Toolkit 

 

02. Installing SRA Toolkit

SRA Tools. Contribute to ncbi/sra-tools development by creating an account on GitHub.

github.com

 

#!shell

curl --output sratoolkit.tar.gz https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-mac64.tar.gz

 

*curl [options] [url]: Client Url이란 의미로 클라이언트에서 url을 사용해서 서버와 데이터를 송수신하는 명령어 툴

 

 Sratoolkit 파일 압축 해제


다운받아진 sratoolkit.tar.gz 파일을 압축 해제 합니다.

압축 해제 시, sratoolkit.<release>-<platform> 형식으로 압축 해제가 됩니다.

 

예를 들어, 필자는 sratookit.3.1.1-mac-x86_64 이름으로 압축 해제가 되었습니다.

#!shell

tar -vxzf sratoolkit.tar.gz

 

바이너리 경로를 PATH 환경 변수에 추가


바이너리가 있는 위치를 표시하기 위해 경로를 PATH 환경 변수에 추가합니다.

아래 코드에서 PWD는 현재 경로를 의미하며, 절대 경로로 변경 가능합니다.

#!shell

export PATH=$PATH:$PWD/sratoolkit.3.1.1-mac64/bin

 

위 코드는 영구적으로 경로가 지정되는 것이 아니기 때문에, 영구적으로 경로를 지정하고 싶다면 아래의 코드를 활용합니다.

 

필자는 zsh shell이여서 zshrc에 경로를 추가 후 source로 새로운 설정이 현재 쉘 세션에 즉시 적용되도록 합니다. 

bash의 경우 bashrc로 변경하여 경로 추가하시면 됩니다.

#!shell

echo 'export PATH=/path/to/sratoolkit.3.1.1-mac-x86_64/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

 

shell에서 바이너리를 찾을 수 있는지 확인 


아래의 코드로 현재 shell에서 바이너리를 찾을 수 있는지 확인해봅니다.

#!shell

which fastq-dump
> /Users/name/sratoolkit.3.1.1-mac-x86_64/bin/fastq-dump

 

코드 테스트


아래는 테스트 코드입니다. SRR390728이라는 SRR FASTQ의 head 값을 확인하는 코드입니다. 

#!shell

fastq-dump --stdout -X 2 SRR390728

 

 

참고하실 사항은 single-end이거나 paired-end일 경우에 따라 코드가 상이합니다.

#!shell

fastq-dump <SRA format> # single-end 경우
fastq-dump --split-files <SRA format> # paired-end 경우

 

코드 구동 예시


필자는 여러 파일을 다운로드 받아야 했기에 파이썬 스크립트를 작성한 후 구동하는 방식으로 진행했습니다. (여러개의 FASTQ 파일 다운받는 법 - 링크)

#!python

from datetime import datetime
import csv
import os

start_time = datetime.now()

csv_file = './SraAccList.csv'

with open(csv_file, 'r') as f:
	reader = csv.reader(f)
	next(reader)
	print(reader)
	for row in reader:
        sra_filename = row[0].strip()
        print(sra_filename)
        command =  f'fastq-dump {sra_filename}'
        os.system(command)

        end_time = datetime.now()
        print(f'time taken: {end_time - start_time}')

end_time2 = datetime.now()
print(f'total time taken: {end_time2 - start_time}')

 

'유전체데이터 분석 > 분석실습' 카테고리의 다른 글

유전체 데이터 다루기 (1):: Nextflow 사용법  (0) 2024.07.05
[gene signature-scoring methods]  (0) 2023.04.20
[cBioPortal]  (0) 2023.04.19
[GDC Data Potal]  (0) 2023.04.19
[MSigDB] GO 관련 Gene set 찾기  (0) 2023.04.19
Comments