[NGS] RNA sequencing Start.

BioinformaticsAndMe




1. Target Enrichment(Capture) assay

- 시퀀싱 하기 전 특정 유전자 또는 기타 관심부위를 DNA 또는 cDNA 라이브러리로부터 분리 또는 그 빈도를 증가시키기 위한 방법.

- 간단히 표현하자면, DNA는 너무 작아서 시퀀싱하기 어렵기 때문에 증폭이라는 과정을 통해 시퀀싱할 정도로 사이즈를 불린다.



# Target enrichment 과정이 NGS에서 어느 순서에 존재하느냐나는 아래 그림을 참고하자.




# Target enrichment 방법에는 주로 Amplicon(A: 엠플리콘)과 Hybridization(B: 하이브) 2가지가 흔하게 사용된다.


2. Amplicon-based assay (위 A그림)

→ PCR 증폭과정을 통해, 타깃 유전자 부분을 풍부하게(enrichment) 하는 방식.

→ forward primer와 reverse primer가 결합하는 위치 사이의 공간이 증폭.

→ 일반적으로 엑손 하나 혹은 하나의 엑손을 두 개로 타겟함.

→ 타깃 범위 혹은 유전자의 수/사이즈가 늘어날수록 primer 디자인이 쉽지 않음.

Turnaround time이 좀 더 짧고, 상대적으로 적은 양의 input DNA를 필요.

→ 작은 수의 유전자 패널에 대한 target sequencing에 유용하지만, 패널의 유전자 수가 많아지거나 exome sequencing을 수행하는 경우에는 비효과적.

→ 패널사이즈↓

3. Hybridization capture-based assay (위 B그림)

→ 혼성화와 Biotin-Avidin 결합으로 골라내는 방식.

→ Hybridization: Probe가 상보적인 염기서열을 갖고 있는 DNA fragment에 결합.

→ Capture: Probe와 DNA fragment 혼성체는 magnetic bead에 채집

→ Enrichment: Magnetic은 자기장을 형성하여, probe 결합 fragment만을 골라냄.

→ 작은 사이즈의 target 부위에서부터 whole exome과 같이 큰 사이즈 부위까지 유효한 검사를 가능하게 하는 방식.

Amplicon 방식에 비해 검사 시간이 더 길고 더 많은 양의 input DNA가 필요.

→ 패널사이즈↑



CancerPanel (암패널)에 경우 엠플리콘 방식을 사용하는데,

엠플리콘의 높은 정확도와 빠른 Turnaround time의 특징들은 Customized panel 제작에 필수적이다.





#아래 그림 역시 엠플리콘과 하이브를 비교한 그림이다.



NGS 파이프라인 과정에서 Amplicon 데이터를 Picard를 사용해 De-duplication(중복리드없애주는과정)하는 실수를 범할 때가 있다.

엠플리콘 방식의 특징상 특정 엑손 영역 부위를 반복적으로 시퀀싱하도록 제작된 것이므로 리드중복의 오류라 볼 수 없다.

우리가 흔하게 알고 있는 일반적인 NGS 파이프라인은 일루미나 Hybridization에 기반하여 만든 것이기에,

엠플리콘 데이터 분석에서는 Tool이나 Parameter에 주의를 기울여야겠다.





[NGS] RNA sequencing End.

BioinformaticsAndMe

'Technology' 카테고리의 다른 글

[NGS] Epigenetic sequencing  (0) 2019.05.26
[NGS] Targeted gene panel  (0) 2018.08.19
[NGS] RNA sequencing  (0) 2018.08.12
[NGS] Resequencing  (0) 2018.08.12
[NGS] Next Generation Sequencing  (0) 2018.08.11

[GATK] HaplotypeCaller 알고리즘 Start.

BioinformaticsAndMe



GATK4에서 Unifiedgenotyper를 이기고 살아남은
HaplotypeCaller
Variant calling 과정을 살펴보겠다.



#HaplotypeCaller는 아래 그림에서 보듯이, 4가지의 주요 과정으로 변이을 찾아낸다.


1. Define active regions
- 변이가 나올 것이라 예측되는 active region을 정의.
- 간단하게 생각하면 위 그림에서처럼 reference와 다른 allele들이 반복적으로 나오는 곳을 특정함.
- 아래 그림처럼 active region을 정의할 수 있으며, 다음 칼럼에서 좀 더 자세하게 다뤄 볼 예정.





2. Determine haplotypes by re-assembly of the active region
- 각 ActiveRegion으로 De Bruijn 그래프(아래 참조)를 만들어 ActiveRegion을 재구성하고, 데이터에서 나올 수 있는 haploytype들을 추출한다.
- 그다음 잠재적 variant를 확인하기 위해, Smith-Waterman algorithm(아래아래참조)을 사용하여 각각의 haploytype들을 reference에 다시 매핑한다.

#De Bruijn 그래프: genome assembly에서 Read들을 효율적으로 조립하기 위한 알고리즘.
#아래 그림에서 주어진 Read를 4mer로 +1씩 sliding했을 때, 8개의 조각들이 나오고,  그 순서에 따라 엣지를 그려 De Brujin 그래프를 만들었다.


#Smith-Waterman algorithm: 두 서열(haplotype과 reference)을 정열하여 비교하는 알고리즘 정도로 이해 (자세히는 아래 인실리코젠 홈페이지 참조).





3. Determine likelihoods of the haplotypes given the read data
- PairHMM 알고리즘을 사용하여 각 haplotype에 ActiveRegion의 Read들을 pairwise하게 매핑.
- 이 과정을 통해 주어진 리드에 대한 haplotype likelihood 매트릭스를 생성.

#HMM 알고리즘 참고




4. Assign sample genotypes
- Read x Haplotype 매트릭스에서 각 리드마다 타겟 allele의 가장 높은 확률을 선택.

- 아래 그림 오른쪽 표를 이용해 베이지안 모델에 적용하여, 가장 높은 evidence를 가지는 variation을 선택하여 변이 동정.





#베이즈 이론 참고







[GATK] HaplotypeCaller 알고리즘 End.

BioinformaticsAndMe

'Algorithm' 카테고리의 다른 글

[GATK] Base Quality Score Recalibration (BQSR)  (0) 2018.08.25
[PCA] 주성분분석 3  (0) 2018.08.02
[PCA] 주성분분석 2  (0) 2018.08.01
[PCA] 주성분분석 1  (0) 2018.07.25
[GWAS] Imputation  (2) 2018.07.09
[Expert] Bio ICT 딥러닝/머신러닝 개발자

1. 주요 수행 업무 및 역할

  • Bio와 IT가 융합된 신사업을 추진하기 위해 딥러닝/머신러닝 관련 역량을 갖춘 인재를 채용하고자 합니다. 수행 업무는 다음과 같습니다.
    • 딥러닝/머신러닝 기술 연구를 통한 Bioinformatics 과제 수행
    • 딥러닝 기술 기반 이미지 분석 및 이미지 생성, 의료 데이터 분석 등을 통해 SKT의 Bio ICT의 가치를 높일 수 잇는 프로젝트 진행
    • 관련분야 최신 기술 동향 연구 및 cutting-edge 기술 개발

2. 필요 역량

  • 딥러닝/머신러닝 분야 최신 논문을 읽고 직접 구현할 수 있는 역량
  • 딥러닝/머신러닝 알고리즘 이해 및 구현 가능자
  • Tensorflow, PyTorch, Caffe 등 딥러닝 프레임워크 응용 개발 경력 우대
  • 오픈소스 공헌 및 관련 활동 경험 우대

3. 자격요건

  • 관련분야 석사학위 이상 소지자 및 개발 경력 3년 이상

 

주 근무지

 본사_SK T-타워

직무

 SW Engineering

조직

 Data_Unit
채용 유형 정규직
직급 유형 실무직(Expert)

접수기간

 2018. 8. 10- 2018. 9. 9 


[NGS] RNA sequencing Start.

BioinformaticsAndMe




1. RNA-sequencing

→ RNA-seq: RNA-Seq은 transcriptome을 분석하는 NGS 기술로 샘플에서 발현되는 RNA 서열을 시퀀싱.

→ DEG, Novel transcript, Fusion 분석 등에 사용.


 



2. RNA-seq Quality Control

- RNAseq에서 QC 과정은 중요하며, 몇 가지 Checkpoint를 집중적으로 살펴야하겠다.

① Raw read quality control 

→ 염기서열 quality, GC content, adaptor 유무, 지나친 k-mer 존재 유무, duplicated read 등을 검사.

→ 위 QC 에서 30% 이상의 불일치를 나타내는 outlier 샘플은 제외하기를 권장.


② Read alignment

→ 보통 70~90%의 RNA-seq read가 사람 genome에 mapping 되며, 이 중 일부가 multi-mapping될 것으로 예상.


③ Quantification

→ Transcript 정량값이 계산된 후, GC content와 유전자 길이의 bias를 고려해 normalization.


④ Reproducibility

→ 반복 실험과 batch effect 확인을 위해 재현 가능성을 측정.

→ Technical replicate의 재현 가능성 (r2>0.9)은 보통 높지만, biological replicate는 실험 간 이질성으로 인해 정해진 기준이 없음.






3. RNAseq Transcript identification 과정

① De novo transcript reconstruction

- 레퍼런스 genome이 존재하지 않거나 불완전한 경우, RNA-seq read를 input으로 SOAP, Trinity 등의 프로그램을 이용해 새로 transcriptome을 조립.



② Mapping to a reference

- 레퍼런스 genome에 mapping하는 것은 novel gene 또는 transcript identification을 가능하게 함.

- splice junction에 존재하는 read를 mapping하기 위해, gapped or spliced mapper를 필요로 함.

▶ RNAseq mapper로 흔하게 사용되는 TopHat은 두 단계의 과정으로 진행되는데,

    먼저 exon에 존재하는 splicing 되지 않은 read가 mapping 되고

    이후 mapping되지 않은 read들을 각각 split하여 다시 exon junction에 mapping을 시도.


▶ GSNAP, PALMapeer, MapSplic: SNP나 indel 발견에 최적화된 mapper.

▶ STAR, MapSplice: non-canonical splice junction에 특화된 mapper.

▶ Mapping 중 중요한 parameter : strandedness / 허용하는 mismatch 수 / read의 길이 / read의 type / sequence 길이.


 

③ Transcript quantification

- RNA-seq에서 gene 또는 transcript 발현을 측정 (기본이 되는 값은 transcript에 mapping된 read의 수).

- 아래는 RNAseq의 readcount 지표이다. raw count에서부터 normalized count까지 다양하게 존재한다.

▶ Quantification은 mapped read를 모으는 HTSeq-count 또는 featureCounts 사용.

▶ RPKM : 샘플 내 feature의 길이와 라이브러리 크기에 의한 효과를 보정.

▶ FPKM : RPKM에서 paired-end를 하나의 fragment라 인식하여 보정.

▶ TPM : 위와 비슷하지만 RNA 샘플 사이에서 transcript 길이 분포까지 포함한 개념.

▶ TMM : TPM과 마찬가지로 비교하고자 하는 RNA pools의 다른 조성에 대해 보정.


#아래 논문은 RNA-seq에서 사용되는 Normalized value를 비교한 내용이다.

https://academic.oup.com/bib/article/14/6/671/189645



④ Differential gene expression analysis

- RNA-seq read count에 기반한 Poisson 또는 negative binomial 확률 분포를 통해 발현 차이 분석.

▶ edgeR : input으로 raw read count와 가능한 bias의 원인을 통해 통계 모델을 만들어 normalization과 발현 차이 분석을 연계.

▶ DESeq2 : edgeR과 같이 negative binomial 분포로 고유 normalization 방법을 제공.

▶ baySeq, EBSeq : negative binomial model에 기반하고 있는 Bayesian 방식을 사용하여, 실험 그룹 간의 차이를 표현하고 각 유전자의 확률을 계산.







[NGS] RNA sequencing End.

BioinformaticsAndMe

'Technology' 카테고리의 다른 글

[NGS] Targeted gene panel  (0) 2018.08.19
[NGS] Target Enrichment(Capture) assay  (0) 2018.08.14
[NGS] Resequencing  (0) 2018.08.12
[NGS] Next Generation Sequencing  (0) 2018.08.11
[Blockchain] 블록체인과 헬스케어 (2)  (0) 2018.07.18

[NGS] Resequencing Start.

BioinformaticsAndMe




1. Resequencing (Reference sequencing)

- 종마다 이미 알려진 유전체(reference genome)를 기반으로 연구 샘플 유전체와의 비교를 통해 새로운 유전체 서열을 완성하는 방법.

- SNP, InDel 뿐만 아니라 CNV(Copy Number Variation), SV(Structural Variation)까지 분석 가능


- Denovo assembly (Denovo seqeuncing): reference genome X. 지금까지 밝혀지지 않은 미생물이나 동식물의 전체 유전체 정보를 알아내는 방법







2. Resequencing 과정

① Raw data Quality control

→ FastqQC로 시퀀싱 데이터의 퀄리티를 확인하고, Adaptor trimming 과정을 통해 Index 정보를 잘라냄 (보통 전체데이터의 1% 손실).

→ 가장 많이 사용되는 일루미나 시퀀싱은 형광물질을 자르고 붙이는 과정의 효율이 시퀀싱 후반부에 갈수록 떨어짐.



② Read Mapping

→ bwa, bowtie와 같은 aligner를 이용해 reference genome에 NGS read를 매핑하는 과정으로, SAM 혹은 BAM 파일이 생성 된다.

→ a) Reference indexing

→ b) Alignment

→ c) SAM file



③ Sorting and Add Read Group

→ Mapping된 Read들의 순서를 정리하고 샘플의 ID 및 태그정보를 추가하는 과정.


④ Remove Duplicates

→ Library 제작과정 중 진행되는 PCR 증폭 중에 생성된 중복 Read pair를 제거하는 과정.


⑤ Base Quality Recalibration

→ base calling 과정에서 생산된 raw Phred 스코어는 정확하지 않기 때문에, 여러 covariate를 이용하여 재조정.



⑥ Variant calling

→ 매핑 정보로 부터 염기변이 정보를 추출 (GATK, Varscan 등).

→ GATK에는 Calling method로 Haplotypecaller (정확/느림) 과 UnifiedGenotyper (부정확/빠름) 가 존재

→ 했지만, GATK4로 넘어오면서 UnifiedGenotyper 활용성이 떨어진다고 판단하여 사라짐.






 3. 시퀀싱에서 염두에 둬야할 사항

- 시퀀싱 과정에 PCR이 포함되어 있다면, 데이터의 GC contents (Human, 40%)가 매우 중요.

- GC contents에 따라 PCR 효율이 달라지기 때문에 결과에 bias가 생길 수 있음.

- 해당 샘플의 높은 GC contents를 인지하고 있다면, PCR-free 키트 활용을 고려.

- Read Length (Specification) vs  Read Count (Quantification)

Read Length : Structure variation, Gene fusion에서 중요.

Read Count : Sequence variation, DEG 분석에서 중요.





[NGS] Resequencing End.

BioinformaticsAndMe

[NGS QC] MultiQC Start.

BioinformaticsAndMe





NGS 분석을 이것저것 하다 보면, 결과들이 쌓이고 일일이 Quality Control하기 귀찮아진다.

또한, 샘플까지 많다면 첩첩산중이다.. 이때 찾아낸 QC tool이 있었으니,


2016년 6월 bioinformatics 저널에 이름을 알린 'MultiQC' 이다.

Citation도 이미 100을 넘은 것을 보아, 많은 생물정보학 연구자들이 사용하고 있는 추세로 보인다.



#이 툴은 NGS 분석과정에서 나오는 QC 결과들을 아래처럼 한장의 report로 만들어준다.



위 그림의 상단 메뉴바를 본다면, RNA-Seq에서부터 Hi-C 등 다양한 NGS 분석 QC를 지원한다.


한가지 착각할 수가 있는데, MultiQC가 모든 QC 분석을 진행하는 것은 아니고, 여러 툴에서 돌린 QC 결과를 종합해주는 것이다.

예를 들어, 왼쪽바에서 STAR, Cutadapt, FastQC를 볼수 있는데,

저 3개의 툴을 돌리고 나온 결과 로그값을 스캔하여 모든 샘플의 QC정보를 제공한다.





#단언컨대, NGS 분석을 하는 연구자라면 지금 소개하는 ‘MultiQC’ 를 강력하게 추천한다.

이렇게 강력강력하게 추천하는 이유는 직접 사용해보고 느낀 아래 3가지 이유 때문이다.


1. 일단 사용하기 굉장히 쉽다.


2. 샘플이 많거나 여러 분석이 진행됐다면, 쉽게 결과들을 종합해준다.


3. 리포트 파일이 깔끔하며, 리포트 화면에서 세세한 수정이 가능하다.


 


#또한 MultiQC는 NGS 연구자들이 흔하게 사용하는 대부분의 프로그램들을 지원한다.

본인이 사용하는 분석툴이 MultiQC에서 지원하지 않는다면, 개발자에게 요청하는 방법이 있겠다.

그러나, 나라면 내가 가진 툴에서 나오는 로그값들을 위 표에서 지원하는 다른 툴의 로그값 형태로 변환시키는 스크립트를 짤 것이다.

 




#MultiQC 설치

MultiQC 설치는 매우 간단하다.

아래 그림 우측하단에 나와 있듯이, pip으로 간단하게 설치할 수 있다.

MultiQC는 python으로 만들어졌다. 

#github을 이용할 수도 있다.

git clone https://github.com/ewels/MultiQC.git

cd MultiQC

python setup.py install


 


#MultiQC가 진행되는 과정은 3단계로 요약 가능하다.

1) 특정 디렉터리에서 분석 결과의 로그 파일을 검색.


2) 로그파일의 통계를 요약하여 한장의 HTML 보고서를 생성.


3) MultiQC 보고서 내의 결과 그림들 확인 및 export.


정말 간단하게 실행하려면 특정 폴더(data)에 모든 NGS 분석결과를 모아둔 뒤에,

$ multiqc data/

를 실행하면 NGS 결과 로그들을 스캔하면서 자동적으로 MultiQC결과 리포트를 생성해준다.



 

#물론, 원하는 폴더나 파일들만을 '*(asterisk)'를 이용해 스캔할 수 있다.

#Choosing where to scan

multiqc data/

multiqc data/ ../proj_one/analysis/ /tmp/results

multiqc data/*_fastqc.zip

multiqc data/sample_1*


#원하지 않는 파일은 '-x/--ignore flag'를 이용해 거른다.

# -x/--ignore flag

multiqc . --ignore *_R2*

multiqc . --ignore run_two/

multiqc . --ignore */run_three/*/fastqc/*_R2.zip





#RNA-seq QC 결과 예제

http://multiqc.info/examples/rna-seq/multiqc_report.html


- 위 그림은 전체적인 QC 값들의 통계를 보여준다.


- 위 그림은 Alignment stat 결과


- 우리에게 익숙한 FASTQC 'Per Base Sequence Quality' 결과





#multiQC 홈페이지

http://multiqc.info/



[NGS QC] MultiQC End.

BioinformaticsAndMe



'Bioinformatics Tool' 카테고리의 다른 글

[BLAST] BLAST result  (0) 2018.11.26
[NGS Fusion] Fusion Tools  (0) 2018.09.09
[Cytoscape] GeneMANIA 1  (0) 2018.07.22
[Driver Annotation] iCAGES  (0) 2018.07.13
[CNV] ONCOCNV  (0) 2018.07.08

+ Recent posts