SRA download 완전판
매번 다시 찾아보고 하는게 귀찮아서 이게 마지막이다 생각하고 정리함.
준비물
- SRA-toolkit
- NCBI EDirect(Entrez Direct) (optional)
- Run 리스트를 뽑고
prefetch로 .sra를 먼저 받기(= resumable)- 로컬 .sra를
fasterq-dump로 FASTQ 변환
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Step01
# conda activate SRAtoolkit
esearch -db sra -query "PRJNA1132158[BioProject]" | efetch -format runinfo > runinfo.csv
# 첫 컬럼(Run)만 뽑아서 accession 리스트 생성 (헤더 "Run"은 자동으로 걸러짐)
cut -d',' -f1 runinfo.csv | grep -E '^(SRR|ERR|DRR)' > SraAccList.txt
#wc -l SraAccList.txt
# Step02
prefetch --option-file ../SraAccList.txt --max-size 200G
# Step03
cd ../
mkdir -p fastq tmp logs
while read -r acc; do
if [ -f "fastq/${acc}.done" ]; then
echo "[SKIP] ${acc}"
continue
fi
echo "[RUN] ${acc}"
rm -f fastq/${acc}.fastq fastq/${acc}_*.fastq fastq/${acc}.fastq.gz fastq/${acc}_*.fastq.gz
( cd sra && fasterq-dump --split-files --threads 8 --temp ../tmp --outdir ../fastq "${acc}" ) \
2>&1 | tee "logs/${acc}.fasterq.log"
pigz -p 8 fastq/${acc}*.fastq
touch "fastq/${acc}.done"
done < SraAccList.txt
prefetch는 기본 최대 다운로드 크기가 20G라, 그보다 큰 run이 있으면 에러남.--max-size써야함.fasterq-dump는fastq-dump다음세대 툴. 좀 더 빨리 다운 가능.
This post is licensed under
CC BY 4.0
by the author.