JCVI(MCscan Python version)使用記錄

文章僅是記錄自己的學習使用患亿,有錯誤請指出岖赋,我立刻改正!

官方說明
https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)
更多說明:
http://www.reibang.com/p/f7971dbf5f85
http://www.reibang.com/p/d25fb05ada97
http://www.reibang.com/p/6f1a191a0c3a
https://zhuanlan.zhihu.com/p/353490154
https://www.omicsclass.com/article/481
https://github.com/tanghaibao/jcvi/issues/387

  • 關于JCVI的使用,唐老師在github上已經有很詳細的介紹,網絡上也有很多教程栏渺。
  • 這篇文章的主要是記錄自己在安裝和使用JCVI中產生的問題。

一锐涯、JCVI的安裝

  • JCVI依賴的東西非常多磕诊,不管是直接編譯還是用conda都需要額外安裝別的軟件,建議還是用conda安裝纹腌。
  • 我自己是在ubuntu的虛擬機上安裝成功了霎终,因此后面的演示也都是在虛擬機上。
conda create -y -c bioconda -n JCVI jcvi
conda activate JCVI
conda install -c bioconda bedtools
conda install seqkit emboss
conda install last

(一)Latex安裝

  • 我在安裝Latex過程中遇到了各種問題升薯,后來還是主要參考了http://www.reibang.com/p/6f1a191a0c3a
  • 用yum安裝Latex后莱褒,我在使用JCVI過程中發(fā)現字體缺少類型報錯,如果只是運行- JCVI查看共線性結果的話涎劈,這個報錯是沒什么影響的广凸。但如果是要可視化的話,還需要額外下載字體文件责语。用非root安裝的Latex沒有報錯炮障。

1目派、有root權限

# ubuntu
sudo apt-get install -y texlive texlive-latex-extra texlive-latex-recommended
# centos
sudo yum install -y  texlive texlive-latex texlive-xetex texlive-collection-latexrecommended

2坤候、無root權限

詳見http://www.reibang.com/p/a5e9ca5886a4

二、JCVI的運行

  • 從網上下載了Arabidopsis_halleri和Arabidopsis_lyrata兩種擬南芥的cdna序列和gff3文件
  • fig1.png

(一)GFF3轉BED文件

python -m jcvi.formats.gff bed --type=mRNA --key=transcript_id \
Arabidopsis_halleri.Ahal2.2.44.gff3 > halleri_all.bed
python -m jcvi.formats.gff bed --type=mRNA --key=transcript_id \
Arabidopsis_lyrata.v.1.0.44.gff3 > lyrata_all.bed
#根據cDNA文件的序列名以及類型調整type和key
#轉換完成的bed文件和fasta文件中的序列名要保持一致

(二)去重復

python -m jcvi.formats.bed uniq halleri_all.bed
python -m jcvi.formats.bed uniq lyrata_all.bed
#僅保留最長且唯一序列

(三)提取CDS序列

seqkit grep -f <(cut -f 4 halleri_all.uniq.bed ) \
Arabidopsis_halleri.Ahal2.2.cdna.all.fa | seqkit seq -i > halleri.cds
seqkit grep -f <(cut -f 4 lyrata_all.uniq.bed ) \
Arabidopsis_lyrata.v.1.0.cdna.all.fa | seqkit seq -i > lyrata.cds
  • 這樣就獲得了每個物種唯一的cds和對應的bed文件
  • fig2.png

(四)提取共線信息

  • 這里首先要把之前獲得的四個文件的名字改成以下形式企蹭,使JCVI能夠識別
  • fig3.png
python -m jcvi.compara.catalog ortholog --no_strip_names --cscore=.99 halleri lyrata
#cscore=.99:這個選項能夠有效地篩選出best hit白筹,建議加上
#C分數截止點為0.99智末,有效過濾LAST命中,一直到包含互為最佳命中(RBH)徒河。得到含有1:1基因對的直系同源區(qū)域
#1:1的基因對不是絕對的
#no_strip_names:是必加的參數
#dbtype:序列類型nucl還是prot
  • 主要產生四個結果文件以及一個PDF文件的點圖

  • fig4.png

    1系馆、.last文件是原始的 LAST 輸出
    2、.last.filtered是過濾的 LAST 輸出
    3顽照、.anchors是種子同線性塊(高質量)
    4由蘑、.lifted.anchors招募額外的錨來形成最終的同線性塊

  • fig5.官方文檔的配圖.png

(五)測試同線性模式是否確實是1:1

python -m jcvi.compara.synteny depth --histogram halleri.lyrata.anchors
  • fig6.png

三、染色體水平的局部同線性圖繪制

進行這一步需要準備三個文件

(一)生成一個.simple比文件更簡潔的.anchors文件

python -m jcvi.compara.synteny screen --minspan=30 --simple \
halleri.lyrata.anchors \
halleri.lyrata.anchors.new
#minspan:是規(guī)定syntenic region的總長度(i.e. 基因個數)最低閾值代兵,默認是0
#minsize:是規(guī)定syntenic region的anchors總個數(i.e.有共線性關系的基因對數目)最低閾值尼酿,默認是0

(二)seqids文件,記錄需要展示的染色體

  • 這里由于我的示例數據中有一個不是染色體水平植影,因此我只選取了幾條contigs

FJVB01000001.1,FJVB01000002.1,FJVB01000003.1,FJVB01000004.1,FJVB01000005.1,FJVB01000006.1,FJVB01000007.1,FJVB01000008.1,FJVB01000009.1,FJVB01000010.1,FJVB01000015.1
1,2,3,4,5,6,7,8

(三)layout文件裳擎,記錄繪圖的各種信息

  • y, xstart, xend:兩個物種染色體在x軸或y軸的位置如y軸的0.6,0.4思币,如果是0.5鹿响,0.5兩個物種的染色體就會重疊
  • rotation:旋轉角度,0代表水平
y, xstart, xend, rotation, color, label, va,  bed
 .6,     .1,    .8,       0,      , halleri, top, halleri.bed
 .4,     .1,    .8,       0,      , lyrata, top, lyrata.bed
edges
e, 0, 1, halleri.lyrata.anchors.simple
  • 然后就是運行繪圖模塊
python -m jcvi.graphics.karyotype seqid.txt layout.txt
  • fig7.png

四谷饿、基因水平的局部同線性圖

(一)計算基因級匹配的布局

python -m jcvi.compara.synteny mcscan \
halleri.bed \
halleri.lyrata.lifted.anchors \
--iter=1 -o halleri.lyrata.blocks
#iter=1表示我們正在提取與halleri每個區(qū)匹配的對應lyrata的唯一最佳block
#查看生成的.blocks文件惶我,它的第一列為halleri的區(qū)塊,第二為lyrata區(qū)塊
#如果選項--iter設置為 2博投,則halleri每個區(qū)將匹配對應lyrata的2個block指孤,依此類推

(二)合并bed文件

cat halleri.bed lyrata.bed > halleri_lyrata.bed

(三)選取可視化區(qū)域

head -150 halleri.lyrata.blocks > blocks

(四)準備layout2文件

# x,   y, rotation,   ha,     va,   color, ratio,  label
0.5, 0.6,        0, leftalign, center,       m,      1,    halleri
0.5, 0.4,      0, rightalign, center, #fc8d62,  1,    lyrata
# edges
e, 0, 1

(五)運行

python -m jcvi.graphics.synteny \
--glyphcolor=orientation \
--format=png --glyphstyle=box  --shadestyle=line \
--font=Helvetica --style=darkgrid --diverge=RdYlBu \
--figsize=8x7 \
blocks \
halleri_lyrata.bed \
layout2.txt
  • fig8.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贬堵,隨后出現的幾起案子恃轩,更是在濱河造成了極大的恐慌,老刑警劉巖黎做,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叉跛,死亡現場離奇詭異,居然都是意外死亡蒸殿,警方通過查閱死者的電腦和手機筷厘,發(fā)現死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宏所,“玉大人酥艳,你說我怎么就攤上這事∨乐瑁” “怎么了充石?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長霞玄。 經常有香客問我骤铃,道長拉岁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任惰爬,我火速辦了婚禮喊暖,結果婚禮上,老公的妹妹穿的比我還像新娘撕瞧。我一直安慰自己陵叽,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布丛版。 她就那樣靜靜地躺著咨跌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硼婿。 梳的紋絲不亂的頭發(fā)上锌半,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音寇漫,去河邊找鬼刊殉。 笑死,一個胖子當著我的面吹牛州胳,可吹牛的內容都是我干的记焊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼栓撞,長吁一口氣:“原來是場噩夢啊……” “哼遍膜!你這毒婦竟也來了?” 一聲冷哼從身側響起瓤湘,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瓢颅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弛说,有當地人在樹林里發(fā)現了一具尸體挽懦,經...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年木人,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片醒第。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡渔嚷,死狀恐怖,靈堂內的尸體忽然破棺而出稠曼,到底是詐尸還是另有隱情形病,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站窒朋,受9級特大地震影響搀罢,放射性物質發(fā)生泄漏蝗岖。R本人自食惡果不足惜侥猩,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抵赢。 院中可真熱鬧欺劳,春花似錦、人聲如沸铅鲤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邢享。三九已至鹏往,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骇塘,已是汗流浹背伊履。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留款违,地道東北人唐瀑。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像插爹,于是被迫代替她去往敵國和親哄辣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355