生信 | IGV Web快速搭建(无需root,无需更改配置文件)

最近需要将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 [email protected]
#这时候输入yes,DOS让输入密码,这个密码是我们登录liunx账户的密码

四、 打开浏览器,地址栏输入以下内容即可访问IGV Web

localhost:7777

五、如何实时导入服务器上的bam/bw或其他文件???

  • 这其实才是大家关心的,也是我关心的!我们不需要再麻烦的配置文件了,因为我们可以通过左上角的【Tracks】==》》【URL】直接导入服务器中的文件

你可能感兴趣的:(生信 | IGV Web快速搭建(无需root,无需更改配置文件))