MCscan踩坑记录

最近在帮忙做一个大文章,用到这个神奇的软件,做个踩坑记录。

软件是由大拿唐海宝老师写的。
ps: 见过唐老师本人,高高帅帅的,说话又好听,要被迷倒了(/ω\)

咳咳,言归正传。
参考教程:

https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)

https://www.jianshu.com/p/39448b970287?utm_source=desktop&utm_medium=timeline&tdsourcetag=s_pctim_aiomsg

以上两个链接,一个是官网wiki一个是我华华钟师姐的使用笔记,大家可以参考一下。

安装:

讲真,论有管理员权限的好处!

sudo apt install last-align
pip install jcvi

没有权限的旁友请自行通过wiki中的链接进行安装。记得把lastallastdb还有scip加入你的环境变量啊~
还有就是jcvi是用python2写的,记得用python2.7去运行,包括pip也调用python2的pip。记得用which查看一下python和pip的路径。
因为我的环境默认是用python3,此时我就想到要不用conda来创建一个python2的环境好了,这样比较方便管理。回头一想,万一jcvi可以用conda一键安装呢。

于是就用https://bioconda.github.io/recipes搜了一下conda的仓库,发现居然conda仓库里真的有jcvi!conda牛批!haibaotang牛批!

conda create -n jcvi jcvi

上面这条是说创建一个叫jcvi的软件并安装jcvi。
安装好软件并激活进入jcvi的环境之后就可以按照wiki的指示用示例物种文件试个水。

python -m jcvi.apps.fetch phytozome

jcvi可以直接从phytozome上下载物种的cds和gff3文件,可以说是很方便了。不过是用的v9.0版本的phytozome了。。有点古老。

phytozome v9.0

示例里是下载的葡萄和梨,我下面就贴一下文件准备的每一步的流程,就不详细写了。

#下载葡萄和梨的cds&gff3
python -m jcvi.apps.fetch phytozome Vvinifera,Ppersica

#将gff压缩文件直接转换成bed格式(解不解压结果都一样。根据物种的不同,有的时候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

结果查看:

$ ls *.???
grape.cds  peach.cds  grape.bed  peach.bed

ps: *是代表匹配任意个数的任意字符,?是代表匹配一个任意字符。

好了,经过这几步的准备,可以开始做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'

大概是这么一句话,已经找不到原来的报错信息了。我特意去查了这个找不到的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

没有管理员权限的参考下面的命令:

$ 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

我发现haibaotang给的layout有点bug。如果xstart设置为.1的话你设置的label只能显示半个。所以调成了.2;这里的y值我的理解是纵向的位置,如果你把上下两个值填一样的(比如都是.4)上下两条会重叠在一起;xend不能调比.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).

如果要强调颜色的话,编辑xx.xx.anchors.simple这个文件,在需要强调的block前面添加上g*或者r*
g=green r=red b=blue
……
我也不知道一共有多少种颜色可以用,反正可以搞得花花绿绿的特别高级

放一张半成品图


还挺好看的!

大概就是这样啦有问题的欢迎留言讨论

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容