MCScanX使用小記

一篇不知道拖了多久的筆記……欠下的債早晚還是要還的……

0.軟件下載及安裝

官網(wǎng):

http://chibba.pgml.uga.edu/mcscan2/

參考教程:
其實之前已經(jīng)有兩位前輩寫過教程了的,我這只是再給需要的朋友舉個例子打個樣。詳情請戳下面兩個鏈接

http://blog.biochen.com/archives/878

http://www.itdecent.cn/p/740cb9eccf2b

下載軟件:

wget http://chibba.pgml.uga.edu/mcscan2/MCScanX.zip

解壓:

unzip MCScanX.zip

cd到MCScanX后,按照

http://www.genek.tv/article/45

介紹的方法,給

  • msa.h

  • dissect_multiple_alignment.h

  • detect_collinear_tandem_arrays.h

這三個文件前面添加上#include <unistd.h>

即,用vim將文件打開后在開頭加上上述的參數(shù)段。這個錯誤的原因是,MCScanX 不支持64位系統(tǒng)。
然后make一下就安裝好了

1.文件準備

從TAIR上下載TAIR10的pep和gff3數(shù)據(jù),要先用notepad++的正則替換功能(vim的批量替換如果會用的話也是可以的)將蛋白質(zhì)的基因ID后面的注釋信息給刪掉,否則會影響后續(xù)的工作。接下來處理gff3文件。
先看一眼原始的數(shù)據(jù)長啥樣:


TAIR上下載的擬南芥的gff3數(shù)據(jù)

我們需要的是第1、4、5列和第9列的ID部分
用awk、grep和vim的全局替換功能可以得到所需要的簡化版gff3文件:

 cat TAIR10.gff3 |awk '/gene/ {print $1  "\t" $3 "\t"  $4 "\t" $5 "\t" $9 }'> tmp.gff3
$3是用來標記用的,我們只取含有g(shù)ene的列
得到的結(jié)果

但是會有一些問題,比如:


搜索gene時的副產(chǎn)物

在搜索gene的時候只要包含gene的詞就會被檢索到,于是有以下三個混進來的:

  • pseudogene

  • transposable_element_gene

  • mRNA_TE_gene
    于是我就:

grep -v 'mRNA_TE_gene' tmp2.gff3 > tmp3.gff3
grep -v 'pseudogene' tmp3.gff3 > tmp4.gff3 
grep -v 'transposable_element_gene' tmp4.gff3 > tmp5.gff3

由于當時學(xué)藝不精比較菜就只能先暫時這樣用一下了……


就是!又不是不能用

現(xiàn)在想想好像在上一步awk的時候可以:

 cat TAIR10.gff3 |awk '/^gene/ {print $2 "\t" $0}' > tmp.gff3

加上一個“^”表示以gene開頭,應(yīng)該就可以免去上面那繁瑣的幾步了,最后生成的時候再倒一下回來就好了。
可以用

grep -v "^gene" tmp3.gff3

來檢測是否還包含有非gene的行。
經(jīng)過一系列的awk操作之后獲得最終的結(jié)果:


AT.gff3

另一個物種如法炮制即可。
updates:也可以這么寫,三步搞定:

awk '$3 == "gene" {print $1 "\t" $3 "\t" $4 "\t" $5 "\t" $9}' TAIR10.gff3 > new.gff3
用vim全局替換處理ID列的冗余信息
用awk將信息位置調(diào)換正確

2.建庫

makeblastdb -in AT.pep -dbtype prot -parse_seqids -out ATdb

因為我需要做的是maca對擬南芥的共線性比較,所以只需要對擬南芥建庫即可。(如果需要物種內(nèi)也進行共線性比較的話這里需要把兩個物種的蛋白質(zhì)文件cat到一起來建庫)

3.比對

nohup blastp -query maca.pep -db ATdb -out AT_maca.blast -evalue 1e-10 -num_threads 30 -outfmt 6 -num_alignments 5 &

參數(shù)稍微解釋一下。

-query 被比對的物種的蛋白質(zhì)文件
-db 上一步建的庫
-out 輸出結(jié)果
-evalue 設(shè)置輸出結(jié)果的e-value值,值越小相似度越高。
-num_threads 比對所用的線程數(shù)
-outfmt 輸出的格式
-num_alignments 輸出比對上的序列的最大值條目數(shù)

這一步還是要點時間的。記得掛nohup。

4.運行MCScanX

將之前的兩個物種的gff3文件cat成一個文件后命名為AT_maca.gff
將上一步生成的AT_maca.blast和AT_maca.gff放到新建的AT_maca文件夾內(nèi)

MCScanX ./AT_maca

之后就會生成一個叫AT_maca.collinearity的文件和一個AT_maca.html文件夾。


AT_maca.collinearity

AT_maca.html里面是這樣滴:


AT和maca的對應(yīng)關(guān)系

5.下游分析

java circle_plotter -g AT_maca.gff -s AT_maca.collinearity -c circle.ctl -o AT_maca_circle.png

這一步需要修改修改circle.ctl文件


ctl文件

只要把你希望畫出來的序列的ID給寫進去就好了
可以畫dot圖,bar圖和circle圖,個人覺得circle圖最好看了~


結(jié)果展示

大概就是這樣了。如果有什么錯誤的地方歡迎討論指出喲。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容