반응형

CAFE v4.0 설치 및 실행하기




CAFE v4.0 Software for Computational Analysis of gene Family Evolution


gene gain and loss를 계산하기 위해 CAFE 설치를 해보기로 했다.


homepage - https://hahnlab.github.io/CAFE/index.html



다운로드는 홈페이지 내의 다운로드 탭에서 github 링크를 따라가서 cafe-version.tar.gz을 다운받는다.


tar xf cafe*tar.gz 


./configure 

make


CAFE/release/cafe 실행파일이 생성된다.



tutorial.pdf 파일을 보고 따라해 보자.


1. ensembl biomarket에서 종의 protein sequence를 받아야 한다.



ensembl genes, species를 고르고 attributes에서 sequence->peptide를 고르고 header information에서 trascript ID를 빼고 CDS length를 넣어주면 된다.


Results를 누르고 이메일로 받거나 그냥 다운받으면 된다.


다운받으면 모두 한 폴더에 넣은 뒤 압축을 풀면 된다.



2. longest isoform 만을 추려내야 한다.


cafe/manual/tutorial files에 가면 script가 존재한다.  (https://iu.box.com/v/cafetutorial-files)


튜토리얼 파일 전부를 받으면 용량이 5Gb가 넘어가니 필요한 부분만 따로 받는것이 좋다.


python python_scripts/cafetutorial_longest_iso .py -d twelve_spp_proteins/

cat twelve_spp_proteins/longest*.fa > makeblastdb_input.fa


-d 뒤에는 sequence가 있는 폴더명을 적어주면 되고 폴더 안에있는 .fa 확장자 파일을 읽어서 longest 파일만을 가져온다.

여러 종의 longest 파일이 각각 존재하니 한 파일로 묶어 주어야 한다.



3. blast로 align하기.


makeblastdb -in makeblastdb_input.fa -dbtype prot -out blastdb

blastp -num_threads 4 -db blastdb -query makeblastdb_input.fa -outfmt 7 -seg yes > blast_output.txt


시간이 상당히 많이 걸린다. tutorial에서는 align된 결과도 위의 tutorial files에서 제공하고 있다.



4. clustering 하기


mcl이 설치되어 있어야 한다. 


wget https://www.micans.org/mcl/src/mcl-latest.tar.gz

tar -zxf mcl-latest.tar.gz 

./configure --prefix=/PATH/TO/INSTALL/MCL

make && make install

export PATH=/PATH/TO/INSTALL/MCL/bin:$PATH


이후에 mcl를 사용해서 gene family 레벨에서 clustering을 진행한다.


grep -v "#" blast_output.txt | cut -f 1,2,11 > blast_output.abc

mcxload -abc blast_output.abc --stream-mirror --stream-neg-log10 -stream-tf 'ceil(200)' -o blast_output.mci -write-tab blast_output.tab

mcl blast_output.mci -I 3

mcxdump -icl out.blast_output.mci.I30 -tabr blast_output.tab -o dump.blast_output.mci.I30


tutorial에 있던 python script를 사용해서 결과를 만든다.

cafetutorial_mcl2rawcafe.py -i dump.blast_output.mci.I30 -o unfiltered_cafe_input.txt -sp "ENSAPLG ENSFALG ENSGALG ENSTGUG ENSMGAG"

cafetutorial_clade_and_size_filter.py -i unfiltered_cafe_input.txt -o filtered_cafe_input.txt -s



5. tree 계산하기


((( cow :0.09289 ,( cat :0.07151 , horse :0.05727) :0.00398) :0.02355 ,(((( orang

:0.01034 ,( chimp :0.00440 , human :0.00396) :0.00587) :0.00184 , gibbon

:0.01331) :0.00573 ,( macaque :0.00443 , baboon :0.00422) :0.01431)

:0.01097 , marmoset :0.03886) :0.04239) :0.03383 ,( rat :0.04110 , mouse

:0.03854) :0.10918) ;


위와 같은 NEWICK 포맷의 종간 거리가 계산되어 있는 파일이 필요하다.


튜토리얼에서는 이미 계산되어 있는 경우 그냥 가져다 쓰면 된다고 나와있지만 그런 경우는 별로 없을 것 같다.


ultrametric으로 새로 계산하기 위해서 r8s 라는 프로그램을 소개하고있다.



phylogenetic tree를 계산하는 방법은 세 가지 인데


Cladogram - branch의 길이는 의미 없음. 대략적으로 어떻게 분류되는지만 보여준다.

Phylogram - 길이는 유전적인 관계를 나타낸다. 같은 종류에 묶여있더라도 길이에 따라 더 가까운 관계가 존재한다.

Ultrametirc - Phylogram과 비슷하나 유전적인 관계보다 시간적인 요소에 가중치를 두었다. 



r8s는 phylogram으로 계산한 방식을 ultrametric으로 바꿀 수 있는 프로그램인데 링크가 다 깨져 있어서 접속 불가.



ultrametric tree를 그려주는 BEAST 프로그램으로 대체하였다.


2017/09/27 - [bioinformatics] - BEAST 설치 및 실행하기










반응형

'bioinformatics' 카테고리의 다른 글

Racon 설치 및 실행하기  (0) 2017.09.19
Phylip 설치 및 실행하기  (0) 2017.09.18
Synteny Circos plot 그리기  (0) 2017.08.30
Arrow/Quiver 설치 및 사용하기  (0) 2017.08.24
SyMap 설치 및 실행하기  (0) 2017.08.23
반응형

De novo assembly of the Aedes aegypti genome using Hi-C yields chromosome-length scaffolds



cost-effective chromosome-length scaffold를 소개하고 있다. short-read로 생산된 draft genome을 chromosome level로 올리려면 long read나 optical mapping data가 필요하였다. 기존의 Hi-C 방식의 scaffold는 chromosome scale inversion, misjoin 등을 만들어서 어려움이 있었지만 이 논문에서 새로운 알고리즘 (split,anchor, order, and orient) Figure1. 을 소개하면서 그 방식을 통하여 scaffold하면 에러를 줄일 수 있다고 말하고 있다. 실제로 only short Illumina reads(67X)로 생산된 human genome에 in situ Hi-C 데이터(6.7X)를 사용해서 scaffolding했을 때 23개의 large chromosome이 전체의 99.5%의 서열을 가지고 있었다. Zika virus의 운반책인 이집트모기의 genome을 같은 방식으로 assembly 하였고 다른 strain의 모기도 Hi-C 데이터를 생산하여 두 종이 150-200million years 전에 분화되었으며 특정 chromosome에서의 rearrangement가 일어나는 것을 확인하였다. Hi-C 데이터를 생산하고 위의 알고리즘을 적용하면 포유동물의 genome을 만드는데 10,000 달러 이하로 만들 수 있을 것이라고 말하고있다.



resource -

Dudchenco O et al., De novo assembly of the Aedes aegypti genome using Hi-C yields chromosome-length scaffolds, Science, 2017

반응형
반응형

ArgParse 모듈 사용하기




if Pkg.installed("ArgParse") == nothing

        println("Pakage 'ArgParse' will be installed...")

        Pkg.add("ArgParse")

end


using ArgParse


ArgParse 모듈은 스크립트의 옵션을 조절하게 해 준다.


프로그램을 만들 때 ArgParse를 사용하면 argument 관리하기가 훨씬 쉽다. 위의 내용을 스크립트 상단에 추가하면 ArgParse가 없으면 설치하고 불러온다.


공식 설명은 http://carlobaldassi.github.io/ArgParse.jl/stable/ 에 있다.


using ArgParse function parse_commandline() s = ArgParseSettings() @add_arg_table s begin "--opt1" help = "an option with an argument" "--opt2", "-o" help = "another option with an argument" arg_type = Int default = 0 "--flag1" help = "an option without argument, i.e. a flag" action = :store_true "arg1" help = "a positional argument" required = true end return parse_args(s) end function main() parsed_args = parse_commandline() println("Parsed args:") for (arg,val) in parsed_args println(" $arg => $val") end end main()



세 가지 조건의 argument를 만들 수 있는데


1. 옵션

2. flag

action = :store_true 

가 들어가며 true or false값으로만 저장된다.

3. 필수

required = true 

이며 반드시 값이 들어가야 한다.


arg1에 넣어준 값은 parsed_args["arg1"] 으로 불러올 수 있다.



반응형
반응형

Synteny Circos plot 그리기.




2017/08/23 - [bioinformatics] - SyMap 설치 및 실행하기

2017/08/15 - [bioinformatics] - Circos plot 그리기.


두 프로그램을 사용하여 synteny circos plot을 그려보고자 한다.



SyMap에서는 


symap결과는 align이 끝난 뒤 SyMAP Queries 로 들어가 받을 수 있는 CSV 파일을 쓴다.


받을 때 반드시 Select columns에 가서 각 assembly의 start와 end를 체크해서 block의 시작과 끝을 다운받는다.


이제 csv 파일을 circos의 link 포맷으로 바꿔야 하는데 link의 포맷은 아래와 같다.


...
hs1 100 200 hs2 250 300
hs1 400 550 hs3 500 750
hs1 600 800 hs4 150 350
...


assembly1 start1 end1 assembly2 start2 end2


의 양식으로 바꾸면 된다. 여기서 assembly1과 assembly2는 당연히 circos의 karyotype을 설정할 때 넣어줬던 이름과 같아야한다.


또한 link의 개수가 25000개를 넘어가면 너무 많다는 경고와 함께 너무 많은 링크는 해석하기 어려울 것이라고 하면서 실행되지 않는다. 


  but the maximum is currently set at [25000]. To increase this number change

  max_links in etc/housekeeping.conf. Keep in mind that drawing that many links

  may create an image that is too busy and uninterpretable.


etc/housekeeping.conf에서 변수 조절 할 수 있으나 별로 추천하지 않는다. 차라리 block의 사이즈에 제한을 두고 link의 개수를 줄이는 것이 좋다.



Circos에서는 configure파일을 조정해줘야 하는데


1. 두 assembly의 karyotype을 모두 불러오기.

2. 위의 파일을 불러오기.

3. color, orientation 조절하기.


등을 모두 설정하면 아래와 같은 그림을 그릴 수 있다.




실제로 위의 그림을 그릴 때 사용한 옵션은 각각


1.


karyotype = circos/circos-0.69-/data/karyotype/assembly1.txt,circos/circos-0.69-3/data/karyotype/assembly2.txt


2.


<links>


<link>

ribbon = no

file          = assembly1_to_assembly2.link

color         = black_a5

radius        = 0.95r

#bezier_radius = 0.1r

thickness     = 1

</link>


</links>


3. 


chromosomes_order = assemblya1,assemblya2,assemblya3,assemblya4,assemblya5,assemblya6,assemblya7,assemblya8,assemblya9,assemblya10,assemblya11,assemblya12,assemblya13,assemblya14,assemblya15,assemblya16,assemblya17,assemblya18,assemblya19,assemblya20,assemblya21,assemblya22,assemblya23,assemblya24,assemblya25,assemblya26,assemblya27,assemblya28,assemblya29,assemblya30,assemblya31,assemblyaX,assemblybX,assemblyb31,assemblyb30,assemblyb29,assemblyb28,assemblyb27,assemblyb26,assemblyb25,assemblyb24,assemblyb23,assemblyb22,assemblyb21,assemblyb20,assemblyb19,assemblyb18,assemblyb17,assemblyb16,assemblyb15,assemblyb14,assemblyb13,assemblyb12,assemblyb11,assemblyb10,assemblyb9,assemblyb8,assemblyb7,assemblyb6,assemblyb5,assemblyb4,assemblyb3,assemblyb2,assemblyb1

chromosomes_reverse = assemblybX,assemblyb31,assemblyb30,assemblyb29,assemblyb28,assemblyb27,assemblyb26,assemblyb25,assemblyb24,assemblyb23,assemblyb22,assemblyb21,assemblyb20,assemblyb19,assemblyb18,assemblyb17,assemblyb16,assemblyb15,assemblyb14,assemblyb13,assemblyb12,assemblyb11,assemblyb10,assemblyb9,assemblyb8,assemblyb7,assemblyb6,assemblyb5,assemblyb4,assemblyb3,assemblyb2,assemblyb1


그리고 input으로 넣는 link파일에서 크로모좀이 같으면 color=크로모좀을 넣고

다르면 color=black을 넣는다.


assemblya8 64927554        64987328        assemblyb8 67051330        67111104        color=chr8

assemblya26        372029  420198  assemblyb4 25320273        25373211        color=black


3번이 조금 헷갈릴 수 있을거 같은데 assembly a와 assembly b를 각각 assembly 이름으로 바꿔놓으면 된다.




반응형

'bioinformatics' 카테고리의 다른 글

Phylip 설치 및 실행하기  (0) 2017.09.18
CAFE v4.0 설치 및 실행하기  (0) 2017.09.11
Arrow/Quiver 설치 및 사용하기  (0) 2017.08.24
SyMap 설치 및 실행하기  (0) 2017.08.23
GMAP 설치 및 실행하기  (0) 2017.08.22
반응형

Nature or Nurture (유전 또는 환경) ? 



Nature or nurture에 대한 이미지 검색결과



태어나면서 부터 가지고 태어난 유전적 요인으로 인한 영향이 클지 아니면 자라면서 받은 주변 환경의 영향이 클지에 대한 토론은 꽤 오래 전부터 하고있었다. 문헌에는 17세기 문학 작품 셰익스피어의 The Tempest에서 발견할 수 있다.

(원문, The Tempest 4.1: a born devil, on whose nature nurture can never stick)


물론 저 때 당시의 유전이란 개념은 제대로 없었겠지만 천성? 쯤으로 생각했었을듯... 큰 의미에서는 유전이랑 다르지 않다고 생각한다.



일반적으로 서로 다른 환경에서 자란 유전적 정보 동일한 일란성 쌍둥이를 찾아서 얼마나 비슷한지를 조사하는 식으로 유전과 환경이 끼치는 영향력을 조사한다. 

근거는 부족한 내용이지만 이미 BC 5세기 부터 Hippocrates가 쌍둥이에 대한 관심을 가지고 있었고 비슷한 질병에 잘 걸린다라는 것을 밝힌 바 있다고 한다. 

현대에 와서는 Sir Francis Galton이라는 사람이 유전과 환경에 대한 연구를 진행하였으나 이 당시에는 일란성 쌍둥이와 이란성 쌍둥이를 구분하지는 못 했다. 


현대에서는 King's college London 이라는 세계 대학 랭킹 25위 안에 드는 대학에 Department of twin research and genetic epidemiology 라는 곳이 쌍둥이에 대한 연구를 많이 하고 있다. 아마도 쌍둥이 연구 기관중에는 가장 큰 것이라고 생각된다. 총 12,000 쌍의 성인 쌍둥이가 등록되어 있으며 2010년 이후로 출판한 논문 수만 500편이 넘어간다고 한다.



일란성 쌍둥이라고 할 지라도 DNA가 100% 일치하는 것은 아니다. 하나의 난자와 정자에서 출발하기 때문에 수정란일 때의 DNA는 동일하지만 성장 과정에서 계속해서 DNA를 복사, 분리하는 과정이 진행되고 이 과정에서 염기 서열에 변이가 일어날 수 있다. 이러한 변이가 일어날 확률이 매우 낮으며 같은 것에서 시작해서 차이가 나는것이 처음붙터 차이가 나는것 보다는 당연히 비슷할 것이고 따라서 무작위로 두 사람을 비교하는 것 보다는 쌍둥이의 DNA가 당연히 훨씬 비슷할 것이다. 

DNA의 염기서열 변화로 인한 차이뿐만 아니라 외부 환경이 epigenetic한 변화를 일으킬 수도 있다. (epigenetic이란 DNA 염기서열 변화는 없지만 다른 요인으로 유전자 발현을 조절하는 것을 말한다. 대표적으로 DNA metylation, histone modification, miRNA expression 등이 해당한다.)



즉 유전이 기본 베이스가 되나 외부 환경 또는 무작위 변수에 의하여 DNA염기 서열 자체가 바뀌거나 전사, 번역에 영향을 주는 변이가 생길 수 있고 그러면 형질 자체가 다르게 발현될 수도 있다는 얘기다. 



재밌는건 관련 문헌 조사를 해보면 유전 또는 환경에 대해서 가장 관심이 많은 분야는 교육과 건강이다. 


교육 부분에서는 지능 지수(IQ)가 얼마나 비슷한지를 본다. 


건강 부분에서는 비만 정도나 특정 질환에 대한 저항성 등을 본다.



하지만 여전히 궁금한건 그래서 둘 중 누가 더 영향을 강하게 끼치느냐? 일 것이다.


정답은 "무엇을 보느냐에 따라 다르다" 이다.



다수의 논문에서 IQ는 어렸을 때는 유전적인 비율이 적다가 성인이 되면서 높아지는 것으로 나타난다...? 이유는 정확히 밝혀지지 않았다. 1994년 Behavior Genetics에 출판된 논문을 보면 이 유전적인 비율은 어떤 특성인지에 따라 또 달라짐. 말하기, 기억력, 등등에서 비율이 다르다고 한다.



2012년 nature 자매지인 Internation Journal of Obesity에 출판된 논문 (J Naukkarinen et al, Causes and consequences of obesity: the contribution of recent twin studies, International Journal of Obesity, 2012) 에서는 비만 정도는 라이프 스타일에 영향을 많이 받을 것이라고 이 전까지 생각해 왔지만 유전적 요인도 크게 작용한다고 말하고 있다.  658명의 일란성 쌍둥이를 25년간 추적했을 때 두 쌍둥이간의 BMI지수가 significant하게 차이나는 쌍둥이는 18쌍 밖에 없었다고 한다. 비슷한 환경에서 자라는 일란성 쌍둥이는 라이프 스타일도 비슷하겠지만 25년동안 추적한다면 독립한 이후에도 비슷하다고 해석할 수 있을 것 같다. but, 어렸을 때 식습관이 비슷하게 형성된다면 독립 이후에도 영향을 줄 것 같다는 생각이 든다.


2011년에 Epigenomics 에서 출판된 논문 (Alegría-Torres JA, Baccarelli A, Bollati V. Epigenetics and lifestyle. Epigenomics. 2011;3(3):267-277. doi:10.2217/epi.11.22.)  에서는 영양, 행동, 스트레스, 육체적 활동, 일하는 습관, 흡연이나 음주 여부등의 생활 습관이 epigenetic한 영향을 끼친다고 말하며 관련 논문을 정리한 바 있다. 




결론은 아직까지 유전이 어느정도, 환경이 어느정도 영향을 미친다고 말 할 단계는 아니지만, 그것이 지능 지수인지, 비만인지, 또는 특정한 질병에 대한 저항성인지에 따라 어떤 것이 더 영향을 크게 미치는지는 대략적으로만 알고있다. 관련 연구가 진행 될 수록 어떠한 행동을 하면 그것이 긍정적으로 또는 부정적으로 작용하는지 알게 될 것이며 (뇌 발달에 유아기 환경이 영향을 크게 미친다는 것은 이미 잘 알려져 있음) 향후 사람들의 행동에 영향을 줄 수 있을 것이라고 생각된다.


 

Reference -


Alegría-Torres JA, Baccarelli A, Bollati V. Epigenetics and lifestyle. Epigenomics. 2011;3(3):267-277. doi:10.2217/epi.11.22.


J Naukkarinen et al, Causes and consequences of obesity: the contribution of recent twin studies, International Journal of Obesity, 2012


반응형

+ Recent posts