Enrichment Map User guide
译者:Y大宽
http://www.baderlab.org/Software/EnrichmentMap/UserManual#rnk
总概
CM可以使GSEA结果以网络化的形式可视化呈现。可以是GSEA的结果,当然也可以是DAVID,BINGO等其他的富则羡改集结果。Nodes代表基因集,edge代表每个set间的重叠。这种方式呈现的话,高度冗余的基因集会被划为一组叫clusters,这样就大大增强了导航和解释富集结果的准确性。基因富集是一种数据分析技术,需要有一下2个输入。
1.一个从基因组实验来的排列的基因列表
2.基因集,依据先验知识来的已经归类的功能基因集(如GO)或实验数据(如共表达模型)。
有了以上的输入,那么会输出一个基因集富集列表。也就是能更好的概况基因列表的基因集。通常gene-set enrichment 指的的功能富集,因为指定的功能基因集(如GO)是基于功能范畴的。如下图。
快速使用手册
生成EM(以下Enrichment Map简称为EM)
有几种选择:
加载GSEA结果
加载Generic 结果
加载David结果
加载Bingo结果
以上几种模式的唯一区别是富集列表的结构。如果要使用EM,需要以下文件
File.gmt:基因集 to gene ID
File.txt或.gct:表达谱矩阵(可选择)
File.txt或.xls(*):富集列表(s)
(*)GSEA以.xsl格式保存富集列表,这不是真正的excel文件,而是修饰过的tab-separated文本文件,EM不能加载真正的EXCEL文件。
假如你的富集结果从GSEA产生的,主要从你的结果文件夹选择正确的文件即可,如果是用其他方法产生的富集结果,那你就去看下面的Full user guide,file 格式部分,确保文件格式和EM匹配。
另外,你可以选择参数缺省。如果你想自己设置自己的参数,那还是去Full user guide的参数选择部分。
EM****的地图
1.Nodes代表基因集
2.Edge代表相互重叠部分
3.富集显著性(p-value)以node颜色密度代表
4.富集的表型以node的颜色(hub)代表
Node在标准的2分类设计中,2个表型比较(比如处理组和非处理组,颜色hue代表富集表型。比如上调和下调的基因。如果两个表型中的一个作为参考(比如未处理),另外一个表型是感兴趣的。在这样的case中,在感兴趣的表型中富集意味up,在对照表表型中富集意味这down
5.Node size代表这个基因集中基因的数目。
探索****EM
1.窗口右边的results panel 的参数tab包含一些说明,比如表型颜色,还展示产生map的参数(比如cut-off值和data files)。
2.control panel面板中的左边network tab列出了当前session中所有可用的网络,底部有一个当前网络的总概,并可以方便的在网络中导航,甚至可以通过拖曳矩形框进行放大(当前窗口)。
3.点击一个node(代表一个基因集的圆圈)会打开data panel的(EM Geneset expression viewer)tab,显示选择基因集的所有基因的表达值的热图。
4.点击边(两个node之间的连线)会打开data panel的(EM overlap expression viewer)会显示被这个边连接的两个基因集中共有的所有基因的热图(也就是重叠基因)
5.如果同时选择了几个nodes和edges(可以通过拖曳感兴趣的基因集的box),那么EM geneset expression view会显示选中的基因集中的所有基因的union并且,EM overlap expression view会显示所有选中的基因集中共有的基因(也就是选中的几个基因集重叠基因)。
高级提示
1.对于大派弯的网络和低放大水平的孙判cytoscape会自动的减少这个细节(比如隐藏节点标签,不显示node边界0.若override(手动 *** 作?无视?)这个策略,可以点击view-show graphics details
2.可视化地图和节点-边属性浏览会打开很多可视化选择,比如把标签大小和富集得分或p-values进行连接。这可以参考cytoscape手册
3.如果你使用的是GSEAs MSigDb,那么你可以为每个基因集获取额外的信息,方法是添加一个额外的属性(edit-preferences-properties-add-enter proterty name:nodelinkouturl.MSigDb-enter property value: http://www.broad.mit.edu/gsea/msigdb/cards/%ID%.html- make current cytoscape properties default-OK*现在你可以在一个node上右击选择linkout/MSigDb
在浏览器打开这个node代表的基因集。
4.当家长GSEA结果时,无序定义每个file。使用GSEA RPT文件就自动包含了EM界面所有的file。(具体在下面5的下面)
5.你可以在一开始定义更为宽松的p-value,q-value和系数阈值,也可以在网络产生之后来调整他们,这个 *** 作在结果面板的右边。
RPT files
1.GSEA结果的一个特殊的trick,在任何的GSEA分析中,会产生一个rpt文件,这个文件定义了所有文件的位置(包括gmt,gct,result文件,phenotype specification,rank files)
2.dataset tab(expression,enrichment results1 or enrichment result 2)下的任何fields都可以识别rpt文件,并且populate(进入)GMT,Expression,enrichment results1,enrichment results2,phenotypes,和ranks the values)。
3.第二个rpt文件可以从dataset2加载。如果定义的GMT文件和dataset1的文件不同,会产生一个警告,你可以选择使用dataset1的GMT,dataset2的GMT,或放弃第二个rpt的加载。
4.rpt文件是一个text文件,有下面的信息(用”’’”围绕的参数是EM使用的)。
EDB files(GSEAfile****类型)
GSEA结果文件夹中有一个edb文件夹。里面有下面几个文件
1.result.edb
2.gene-sets.gmt
3.classfile.cls(只在GSEA分析,不在GSEAPreranked分析)
4.rankfile.rnk
5.如果在dataset tab(expression,enrichmentent results1或enrichment results2)定义了results.edb文件,那么gmt和enrichment 文件区域会自动加载。
6.if你想把表达谱文件加到分析中,那得需要手动加载。
高级设置-****额外文件
每个dataset,用户还可以设置额外的参数文件(但不是必须的)
这些高级参数包括
1.ranks files 定义分析中基因的ranks
这个文件有固定的格式,上面也说过了。Gene tab rank(得分)。RNK文件是GSEA文件类型。和GCT,TXT文件完全不同。它只有包含基因名字和rank(或得分)。第一行包含列文件名(比如,gene name(-tab)rank name
RANK文件的每一行包含name(--tab--)rank (or score)
参数
Node参数
1.node筛选出现在EM中的基因集
2.若在EM中出现,那么基因集许通过p-value和q-value阈值
p-value
所有小于p-value阈值的基因集都会在EM中出现
FDR Q-VALUE
所有在限定的q-value阈值之下的基因集都会在EM中出现。
根据分析类型,FDR Q-value用于EM过滤基因集的标准不一样
GSEA:使用的是gsea-result文件的第八列,名为FDR q-value
Generic:generic结果文件的第四列
David:davide结果文件的低12列,名为“Benjamini“
Bingo:Bingo结果文件的第三列,名为“core p-value”
Edge参数 (gene集关系)
1.一个边代表存在的两个基因集A和B的基因重叠程度
2.edge定义EM中边的数目Edge specific parameters control the number of edges that are created in the enrichment map
3.过滤边只能选择一种系数type(coefficient type)
参数选择的tips
P-value和FDR阈值
GSEA可以使用两种不同的显著性评估:基因集permutation和phenotype permutation。Gene-set permutation用于GM应用例子
Gene-set permutation
下面是你可以考虑的gene-set permutation的不同设置阈值
Very permissive(p-value<0.05,FDR<0.25)
Moderately permissive(p-value<0.01,FDR<0.1)
Moderately conservative(p-value<0.075,FDR<0.075)
Conservative(p-value<0.001,FDR<0.05)
为了获取更高的质量,高覆盖范围的转录组数据,以非常保守的阈值进行富集的基因集数目通常在100-250之间,(使用gene-set permutation)
phenotype permutation
推荐 p-value<0.05,FDR<0.25
总体,只有你很难发现富集的基因集,我们才推荐使用permissive 阈值。
Jaccard vs Overlap coefficient
1.选择overlap系数:发生重叠的基因集发生在large size和small size之间,比如GO条目
2.选择Jaccard系数:和上面相反,比如两个基因集含的基因数差不多
3. When the gene-sets are about the same size, Jaccard is about the half of the Overlap Coefficient for gene-set pairs with a small intersection, whereas it is about the same as the Overlap Coefficient for gene-sets with large intersections.
4.特殊情况,当使用OC时,如果产生的map有几个大的基因集过分的和很多其他基因集发生连接,这是可以转向JC
Overlap阈值
大多数的分析推荐使用0.5,一个相对moderately conservative阈值
0.3更加permissive,可能会导致一个混乱的map
Jaccard阈值
0.5非常保守
0.25moderately 保守
界面
输入面板
1.分析类型Analysis Type
GSEA: 接受GSEA的结果文件。文件格式对GSEA的文件十分友好。这个类型和generic的最大区别是富集结果文件的数目和格式。GSEA分析总是有2个富集结果文件,分别是两个相比较的表型文件对应的结果文件,也就是一个表型文件一个。
Generic:接受和GSEA分析结果一样的文件格式,就是富集结果文件不一样。并且,它就一个富集文件。Enrichment Map User guid
DAVID: 没有gmt或表达谱文件,接受DAVIDE来的富集文件
2.基因集
描述基因集的 gmt 格式文件。用户可以通过硬盘上的文件加载
3.Dataset1:用户可以指定表达谱或富集文件,或者一个 rpt 文件,这个rpt文件可以加载所有的genesets,dataset1,2,和高级部分。
4.Advanced:初始状态是隐藏的,这可以通过点击右边的小箭头展开。用户可以修饰表型标签或加载基因rank文件
5.参数:用户可以指定p-value,FDR和OC或JC值。
6Actions:user有三种选择,reset(清除所有输入),close(关闭输入面板),build enrichment map(执行)
Data面板(位于底部)
有2中不同的展示窗口,每一个都是单独的数据面板。EM overlap和EM gene set。这两种表达方式的差异仅仅是基因列表的差异。
1.EM overlap expression viewer显示所有算则的基因集之间的重叠基因的表达(交集)
2.EM geneset expression viewer显示选择的基因集的所有合并的基因表达情况(并集)
3.标准化
Data as is-代表载入的数据
Row Normalize Data-每一行的表达值的平均值跟随SD
Log Transform Data-每个表达值的log值
4.sorting
Hierarchical cluster-根据整个表达set的皮尔逊相关系数计算
如果rank文件被提供,会显示Dataset 1ranking和dataset 2 ranking,通过选择,用户可以相应的对表达谱排序
如果表达值没有相应的rank,那么热途中不会出现表达值
Add ranking运行用户上传额外的rank文件(格式要正确)对rank文件的大小没有限制。但用户需要对rank文件提供一个名字。
5.save expression set
在展示的窗口,用户可以保存表达值成txt 文件(当前展示的)*
6.输出表达set(PDF)
用户可以储存当前展示的表达热图成pdf文件。不幸的是这个PDF文件不完美。列的名字在底部而不是在上部。这个问题希望在以后的cytoscape版本解决。
results面板(位于右边)
参数pane
用户可以通过滑动块调整p值和q值
1.phenotype1
2phenotype2
3.p-value cutoff向左移降低p****值,会导致网络中node和相应的边减少;向右移会重新建立新node和相应的边。注意的是,建立网络的时候定义的p值不能增加。
4.Q-value cutoff向左移,降低q值,导致node和相应边在网络中移除;向右移重建。同p值,不能大于建网时的q值。
5.相似性cutoff向右移,增加阈值,导致边被移除,向左移,重建新边。不能小于建网时定义的值。
6.在浏览器加载GSEA结果
7.建立EM时的参数列表
8.热图自动聚焦默认是选中的。当你选中网络中的任何node和edge,EM自动更新表达视图。
9.default sorting order在表达视图gene可以根据等级聚类,rank,columns进行sort或不sort。
10.default distance metric对于等级聚类有三种可选择的distance metrics来计算基因之间的距离。默认是皮尔逊相关系数。如果你想使用其他的方法,重新选择就可以。
摘自Windows XP的帮助文档。
For对一组文件中的每个文件运行指定的命令。
语法
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
参数
{%variable|%%variable}
必需。代表可替换的参数。使用 %variable 通过命令提示符执行 for 命令。使用 %%variable 在批处理文件中执行 for 命令。变量要区分大小写,并且必须用 Alpha 值表示,例如,%A、%B 或 %C。
(set)
必需。指定要用判弊指定命令处理的一个或多个文件、目录、数值范围以及文本字符串。需要括号。
command
必需。指定要对包括在指定 (set) 中的每个文件、目录、数值范围以及文本字符串所执行的命令。
CommandLineOptions
指定要通过指定命令使用的任何命令行选项。
/?
在命令提示符显示帮助。
注释
使用 for
可以在批处理文件中或直接从命令提示符使用 for 命令。
使用批处理参数
下列属性适用于 for 命令:
for 命令使用指定 set 中的每个文本字符串替换 %variable 或 %%variable,直到 command 处理所有文件为止。
记住,for variable名是区分大小写、全局的,并且每次总共不超过 52 个是活动的。
要避免批处理罩冲扰参数从 %0 到 %9 混淆,对 variable 可以使用除数字 0 到 9 之外的任何字符。对于简单的批处理文件,单个字符即可奏效,例如 %%f。
在复杂的批处理文件中可以使用 variable 的多个值来区分不同的可替换变量。
显示一组文件
set 参数可以代表单个或多个文件组。可以使用通配符(即,* 和 ?)指定文件组。以下为有效文件组:
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)
在使用 for 命令时,set 中的第一个值代替 %variable 或 %%variable,然后由指定的命令处理该值。这一直会继续下去,直到处理完与 set 值相对应的所有文件(或文件组)为止。
使用 in 和 do 关键字
In 和 do 不是参数,但必须将它们与 for 一起使用。如果省略其中任何一个关键字,就会出现错误消息。
使用 for 的其它形式
如果命令扩展名处于启用状态(即,默认设置),则支持 for 的下列其它形式:
仅为目录
如果 set 包含通配符(* 和 ?),则为匹配 set 的每个目录(而不是指定目录中的文件组)而执行指定的 command。语法是:
for /D {%% | %}variable in (set) do command [CommandLineOptions]
递归
进入根目录树 [Drive:]Path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.),则只列举目录树。语法是:
for /R [[Drive :]Path] {%% | %}variable in (set) do command [CommandLineOptions]
重复数值范围
使用迭代变量设置起始值 (start#) ,然后一步步执行一系列设置范围的值,直到该值超过设置的终止值 (end#)。/L 将通过对 start# 与 end# 进行比较,执行迭代物旦变量。如果 start# 小于 end#,就会执行该命令。如果迭代变量超过 end#,则命令解释程序退出此循环。也可以使用负 step# 以递减数值的方式一步步执行此范围内的值。例如,(1,1,5) 生成顺序 1 2 3 4 5,而 (5,-1,1) 则生成顺序 (5 4 3 2 1)。语法是:
for /L {%% | %}variable in (start#,step#,end#) do command [CommandLineOptions]
重复和文件解析
使用文件解析过程处理命令输出、字符串和文件内容。使用迭代变量定义要检查的内容或字符串,以及使用各种 ParsingKeywords 选项进一步修改解析方式。使用 ParsingKeywords 令牌选项指定哪些令牌应该传递为迭代程序变量。注意:在没有使用令牌选项时,/F 将仅检查第一个令牌。
文件解析过程包括读取输出、字符串或文件内容、分成独立的文本行及然后将每行解析成零个或更多个令牌。然后通过设置为令牌的迭代程序变量值,调用 for 循环。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。跳过空行。语法的不同点为:
for /F ["ParsingKeywords"] {%% | %}variable in (filenameset) do command [CommandLineOptions]
for /F ["ParsingKeywords"] {%% | %}variable in ("LiteralString") do command [CommandLineOptions]
for /F ["ParsingKeywords"] {%% | %}variable in ('command') do command [CommandLineOptions]
filenameset 参数指定一个或多个文件名称。在继续到 filenameset 中的下一个文件之前,每个文件都会被打开、读取和处理。要覆盖默认解析行为,指定 "ParsingKeywords"。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。
如果使用 usebackq 选项,请使用如下语法之一:
for /F ["usebackqParsingKeywords"] {%% | %}variable in ("filenameset") do command [CommandLineOptions]
for /F ["usebackqParsingKeywords"] {%% | %}variable in ('LiteralString') do command [CommandLineOptions]
for /F ["usebackqParsingKeywords"] {%% | %}variable in (`command`) do command [CommandLineOptions]
下表列出可以用于 ParsingKeywords 的解析关键字。
关键字 说明
eol=c 指定行尾字符(只一个字符)。
skip=n 指定在文件的开头跳过的行数。
delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集。
tokens=x,y,m-n 指定将哪些令牌从每行传递到每个迭代的 for 正文。结果就分配了附加变量名称。m-n 格式是一个范围,指定从 mth 到 nth 的令牌。如果 tokens=字符串中最后一个字符是星号 (*),则将分配附加的变量,并在解析的最后一个令牌后在行上接收剩余的文本。
usebackq 指定可以使用引号引用 filenameset 中的文件名称,将后面带有引号的字符串作为一个命令执行,而带有单引号的字符串是文字字符串命令。
变量替换
已经增强了 for 变量引用的替换修改程序。下表列出可选语法(对于任意变量 I)。
带有修改程序的变量 说明
%~I 展开删除任何前后引号 ("") 的 %I。
%~fI 将 %I 展开到完全合格的路径名。
%~dI 只将 %I 展开到驱动器号。
%~pI 只将 %I 展开到路径。
%~nI 只将 %I 展开到文件名 。
%~xI 只将 %I 展开到文件扩展名。
%~sI 展开路径以只包含短名称。
%~aI 将 %I 展开到文件的文件属性。
%~tI 将 %I 展开到文件的日期和时间。
%~zI 将 %I 展开到文件大小。
%~$PATH:I 搜索 PATH 环境变量所列出的目录,并将 %I 展开到第一个找到的完全合格的名称。如果没有定义环境变量名称,或搜索没有找到文件,则此修改程序扩展成空字符串。
下表列出可用来获得综合结果的修改程序组合。
变量(使用组合的修改程序) 说明
%~dpI 只将 %I 展开到驱动器号和路径。
%~nxI 只将 %I 展开到文件名和扩展名。
%~fsI 将 %I 展开到只包含短名称的完整路径名。
%~dp$PATH:I 在 PATH 环境变量中所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径。
%~ftzaI 将 %I 展开到输出行(如 dir一样)。
在上述范例中,可以用其它有效值替换 %I 和 PATH。有效的 for 变量名终止 %~ syntax。
使用大写变量名(例如 %I),可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。
解析字符串
通过将 Filenameset 包括在圆括号内,并且外面再带上单引号(即,'filenameset'),可以使用 for /F 对直接字符串解析逻辑。将 Filenameset 视为从某个文件输入的单行,然后接受解析。
解析输出
通过将圆括号之间的 filenameset 变为后面带有引号的字符串,可以利用 for /F 命令解析命令输出。将它作为命令行,此命令被传递给子 Cmd.exe,并将输出捕获到内存并进行解析,就象它是一个文件一样。
范例
要在批处理文件中使用 for,请使用以下语法:
for %%variable in (set) do command [CommandLineOptions]
要通过使用可替换变量 %f 显示当前目录中扩展名为 .doc 或 .txt 的所有文件的内容,请键入:
for %f in (*.doc *.txt) do type %f
在前述范例中,当前目录中扩展名为 .doc 或 .txt 的每个文件都被替代为变量 %f ,直到每个文件的内容都显示为止。要在批处理文件中使用该命令,只需使用 %%f 替换 %f 的每个事件。否则忽略此变量,并显示一条错误消息。
要解析文件,同时忽略注释行,请键入:
for /F "eol=tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k
这个命令解析 myfile.txt 文件的每一行,忽略以分号开头的行,将第二和第三个令牌从各行传递到 FOR 正文(令牌通过逗号或空格分隔)中。FOR 语句的正文引用 %i 以获得第二个令牌,引用 %j 以获得第三个令牌,引用 %k 以获得其余全部令牌。如果您提供的文件名包含空格,请使用引号将文本引起来(例如,"File Name")。要使用引号,必须使用 usebackq。否则,就将引号解释为定义要解析的文字字符串。
要通过将 filenameset 放在括号之间来解析命令输出,请键入:
for /F "usebackq delims==" %i IN (`set`) DO @echo %i
这个范例列举当前环境中的环境变量名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)