python cli和模块,用于运行带有python pandas输入和输出的gsva r bioconductor包。

GSVA的Python项目详细描述


#gsva/ssgsea命令行界面和python模块

r bioconductor的gsva(gene set variance analysis)包提供了单样本基因集富集分析(ssgsea)的高效计算。这个pakcage提供了一个python实现的cli和带有panda输入和输出的python模块,以及运行此R包的Docker。

*存储库在这里:https://github.com/jason weirate/gsva
*Autodoc手册在这里:https://jason weirate.github.io/gsva/


这是一个cli和python钩子,通过命令行和python可以轻松地使用它们的包。*这不是GSVA Bioconductor软件包的官方网站*

"GSVA:微阵列和RNA序列数据的基因集变异分析",《BMC生物信息学》,14,第7页。DOI:10.1186/1471-2105-14-7,http://www.biomedcentral.com/1471-2105/14/7.


\quickstart-cli通过Docker


在这里,我们将在当前目录中执行所有操作。

1。从一个表达式csv开始,该表达式包含按基因排列的行和按样本排列的列

````
$cat example_expression.csv_cut-f 1-3-d','head-n 6
gene_name,s-1,s-2
mt-co1,13.852,12.328
mt-co2,13.405999999999999,12.383
mt-co3,13.234000000002,12.109000000000002
mt-atp8,13.805,11.78900000000001
mt-atp6,13.5,11.703
````

2。使用**GMT**格式的任何基因集,其中每一行都遵循惯例"名称<;制表符>;说明<;制表符>;基因1<;制表符>;基因2<;制表符>;……&标签;genen`

``
cat c2.cp.v6.0.symbols.gmt head-n 6 cut-f1-5
Kegg_糖酵解糖异生http://www.broadinstitute.org/gsea/msigdb/cards/kegg_糖酵解糖异生acss2 gck pgk2
Kegg_柠檬酸盐循环TCA_循环http://www.broadinstitute.org/gsea/msigdb/cards/Kegg_柠檬酸盐循环IDH3b dlst pck2
Kegg_戊糖磷酸途径HTTp://www.broadinstitute.org/gsea/msigdb/cards/kegg_pentose_phosphate_pathway rpe rpia pgm2
kegg_pentose_和葡萄糖醛酸盐相互转化http://www.broadinstitute.org/gsea/msigdb/cards/kegg_pentose_和葡萄糖醛酸盐相互转化ugt1a10 ugt1a8 rpe
kegg_果糖和甘露糖代谢http://www.broadinstitute.org/gsea/msigdb/cards/kegg_果糖和甘露糖代谢mpi pmm2 pmm1
kegg_半乳糖代谢http://www.broadinstitute.org/gsea/msigdb/cards/kegg_半乳糖代谢gck galk1 glb1
``

3.运行gsva

```
$docker run-v$(pwd):$(pwd)假期/gsva:1.0.4\
gsva--gmt$(pwd)/c2.cp.v6.0.symbols.gmt\
$(pwd)/example_expression.csv\
--output$(pwd)/example_pathways.csv
````

就是这样。好好享受,检查你的输出。



````
$cat example_pathway s.csv cut-f 1-3-d’,'头-n 6
name,s-1,s-2
bicarta_41bb_41bb_bicarta_41bb_路径,0.0686308330983985909944,0.25716912769127694153
bicarta_ace2_路径,0.110822384545999933501,-0.22223103030344447344734848486602
br/>bicarta_ace2_-bicarta_ace2_路径,0.110822384545我是说,0.14929024991685
生物卡塔光化途径,-0.014499030552,0.407870971955071
生物卡塔AGPCR途径,0.6224821629523449,-0.0128449355033173
```


`````
`````
$docker run vacation/gsva:1.0.4 gsva-h
用法:gsva[-h][--tsv-in]--gmt[--tsv-out][--output output]
[--meta output meta output][--方法{gsva,ssgsea,zscore,plage}]
[--kcdf{gaussian,poisson,none}[--abs-sz-min-sz-min-sz]
[--max-sz-max-sz][--parallel-sz-parallel-sz-sz-sz]
[--parallel-ux-diff-mx-diff][--tau-tau]
[--ssgsea u-norm-ssgsea-norm][--verbose]
[--tempdir-tempdir-tempdir|--特定的_tempdir特定的_tempdir]
输入


execute r bioconductors gsva


可选参数:
-h,--帮助显示此帮助消息并退出

输入选项:
输入使用-默认情况下用于exepct csv中的stdin
--tsv_,此覆盖到制表符(默认值:
false)
--gmt gmt gmt路径文件(默认值:无)


输出选项:
--tsv_-out覆盖默认csv和输出tsv(默认值:
false)
--输出输出,-o输出
指定写入转换数据的路径(默认值:
无)
--元输出元输出
指定输出附加运行信息的路径
(默认值:无)

选项:
--用于估计每个样本的基因集富集分数的方法{gsva,ssgsea,zscore,plage}
。默认情况下,该值设置为
GSVA(Hanzelmann等人,2013年),其他选项6
GSVA为SSGSEA(Barbie等人,2009年)、zscore(Lee等人
al,2008年)或Plage(Tomfohr等人,2005年)。后者
两个标准化的第一个表达式配置文件在样本上变成
z分数,在zscore的情况下,
它们的总和除以基因集大小的平方根,而在plage的
情况下,它们用于计算基因
集合中基因的奇异值分解(svd),并使用第一右-
奇异向量的系数作为路径活动概况。(默认值:
gsva)
--kcdf{gaussian,poisson,none}
表示表达式的累积分布函数的非参数估计期间要使用的核的字符串当method="gsva"时,
样本之间的水平。默认情况下,
kcdf="gaussian"适用于输入
表达值连续的情况,例如对数刻度的微阵列
荧光单位、rna序列对数-
cpms,记录rpkms或记录tpms。当输入表达式
的值是整数计数时,例如从
rna序列实验中导出的值,则该参数应设置为
kcdf="poisson"。此参数取代参数
rnaseq和kernel,这两个参数已弃用,并将在下一版本中删除。(默认值:高斯)
--abs_ranking标志仅在mx_diff=true时使用。当
abs_ranking=false(默认值)时,使用修正的kuiper
统计量来计算富集分数,
取最大的
正随机游动和负随机游动之间的幅度差偏差。当
abs.ranking=true时,使用原始的kuiper统计量,即
和最大的正和负随机游动
偏差。在后一种情况下,基因集
基因富集在极端(高或低)
将被视为"高度"激活。(默认值:
假)
--生成的基因集的最小大小。(默认值:1)
--生成的基因集的最大大小。(默认值:
无)
--并行计算时要使用的处理器数。这需要预先加载parallel或snow库。如果加载了
parallel,并且此参数保留其
默认值(parallel_sz=0),则它将使用所有可用的核心处理器,除非我们用较小的数字设置此参数
。如果加载了snow,则必须将此参数设置为正整数,该整数指定要在并行计算中使用的处理器数。(默认值:0)
--使用Snow时的Parallel_Type Parallel_Type
群集体系结构类型。
(默认值:sock)
--MX_Diff MX_Diff提供两种方法来计算KS中的富集
统计值随机游动统计。
mx_diff=false:es计算为从0开始的随机游动的最大
距离。mx_diff=true
(默认值):es计算为最大正和负
随机游动偏差之间的差值
。(默认值:真)
--定义GSVA(Hanzelmann等人,
2013)和SSGSEA(Barbie等人,2009)方法执行的随机
行走中尾部重量的Tau Tau指数。默认情况下,该tau=1 when method="gsva"和tau=0.25
when method="ssgsea",正如barbie et
al指定的那样。(2009)其中,此参数称为alpha。
(默认值:无)
--ssgsea_norm ssgsea_norm
逻辑,设置为true(默认值),使用method="ssgsea"
从Barbie等人处运行ssgsea方法。(2009年)
将分数标准化为最小值和最大值之间的绝对差
,如他们的论文中所述。当ssgsea_norm=false时,跳过最后一个规范化步骤。(默认值:true)
--verbose提供有关每个计算步骤的信息。
(默认值:false)


临时文件夹参数:
--tempdir tempdir临时目录在此处生成并销毁。
(默认值:/tmp)
--specific_tempdir specific_tempdir
将使用此临时目录,但在执行后将保持
。(默认值:无)
```

安装r https://www.r-project.org/
2。安装r bioconductor packagegseabase和gsva

```
$rscript-e'源("http://bioconductor.org/bioclite.r");\
库(biocinstaller);\
bioclite(pkgs=c("gseabase","gsva",dep=true)
```

3。安装这个软件包`$pip install gsva`

\茎如上所述。有关"gsva(expression_df,genesets_df,…)`function parameters参见https://jason-weirate.github.io/gsva/

\br/>\r工作流示例-从基于表达式的tsne图转到jupyter笔记本中基于路径的tsne图

富集矩阵。我们将使用tsne绘制值。

这些代码snipoits和输出来自jupyter笔记本。



`` python
从gsva import gsva将panda导入为pd
,GMT-to-u dataframe
注意"member"和"name"字段。如果你用自己的数据框,这些是必需的列名。

``python
genesets_df=gmt_to_dataframe('c2.cp.v6.0.symbols.gmt')
genesets_df.head()
````

|
——| acss2 kegg糖酵解糖异生
1 http://www.broadinstitute.org/gsea/msigdb/card…| gck kegg糖酵解糖异生
2 http://www.broadinstitute.org/gsea/msigdb/card…| pgk2 kegg糖酵解糖异生
3 http://www.broadinstitute.org/gsea/msigdb/card…| pgk1 kegg糖酵解糖异生
4 http://www.broadinstitute.org/gsea/msigdb/card…| pdhb kegg_糖酵解糖异生

此示例有200个样本

`` python
expression_df=pd.read_csv('example_expression.csv',index_col=0)
expression_df.iloc[0:5,0:5]
```

| gene_name | S-1 | S-2 | S-3 | S-4 | S-5 |
|-----------|--------|--------|--------|--------|--------|
| MT-CO1 | 13.852 | 12.328 | 13.055 | 11.898 | 10.234 |
| MT-CO2 | 13.406 | 12.383 | 13.281 | 11.578 | 11.156 |
| MT-CO3 | 13.234 | 12.109 13.352 11.531 10.422 10.422
mt-atp8 13.805 11.805 11.789 13.414 11.883.141
xv=tsne(n_components=2).\
fit_transform(expression_df.t)
df=pd.dataframe(xv).rename(columns={0:'x',1:'y'})
(ggplot(df,aes(x='x',y='y'))
+geom_point(alpha=0.2)

````

![基因表达式](https://i.imgur.com/qbwds5h.png)


默认命令运行时不输出详细消息。但是请注意,不属于"表达df"的基因将从分析中删除,并且取决于您选择的gsva方法,没有足够表达(即所有零表达)的基因将被删除。

`` python
pathways\u df=gsva(表达df,基因集0:5]
`````


s-1 s-2 s-3 s-4 s-5
``````````
```>


`-------------------------------------------------------------------------------------------------124;0.020151-0.234537
|BIOCARTA_ACE2_PATHWAY | 0.110822 | -0.222310 | -0.161572 | 0.370659 | -0.003318 |
| BIOCARTA_ACH_PATHWAY | 0.514193 | 0.149291 | 0.226279 | 0.289960 | 0.016071 |
| BIOCARTA_ACTINY_PATHWAY | -0.014494 | 0.407871 | -0.062163 | 0.055607 | 0.424726 |
| BIOCARTA_AGPCR_PATHWAY | 0.622482-0.012845 0.317349 0.286368 0.022540
``蟒蛇
yv=tsne(n_组分=2).\
fit-u变换(path_-df.t)
pf=pd.dataframe(yv).rename(columns={0:'x',1:'y'})
(ggplot(pf,aes(x,x,'x,'x,'y''y’))))
br/>br/>(colgraplot(pf pf,aes(pf,ae几何点(α=0.2)

````

![途径富集](https://i.imgur.com/2pxjorr.png)



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从其BlobKey获取Google云存储文件   java*Vert。x*:如何在同步代码中处理   java HikaiCP:如何查看连接池大小?   java解析依赖项的重复版本   java如何删除TableColumn中的HTML标记   Maven依赖项找不到sendgridjava的zip文件   Java可用的垃圾收集算法   java IntelliJ git集成技巧和技巧   java如何在安卓中实现应用内支付?   java如何在安卓中从whatsapp获取pdf文件数据到我的应用程序?   有没有一种方法可以使用JavaScript(Vue.js)将Java应用程序(游戏)实现到网站中   使用SWT浏览器进行java-to-javascript通信的问题   java在Android手机上更改字体大小后启用textView内的滚动条