[NGS] Next Generation Sequencing Start.

BioinformaticsAndMe



1. NGS (Next Generation Sequencing), 차세대염기서열분석

- 유전체를 무수히 많은 조각으로 나눈 뒤 각각의 염기서열을 조합하여 유전체를 해독하는 분석방법.

- 기존 생어 염기서열 분석(Sanger sequencing)과 달리 많은 수의 DNA조각을 병렬로 처리하는 데 특징.

- 차세대 염기서열 분석의 등장으로 유전체 분석에 필요한 비용이 급격히 낮아져 많은 분야에서 다양하게 사용.






2. Sanger sequencing  vs  NGS

- Sanger sequencing (1세대)

→ 시험관 DNA 복제 중에 DNA 사슬을 마무리 하는 ddNTP가 DNA 중합효소에 의해 제한적으로 삽입된다는 원리에 기반.


- NGS (2세대부터: Illumina, Pacbio, Ion Torrent)

→ Cloning X

→ Amplification이 병렬적으로 수행

→ 3단계의 병렬 시퀀싱 (nucleotide addition → detection → washing)





3. Next Generation Sequencing 발전 흐름

2세대 : Illumina (PCR and Fluorescence 수행).


2.5세대 : Pacbio (no PCR), Ion Torrent (no Fluorescence).

→ Ion Torrent : 수소이온 발생에 따른 PH와 전위차를 감지, 가격이 싸나 에러율 높음.

→ 참고로 Ion Torrent 데이터는 기존의 전통적인 일루미나 생물정보학 분석방법을 그대로 적용하면 많은 수의 false positive 발생.

→ 따라서, 분석 시 써모피셔에서 제공하는 Torrent Suite Software(TSS, ion platform software) 사용하는 것을 추천.


3세대 : Oxford Nanopore (no PCR, no Fluorescence).

→ Oxford Nanopore : 염기서열이 구멍을 통과할 때, 전류 흐름을 방해하는 성질 이용. Long read를 시퀀싱하는 능력 (~1Mb).






4. NGS Library 종류

- NGS Library: 샘플의 염기서열이 NGS 장비에서 해독될 수 있는 형태 (염기서열을 잘게 자르고 Index가 붙여진 시퀀싱 준비상태)

- 기본 NGS 라이브러리

→ Single end

→ Paired end (1Kb 이하)

→ Mate-paired end (3Kb 이상) 


- Exome 라이브러리

→ Exon을 캡쳐하는 키트를 통해 Exon만을 시퀀싱 (휴먼 1샘플이 40만원 정도하는 듯).


- GBS (Genotyping by Sequencing) 라이브러리

→ 제한효소를 처리하여 유전체 서열에서 그 제한효소에 의해 잘리는 영역 주변의 서열만을 시퀀싱.

→ GBS 장점 : 가격이 싸고(15만원), 참조유전체가 없는 종에도 적용 가능.

→ 유전체 전체를 Sequencing 하지 않고 부분적으로 sequencing 하여 비용적인 부담을 줄임.

→ GBS 단점 : 모든 유전자가 포함되지 않을 수 있음.




- RNA-seq 라이브러리

→ Total RNA는 90% 이상의 rRNA를 포함하고, 제거해줘야 함. 아래와 같은 방법들로 RNA를 동정한다.

#Removing rRNA: mRNA, miRNA 등의 Whole Transcriptome 동정. 그러나, rRNA를  완벽히 제거하기는 어려움.

#Oligo-dT Enrichment: mRNA의 Poly(A)부분만을 캡쳐하여 mRNA만을 동정.

#Size selection: 상대적으로 사이즈가 작은 Small RNA에 집중하여 동정.


- 16S amplicon 라이브러리

→ 16S 리보솜 RNA의 서열을 비교하여 원핵생물을 동정.

→ 메타지놈 연구에 주로 사용 (Amplicon 영역 중 V3,V5 사용).





[NGS] Next Generation Sequencing End.

BioinformaticsAndMe

'Technology' 카테고리의 다른 글

[NGS] RNA sequencing  (0) 2018.08.12
[NGS] Resequencing  (0) 2018.08.12
[Blockchain] 블록체인과 헬스케어 (2)  (0) 2018.07.18
[Blockchain] 블록체인과 헬스케어 (1)  (1) 2018.07.18
[Diagnosis] Liquid biopsy (액체생검)  (1) 2018.07.15

R 상관분석 (R correlation test) Start.

BioinformaticsAndMe




# R을 이용한 상관분석(correlation test)을 시작해보자.


(상관분석에 대한 개념정리는 아래의 'Statistic' 카테고리에 있으니, 먼저 선행하고 오면 좋을 듯하다..!)

http://bioinformaticsandme.tistory.com/58?category=808983





# Pearson 상관분석은 변수들이 얼마나 직선적인 관계를 가지는지 분석하는 기법으로 상관계수를 이용하여 측정한다.

# 상관계수: Correlation coefficient


# 아이리스 예제데이터 불러오기

> attach(iris)


# cor() 함수 사용하여 상관계수 확인

> cor(Sepal.Length, Petal.Width)

[1] 0.8179411

# Pearson 상관계수: 0.8179


# cor.test() 함수로 Sepal.length와 Petal.Width간 상관계수 및 p-value, 신뢰구간을 구할 수 있다.

> cor.test(Sepal.Length, Petal.Width)


        Pearson's product-moment correlation


data:  Sepal.Length and Petal.Width

t = 17.2965, df = 148, p-value < 2.2e-16

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

 0.7568971 0.8648361

sample estimates:

      cor 

0.8179411 



# iris 데이터의 4가지 변수에 대해서 (Species를 제외한) 상관계수를 구해보자.

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

#4x4 상관계수 행렬 ( 자기자신과의 상관계수는 항상 1이므로 대각선 element의 값은 모두 1.0000 )
> cor( iris[, 1:4] )
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
Petal.Width     0.8179411  -0.3661259    0.9628654   1.000000
#시각화
pairs( iris[, 1:4] )







# 상관분석시, 결측치(Missing value)가 존재하는 경우 ##############
> iris.na.test <- iris[ ,1:4]
> iris.na.test[1, 1] <- NA
> iris.na.test[3, 2] <- NA
> iris.na.test[4, 3] <- NA
> head(iris.na.test)
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1           NA         3.5          1.4         0.2
2          4.9         3.0          1.4         0.2
3          4.7          NA          1.3         0.2
4          4.6         3.1           NA         0.2
5          5.0         3.6          1.4         0.2
6          5.4         3.9          1.7         0.4

# cor() 함수의 결과는 모두 결측치를 반환한다. (NA가 연산에 포함되는 순간 그 결과값은 무조건 NA다.)
> cor( iris.na.test )
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length            1          NA           NA          NA
Sepal.Width            NA           1           NA          NA
Petal.Length           NA          NA            1          NA
Petal.Width            NA          NA           NA           1

# 결측치(NA)가 존재하는 데이터 row 벡터를 삭제하는 방법
> cor( iris.na.test, use="complete.obs")
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1094799    0.8678973   0.8121441
Sepal.Width    -0.1094799   1.0000000   -0.4246671  -0.3610068
Petal.Length    0.8678973  -0.4246671    1.0000000   0.9615075
Petal.Width     0.8121441  -0.3610068    0.9615075   1.0000000
 

# 결측치(NA)가 존재하는 위치에서의 연산만 넘어가는 방법
> cor( iris.na.test, use="pairwise.complete.obs")

             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1097160    0.8696945   0.8169612
Sepal.Width    -0.1097160   1.0000000   -0.4299167  -0.3654865
Petal.Length    0.8696945  -0.4299167    1.0000000   0.9624433
Petal.Width     0.8169612  -0.3654865    0.9624433   1.0000000





R 상관분석 (R correlation test) End.

BioinformaticsAndMe

'R' 카테고리의 다른 글

R 회귀분석 (R regression test)  (0) 2018.08.19
R apply 함수  (0) 2018.08.15
막대그래프 (Barplot)  (0) 2018.08.06
R, 결측치 처리 (Missing value, NA)  (0) 2018.07.26
R, Command line interface Ⅱ  (0) 2018.07.20

상관 분석 (Correlation analysis) Start.

BioinformaticsAndMe








1. 상관분석 (Correlation analysis) 이란?

두 변수간에 어떤 선형적 관계를 가지는지 분석하는 기법으로 상관계수를 이용하여 측정한다.





2. 상관계수(correlation coefficient)

상관계수 r = X와 Y가 함께 변하는 정도 / X와 Y가 각각 변하는 정도

r 값은 X 와 Y 가 완전히 동일하면 +1,  반대방향으로 완전히 동일 하면 –1





참고로 r 값이 0인 경우 상관이 전혀 없다라는 표현보다는 선형의 상관관계가 아니다라고 말하는게 적절하다.

(두 변수가 곡선관계라면 상관분석으로 설명할 수 없다)




보통 연구과정에서 생물학 데이터로 상관분석을 하게 되면, Perfect나 Strong 의 coefficient가 나오는 경우는 드물다.

분석에서 매우 높은 상관계수가 나왔다면, 두 변량사이의 상관정도를 결정짓기 전에

데이터 내에 bias가 있는지 반드시 확인해볼 필요가 있겠다.





3. 상관 계수의 종류

상관 계수를 구하는 많은 방법이 있겠지만, 가장 많이 사용되는 correlation coefficient들을 소개하겠다.

피어슨, 켄달, 스피어만 상관계수라 불린다.


ㄱ) Pearson(피어슨)

-상관 분석에서 기본적으로 사용되는 피어슨 상관계수

-연속형 변수의 상관관계 측정 (신장, 몸무게)

-모수 검정 (parametric test)


ㄴ) Kendall(켄달)

-켄달 상관 계수( τ : tau)

-변수값 대신 순위로 바꿔서 이용하는 상관계수 (학교등급, 졸업학위 level)

-비모수 검정 (non-parametric test)

-샘플사이즈가 적거나, 데이터의 동률이 많을 떄 유용


ㄷ) Spearman(스피어만)

-스피어만 상관 계수( ρ : rho )

-변수값 대신 순위로 바꿔서 이용하는 상관계수 (학교등급, 졸업학위 level)

-비모수 검정 (non-parametric test)

-데이터 내 편차와 애러에 민감하며, 일반적으로 켄달 상관계수보다 높은 값을 가짐


#켄달과 스피어만은 순위 일치 정도를 검사한다는 점에서 유사한 분석이다.

따라서,  동일 데이터로 상관분석을 진행한다면 상관계수 값이 약간 다를지라도 비슷한 추론을 내린다.


#아래 사이트에 접속하면 'Kendall vs Spearman' 의 상세한 설명을 볼 수 있다.

http://www.statisticssolutions.com/kendalls-tau-and-spearmans-rank-correlation-coefficient/





마무리하며..

연구자들이 상관분석에서 가장 많이하는 실수가

상관분석 그림을 보며 원인-결과로 설명하는 것이다.

A와 B가 positive correlation이란 사실은

A가 증가하는게 원인이 되서 B가 증가하는지,

B가 증가하는게 원인이 되서 A가 증가하는지,

알 수 없다.

원인-결과 분석을 하고싶다면, 상관분석이 아니라

Y(결과)=aX(원인)+b의 회귀분석을 수행하자!





상관 분석 (Correlation analysis) End.

BioinformaticsAndMe



'Statistics' 카테고리의 다른 글

비모수 검정 (Non-parametric test)  (0) 2019.05.31
T-검정 (T-test)  (0) 2018.08.29
회귀 분석 (Regression analysis)  (0) 2018.08.19
베이지안 이론 (Bayesian theory)  (1) 2018.08.02
정규성 검정 (Normality Test)  (1) 2018.07.21

DNAnexus (유전체 클라우드) Start.

BioinformaticsAndMe








DNAnexus 

데이터 저장 및 인프라 제공, 시스템설계와 첨단 생물 정보학을 갖춘 데이터 관리 및 분석 등

클라우드 컴퓨팅 인프라 플랫폼 제공하는 2009년 설립된 미국 기업.


DNAnexus에서는?

- 대량의 시퀀싱 데이터를 빠르고! 안전하고! 싸게! 분석.

- 안전한 분석 환경에서 임상 데이터와 유전체 데이터를 통합.

- 공동연구 최적의 플랫폼 제공.


위 플로우가 DNAnexus이 뭘하는 회사인지 잘 나타낸다. 

연구자가 원래 보유한 데이터 + 새롭게 시퀀싱한 데이터가 DNAnexus storage에 저장되고,

강력한 컴퓨팅파워로 Bioinformatics 분석을 슥삭해버려서, 결과를 연구진들과 공유하고 빠르게 논문도 낸단 얘기로 보인다.


# 생물정보학을하는 입장에서, 데이터 저장과 관련 툴을 제공하는 분석 환경을 구축하는게 쉽지않음을 알고 있다.

최근 빠르게 성장하는 클라우드 기반의 genomics 흐름은 여러 요인들이 있지만, 우선 엄청 엄청 편하게 분석할 수 있다는게 큰 장점이라 생각한다.

또한, 수많은 오믹스데이터가 뿜어져나오는 상황에서 메타분석을 위한 최적의 입지를 지닌 클라우드 플랫폼이 되겠다.

단점으로는 보안, 돈 등의 문제가 있을 수 있겠다.




#아래는 DNAnexus의 Data storage이다.



#DNAnexus 플랫폼은 아래 6개의 특징을 자랑한다.

- 세분화된 인증 및 접근 제어

- 버전 제어 된 분석 결과 제공

- 보안 및 개인 정보 보호 준수

- 높은 재현성 및 문서화

- 공동 작업자 액세스의 보안 제어 및 감사

- API 기반의 Laboratory Information Management System (LIMS) 통합.




#아래는 DNAnexus 소개 영상이다.

(개인적인 견해로 영상 제작에 큰 신경을 쓴 것 같지는 않다..)






#DNAnexux는 'RAPID LAUNCH' 를 약속한다고 한다.

고객과 빠르게 컨설팅하여 원하는 분석 환경을 빠르게 셋팅해준다는 설명이 아래 그림이다.

1. Kick-off Consultation (1 day)

-하루 정도면 고객의 디테일한 요청 사항 전부를 상담 가능.


2. Create Integration Plan (1 week)

-통합분석환경 구축을 위한 초안 정도.


3. Implement Integrated Solution (1-2 months)

-프론트엔드, 백엔드 등등 실질적으로 파이프라인 환경 구축.


4. Validate Pipeline (1 month)

-파이프라인의 모든 과정 점검.


5. Production Deployment, Fully Operational (Completion at 90 days)

-완성.




마무리하며..

비용적인 측면을 좀 살펴보려 했는데, 못찾겠다.

자꾸 상담해야 한다고 한다.

다음 칼럼에는 좀더 굵직굵직한 유전체 클라우드 회사를 더 자세하게 다뤄보겠다.



#DNAnexus  홈페이지

https://www.dnanexus.com/





DNAnexus (유전체 클라우드) End.

BioinformaticsAndMe

CODA (임상유전체생명정보시스템, 질병관리본부) Start.

BioinformaticsAndMe





오늘은 보건복지부 지원의 Clinical & Omics Data Archive; 'CODA 사업'에 대해 다뤄보겠다.




1) CODA (Clinical & Omics Data Archive, 질병관리본부)

- 보건복지부 지원과제에서 생산된 한국인 임상/유전체정보의 통합축적 및 공유를 위한 임상유전체 생명정보시스템 (CODA).

            → 관련법령: 생명연구자원 확보・관리 및 활용에 관한 법률 제10조 / 관련사업: 포스트게놈 다부처 유전체사업(14~21년)

  

- CODA는 환자 또는 정상인의 인체자원(조직, 세포, 혈액, 체액 등)에서 얻은 생명정보(인간의 DNA/RNA 염기서열 및 DNA칩 분석정보, 인체미생물 유전정보; metagenome 등)를 맞춤・정밀 의료시대(환자 맞춤형 치료제 처방 및 의료서비스 등) 실현을 위한 연구에 제공.

 


- 국가생명연구자원정보센터(Korean Bioinformation Center; KOBIC, Genome InfraNet)와 유전체정보를 연계 중.





2) CODA 데이터

- 국내 1차 primary repository 역할 (해외 사례 : Genebank/EBI/DDBJ) 

            → 수집데이터 : 복지부 지원과제 데이터/일반 연구자의 자발적 기탁데이터 (fastq/bam/vcf/cel/idat/임상데이터)

  - 18년 08월 기준, 보유 샘플 개수: NGS(6032), Array(37529), 임상데이터(0) (0? o_o;;)

            → 참고로 모든 데이터 공개되어있는 것은 아니며, 데이터 공개는 데이터를 기탁한 연구책임자의 임의로 결정됨.

  - 현재 주된 데이터는 암이며, 데이터 사용은 신청시 정해놓은 기간에만 사용해야하나, 추가 요청으로 기간을 연장할 수 있음.





3) 데이터 신청 방법

- 사용하길 원하는 CODA 데이터는 CODA의 기관위원회 심사와 승인이 필요 : '데이터이용동의서/연구계획IRB심의결과서' 제출.

            → 데이터이용동의서 : 몇 가지 조항에 대한 동의서

                       ■ 연구데이터는 허가 받은 연구목적 및 활용기간에 국한하여 사용.

                       ■ 데이터 접근 및 이용권한은 CODA가 승인한 참여연구자에 한함.

- 특정 데이터의 오픈되지 않은 임상정보가 필요하다면 해당 기탁자와 별도의 협의가 필요함.

            → 그러나, CODA에 공개된 데이터 사용에 있어서는 기탁자와의 협의가 필요없음 → 자원의 주체 CODA

- CODA 네트워크 환경 : 1Gbps 회선에서 50% 정도의 속도로 전송시, 약 4TB/day 전송 가능.


- 데이터 수령 방법 : 데이터신청 후 심사 승인이 완료되면 데이터 발송 (온라인 or 외장하드). 신청 1건당 30TB로 제한.

a)온라인 전송

- FTP: 신청자 서버의 ID, PW, Port(필요시)를 담당자에게 전달

- CODA 서버에서 다운로드 받는 경우, 임의 ID/PW 를 CODA에서 제공


b)외장하드

- 신청한 데이터 파일 용량에 맞는 외장하드(USB3.0 권장)를 제출.

- 택배비는 신청자 부담.




마무리하며..

이번달(18년8월)은 CODA 시스템 고도화를 위해, 데이터 신청이 휴업 중이다.

사실 직접 데이터를 신청하여 사용해본 적은 없지만, 국내 임상유전체 데이터를 모은다는 취지는 훌륭해보인다.

다만, 국내법과 연구자들의 거부감 등등의 이유겠지만, CODA에서 사용할만한 임상정보가 없는 것은 아쉽다.

아래 홈페이지를 들어가면 기탁된 데이터 정보들을 상세하게 볼 수 있으므로,

본인이 연구하고 있는 주제가 있는지 혹은 관련 샘플 데이터를 얻을 수 있는지 확인해보면 유리하겠다.


#CODA 홈페이지

http://coda.nih.go.kr/coda/frt/index.do





CODA (임상유전체생명정보시스템, 질병관리본부) End.

BioinformaticsAndMe

막대그래프 (Barplot) Start.

BioinformaticsAndMe



barplot( ) 함수를 이용해 막대 그래프를 그려보자.

.


- 위 파라미터들은 barplot 에 사용되는 옵션이니 하나씩 테스트해보면 이해가 빠르겠다.





# 기본 bar 그래프

> x <- c(1,2,3,4,5)

> barplot(x)




# 그래프 가로로 출력 (horiz=T)

> x <- c(1,2,3,4,5)

> barplot(x, horiz=T)





# 그룹으로 묶어서 출력 (beside=T)
> x <- matrix(c(1,2,3,4),2,2)
> barplot(x, beside=T, names=1:2)





# 그룹으로 묶어서 가로로 출력(beside, horiz=T)

> x <- matrix(c(1,2,3,4),2,2)

> barplot(x, beside=T, horiz=T, names=1:2)

> barplot(x, horiz=T, names=1:2)





# 여러 가지 옵션을 추가하여 그래프 그리기

> apple <- c(100,120,140,130,150)

> barplot(apple, main= "Apple", xlab="요일", ylab="금액", names.arg=c("월","화","수","목","금"),  border="green", density=c(10,20,30,40,50))





# 여러 막대그래프를 그룹으로 묶어서 한꺼번에 출력

> apple <- c(100,120,140,130,150)

> peach <- c(180,200,210,190,170)

> berry <- c(110,150,160,90,120)

> fruits <- data.frame(APPLE=apple, PEACH=peach, BERRY=berry)

> fruits

  APPLE PEACH BERRY

1   100   180   110

2   120   200   150

3   140   210   160

4   130   190    90

5   150   170   120

> barplot(as.matrix(fruits), main="FRUITS", ylab="수량", beside=T, col=rainbow(5), ylim=c(0,400))

> legend("topright", c("월","화","수","목","금"), cex=0.8, fill=rainbow(5))




# 하나의 막대그래프에 여러가지 내용 출력하기

> barplot(t(fruits), main="FRUITS", ylab="판매량", ylim=c(0,900), col=rainbow(3), space=0.1, cex.axis=0.8, las=1, 

names.arg=c("월","화","수","목","금"), cex=0.8)

> legend(3.5, 900, names(fruits), cex=0.8, fill=rainbow(3))




# 조건을 주고 그래프 그리기

> peach <- c(180,200,210,190,170)

> colors <- c( )

> for( i in 1:length(peach)){

if (peach[i] >= 200) {colors <- c(colors, "red")}


else { colors <- c(colors, "blue")}


   }

> barplot(peach, main="PEACH", xlab="요일", ylab="수량", names.arg=c("월","화","수","목","금"), col=colors)






막대그래프 (Barplot) End.

BioinformaticsAndMe


'R' 카테고리의 다른 글

R apply 함수  (0) 2018.08.15
R 상관분석 (R correlation test)  (0) 2018.08.10
R, 결측치 처리 (Missing value, NA)  (0) 2018.07.26
R, Command line interface Ⅱ  (0) 2018.07.20
R, Command line interface Ⅰ  (0) 2018.07.16

Gene Prediction & Machine Learning Start.

BioinformaticsAndMe



Genomics 에서 머신러닝의 활발한 사용 중 하나인
Gene Prediction(Gene Finding) 을 다뤄보겠다.


유전자 예측을 위해, 우선..

'은닉 마르코프 모델(Hidden Markov Model; HMM)' 에 대한 이해가 필요하므로,

이전 칼럼의 'Hidden Markov Model (은닉 마르코프 모델)' 를 참고하길 바란다.





1. Gene structure 의 이해

- 위 그림은 진핵생물(eukaryote)이 가지는 일반적인 Gene structure이다.

- 크게 exon과 intron으로 구성되어있으며, 인트론은 GT로 시작하여 AG로 끝난다.

- RNA splicing이 진행될 때 저 GT와 AG를 각각 doner와 acceptor로 인지하여 인트론을 잘라낸다.

- Gene prediction을 하고자 하는 Genome 특성을 적절한 transition probability와 emission probability table로 만들어 놓는 것이 정확한 gene finding의 핵심 요소가 되겠다.

- 이 말은 곧, 연구 중인 샘플 종의 특징을 충분히 학습한 training set이 필요하다는 얘기다.





2. Hidden Markov Model 적용

- 위 그림의 transition probability table 과 emission probability table을 살펴보자.

- transition probability는 현재 state에서 다음 state로 바뀔 확률로, exon->exon이 될 확률은 90%, exon->5'SS(Splicing Site)이 될 확률은 10%이다.

- exon->intron이 될 확률은 0%인데, 위에 gene structure를 살펴보면 exon에서 intron으로 넘어갈 때 5'SS가 항상나타나므로, 엑손 다음에 인트론이 바로 나올 수 없다는 생물학적 지식에 근거한 것이다.


emission probability는 특정 state에서 우리가 볼 수 있는 관찰값이다.

- 우리가 관찰할 수 있는 A, G, T, C 뉴클레오타이드의 특정 영역이 엑손? 인트론? splice site? (Hidden)인지 예측하여, 하나의 유전자를 구분짓는 것이 Gene prediction에서 HMM을 활용하는 방식이다.

- emission probability table에서 exon state일 때 A,G,T,C,가 관찰될 확률이 25%로 동일하다 (샘플종 혹 타겟유전자에 따라 GC contents가 높은 경우에는 G, C에 더 높은 가중치를 메기기도 한다).

- 5'SS에서 G는 consensus sequence이므로 G가 나올 확률이 100%이다 (역시나 이 수치가 고정된 것은 아니다).

#consensus sequence: 진화과정 중 돌연변이 등의 변화를 겪지 않고 잘 보존되어 있는 염기배열

- 진핵생물에서 인트론 부위는 GC contents의 비율이 AT에 비해 상대적으로 적다 (AT가 나올 확률이 더 높다).


- 아래 그림은 위 테이블의 probability 값을 hidden state path에 따라 정리한 것이다. 우리가 보통 머신러닝을 통한 Gene prediction 분석에서 흔히 볼 수 있는 그림이다.

- 명심해야할 점은 'transition probability 와 emission probability' 는 연구자가 보유한 training set 에서 산출되는 것이므로, 머신러닝에서 저 두 확률분포를 얼마나 잘 트레이닝하냐 여부가 정확한 gene prediction의 키포인트겠다.





3. HMM을 이용한 Splicing site 예측


- 자 이제  'CTTGACGCAGAGTCA' 의 시퀀스가 관찰됐을때, 가장 적합해보이는 엑손(청록색), 5`SS(주황색), 인트론(보라색)의 State path를 예측해보자.

- 계산하는 방법은 각 State에서 가질 수 있는 모든 Emission probability와 Transition probability를 곱하는 것이다.

- 위 그림에서처럼 계산한다면 첫번째 state path의 확률값은 4.519e-13 이다. 이런식으로 모든 state path의 확률값을 계산해준다.

- 결론적으로 가장 높은 state path의 확률값을 가진 경로가 주어진 시퀀스의 gene structure라 할 수 있겠다.

- 4.519e-13의 확률 값을 가진 첫번째 state path가 가장 높다면,  'CTTGACGCAGAGTCA'은 'CTT(엑손)G(5`SS)ACGCAGAGTCA(인트론)' 의 유전자 구조를 가지고 있음을 예측할 수 있다.


- 아래 그림의 방식처럼, 특정 state path의 likelihood 값도 구할 수 있다.





마무리하며...

HMM을 이용한 gene prediction을 설명하면서, 엑손-5`SS-인트론에만 초점을 두고 설명했다 (실제 유전체 분야에서 HMM 기반 gene prediction을 설명할 때 대부분 사용하는 예제이다).

프로모터부터 PolyAsite까지 같은 방식을 적용할 수 있겠다. 또한, 대부분의 유전체 분석 툴들이 앞서 설명한 HMM 알고리즘에 기반한 것들이 대다수이다.

Gene prediction 이외에도 protein family를 예측하는 gene annotation 분야에도 자주 쓰인다.

(아 요즘 너무 덥다...ㅠㅠ)





Gene Prediction & Machine Learning End.

BioinformaticsAndMe

Hidden Markov Model (은닉 마르코프 모델) Start.

BioinformaticsAndMe



유전체 머신러닝 분야에서 순차적 데이터 분석의 computational sequence analysis 등에 사용되는


'은닉 마르코프 모델(Hidden Markov Model; HMM)' 에 대해 알아보자.

(다음 칼럼의 Gene Prediction & Machine Learning 파트를 이해하기 위한 밑거름)



1. Hidden Markov Model

- 정의: 통계적 마르코프 모델의 하나로, 시스템이 은닉된 상태와 관찰가능한 결과의 두 가지 요소로 이루어졌다고 보는 모델이다. 관찰 가능한 결과를 야기하는 직접적인 원인은 관측될 수 없는 은닉 상태들이고, 오직 그 상태들이 마르코프 과정을 통해 도출된 결과들만이 관찰될 수 있기 때문에 '은닉'이라는 단어가 붙게 되었다 (위키). 

- 마르코프 성질(Markov Property): 과거와 현재 상태가 주어졌을 때의 미래 상태의 조건부 확률 분포가 거 상태와는 독립적으로 현재 상태에 의해서만 결정.

- 특정 시간 t에서의 은닉 변수 x(t)의 조건부 확률 분포는 오직 은닉 변수 x(t-1)에만 의존하는 것을 관찰할 수 있다. 그 이전의 시간들(<t-1)은 x(t)에 영향을 주지 않는다. 이와 비슷하게 시간 t에서 관측된 변수 y(t)의 값은 오직 은닉 변수 x(t)에만 영향을 받는다.

transition probability(전이 확률): 시간 t-1에서의 은닉 상태가 주어졌을 때 시간 t에서의 은닉 상태가 선택될 확률분포.

- emission probability(출력 확률): 주어진 상태 x(t)에서 특정한 결과값 y(t)이 관측될 확률 분포.

- 마르코프와 히든마르코프의 차이: 'Hidden'에서 x의 state 자체는 보이지 않음. 오직 x state 각각의 관찰값 y값만 볼 수 있다.





2. 날씨를 예로 transition probability 이해하기

- 위 그림은 transition probability(전이 확률)의 개념이다.

- 날씨가 'Sunny' 와 'Rainy' 의 두가지 상태가 있고, 오늘 날씨가 Sunny였다면 내일의 날씨가 어떤 상태일지 궁금하다.

- 우리는 기존 데이터(training set)에 근거하여 Today -> Tomorrow 에서 날씨가 바뀌는 확률을 구할 수 있다 (Output format 1).

- Output format 2와 3 은 format 1과 같은 의미를 지닌다.

- 참고로 오늘 날씨에서 다음날 날씨 예측 확률의 합이 항상 1 이란 사실을 기억하자 ( 예, 0.9 (sunny) + 0.1 (rainy) = 1 ).



- 날씨가 'cloudy' 가 추가 됐을뿐, 위에서 언급한 내용과 동일한 transition probability의 내용이다.





3. 날씨의 예로 emission probability 이해하기



- 우리는 Hidden state, 즉 날씨를 볼 수 없다. 다만, 그 위에 transition probability 의 정보들만 있을 뿐이다.

- 우리가 볼 수 있는건 관찰값인 'Observed state'이다. 날씨에 따라 사람들이 착용한 선글라스, 티셔츠, 우산, 자켓만을 볼 수있다.

- 특정 날씨에 따라 어떤 아이템을 착용할 것인지의 확률도 기존 데이터(training set)에 기반해 만들 수 있다.

- 특정 state의 해당 관찰값이 보일 확률이 emission probability(출력 확률) 이다.





4. 날씨 예측하기

1) 예를 들어, 어떤 사람이 이번주동안 착용한 복장이 다음과 같다. 우산-우산-자켓-선글라스-티셔츠-우산-자켓

2) 우리는 이번주 날씨가 어땠을지 HMM 으로 예측할 수 있다.

3) 위에서 구한 transition probability 과 emission probability table 정보를 이용해, 이번주에 발생할 모든 확률을 곱한다.

4) 모든 경우의 수를 계산했을 때, '비-비-흐림-맑음-맑음-비-흐림' 이 가장 높은 확률의 PATH인 것을 확인했다.





마무리하며..

사실 HMM을 소개한 이유는 유전체 머신러닝 분야에서 Gene prediction을 설명하기 위함이었다.

따라서, 위 마무리가 많이 엉성하다. 좀 더 자세한 계산식과 결과를 살펴보고 싶다면,

이어지는 Gene Prediction & Machine Learning 파트를 살펴보는 것을 추천한다.


내용을 정리하면서 느낀점은

기계학습에서 HMM의 훌륭한 Performance를 보이기 위해선,

높은 신빈성의 학습데이터에 근거한 전이확률과 출력확률 정보를 갖는 것이 중요해 보인다.





Hidden Markov Model (은닉 마르코프 모델) End.

BioinformaticsAndMe







'Machine Learning' 카테고리의 다른 글

강화 학습(Reinforcement Learning)  (0) 2018.09.15
비지도 학습(Unsupervised learning)  (0) 2018.09.05
지도 학습(Supervised learning)  (0) 2018.08.31
Gene Prediction & Machine Learning  (1) 2018.08.05
Machine Leaning & Genomics  (0) 2018.07.28

Evolution theory (진화론) Start.

BioinformaticsAndMe




진화론이란 재밌는 주제를 살펴볼까 한다.

유전체 분야에서도 종간 비교라던지, 종의 기원을 찾는 등 진화의 개념이 사용된다.

또한, Phastcon, PhlyloP score 등의 conservation score(진화적 보존값)을 이용하여,

특정 locus의 Functional constraint를 살피기도 한다.

다시 말해, 우리가 variant calling으로 어떤 질병의 변이를 찾았는데, Functional constraint가 높다면

진화적으로 매우 보존되어 있는 구간에서의 변이가 생긴 것이므로, 해당 질병의 causal variant일 가능성이 높다.

이번 칼럼에서 Evolution의 모든 것을 다룰 수는 없고, 개인적으로 진화론의 철학적인 부분도 좋아하므로,

역사적 배경과 함께 genome evolution 내용을 다뤄보겠다.





1. 다윈의 진화론 (Evolutionary theory)

정의: 자연선택(natural selection), 돌연변이(variation)에 의해 이루어지는 생물 세대에 걸친 변화.

- 자연선택: 주어진 환경 조건에서 유리한 (Selective pressure) 유전인자를 가진 개체가 그렇지 않은 개체보다 생존률, 생식률이 높아진다는 진화 이론.

- 자연선택의 특징

(1) 변이는 모든 생물의 기본적 특성.

(2) 모든 생물은 후손을 과잉생산하므로 대부분은 번식시기 이전에 죽음.

(3) 먹이, 공간, 배우자 등의 자원 경쟁이 발생.

(4) 경쟁 자원을 잘 획득하고 이용하는 개체들만 생존.

(5) 선택된 형질은 다음 세대로 전달.


#역사 참고

- 다윈이 1859년 종의 기원을 집필하면서 진화론이 대두되었는데, 다윈에게 영향을 준 여러 요소들이 있었다.

1) 페일리의 '자연신학' (1802):

   생명체의 완벽한 적응 사례를 통해 신의 존재 논증 -  '환경에 대한 유기체의 적응이라는 문제 제공'

2) 맬서스의 '인구론' (1798):

   인구와 식량(환경)의 불균형은 불가피하고, 일부의 가난과 도태를 벗어나려면 ‘도덕적 절제’ 필요 - '생존경쟁(struggle for life) 아이디어 제공'

3) 라이엘의 '지질학원리' (1830) :

   지표면의 변화는 현재 우리 주변의 원인으로 설명되어야 한다는 동일과정설 제안(vs. 격변설) - '점진적인 종의 변화에 필요한 매우 긴 시간 확보'





2. 유전적 변화를 일으키는 주요 기작(가설)

ㄱ)Mutation within a gene

 - DNA replication 혹 repair 과정중에서 실수가 발생하여 유전자 내 변이가 생김.

 - 변이는 새로은 phenotype의 요인이 될 수 있지만, 대부분 개체에 영향을 주지 않는 Neutral한 특징을 가짐.

 - 위 논문을 참고하여, 인간에 경우 1년에 0.5 x 10-9 의 mutation rate을 보인다고 한다. 30억 염기로 계산해보면 1년에 1.5 염기가 변한다고 한다.

 - 명심해야할 점은 위 돌연변이 발생률은 germline에 해당된다. Cancer somatic mutation rate은 암종마다 다른 것으로 알고 있다.

 - 변이가 생긴다하여도 유전체 대부분은 junk로 보기 떄문에, 통계적으로 봤을때 junk에 변이가 생길 가능성이 높다.


ㄴ)Gene duplication

 - 유전자 중복(gene duplication)은 척추동물의 거의 모든 유전자들이 진행한 기작이라 보고 있다.

 - 유전자들이 자신의 복제하여 gene family로 묶이는 것을 흔히 볼 수 있다.

 - 한번 생각해보자. gene duplication으로 발생한 유전자들은 체내에서 같은 기능을 할 것이므로 모든 유전자가 활성화 될 필요가 없을 것이다.

 - 그럼 몇몇 쓰이지 않는 유전자들이 생길 것이고, genome 상에 흔적으로만 남아있을 것이다 (pseudogene, 위유전자).

 - 쓰이지 않는 유전자들은 위에서 언급한 functional constraint가 감소할 것이므로 변이가 일어날 가능성이 크다.

 - pseudogene은 기능이 없다는게 정설이지만, 몇몇 연구에서는 유전체에서 위상학적으로 다른 유전자에 영향을 줄 것이란 내용도 있다.

 - 아래 그림은 Gene duplication을 일으키는 3가지 사례를 말한다.


ㄷ)Exon shuffling

ㄹ)Horizontal gene transfer





3. Hardy–Weinberg principle (하디-바인베르크 원리)

- 개체군이 가지는 유전자풀 안에서 여러 유전자들의 비율은 세대를 거듭해도 그대로 유지된다는 법칙.

대립유전자 빈도 평형 : p + q = 1

유전자형 빈도 평형 : p2 + 2pq + q2 = 1

- HW 법칙은 4가지 가정에 기반한다.

무작위 교배가 이루어져야한다.

집단이 매우 커야한다.

돌연변이나 이주가 없다.

집단간의 유전자흐름이 없다.

하디-와인버그 가정에 벗어나면 진화에 놓여있다.

- 흔히 GWAS 분석에서 HW 가설을 기각하는 SNP들을 제외하는데, 그런 SNP들은 Phenotype보다 genotyping error로 여기기 떄문이다.

- 우리가 주로 연구하는 사람은 같은 종이므로 하디웨인버그법칙을 거스를 정도의 진화적 변화를 보이지 않을 것이라 본다.




마무리하며...

원래 계획은 라마르크 용불용설과 후성유전학(epigenetics) 사이의 관계를 조명하며 끝내려했지만...

다음 칼럼에 다시 다루겠다 (글을 쓰다보니 내용이 다소 중구난방한 점 죄송합니다..).

#라마르크 용불용설은 일부 식물의 메틸화된 유전자가 그대로 유전되는 것이 확인되어 재조명받고 있다.




Evolution theory (진화론) End.

BioinformaticsAndMe

'Biology' 카테고리의 다른 글

박테리아 성장곡선 (Bacterial growth curve)  (0) 2019.09.21
항체 (Antibody)  (0) 2018.09.16
비교유전체학 (Comparative genomics)  (0) 2018.09.07
Genome Evolution (유전체진화)  (0) 2018.08.24
Gene Fusion (유전자융합)  (0) 2018.08.21
모집부문 및 자격요건 
모집부문구분자격요건 및 우대사항담당업무
임상기술영업
(국내)
경력

[자격요건]
- 석사 이상 소지자
- 생물학 관련 전공자
- 가능자 새로운 NGS 기술 내용 및
  트랜드 습득에 능동적인 자
- 운전가능자

[우대사항]
- 영어 가능자

- 임상기술영업
기술영업
(해외)
신입
/
경력
[자격요건]
- 학사학위 이상 소지자
- 영어 가능자(능통자)

[우대사항]
- 생물학관련 전공자
- 해외영업 (Sanger sequencing)
- 신규고객/거래처 발굴 및 고객 관리
- 시장 조사 및 마케팅 외
NGS 영업지원
(국내)
신입

[자격요건]
- 학사학위 이상 소지자

[우대사항]
- 생물학 관련 전공자
- 영어 사용 가능자

- 영업 지원 업무
  (샘플 접수 및 프로젝트 관리 / 고객대응 등)
회계/자금경력[자격요건]
- 학사학위 이상 소지자
- 상경계열 전공자
- 관련 업무 8-13년 이내[차장급]

[우대사항]
- 재무 및 자금관리 업무 경험자
- IFRS결산/세무조정 및 신고/자금/
  내부회계관리제도/제조업원가관리 등
- 회계감사/세무조정
- 자금계획 및 관리
- 마감결산(전표처리) 등
총무경력[자격요건]
- 5년이내의 총무업무 경력자
- 외향적이고 사교적 성격의 소유자
- 창의적이고 유연한 사고방식의 소유자
- 긍정적이고 강한 인내심의 소유자

[우대사항]
- 업무와 관련된 자격증 소지자
- 관련법령에 의거 우대대상자
- 산업안전 및 보건업무 관리
- 시설보안 및 안전관리
- 대내외 행사진행 및 지원업무
- 사업장 리모델링관련 업무
- 자산관리 업무
- 기타 총무 고유업무 外
인사경력[자격요건]
- 학사학위 이상 소지자
- 인사경력 3년~8년(대리~과장)

[우대사항]
- 채용&노무컨설팅 경험자
- 팀웍&팔로워십 및 커뮤니케이션 역량
- 채용/평가/보상 및 유관기관 지원사업 등
홍보경력[자격요건]
- 학사학위 소지자
- 홍보 경력 7년~10년 (과장급)
- 보도자료 작성 및 언론 대응 능력
- 디지털 콘텐츠 기획 및 SNS 운영 능력
- 원활한 커뮤니케이션 능력

[우대사항]
- 영어 우수자
- 홍보대행사 근무 경험자
- 마케터 근무 경험자
- 저널리즘 또는 광고홍보 전공자
- 바이오 업계 및 생물학에 대한
  이해도가 높은 자
- 언론홍보
  (보도자료 작성, 취재 지원, 미디어 관리)
- 홍보물 기획/제작
  (동영상, 광고, 책자, 브로셔, 리플릿)
- 디지털홍보 (콘텐츠 기획, 채널 운영)
  홍보전략 수립 및 실행
Oligo
수행
신입[자격요건]
- 학사학위 이상 소지자

[우대사항]
- 생물학 및 화학관련 전공자
- Oligo합성 경험자
- Oligo 합성 및 정제
- 신규 서비스 개발지원
Sequencing 
수행 
(기술서비스)
신입
/
경력
[자격요건]
- 전문학사학위 이상 소지자
- 생물학 관련 전공자

[우대사항]
- Sequencing 경험자
- Capillary Sequencing Array 및 Reaction
임상
데이터 분석
경력[자격요건]
- 학력 : 학사 이상
- 경력 : 3년 이상
- Java Application 개발 역량 보유

[우대사항]
- 의료기기 소프트웨어 개발 경험 우대
- 의료데이터 및 생정보데이터 유경험 우대
- 체외 진단기기 (IVD) 용 소프트웨어 개발
서비스분석신입
/
경력
[자격요건]
- 학사 이상 소지자
- 생물학/생명정보학/유전체학 전공자

[우대사항]
- 리눅스 서버 환경 사용 가능한 자
- 셸 및 파이썬 스크립트 활용 가능한 자
- 유전체 데이터를 활용해본 자 
- 기초통계학 지식을 갖춘 자
- 개인유전체 제품서비스
- 분석공정 활용
- 관련 논문 확인
IT경력[자격요건]
- 학사학위 이상 소지자
- 웹어플리케이션 설계 / 개발 역량 보유
- 관련 업무 경력 3년 이상 ~ 5년 이하 경력자

[우대사항]
- 외국어(일어/영어) 능통자
- 재무 및 원가회계 관련 System 경험자
- ERP solution SI / SM 경험자
- Spring Framework 경험자
- 웹서버(Apache, Tomcat) 활용 경험자
- x-x-javascript프레임웍(jQuery) 경험자
- SI Project 수행 경험자
- Java Application 기획 / 설계 / 개발
  (본사 및 해외법인)
- 신규 웹 서비스 개발 Project 진행
- Big Data 및 BI(BioInformatics) 업무지원
데이터분석신입
/
경력
[자격요건]
- 학사학위 이상 소지자
- 프로그래밍(Shell, python, R, perl, java등)가능자
- 생명정보학, 생물/보건 통계학 전공자
  또는 BI에 관심 있는 자

[우대사항]
- 직무관련 지식 보유 및 프로젝트 진행 경험자
- NGS데이터 또는 Biochip 데이터분석 경험자
- Open source기반 프로그램 설치/사용 경험자
- NGS Raw data 처리 및 Quality Control
- NGS분석
- Microarray분석
- Omics 분석
연구협력부경력[자격요건]
- 석사 학위 이상
- 생명과학 또는 Bioinformatics 전공자
- Python, perl, java 가능자

[우대사항]
- 박사 학위 소지자
- NGS 데이터 분석 경험자
- 분석 pipeline 개발 및 개선
- 한국인 표준 유전체 연구
- 공동연구
데이터 모델링
빅데이터부
신입
/
경력
[자격요건]
- 석사 이상(수학, 통계, 통계물리)
- 수학적 데이터 모델링에 능숙하신 분
- 다변량 통계분석에 능숙하신 분
- 데이터 분석 툴(Python/Java)
  사용이 능숙하신 분

[우대사항]
- 정형/비정형 등 다양한 데이터 분석을
  경험하신 분
- 알고리즘 개발 및 최적화 경험자
- 데이터 모델링 및 마이닝 경험하신 분
- 패턴 및 분류예측 모델링을 경험하신 분
- 유전체 분석 경험자
- 수학적 통계 모델 설계 및 검증
- 빅데이터 처리 및 통계분석
- 예측 알고리즘 튜닝 및 최적화
인공지능
빅데이터 분석
경력

[자격요건]
- 석사 이상 (전산, 통계, 컴퓨터 공학, 수학)
- 경력 2~3년
- Unix/Linux 환경에서의 프로그램
  (Go/Solidity/JAVA/Python/C 등) 
- 딥러닝 및 기계학습 이해도 높은 자 
- Tensorflow, Pytorch, Deeplearning4j 등
  오픈 소스 개발 경험 보유자 

[우대사항]
- Hadoop Eco System, Apache Spark, NoSQL
  사용 경험자
- 인공지능 관련 석사 이상의 학위를 가진 분 
- DataMining 경험자 
- 유전체 분석 경험자

- 빅데이터 분석 알고리즘 개발 및 튜닝
  (최적화)
- 빅데이터 분석 밑 분석모델 설계
웹 디자인
(분당)
신입
/
경력

[자격요건]
- 학사 이상 소지자
- 디자인관련 전공

[우대사항]
- 3년 이상 경력자

- 시스템 화면 및 결과지 디자인 
- 아이콘 드로잉
데이터 
시각 디자이너
신입
/
경력

[자격요건]
- 웹 표준 퍼블리싱에 필요한 프로그램 
  가능한 자 (HTML, CSS, Javascript 등)
- 그래픽 툴 사용이 능숙하신 분 
  (Photoshop, Illustrator 등)

[우대사항]
- 시각디자인, 미디어학 등
  디자인 계열 전공하신 분
- 독창적인 디자인 감각을 가지고 있으신 분
- 월활한 커뮤니케이션 능력이 있는 분
- 경력 1년~2년

- 데이터 시각화
※ 국가보훈대상자 및 장애인은 관련법령에 의거하여 우대합니다 
입사자 처우 
- 근무형태 : 정규직(신입사원의 경우 내규에 따라 수습기간 부여)
- 급여 : 회사내규에 따름
 
복리후생 
- 연금·보험 : 국민연금, 건강보험, 고용 및 산재보험
- 휴무·휴가 : 주5일근무, 경조휴가, 연차휴가 등
- 보상제도 : 인센티브제, 우리사주조합운영, 생활운영자금대출
- 기타 : 복지수당지급, 사내동호회운영, 사내휴게실운영, Family-day운영 外
 
전형절차 
전형절차
- 1차 : 서류전형(합격자에 한해 개별통보)
- 2차 : 인·적성검사
- 3차 : 면접전형(임원면접은 1, 2차로 진행될 수 있음)
  IT/데이터분석/연구협력부/데이터 모델링 빅데이터부/인공지능 빅데이터 분석/데이터 시각디자이너
    부문은 PT면접 또는 실기면접으로 진행 될 수 있음
  * 임원 면접 합격자 채용검진 실시
 
제출서류 
- 신입 : 입사지원서, 자기소개서, 경험소개서(* 해당 입사지원서 1, 2 page 작성안내 참고)
- 경력 : 입사지원서, 자기소개서, 경력소개서(* 해당 입사지원서 1, 2 page 작성안내 참고)
 
접수방법 및 기간 
- 접수방법 : www.macrogen.com에 접속하여 당사양식(입사지원서) 다운로드 후 작성 또는 자유양식(워드나 한글파일)을
                 이용하여 작성 후 이메일 접수 및 자사양식으로 사람인 온라인 입사지원
                 * 이메일(*****@************)접수 시 파일제목에 지원부문 및 성명 표기
                   [예 : NGS기술영업(국내)부문_홍길동]
- 접수기간 : 2018. 8. 2 ~ 2018. 8. 15


+ Recent posts