Step 01. Environment Setup

분석을 시작하기 전에 Conda 환경과 필수 툴을 설치하고, 레퍼런스 유전체 파일을 준비합니다. 앞으로 모든 분석은 20 threads를 기본으로 사용합니다.


1) Conda 환경 생성

Conda는 파이썬/비파이썬 패키지를 함께 관리하는 패키지 & 가상환경 관리자입니다. 서로 다른 프로젝트에서 툴 버전 충돌을 피하려면 각 프로젝트마다 별도의 conda 환경을 만드는 것이 안전합니다. 생정보 툴은 대부분 biocondaconda-forge 채널에서 설치합니다.


# 채널 추가 (추천 순서)
conda config --add channels conda-forge
conda config --add channels bioconda
conda config --set channel_priority strict

# 환경 생성 (python3.10 + 주요 패키지)
conda create -y -n wgs_env python=3.10 \
  cutadapt bwa samtools gatk4 bcftools bedtools fastqc multiqc \
  openjdk=17 parallel

# 환경 활성화
conda activate wgs_env

2) 디렉토리 구조 예시

분석 데이터를 관리하기 위해 아래와 같은 디렉토리 구조를 추천합니다.


/home/kang/
 ├── raw_data/                 # 원본 데이터 및 reference
 │   └── gatk_bundle/          # GATK 번들(레퍼런스/known-sites 등)
 ├── God_Nas/WGS_2nd/          # 프로젝트 폴더
 │   └── Trimmed_fastq/        # 트리밍된 FASTQ 저장
 └── ...

3) Reference Genome 준비

본 실습에서는 Homo_sapiens_assembly38.fasta (GRCh38/hg38)를 사용합니다. WGS 분석에서 모든 read는 기준(reference) 유전체에 정렬되므로, 공식 레퍼런스known-sites 리소스(dbSNP, HapMap, Mills indels 등)를 정확히 준비하는 것이 중요합니다.

GATK Best Practices에서는 GATK Resource Bundle 사용을 권장합니다. 이 번들은 Broad Institute에서 제공하는 표준 리소스 모음으로, hg19, hg38에 대한 레퍼런스와 각종 VCF/interval 파일을 포함합니다. 현재 Google Cloud Storage(GCS)에 호스팅되어 있어 웹 또는 gsutil로 받을 수 있습니다.

GATK Resource Bundle 다운로드 (hg38 예시)

# (선택) Google Cloud SDK 설치
conda install -y -c conda-forge google-cloud-sdk

# hg38 번들을 로컬로 복사 (예: /home/kang/raw_data/gatk_bundle/ 아래)
gsutil -m cp -r gs://genomics-public-data/references/broad/hg38/v0/ \
  /home/kang/raw_data/gatk_bundle/

다운로드 후, GATK 및 정렬 도구에서 사용할 색인을 생성합니다. 필요한 파일은 .fasta(염기서열), .fai(faidx 색인), .dict(GATK 딕셔너리)입니다.


# Reference 경로 지정 (다운로드한 번들 내부 경로에 맞게 조정)
REF_DIR=/home/kang/raw_data/gatk_bundle/v0
REF=${REF_DIR}/Homo_sapiens_assembly38.fasta

# 색인 생성 (한 번만)
bwa index ${REF}
samtools faidx ${REF}
gatk CreateSequenceDictionary -R ${REF} -O ${REF%.fasta}.dict

4) Thread 설정

분석은 기본적으로 20 threads를 사용합니다. 스크립트 상단에 변수를 선언해 두면 일괄 적용하기 편합니다.


# 앞으로 모든 스크립트 상단에 공통 선언
THREADS=20
← Back to WGS Tutorial Next: Trimming →