Domains (56)

반응형

DNA 결합 단백질


Regulatory Genomics 관련 논문을 읽던 중 DNA binding protein을 보고 몰라서 공부하였다.


DNA => RNA => Protein이 되는 과정에서 DNA=>RNA로 변하는 transcription 과정 중 DNA가 RNA로 변하는 것의 시작은 전사개시복합체(transcription initiation complex)가 Promoter 부분에 붙으면서 시작된다. 이 복합체 단백질 중 하나인 RNA중합효소2가 유전자를 전사헤 pre-mRNA를 만든다. 그 다음에 RNA Processing(5'캡 생성, 폴리A 꼬리 생성, 인트론 splicing)을 통해 mature mRNA가 생성된다.


이 과정에서 RNA 중합효소가 전사를 개시하려면 전사인자(transcription factor)라는 단백질이 필요하다. 이들은 보편전사인자(general transcription factor)라고도 불린다. 하지만 이것만 가지고는 전사개시속도가 매우 낮으며 특수전사인자라는 조절 단백질의 작용이 필요하다.


promoter 주변에는 DNA 시퀀스에는 근거리 조절요소가 있다. 그리고 유전자에 멀리 떨어져 있는 원거리 조절요소인 인핸서가 있다. (한 개의 인핸서는 하나의 유전자에만 작용하며, 한 유전자는 여러개의 인핸서를 갖을 수 있다. 인핸서에 붙는 단백질들은 특수전사인자라고 불리며 전사인자 종류중 하나라고 볼 수 있다 )


진핵생물에서 유전자 발현율은 인핸서의 조절요소에 활성자(activator) 또는 억제자(repressor)가 결합함에 따라 증가되거나 감소된다. 결합되는 부분은 DNA Binding site라고 불리는듯하다. 즉 인핸서의 조절 요소에 특정한 단백질이 붙어서 그 인핸서의 표적 유전자의 발현을 조절하는 것이다.  활성자 단백질은 RNA 중합효소를 promoter로 recruting한다. 그래서 전사속도가 빨라진다. 반면 억제자 단백질은 RNA 중합효소가 이동하지 못하게 하여 전사가 될수 없게 만든다.


이렇게 gene expression 조절을 수행하는 여러가지 형태의 단백질(RNA 중합효소, 활성자, 억제자 단백질)을 DNA 결합 단백질 (DNA Binding protein)이라고 하며 이들은 sequence specific하다. 즉, DNA Binding protein을 코딩하는 시퀀스에 문제가 있을 경우 해당 protein의 표적 유전자의 발현에 이상이 생길 수 있다. 그래서 DNA Binding protein의 sequence specificity를 안다면 표적 유전자를 알 수 있게 되고, DNA Binding protein 시퀀스의 disease causing variant를 파악하는데 도움이 된다.


이러한 Transcription factor 등과 같은 단백질에 결합하는 DNA 시퀀스를 알아내는 방법으로 CHIP-seq 방법이 있다.



참고 - 캠밸 생명과학

반응형
반응형


유전체학을 위한 신경망 모델 (Neural Networks for Genomics)


원본글

http://blog.qure.ai/notes/neural-networks-for-genomics


위 글을 번역한 포스팅입니다.



Introduction


딥러닝을 처음 유전체학에 적용하려고 한다면, 최신으로 이루어지고 있는 연구(state-of-the-art)가 무엇인지, 연구자들이 딥러닝을 통해 어떠한 문제를 해결하고자 하고, 이를 어떻게 접근하고 있는지 알아야할 필요가 있다. 이 포스팅은 유전체학에서 유명한 네트워크 구조를 소개하고, 이 네트워크를을 트레이닝할 때 쓰이는 데이터의 타입, 그리고 모델을 통해 최종적으로 예측한 결과가 어떻게 나오는지를 요약한다.


시퀀싱 기술의 발달, 그리고 1000-genome project, encode, geo와 같은 public dataset의 범람에도 불구하고 아직까지 genotype-phenotype 구분, 그리고 시퀀스를 통해 질병을 예측하는 것을 완벽하게 해내지 못하고 있다. Bredan Frey의 이 talk는 딥러닝과 유전체학의 컨텍스트상에서 왜 더 많은 genome을 시퀀싱 하는 것이 반드시 해답이 아니라는 것을 설명하고 있다. genome은 매우 복잡하고, 서로 상호작용하는 수많은 정보 레이어를 갖고 있다. 현재의 대부분의 접근법은 시퀀스를 통해 직접적으로 표현형을 추측하는 것이 아니라, 시퀀스의 일부를 해석하는 시스템을 구축하는 것이다. 아래에 딥러닝이 유전체학이나 전사체학에 적용된 예를 소개한다.



얕은 fully connected networks 를 이용한 초기 연구


초기 연구중 몇몇은 주성분분석을 통해 차원을 축소한 gene expression 데이터를 single layer fully connected network에 적용한 것이다. 이러한 초기 연구는 gene expression을 통해 tumor type을 구분하거나, tumor grade를 예측하거나, 환자의 생존 여부를 예측하는데에 사용되었다. 이러한 연구의 발달은 가장 예측력이 높은 gene의 subset을 찾거나, gene의 signature를 찾는 연구의 발달을 가져왔다. 이와 비슷하게 인공신경망은 microRNA의 발현 패턴을 통해 대장암의 등급을 예측하거나, 암 상태를 예측할 수 있는 microRNA를 찾아내는 연구에 사용되었다.



Autoencoder를 이용한 차원 축소와 특징값 추출


Autoencoder는 유전체학에서 gene expression 데이터로부터 feature space를 줄이거나 유용한 feature를 찾아내는데 사용되어왔다. 한 예는 autoencoder를 사용해 labling 되지 않은 gene expression data로부터 정교한 feature representation을 구현하고, 이를 통해 tumor를 예측하는 classifier를 구현한 이 페이퍼이다. 더 최근 연구는 denoising autoencoder를 이용해 유방암 gene expression data에서 feature extraction을 한 연구이다. 다음은 ADAGE(paper and repository)인데, 박테리아 gene expression 데이터에 비슷한 접근을 한 연구이다. autoencoder를 통해 추출한 유용한 feature들은 암 분류, 에스트로겐 수용체의 상태, 환자의 생존 예측에 활용될 수 있다. 그러면 하나의 autoencoder로 부터 밝혀진 gene expression profile들을 통해 어떠한 조직에도 일반적으로 적용할 수 있는 feature를 밝혀낼 수 있을까? gene expression 데이터 말고 DNA sequence에 autoencoder를 적용하여 유용한 feature를 추출할 수 있을까?



Deep learning을 통해 gene expression, transcript expression level을 예측하기


 유전자의 발현은 공동으로 이루어지는 경우가 많기 때문에, 서로 다른 유전자의 발현 정도는 상관관계가 매우 높다. 이는 특정 subset의 유전자 발현 데이터만 가지고도 나머지 gene의 발현 정도를 예측해볼 수 있다는 것을 뜻한다. 이는 잠재적으로 유전자 발현 profiling에서 비용과 복잡성을 줄일 수 있다. D-GEX라고 불리는 방법이 개발되었는데 이는 퍼블릭 데이터인 CMAP을 통해 트레이닝된 심층신경망 모델로써, 1000개의 gene expression 데이터를 통해 나머지 gene 의 expression 정도를 예측한다. 최근의 topcoder challenge도 이와 비슷한 문제가 올라와있다. 이와 비슷하지만 더 hard한 태스크는 exon이나 transcript의 expression level을 DNA sequence data로 부터 예측하는 것이다. expression level은 sequence로만 결정되는 것이아니라, cellular context 에도 의존한다. ‘Deep learning of the tissue-regulated splicing code’ 라는 타이틀의 연구는 exon 주변의 dna sequence를 통해 그 exon이 splice in 되는 확률 (PSI)를 예측한다. 직접 손으로 만든 genomics feature들(이 genomics feature들은 특정한 mouse의 cell type에서 splicing pattern을 예측할 수 있는 것들이다.) 이 모델을 트레이닝하는데 사용되었다. autoencoder를 통해 이 feature의 차원을 축소하고, cell type을 나타내는 추가적인 input을 통해 multilayer fully connected network를 트레이닝하였다. 이 방법을 통해 저자들은 tool을 개발하고 검증하였는데, 이것을 통해 SNV가 splicing애 미치는 effect를 scoring할 수 있다.



Epigenomics를 위한 Convolutional Networks


최근 연구의 많은 부분이 바로 전사인자 결합 위치나, 인핸서 지역, 시퀀스를 통한 크로마틴 accessibility 예측과 같은 epigenomic의 문제에 CNN을 이용하는 것이다. DeepBind는 주어진 sequence를 통해 DNA나 RNA 결한 proteins의 specificity를 예측할 수 있는 방법이다. 이것을 하기 위해 많은 수의 protein binding micro-array chip-seq 데이터를 통해 CNN이 training 되었다. convolutional stage에는 one-hot encoding된 시퀀스에서 'motif detector' matiireces의 set을 scan한다. learning된 filter는 유전쳏학에서 DNA seuqnece motif를 설명하고 이해하는데 사용된다. 네트워크는 알려진 motif와 알려지지 않은 motif까지도 learning할 수 있다. DeepMotif는 비슷한 계열의 더 깊은 모델로써, 시퀀스에 따라 transcription factor binding(yes or no)를 분류하고, motif를 추출하는데 더 중점을 둔 모델이다. DeepSea는 ENCODE의 epigenomics 데이터로부터 트레이닝되었고, 단일염기의 mutation이 transcription factor binding과 DNAse sensitivity에 미치는 영향을 예측한다. 이 모델의 주요 기능은 다양한 규모의 시퀀스 기능을 학습하는 계층적 아키텍처의 사용, 광범위한 시퀀스 컨텍스트 스캔 기능 및 예측 기능을 공유하는 다양한 염색질 요소의 멀티 태스크 공동 학습이다. 다른 epigenomics에 사용되는 CNN의 예는 Basset인데, DNA 시퀀스로부터 chromatin accessibility code를 예측한다. DeepCpG는 DNA metylation을 모델링하였고, DEEP은 enhancer나 transcription factor binding으로 인해 gene의 transcription이 증가하는 DNA의 region을 예측하는 ensemble framework이다. 또한 chip-seq 실험에서 noise를 감소시키거나 signal을 증폭하기 위한 CNN-based 방법도 있다.



언어처리로부터 영감을 얻은 모델들


언어처리와 genome해석은 어느정도 비슷한 면이있다. 이는 언어처리에 사용되는 방법이 genomics를 이해하는데 유용할 수 있다는 것을 시사한다.


Recurent Neural Networks


RNN은 긴 범위를 갖는 DNA 시퀀스의 상호작용을 발견하기 위해 사용되어왔다. DanQ는 CNN과 bi-directional LSTM(long-short term memory)의 하이브리드로써, convolution layer는 regulatory motif를 발견하고, recurrent layer는 regulatory 'grammer'를 이해하기 위해 motif들 간의 long-term dependency를 발견하는데 사용된다. 다른 예는 DNA-level splice junction prediction인데 RNN이 splice junction이나 intro과 exon의 경계를 발견하기위해 training이 된다. 또한 바이러스 gemoe에서 proten coding region을 발견하는 것도 있다.



Word embedding이나 word2vec 같은 모델


‘Gene2vec: Neural word embeddings of genetic data’ 라는 타이틀을 갖고있는 한 프로젝트는 구글의 오리지날 word2vec을 genome 시퀀스로 구현한 것이다. (genome을 27bp의 'word'로 splitting한다.) 실제로 이것이 인간 genom에 실용적으로 적용될 수 있는지는 흥미로운 주제일 것이다. 비슷한 word2vec 스타일의 모델은 gene expression data로도 트레이닝이 가능하다.




기타 링크

dna binding protein motif

http://2013.igem.org/wiki/index.php?title=Team:XMU_Software/Project/promoter&oldid=359507



반응형
반응형


Regulatory Genomics 개념


regulatory genomics 관련 자료를 찾아보다 아래 링크를 찾아 번역하여 정리하였습니다.


https://biology.stackexchange.com/questions/17810/what-does-regulatory-genomics-mean


Genome은 크게 두 파트로 나뉘어진다.


1. 단백질을 코딩하는 파트 (coding region)

2. 단백질을 코딩하지 않는 파트 (non-coding region)


이 때 단백질을 코딩하지 않는 두 번째 파트는 또 다시 두 개의 클래스로 나뉘어진다.


2-1. transcribe가 되어 생물학적인 활동을 하는 파트 (long noncoding RNA, miRNA, competing endogenous RNA 등)

2-2. transcribe가 안되는 부분 (unscribed non-coding region)


이 중에서 2-2번 unscribed noncoding region은 아마도 1번파트와 2-1번 파트에 regulation 작용을 할 것으로 생각된다. (transcription factor나 transcriptional coactivators/corepressors에 binding 함으로써)


※ transcriptional coactivators/corepressors는 gene의 시작부분 (promoter) 또는 멀리 떨어진 부분(enhancer)에서 해당 gene이 expression이 될지 안될지를 조절한다. enhancer은 gene과 멀리 떨어져있지만 3차원 상에서는 붙어있을 수 있기 때문에 gene expression을 조절할 수 있다. (genome은 세포 안에서 접혀져 있기 때문이다.)


Regulatory Genomics는 바로 genomics "features"라고도 불리는 이 unscribed non-coding region에 대한 연구이다. 어떻게 그들이 gene regulation을 하는지 알아내는 것이다. 이 분야의 연구의 대표적인 예는 ENCODE project의 파트로써 publish된 페이퍼들이다.






ENCODE 프로젝트 링크


http://www.nature.com/encode/#/threads


ENCODE 프로젝트 소개 (홈페이지 내용 번역)


ENCODE(Encyclopedia of DNA Elements) 프로젝트는 National Human Genome Research Institute가 후원하는 프로젝트로써 genome 상에서의 transcription, transcription factor association, chromatin structure, histone modification을 밝혀내기 위한 프로젝트이다. 이러한 genome 상에서의 기능적인 요소들을 식별함으로써 현재 인간 genome의 80%의 부분이 최소 1개 이상의 biochemical function 을 한다는 것 알아내었다. 이러한 functional annotation에 관한 광활한 자원들은 genome과 유전자의 regulation과 oragnization에 있어 새로운 통찰력을 제공하고 있다.


ENCODE 관련 한글로 정리된 블로그


http://blog.daum.net/kimuks/7535222


https://madscientist.wordpress.com/2012/09/18/%EC%98%A4%EB%8A%98%EC%9D%98-%EB%85%BC%EC%9D%BD%EB%82%A8-%EC%97%94%EC%BD%94%EB%93%9C%EB%A5%BC-%EB%94%94%EC%BD%94%EB%93%9C%ED%95%98%EA%B8%B0/



Regulatory Genomics 및 Epigenomics 관련 강의 자료

https://simons.berkeley.edu/talks/regulatory-genomics-epigenomics


반응형
반응형

Lastz 설치


Lastz는 Large-Scale Genome Alignment Tool의 약자로 말그대로 큰 genome 시퀀스를 alignment하는 툴이다.


이 링크에 들어간 후 https://github.com/lastz/lastz


프로젝트 파일을 git을 통해 clone하거나 zip파일로 다운받은 후, 압축을 해제하여 README.lastz.html 이 파일을 웹 브라우저에서 연다.

 



이런 느낌의 html 문서가 나오는데 Installation 파트에 가면 설치 과정을 자세히 볼 수 있다.

다른 생명정보학 툴과 마찬가지로 리눅스 계열 운영체제에서 동작한다.


lastz\src 폴더에 들어가서


make

make install


이 명령어를 통해 두 개의 실행가능한 프로그램이 운영체제에 설치가된다. lastz, lastz_D인데 차이는 lastz는 integer score, lastz_D는 floating point score를 쓴다고 한다.


아래 커맨드를 입력했을 때 아웃풋이 나오지 않으면 설치가 제대로 된 것이다.


make test


그리고


./lastz


를 통해 lastz 프로그램이 동작하는지 확인해보자.


편하게 lastz 프로그램을 사용하기 위해 환경변수를 등록한다.



export PATH=[설치된경로]/lastz/src:$PATH



이제 어느곳에서나 lastz 명령어를 통해 프로그램을 실행할 수 있다.

아래는 lastz 명령어 실행시 나타나는 메시지. 타겟 파일 이름을 지정하라고 나온다.


You must specify a target file
lastz-- Local Alignment Search Tool, blastZ-like
  (version 1.04.00 released 20170312)
usage: lastz target [query] [options]
  (common options;  use --help for a more extensive list)
  target, query          specifiers or files, containing sequences to align
                         (use --help=files for more details)
......

반응형

'Domains > Bioinformatics' 카테고리의 다른 글

CIGAR Format  (0) 2017.08.13
Lastz 실행  (0) 2017.08.13
Platypus 를 통한 variant calling  (0) 2017.08.07
bam 파일 인덱싱  (0) 2017.08.07
platypus 설치  (0) 2017.08.07
반응형

python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]


python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]


python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]

Platypus 설치 확인


platypus 설치하기 링크 : 3months.tistory.com/155


platypus를 설치하였으면 아래 명령어를 통해 variant calling을 하여 플라티푸스가 잘 설치되었는지 확인해보자.


python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf

출처: http://3months.tistory.com/155 [Deep Play]
python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf

출처: http://3months.tistory.com/155 [Deep Play]


python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]

amFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf


플라티푸스 폴더에 들어가서 저 명령어를 실행하는 것인데,

이 때, 1개 이상의 BAM 파일을 인풋으로 제공할 수 있으며, reference file은 fast파일로 제공하면된다.

또한 BAM 파일은 samtools나 이와 비슷한 프로그램으로 indexing이 되어있어야하며,

FASTA 파일도 마찬가지로 "samtools faidx" 나 이와



출처: http://3months.tistory.com/155 [Deep Play]

amFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf


플라티푸스 폴더에 들어가서 저 명령어를 실행하는 것인데,

이 때, 1개 이상의 BAM 파일을 인풋으로 제공할 수 있으며, reference file은 fast파일로 제공하면된다.

또한 BAM 파일은 samtools나 이와 비슷한 프로그램으로 indexing이 되어있어야하며,

FASTA 파일도 마찬가지로 "samtools faidx" 나 이와



출처: http://3months.tistory.com/155 [Deep Play]

python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]

python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]

python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf



출처: http://3months.tistory.com/155 [Deep Play]

python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf


(이 명령어를 실행하기 전에 전에 samtools를 활용해 bam 파일과 fasta 파일의 인덱스 파일을 만들어 놓아야한다.)



실행 에러


간단한 sample 데이터로 위 명령어를 실행하니


ImportError: libhts.so.2: cannot open shared object file: No such file or directory


라는 에러메시지가 출력되면서 실행되지 않았다. 찾아보니 htslib의 라이브러리 경로가 제대로 지정되지 않았기 때문이라고 한다.


https://github.com/andyrimmer/Platypus


위 링크를 보고 해결하였는데 htslib를 설치하면 /usr/local 폴더에 htslib 가 설치되는데 여기서 /usr/local/lib와 /usr/local/include 폴더의 라이브러리 경로를 잡아주어야 한다.

export C_INCLUDE_PATH=/usr/local/include
export LIBRARY_PATH= /usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib

bash 에서 위 명령어를 실행하여 라이브러리 경로를 잡아주고 다시 실행하니 잘 실행이 되는 것을 볼 수 있다.



그러면 실제 데이터로 variant calling을 해보자.

http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/


위 링크에서 아무거나 골라서 bam 파일과 인덱스 파일을 다운받는다.

그리고 hg19의 chromosome1 fasta file을 다운받는다. http://hgdownload.cse.ucsc.edu/goldenPath/hg19/chromosomes/


그리고 chromosome1의 variant 만 확인하기 위해 bam 파일에서 chromosome1의 시퀀스만 뽑아낸다.


samtools view -b sample.bam chr1 > sample_ch1.bam


위 명령어를 통해 bam 파일에서 ch1 부분만 뽑아낼 수 있다.  그리고 이 bam 파일에서 인덱스 파일을 생성한다.


samtools index sample_ch1.bam


그러면 sample_ch1.bam.bai 파일이 생성되며 준비가 끝났다.


또한 hg19의 chr1 fasta 파일도 인덱스 파일을 생성해준다.


samtools faidx chr1.fasta


이제 플라티푸스 명령어를 돌리기 위한 준비가 끝났다.


python Platypus.py callVariants --bamFiles=sample_ch1.bam --refFile=chr1.fa --output=VariantCalls.vcf



실행되는 모습


생성된 VariantCalls.vcf 파일

반응형

'Domains > Bioinformatics' 카테고리의 다른 글

Lastz 실행  (0) 2017.08.13
Lastz 설치 및 테스트  (0) 2017.08.07
bam 파일 인덱싱  (0) 2017.08.07
platypus 설치  (0) 2017.08.07
samtools 설치시 에러 해결  (0) 2017.07.16
반응형

bam 파일 인덱싱



BAM 파일은 FASTA 파일처럼 sequence 를 저장하는 파일인데 binary로 저장이된다. (저장공간의 효율을 위해 그런것같다.) 시퀀스를 저장하고 있는 모양은 SAM 파일과 같은데, 이를 단지 binary 형태로 저장한 것이다.


bam 파일 인덱싱 관련 정보는 https://www.biostars.org/p/15847/ 이 곳에서 얻었는데, bam 파일은 companion file 인 index 파일을 갖을 수 있다. 이것은 외부에 저장되는 bam 파일의 인덱스 테이블이다. 이 테이블을 통해 프로그램이 bam 파일의 원하는 위치로 점프할 수 있다.


왜 platypus 파일에서 variant calling 할 때 인덱싱된 bam 파일을 제공하라고 하는지 알 것 같다. 인덱스 테이블을 통해 원하는 시퀀스로 점프할 수 있게 하는것 이다. 이 index 파일은 bam 파일과 똑같은 이름에 끝에만 .bai 를 붙인다. (bam 파일 이름이 ch1.bam 이면 인덱스 파일은 ch1.bam.bai 이다. 이러한 naming을 통해 해당 인덱스 파일이 어느 bam 파일로부터 나왔는지를 알 수 있다.


bam 파일 인덱싱하는 법은 쉬운데 samtools 설치 후


samtools index bamfile.bam


를 실행하면 된다.


http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/


이곳에서 bam 파일을 아무거나 다운 받은 후 테스트 해보자. 제일 위에 있는 것을 다운 받은 후 파일명을 bamfile.bam으로 바꾸었다. 근데 위 command를 실행하니 오류가 떴다. 검색해 보니 먼저 bam파일을 sorting을 한 후 indexing 을 해야하는 것 같다.


samtools sort bamfile.bam

samtools index bamfile.bam


를 실행한다. 참고로 samtools 명령어 모음집은 아래 링크에서 찾을 수 있다.


http://www.htslib.org/doc/samtools.html



반응형

'Domains > Bioinformatics' 카테고리의 다른 글

Lastz 설치 및 테스트  (0) 2017.08.07
Platypus 를 통한 variant calling  (0) 2017.08.07
platypus 설치  (0) 2017.08.07
samtools 설치시 에러 해결  (0) 2017.07.16
윈도우 우분투에 GATK 설치하기  (0) 2017.06.24
반응형

/* 2017.8.7 */


공부와 메모를 위한 포스팅입니다.


platypus 설치 링크


http://www.well.ox.ac.uk/platypus

https://github.com/andyrimmer/Platypus


위의 매뉴얼대로하면 된다.

압축파일을 다운받고 빌드하면 설치 완료.

또한 두 번째 github 링크 주소에서 나오듯이 htslib를 설치하여야 한다. (dependancy가 있다.)


platypus는 haplotype variant calling 하는 프로그램.

command line에서 실행할 때는 파이썬 프로그램을 command line에서 실행하는 것처럼 하면 된다.


platypus 실행


가장 간단하게 platypus를 실행하는 방법은


python Platypus.py callVariants --bamFiles=input.bam --refFile=ref.fa --output=VariantCalls.vcf


플라티푸스 폴더에 들어가서 저 명령어를 실행하는 것인데,

이 때, 1개 이상의 BAM 파일을 인풋으로 제공할 수 있으며, reference file은 fast파일로 제공하면된다.

또한 BAM 파일은 samtools나 이와 비슷한 프로그램으로 indexing이 되어있어야하며,

FASTA 파일도 마찬가지로 "samtools faidx" 나 이와 비슷한 프로그램으로 indexing 되어있어야한다.


아웃풋은 1개의 .vcf 파일과 log 파일이다.

log 파일의 최하단에 'Finished variant calling' 메시지를 보고 제대로 작동하였음을 확인할 수 있다.


그러면 이제 samtools로 bam 파일과 fasta 파일을 indexing 하는 것을 해보자.

반응형

'Domains > Bioinformatics' 카테고리의 다른 글

Platypus 를 통한 variant calling  (0) 2017.08.07
bam 파일 인덱싱  (0) 2017.08.07
samtools 설치시 에러 해결  (0) 2017.07.16
윈도우 우분투에 GATK 설치하기  (0) 2017.06.24
non-coding RNA는 어떻게 만들어지나?  (0) 2017.05.28
반응형


Framinghum Heart Study Stroke 모형


논문 Probability of Stroke: A Risk ProfileFrom the Framingham Study (1991)


질병의 위험도 예측 모형은 어떤 질병이 향후 t년간 발생할 확률을 예측하는 모형이다. 위험도 예측 모형은 다양한 모델로 구축할 수 있는데, Cox-proportional Hazard 모형을 많이 사용한다. 질병 발생이 성별로 양상이 다른 경우가 많아 성별로 다른 위험도 예측 모형을 만드는 경우가 많다. 이 논문에서도 성별로 다른 예측 모형을 구축하였다. 이 논문은 Framinghum Heart Study 코호트를 통하여 Stroke의 위험도 예측 모형을 구축하였다.


이 연구에서 Stroke는 아래와 같이 정의하였다.



Atherothrombotic brain infarction : 죽상혈관 뇌경색

Transient ischemic attack only : 일시적인 허혈성 발작

Cerebral embolus : 뇌색전 (ischemic attack의 원인이라고 한다.)

Intracerebral hemorrhage : 출혈성 뇌혈관 질환

Subarachnoid hemorrhage : 지주막하 출혈


위 논문에서 위험도 예측 모형에 사용한 변수 및 회귀 계수는 아래와 같다.






이를 식으로 표현하면 아래와 같다.


p = 1-S(t)^B

(p는 t년 안에 stroke 발생 확률)


이 때,


A = L-M

B = e^A

L = 0.0505xAge+0.0140xSBP-l-0.3263xHyp Rx+0.3384xDM+0.5147xCigs-t-0.5195xCVD+0.6061xAF+0.8415xLVH

M = 0.0505xMeanAge+0.0140xMeanSBP-l-0.3263xMeanHypRx+0.3384xMeanDM+0.5147xMeanCigst 0.5195xMeanCVD+0.6061xMeanAF+0.8415xMeanLVH


(MeanXXXX은 stroke 발생자의 평균 값. 예를 들어 MeanAge는 stroke 발생자의 평균 나이)



이 연구에서 stroke 발생자의 위험인자들의 평균값은 아래와 같다.




또한 stroke 없이 t년간 생존할 확률 S(t)는 성별로 아래와 같이 정의된다.


남자


여자



예제

예를 들어, 70세의 남성이며 수축기혈압이 140mmHg, 흡연자, 고혈압약 미복용, 당뇨병 안걸림, 심세동 및 심방조동 과겨력 X, 좌심실 비대 X인 사람을 생각해보자. 그러면,



L=0.0505x70+0.0140x140+0.3263x0+0.3384x0+0.5147x1+0.5195x0+0.6061x0+0.8415x0=6.0097

또한 M = 5.6770 (Table2에 제시된 평균값 대입)


따라서,


A = 6.0097-5.6770 = 0.3327

B = e^A = e^0.3327 = 1.3947

p=1-S(10)^B= 1-0.9044^(1.3947) = 1-0.8692= 0.1308 = 13.08%




반응형
반응형

SRY Gene


생물학에서 성염색체의 유전자형이 XX이면 여자, XY이면 남자라는 것은 많은 분들이 생물 시간에 배워서 잘 아실 것입니다. 인간의 유전체는 22쌍의 상염색체와 1쌍의 성염색체로 이루어져 있으며, 일반적으로 성염색체가 XX면 여자, XY면 남자로 태어나게 됩니다. 왜 XX면 여자이고, XY는 남자가 되는 것일까요? 유전자 발현 측면에서 보면 Y 염색체에 존재하는 SRY(sex-determining region Y) Gene에 의하여 남자와 여자의 차이가 생긴다고 할 수 있습니다. SRY Gene이 발현하여 SRY Protein 을 생성하게되면 이것이 마치 전사인자(transcription factor)처럼 작용하게 됩니다. 이것이 DNA 특정 부위에 붙여서 특정 gene의 활성화를 돕게 되는 것입니다. 예를 들어, SRY Gene의 산물인 SRY Protein이 상염색체의 SOX9 gene을 활성화시키면 세정관과 고환을 형성하게됩니다. 또한 SRY gene의 산물은 남성으로의 분화를 도우면서 난소, 나팔관 등의 여성의 생식기관의 형성은 억제시킵니다. 여성도 상염색체 상에 SOX9 gene을 갖고 있으나, SRY Gene이 없으므로 활성화되지 않는 것입니다.



SRY Gene의 돌연변이


남성과 여성의 구분이 특정한 유전자에 의해 일어나기 때문에 이 유전자에 돌연변이가 생기면, XY 염색체를 갖은 남자, XX 염색체를 갖은 여자가 태어날 수도 있습니다. Swyer Syndrome(스와이어 증후군)은 XY 염색체를 가지고 있으나 SRY gene의 mutation에 의해 제대로 발현하지 못하여 XY 염색체를 갖고 태어나는 경우로 이 때 XY 염색체를 갖은 여성이 태어나게 됩니다. 이와 비슷한것은 androgen insensitivity syndrome(안드로겐 무감성 증후군)이 있는데 이는 남성호르몬을 수용하지 못해 XY 염색체를 갖은 여성이 생기는 경우입니다.


반면 46, XX testicular disorder of sex development 라는 것도 있는데, 매우 드문 증후군으로 X, Y 간의 translocation에 의해 SRY Gene이 X 염색체에 위치하여 XX 염색체를 가짐에도 불구하고 남성이 되는 것입니다.



Y 염색체 상에서의 위치


<Y 염색체>


SRY 유전자는 Yp11.2에 있으며 이 뜻은 Y 염색체의 p arm의 11.2 position에 SRY 유전자가 위치한다는 뜻입니다. p arm이란 염색체를 동원체를 기준으로 나눴을 때 짧은 부분을 말합니다.




참고


https://ghr.nlm.nih.gov/gene/SRY#conditions

http://blog.naver.com/shinefact/90172920000

반응형
반응형

Pleiotropy


  • 하나의 유전자가 여러개의 표현형질에 영향을 줌.  (one gene => n pheynotype)
  • ex) 쥐의 rhino 유전자가 homozygous인 경우 무모 형질과 발톱의 이상신장 형질을 동시에 보인다.


Polygenic Inheritance


  • ploygenic Inheritance이란 여러개의 유전자가 하나의 표현형질의 영향을 주는 현상을 말한다. (n gene => 1 phenotype)
  • 피부색, 키와 같은 phenotype이 대표적인 polygenic inheritance의 예이다.
  • 예를 들어 3개의 유전자가 피부색에 영향을 미친다고 가정해보자. A 유전자, B 유전자, C 유전자.
  • AaBbCc * AaBbCc 의 조합결과 64개의 가능한 조합이 있고, 이를 통해 7개의 phenotype이 형성이된다.
  • 이 phenotype의 분포를 보면 중심극한정리에의해 아래와 같이 정규분포를 나타내게 된다.




반응형