生物信息-McScan(Python-jcvi)共線性畫圖

比較基因組學中,共線性的分析的圖無疑是最漂亮的。python

共線性分析能夠很好地解釋進化關係和多倍化事件。git

本文主要介紹的是唐老師的Python版McScan(jcvi工具包),這個包很強大,可是其功能在官網的說明並不詳細,在衆人的博客中也比較零散。github

我剛使用這個包的時候(2017年)還很難安裝,須要預裝各類依賴,不過如今的同窗們很幸福了,能夠直接用pip一鍵安裝了。shell

軟件包連接:https://github.com/tanghaibao/jcvi微信

安裝過程很簡單:工具

pip install jcvi
pip install git+git://github.com/tanghaibao/jcvi.git

若是安裝不成功,再執行一次上述命令便可。
python 用conda安裝便可。
官方配圖以下:

 

 鄙人拙做以下:測試

 


本文其實並無想用常規的方法告訴同窗們怎麼用,我只是想告訴同窗們一鍵生成最終結果的辦法:

1. 兩兩物種之間的共線性分析和畫圖:
諸君只須要準備好下載好的兩個須要比對的基因組序列文件和註釋文件(species.gff),進行格式化:
#下載基因組相關數據
get-genome.pl
#格式化基因組序列文件
format_fa.pl
#格式化基因組註釋文件
format_gff.pl
#共線性畫圖
perl synteny-jcvi.shell.pl species1 species2
#統計共線塊的分佈狀況
stat_block.pl

2. 多物種基因組序列比對,保守序列/區域畫圖(準備好lastz軟件,不須要準備註釋文件)
# 得到物種兩兩比對結果
lastz-axt.sh reference species
# 得到多序列比對結果
roast tree *sing.maf roast.maf
# 得到各物種與reference的比對矩陣

cat roast.maf| awk 'BEGIN {OFS = "\t"} ; {if ($1~/a/){m++}}{if ($5 == "+") print $2, $3, $3 + $4, $2"-common_"m"\t0\t"$5; else print $2, $6 - $3 - $4, $6 - $3, $2"-common_"m"\t0\t"$5}' | grep -P "^\S" | grep -v score > mostcons.bed網站

grep Whear_chinese mostcons.bed | awk '{if ($3-$2 >= 2000){print }}' | perl -ne 'print "$1\n" if /(common_\d+)/' > Whear_chinese.2k.id編碼

rm mostcons.bed.2kspa

for i in `cat Whear_chinese.2k.id`;do grep -P "$i\t" mostcons.bed >> mostcons.bed.2k  ;done

for i in `cut -f 1 mostcons.bed.2k | sort | uniq`;do grep $i mostcons.bed.2k > $i.bed ; done

sortBed -I mostcons.bed.2k > mostcons.bed.2k.sort

# 生成配置文件

perl anch.pl mostcons.bed.2k.sort

# 畫多序列共線性圖(以下,能夠直觀看到倒位,缺失等重要信息,圖中註釋信息位置都可以進行調整)
python -m jcvi.graphics anchors seqids layout
3. 多物種基因共線性圖(準備好blastp軟件,須要gff註釋文件)
# blastp比對
# 獲取各物種與reference的RBH比對矩陣
# 生成配置文件(anchors文件由RBH矩陣替換)
perl anch.pl mostcons.bed.2k.sort
# 畫圖
python -m jcvi.graphics anchors seqids layout
本操做流程節約了各類配置編輯和試錯的時間和精力,增長了無註釋文件或者非編碼區(全基因組序列,而非僅基因區)的共線性分析。注意事項:1. 雖然能夠conda一鍵安裝python,pip一鍵安裝jcvi,可是若是有依賴在嘗試兩次安裝jcvi後依然沒法自動安裝,請手動安裝。2. 注意全部文件在第一步的時候進行嚴格地格式化,請文件中不要出現特殊字符,儘可能只有數據/字母/下劃線(原始文件只有兩個,基因組序列文件和註釋的gff文件)。3. 若是要添加顏色,請在矩陣中加上註釋(紅色:r*;黃色:y*)*. 有任何BUG,請及時與管理員聯繫。腳本將陸續公佈於網站cospure.cn和github中。腳本的寫做和解讀將陸續在微信公衆號中進行講解。本博客主要用於文章和軟件的前期撰寫和測試,後期整理的詳細版請關注微信公衆號swxxfxxx。以上,abysw
相關文章
相關標籤/搜索