美文网首页
无root权限服务器安装部署igv-web与本地化

无root权限服务器安装部署igv-web与本地化

作者: 无话_ | 来源:发表于2022-11-23 17:50 被阅读0次

    想在服务器上查看igv,又嫌弃X11转发太丑陋,igv-web是一个不错的方案,看了几篇帖子,都在说响应很慢。直觉上来说,桌面版和web版响应速度应该是一致的,慢应该是下载大文件的,捣鼓一般后,算是能用了。

    1.下载

    wget https://igv.org/app-archive/igv-webapp.1.12.5.zip
    unzip igv-webapp.1.12.5.zip
    

    2.按配置文件资源下载文件
    (由于我一般只用hg19,因此只将hg19的资源下载)

    less igv-webapp.1.12.5/resources/genomes.json #查看资源配置文件
    
    #索性全部下载有备无患,其实按理来说不同hg19之间也有些不同
    mkdir igv-webapp.1.12.5/resources/down_data  #将自己下载的文件在source下创建一个目录  
    cd -
    wget https://s3.amazonaws.com/igv.broadinstitute.org/genomes/seq/hg19/hg19.fasta
    wget https://s3.amazonaws.com/igv.broadinstitute.org/genomes/seq/hg19/hg19.fasta.fai
    wget https://s3.amazonaws.com/igv.broadinstitute.org/genomes/seq/hg19/cytoBand.txt
    wget https://s3.amazonaws.com/igv.org.genomes/hg19/hg19_alias.tab
    wget https://s3.amazonaws.com/igv.org.genomes/hg19/ncbiRefSeq.sorted.txt.gz
    wget https://s3.amazonaws.com/igv.org.genomes/hg19/ncbiRefSeq.sorted.txt.gz.tbi
    

    4.修改配置文件
    改好的配置文件如下



    需要注意,资源文件的路径是相对于igv-webapp.1.12.5中的index.html的,且在index.html的子目录或同级目录,否则无法找到资源,这个如果熟悉web开发的应该很好理解,我也只是半懂不懂,不多说哈。
    5.开启web服务

    cd igv-webapp.1.12.5
    python3 -m   http.server 9999
    

    这时候,访问服务器地址加端口就能打开web网页,打开速度基本能接受
    比如192.168.120.91:9999
    如果不行,确认下服务器是否开启了此端口,如果你只有一个端口,可以ssh端口转发,这部分可以看我参考的第二篇文章。
    我尝试了下,确实有用,但是试了后发现自己不知道怎么关,windows上关于ssh的文档我也不知在哪,如果有人知道还请赐教。

    ssh  -N -f  -L localhost:9999:localhost:9999  -p 22 tanqiang@192.168.120.91
    
    image.png

    6.数据准备
    查看bam文件,需要导入服务器上的bam与bam.bai,这里也需要注意和index.html的路径关系。
    如果使用mv或者cp,有些太耽误时间,且容易造成风险,总不能拷贝一次跑一下md5sum吧。
    这里我是在linux里使用软连接
    比如:

    mkdir  igv-webapp.1.12.5/link_bam
    ln -s raw_path/raw.bam   igv-webapp.1.12.5/link_bam/igv.bam
    ln -s raw_path/raw.bam.bai   igv-webapp.1.12.5/link_bam/igv.bam.bai
    此时网页上则输入 link_bam/igv.bam 和 link_bam/igv.bam.bai
    

    7.后续
    除了下载资源拖慢igv外,还有可能是igv-web依赖的js文件在外网。可以在浏览器按F12,刷新页面,点击网络,这里可以看到有两个js文件,耗时20多秒,估计是在外网,可以考虑把按照我们的套路,把它下载到本地后,按上面的套路改路径。其他网络资源需要而要完全本地化,其它同理。


    image.png

    8.补充
    写了个小脚本取名叫igv_web_tolink.sh,之后用的时候运行sh igv_web_tolink.sh x.bam x.bai x.vcf ,然后把打印出的软链接输入网页里。
    如果有root权限的应该是有办法直接用绝对路径(极端点index.html直接放根目录),没root我还没有找到啥好办法。另外就是网页输入这步,应该有啥办法直接改配置文件。如有后续我就再开一篇。

    #请将此脚本放于igv-webapp.1.12.5文件夹中
    scriptpath=$(dirname $0) #脚本目录
    for i in "$@"
    do
    tmp=`basename $i`
    ln -s $1 $scriptpath'/link_file/'$tmp 
    echo 'link_file/'$tmp
    done
    cd $scriptpath
    python3 -m   http.server 9999
    

    参考:
    如何轻松打造个人专属的IGV Browser - 简书 (jianshu.com)
    生信 | IGV Web快速搭建(无需root,无需更改配置文件) - 简书 (jianshu.com)
    IGV web 工具部署

    相关文章

      网友评论

          本文标题:无root权限服务器安装部署igv-web与本地化

          本文链接:https://www.haomeiwen.com/subject/ngvzxdtx.html