打开 igv java_必备可视化Integrative Genomic Viewer(IGV)

你会用到的网站:

写在前面:

之前mac不小心升级了一下java,然后igv就不能用了,要写教程必须降级java首先,看官方说明,需要安装Java -8,9以上版本不支持。我的mac不知道什么时候更新到了java 10,按说可以向下兼容,但是事与愿违,igv不能正常使用了。

需要降级Java,mac用户可以直接参考,windows可以试下直接下载安装IGV:先删除原来的javaterminal打开终端,复制粘贴一下三条命令:sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane

sudo rm -fr ~/Library/Application\ Support/Java⚠️:不要通过/usr/bin 删除 Java 工具来卸载 Java。此目录是系统软件的一部分,下次对操作系统执行更新时,Apple 会重置所有更改。

finder中进入 /Library/Java/JavaVirtualMachines,然后删除之前的jdk.版本号

【Windows用户下载,解压后,点击igv.bat文件即可启动;如果启动失败,用记事本打开并编辑igv.bat文件,在文件的最后新起一行输入pause,保存后,再尝试打开,就可以在Windows下的命令行界面(cmd命令提示符)看到错误信息,再根据信息提示去解决问题;不过一般问题不大】

151002639_1_20190101043131138

IGV安装

正文开始:

好啦,问题解决啦,开始正式IGV介绍!

什么是IGV

它是一款本地的探索基因组数据的可视化浏览器,有多个系统版本,支持多种不同类型的输入格式,包括芯片测序、二代测序、基因组注释文件等。推荐使用BAM与SAM格式,主要格式见下表数据来源文件格式序列比对SAM/BAM

显示覆盖率TDF

拷贝数SNP、CN

基因表达GCT、RES

基因注释GFF3/GTF、BED

突变数据MUT

追踪参考基因组覆盖度、测序深度(UCSC)WIG、BW

一睹IGV

每次打开会自动加载hg19.fa文件,也就是人类基因组,一会进入主界面

151002639_2_20190101043131575

主界面

自己构建基因组信息

这里我会举一个昆虫中一种——棉铃虫,这个基因组是17年2月更新在NCBI伤的,属于小众物种,IGV并没有收录。正好拿来练手,当然如果你研究的领域也有基因组被测出来,也可以试一试【注意:在提交基因组文件到IGV之前,要先构建索引】

这些工作都可以在本地进行,只需要打开你本地的git_bash或者putty/xshell或者terminal,解压缩基因组文件=》下载samtools(推荐用conda管理)=>构建索引samtools faidx genome.fasta=>IGV中 输入fasta文件路径=》提供注释文件(可以是组装基因组预测的基因注释文件,也可以是拼接转录组用的gtf文件)=〉其他选项可以忽略=》点击OK推弹出一个框让你输入存储路径

151002639_3_2019010104313275

自定义基因组

查看注释文件这里以人类基因组注释文件为例,下载gtf到电脑

下载完不要急着导入,需要先构建索引

151002639_4_20190101043132607

导入注释文件

然后会生成gff3.idx或者gtf.idx文件,说明构建了索引,接着导入File -> Load from file,选择sorted的注释文件

151002639_5_20190101043133138

查找基因

查看bam文件

我这里准备的bam文件大小是2.8G,是由人类转录组测序数据得到的,准备的参考基因组是hg19,注释文件是gencode.v28lift37.annotation.sorted.gff3bam文件在导入前,要先使用samtools进行sort和index,samtools sort test.bam test.sort``samtools index test.sort.bam,生成一个后缀为“.fai”的文件,它根据文件名自动和.bam关联, 另外这两个文件要在一个文件夹下,最后将bam导入IGV中

载入bam后,默认会出现两个track(翻译的话,可以理解为不同的轨道,显示不同的信息)Coverage track和Alignment track。

151002639_6_20190101043133857

载入bam后

另外基因组信息也可以有collapsed、expanded、squished三种展示形式

151002639_7_20190101043134278

基因组信息查看Coverage track

它的意思是显示比对文件的覆盖率和测序深度。横坐标是基因组上的位置,纵坐标是该位置的测序深度。【鼠标放在每一个位点都会显示一个小方框,其中的的内容就是显示总共有多少reads在这个位置,每个碱基各是什么】

点右上角+放大reads可视化窗口后,track会以灰色的条形图来显示每个位点的测序深度。如果某一个核苷酸与参考序列相比,有超过20%的reads是不同的,条形图会显示不同的颜色

151002639_8_20190101043134747

Coverage track

151002639_9_20190101043135357

显示特定位点变异

关于上图中的右键菜单,解释如下功能含义Rename Track更改track名

Change Track Color更改背景色,比如把Coverage Track灰色变紫色

Change Track Height改变每一个track的高度

Change Font Size改变IGV最左侧字体大小

Set Data Range覆盖深度的范围设置

Log scale用对数尺度作图

AutoScale是否自动缩放比较多个基因

151002639_10_20190101043135607

比较多个基因

这里看到有许多颜色,这些颜色是根据定义不同比对类型而不同,

151002639_11_2019010104313644

不同比对类型颜色也不同查找结构变异

灰色:与参看基因组可以比对的reads

紫色I:插入(鼠标查看插入的碱基信息)

黑色横线:——缺失

欢迎关注我们的公众号~_~

我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到Bioplanet520@outlook.com

151002639_12_20190101043136341.png

Welcome to our bioinfoplanet!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习项目笔记

项目清单: 1. 商业目标2. 划定问题               监督或非监督,还是强化学习。3. 选择什么算法             回归还是分类, 数据量小可使用单机内存的 批量计算, 数据量大使用分布式的MapReduce 线上计算。4. 评估模型…

sublime配置python环境变量_Sublime Python环境配置

文章主要说明了能让Python的编程者使用更方便的一些设置和调整。Sublime Text简介Sublime Text是一个很棒的编辑器,支持跨平台,有着强大的插件子系统。对于Python开发,有不少插件可以让你开发起来更流畅、更有乐趣。我现在仍然在不同的项目之…

linux mysql主从配置

1准备两台服务器 一台是192.168.118.128 一台是192.168.118.129 2主服务器配置 192.168.118.128 修改my.cnf文件 server-id1 log-binmysql-bin #启动MySQL二进制日志系统, binlog-do-dbourneeddb #需要同步的数据库 binlog-ignore-dbmysql #不同步mysql系统数据库&…

java web.xml 监听器_【JAVA 核心技术】java web 中的监听器

为什么要有监听器?监听器是用来处理一系列事件的java类,可被配置在java web项目中。既然如此,为什么不用代码直接调用监听器?这可能是因为J2EE规范规定的项目工程标准,用web.xml指定监听器,然后服务器中间件如weblogic可以以遵照标…

分布式和集群区别以及分布式事务

集群就是同一个代码部署了很多服务器是集群,分布式就是把项目拆成若干个工程,每个工程负责一部分内容,需要多个工程配合完成业务流程 使用的MQ数据一致性解决的分布式事务问题 转载于:https://www.cnblogs.com/fengnan/p/9482980.html

python变量生命周期_python 变量定义及变量生命周期

第一部分最近在写Python的时候发现一个好玩的现象,就是在if else重定义的变量,没有声明全局,在外部也可以使用,这里涉及到一个python变量生命周期的问题。python能够改变变量作用域的代码段是def、class、lamda.if/elif/else、try…

svn新建仓库

1昨天需要在服务器上新建一个仓库,解决方法是把已有的仓库拷贝出来,库删除在放进去 2然后今天想看看有没有命令的方法 find / -name project 首先查看一下项目的位置 3创建仓库 svnadmin create /mnt/raid1/huge/project/test 4cd test Ls 5vi authz…

java gb13000 ucs2_采用GB 13000的UCS-2进行存储的文件怎么转换

不是sql中的数据吧你那个是单个文件吗?假设文件头采用标准UCS2格式的两个字节,每个字段的数据是通过\t分隔的,每行文字是一条记录,如果有不同,需要对程序进行调整。FILE *f _wfopen(L"d:\\文件名.txt",L"rb"…

MySql数据库索引原理

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进…

python3 unicode字符串_【已解决】Python3中如何声明字符串是unicode类型以避免log日志打印出错...

Python3中代码:CreateTableSqlTemplate """CREATE TABLE IF NOT EXISTS %s (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘自增,主键’,cityDealerPrice int(11) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘经销商参考价’,…

linux awstats搭建

1安装lnmp模式 2安装awstats 2# tar xf awstats-6.5.tar.gz 解压下载到/root下的压缩包 mkdir /var/lib/awstats chmod 755 /usr/local/awstats #cp -R awstats-6.5/ /usr/local/awstats cd /usr/local/awstats/ 进入到解压目录下 ls docs README.TXT tools wwwroot cd tool…

java实现坐标图进行拖拉拽放_js实现限定区域范围拖拉拽效果

本文实例为大家分享了js实现限定区域范围拖拉拽的具体代码,供大家参考,具体内容如下需要在范围内拖拉拽,之前看来许多资料觉得都不是特别满足要求,今天自己写了一个,通过监听鼠标按下、鼠标抬起、鼠标移动事件来控制代…

上拉加载更多后台数据_微信小程序端操作云数据库

一、分清几个概念1、云开发,简言之就是可以直接用微信小程序开发者工具完成一个从前台到后台的小程序项目。2、小程序端,使用云开发的时候,miniprogram中写的代码可以叫做小程序端(真实是我不知道可以不可以这么认为)。…

关于springMVC传参问题

今天写项目,碰到一个以前灭有注意到的问题,一般情况下使用springMVC Controller注解之后,被此注解标记的方法的参数名只需要跟页面表单的标签的name的值相同即可拿到页面的值,但是如果标签加了disabled"disabled" 属性…

mysql + keepalived高可用

1上次说过了mysql的主从配置 tar zxf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 yum install gcc gcc-c yum install kernel-devel -y 2报错 configure: error: Popt libraries is required yum install popt-devel 3继续执行 ./configure --with-kernel-dir/usr/src/kerne…

java+向前进一_Java 线程基础

前言线程并发系列文章:熟练掌握线程原理与使用是程序员进阶的必经之路,网上很多关于Java线程的知识,比如多线程之间变量的可见性、操作的原子性,进而扩展出的Volatile、锁(CAS/Synchronized/Lock)、信号量等知识。有些文章只说笼统…

python如何给定取值范围_python怎么限定函数自变量取值范围

匿名用户1级2017-11-20 回答Python中函数参数的定义主要有四种方式:1. F(arg1,arg2,…)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提…

tp5无刷新分页

控制器 <?phpnamespace app\index\controller; use think\Db; class Index{ public function userlist() { $listDb::name(users)->paginate(10,false, [ type > Bootstrap, var_page > page, //使用jqery 无刷新分页 path>javascript:AjaxPage([PAGE]); ]); r…

安装kickstart失败

yum -y install dhcp*yum -y install tftp*yum -y install nfs修改tftp配置文件 default: off description: The tftp server serves files using the trivial file transfer \ protocol. The tftp protocol is often used to boot diskless \ workstations, download conf…

java内存溢出让tomcat停止_java - 使用JVM Open J9一段时间后,应用程序(tomcat)停止响应 - 堆栈内存溢出...

我正在使用Open J9&#xff0c;一段时间后我的应用程序停止响应。.在生产中发生了2个小时后&#xff0c;在本地设法使用JMeter进行模拟。 应用程序(tomcat)只是停止响应&#xff0c;我需要重新启动才能将其取回。 问题是日志(catalina和log4j)中没有任何内容可以帮助我进行调查…