最近需要将ATAC-Seq生成的bw导入IGV查看peak的分布情况,但是一个个的将bw文件从服务器上下载到本地再传到IGV里面太麻烦了,偶然间就看到了IGV官网上有一个叫做【igv.js】的东西,这一下让我想到了他可能和web服务多少有点关系,因此经过我的探索,成功将igv搭建到了服务器上面,并且无需root,无需更改配置文件。
主要参考两位大佬的文章:
【xuzhougeng】:【一个基于igv.js实现的python脚本,实现简单的网页版IGV】这篇文章实属厉害,能将igv转换为自己的东西,想必是对igv-webapp了解的比较透彻,我测试了他的igv_web.py脚本运行顺利,因此大家可以一试,但我想大概率会报错,可以和我简信,我告诉你如何解决,这里就不展开了
【Davey1220】:【如何轻松打造个人专属的IGV Browser】这篇文章可谓是一步一个脚印的搭建起来了web服务,不过需要root权限,主要就是Apache需要,igv-webapp倒是不需要。但还是话说回来了,一个学生哪里来的root权限?因此适用性较窄
效果预览:
我们最后搭建出来的和官方的一模一样,这是官方链接可以点进去看看:https://igv.org/app/
废话结束,正题开始
一、下载 igv-webapp.1.5.5.zip
- 官网:https://igv.org/app-archive/,不要再去github/gitee上克隆源码了!!!
wget https://igv.org/app-archive/igv-webapp.1.5.5.zip
unzip igv-webapp.1.5.5.zip
cd igv-webapp.1.5.5/resources
mkdir data
cd ..
二、使用python调用Web服务(无需root)
- 这真是我发现的宝藏功能,感兴趣的小伙伴可以去了解一下【SimpleHTTPServer】
#以下命令二选一
python3 -m http.server 7777
# python2 -m SimpleHTTPServer 7777
7777
是端口号,因此在冲突的情况下会报错,报错就换其他的端口,比如说8888,9999,11111
等等
三、在windows下映射服务器端口
- 这也是绝技,参考我的这篇文章【生信 | Linux安装jupyter notebook】
- 在windows下打开DOS,输入:
ssh -N -f -L localhost:7777:localhost:7777 -p 端口号 username@远程地址
#locahost:7777是指本地地址,localhost:7777是指远程地址,其中7777是在linux我们为igv-webapp开启的端口
#-p 端口号 username@远程地址是什么后面的看下面截图
#例如:
ssh -N -f -L localhost:7777:localhost:7777-p 22 yuanf@114.212.169.49
#这时候输入yes,DOS让输入密码,这个密码是我们登录liunx账户的密码
四、 打开浏览器,地址栏输入以下内容即可访问IGV Web
localhost:7777
五、如何实时导入服务器上的bam/bw或其他文件???
- 这其实才是大家关心的,也是我关心的!我们不需要再麻烦的配置文件了,因为我们可以通过左上角的【Tracks】==》》【URL】直接导入服务器中的文件
网友评论