您好,登錄后才能下訂單哦!
今天小編給大家分享一下怎么用python的MCScanX分析物種間分共線性的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
1. 安裝
這里可以分兩步,分別是安裝LASTAL和jcvi python包。
LASTAL下載地址: http://last.cbrc.jp/,編譯后將 lastal 和 lastdb 添加到PATH中。
jcvi安裝比較簡單,在命令行直接運行下列命令:
pip install jcvi
2. 數據下載
運行MCscan需要序列以及坐標文件,分別是fasta格式以及BED格式的,例如,可以從Phytozome下載cds的序列文件以及gff文件,再由gff文件生成BED文件。當然JCVI有相應的方法,可以直接下載,省去我們自己下載整理數據的麻煩,具體操作如下:
$ python -m jcvi.apps.fetch phytozome
...
Acoerulea Alyrata Athaliana
Bdistachyon Brapa Cclementina
Cpapaya Creinhardtii Crubella
Csativus Csinensis Csubellipsoidea_C-169
Egrandis Fvesca Gmax
Graimondii Lusitatissimum Mdomestica
Mesculenta Mguttatus Mpusilla_CCMP1545
Mpusilla_RCC299 Mtruncatula Olucimarinus
Osativa Ppatens Ppersica
Ptrichocarpa Pvirgatum Pvulgaris
Rcommunis Sbicolor Sitalica
Slycopersicum Smoellendorffii Stuberosum
Tcacao Thalophila Vcarteri
Vvinifera Zmays early_release
...
$ python -m jcvi.apps.fetch phytozome Vvinifera,Ppersica
...
$ ls
Ppersica_139_cds.fa.gz Ppersica_139_gene.gff3.gz Vvinifera_145_cds.fa.gz Vvinifera_145_gene.gff3.gz
GFF轉BED:
$ 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
如果參考基因組沒有cds的序列文件,可下載染色體序列,根據gff文件提取cds序列。
3. 成對共線性搜索
準備好輸入文件后,就可以進行共線性搜索了。首先要將工作目錄切換到輸入文件所在目錄,然后運行如下命令:
$ python -m jcvi.compara.catalog ortholog grape peach 20:33:42 [base] lastdb peach peach.cds 20:34:13 [base] lastal -u 0 -P 64 -i3G -f BlastTab peach grape.cds >grape.peach.last 20:34:30 [synteny] Assuming --qbed=grape.bed --sbed=peach.bed 20:34:31 [blastfilter] Load BLAST file `grape.peach.last` (total 403868 lines) 20:34:31 [base] Load file `grape.peach.last` 20:34:38 [blastfilter] running the cscore filter (cscore>=0.70) .. 20:34:39 [blastfilter] after filter (294217->31229) .. 20:34:39 [blastfilter] running the local dups filter (tandem_Nmax=10) .. 20:34:39 [blastfilter] after filter (31229->21089) .. ... A total of 30654 (NR:18661) anchors found in 678 clusters. Stats: Min=4 Max=683 N=678 Mean=45.2123893805 SD=80.8407828815 Median=16.0 Sum=30654 NR stats: Min=4 Max=460 N=678 Mean=27.5235988201 SD=48.0461479616 Median=11.0 Sum=18661
運行結束后會得到以下幾個文件
$ ls grape.peach.* grape.peach.lifted.anchors grape.peach.anchors grape.peach.last.filtered grape.peach.last
4. 成對同線性可視化
觀察成對的共線性的最佳可視化方法是使用dotplot,這里只需要一條命令。
$ python -m jcvi.graphics.dotplot grape.peach.anchors
5. 線性可視化
我們還可以使用同樣的共線性輸出文件做不同的可視化圖片。這里需要在準備兩個輸入文件,seqids 文件和 layout 文件。
前者為兩個基因組都包括哪些的染色體,這里最好移除較短的scaffolds,文件格式如下所示:
chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19 scaffold_1,scaffold_2,scaffold_3,scaffold_4,scaffold_5,scaffold_6,scaffold_7,scaffold_8
其中第一行為葡萄所包含的19個染色體,第二行為桃子包含的8個染色體。
后者為畫圖所需的配置文件,格式如下:
# y, xstart, xend, rotation, color, label, va, bed .6, .1, .8, 0, , Grape, top, grape.bed .4, .1, .8, 0, , Peach, top, peach.bed # edges e, 0, 1, grape.peach.anchors.simple
其中前三列指定了軌跡的位置,然后是rotation, color, label, vertical alignment (va), 和 基因組 BED 文件.最后是連線的繪制,信息來自grape.peach.anchors.simple文件。
grape.peach.anchors.simple由以下命令生成:
$ python -m jcvi.compara.synteny screen --minspan=30 --simple grape.peach.anchors grape.peach.anchors.new
然后,我們就可以繪圖了!
$ python -m jcvi.graphics.karyotype seqids layout
6. 共線性結果說明
1.基因組共線性詳細結果文件,過濾掉不可靠的共線性區塊之后的文件:*.anchors.new,第一列為一個 基因組基因ID,第二列為另一個基因組的基因ID文件,即是兩個基因組共線性區域內基因對應關系;
不同的共線性區塊用“###” 隔開
2.基因組共線性簡化結果文件:* anchors.simple;一行為一個共線性區塊,前兩列表示一個基因組中兩個基因組之間的區域,與后兩列(3,4列)另一個基因組中的兩個基因之間的區域存在共線性關系;
第5列物區域跨度,最后一列為: +為正向,-為反向
3.如果要設置顏色,可修改2.中的文件,也就是在需要修改顏色的行頭部加上顏色值,具體格式如下:
注意顏色值為16進制,*隔開; 沒有添加顏色值的行默認灰色
以上就是“怎么用python的MCScanX分析物種間分共線性”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。