最近在幫忙做一個大文章,用到這個神奇的軟件胆建,做個踩坑記錄烤低。
軟件是由大拿唐海寶老師寫的。
ps: 見過唐老師本人笆载,高高帥帥的扑馁,說話又好聽,要被迷倒了(/ω\)
咳咳凉驻,言歸正傳腻要。
參考教程:
https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)
以上兩個鏈接,一個是官網(wǎng)wiki一個是我華華鐘師姐的使用筆記涝登,大家可以參考一下雄家。
安裝:
講真,論有管理員權(quán)限的好處胀滚!
sudo apt install last-align
pip install jcvi
沒有權(quán)限的旁友請自行通過wiki中的鏈接進行安裝趟济。記得把lastal
和lastdb
還有scip
加入你的環(huán)境變量啊~
還有就是jcvi是用python2寫的,記得用python2.7去運行咽笼,包括pip也調(diào)用python2的pip顷编。記得用which查看一下python和pip的路徑。
因為我的環(huán)境默認是用python3剑刑,此時我就想到要不用conda來創(chuàng)建一個python2的環(huán)境好了媳纬,這樣比較方便管理∈┨停回頭一想钮惠,萬一jcvi可以用conda一鍵安裝呢。
于是就用https://bioconda.github.io/recipes
搜了一下conda的倉庫七芭,發(fā)現(xiàn)居然conda倉庫里真的有jcvi素挽!conda牛批!haibaotang牛批抖苦!
conda create -n jcvi jcvi
上面這條是說創(chuàng)建一個叫jcvi的軟件并安裝jcvi。
安裝好軟件并激活進入jcvi的環(huán)境之后就可以按照wiki的指示用示例物種文件試個水米死。
python -m jcvi.apps.fetch phytozome
jcvi可以直接從phytozome上下載物種的cds和gff3文件锌历,可以說是很方便了。不過是用的v9.0版本的phytozome了峦筒。究西。有點古老。
示例里是下載的葡萄和梨物喷,我下面就貼一下文件準備的每一步的流程卤材,就不詳細寫了遮斥。
#下載葡萄和梨的cds&gff3
python -m jcvi.apps.fetch phytozome Vvinifera,Ppersica
#將gff壓縮文件直接轉(zhuǎn)換成bed格式(解不解壓結(jié)果都一樣。根據(jù)物種的不同扇丛,有的時候type可以選擇gene)
python -m jcvi.formats.gff bed --type=mRNA --key=Name Vvinifera_145_gene.gff3.gz -o grape.bed
python -m jcvi.formats.gff bed --type=mRNA --key=Name Ppersica_139_gene.gff3.gz -o peach.bed
#將id行的描述信息刪除术吗。也可手動用vim進行替換。
python -m jcvi.formats.fasta format --sep="|" Vvinifera_145_cds.fa.gz grape.cds
python -m jcvi.formats.fasta format --sep="|" Ppersica_139_cds.fa.gz peach.cds
結(jié)果查看:
$ ls *.???
grape.cds peach.cds grape.bed peach.bed
ps: *
是代表匹配任意個數(shù)的任意字符帆精,?
是代表匹配一個任意字符较屿。
好了,經(jīng)過這幾步的準備卓练,可以開始做Pairwise synteny search了隘蝎。
$ python -m jcvi.compara.catalog ortholog grape peach
這一步,如果是用的pip安裝很有可能會報錯襟企,雖然好像conda安裝也會有點問題嘱么。
- 報錯一:缺少numpy模塊
一開始也很懵,咋就缺模塊了呢顽悼。行叭曼振,你說缺就缺,安裝就完事兒了表蝙。
pip install numpy
- 報錯二:缺少scipy模塊
報錯信息如下:
ImportError: No module named scipy.spatial
行叭拴测,如法炮制。
- 報錯三: 找不到叫kpsewhich的文件或者目錄
[dviread] find_tex_file(phvr7t.vf): ['kpsewhich', u'phvr7t.vf']
No such file or directory called 'kpsewhich'
大概是這么一句話府蛇,已經(jīng)找不到原來的報錯信息了集索。我特意去查了這個找不到的kpsewhich
是個啥。用apt汇跨,不行务荆,找不到這個包;用conda搜穷遂,不行函匕,沒有這個東西,用pip安裝蚪黑,也沒有盅惜。。沒辦法走投無路只能去看mcsan的issue了忌穿。翻到issue39找到了想要的東西:這玩意抒寂。。好像是因為字體找不到才報錯的掠剑。屈芜。?這什么鬼啊。井佑。才注意到剛才那句報錯信息的上面是:
12:15:02 [texmanager] serif font is not compatible with usetex.
12:15:02 [texmanager] serif font is not compatible with usetex.
12:15:02 [texmanager] family: serif, font: Computer Modern Roman, info: ('cmr', '')
12:15:02 [texmanager] family: sans-serif, font: Helvetica, info: ('phv', '\\usepackage{helvet}')
12:15:02 [texmanager] cursive font is not compatible with usetex.
12:15:02 [texmanager] cursive font is not compatible with usetex.
12:15:02 [texmanager] family: cursive, font: Zapf Chancery, info: ('pzc', '\\usepackage{chancery}')
12:15:02 [texmanager] monospace font is not compatible with usetex.
12:15:02 [texmanager] monospace font is not compatible with usetex.
12:15:02 [texmanager] family: monospace, font: Computer Modern Typewriter, info: ('cmtt', '')
大意是草書字體與usetex不兼容云云属铁。。還有這種操作躬翁?焦蘑?
解決這個問題的辦法是:
sudo apt-get install -y texlive texlive-latex-extra texlive-latex-recommended
沒有管理員權(quán)限的參考下面的命令:
$ docker pull tanghaibao/jcvi
$ docker run -it --rm -v `pwd`:/w -w /w tanghaibao/jcvi python -m jcvi.graphics.dotplot Ath.Aly.anchors
至此所有的報錯都解決了,后面就按照wiki操作就可以了姆另。偷個懶就不寫了喇肋。
這是我用的layout
# y, xstart, xend, rotation, color, label, va, bed
.4, .2, .9, 0, , waterlily, top, nym.bed
.2, .2, .9, 0, , shuilian, botton, nym.bed
# edges
e, 0, 1, nym.nym.anchors.simple
我發(fā)現(xiàn)haibaotang給的layout有點bug。如果xstart設置為.1
的話你設置的label只能顯示半個迹辐。所以調(diào)成了.2
蝶防;這里的y值我的理解是縱向的位置,如果你把上下兩個值填一樣的(比如都是.4
)上下兩條會重疊在一起明吩;xend不能調(diào)比.9
大的值间学,否則會變得特別特別小,變成面條印荔;
下面的edges不能瞎改低葫,0和1的意思是把第一個和第二個連線,如果有三個物種一起做共線性的話仍律,下面這行可以寫成
# edges
e, 0, 1, file1.file2.anchors.simple
e, 1, 2, file2.file3.anchors.simple
原文:
Section # edges says that we should connect track 0 (grape) with 1 (peach), track 1 (peach) with 2 (cacao).
如果要強調(diào)顏色的話嘿悬,編輯xx.xx.anchors.simple
這個文件,在需要強調(diào)的block前面添加上g*
或者r*
g=green r=red b=blue
……
我也不知道一共有多少種顏色可以用水泉,反正可以搞得花花綠綠的特別高級
放一張半成品圖
大概就是這樣啦有問題的歡迎留言討論