当前位置: 首页 > wzjs >正文

徐州市城乡和城乡建设厅网站首页深圳百度网站优化

徐州市城乡和城乡建设厅网站首页,深圳百度网站优化,兰州网络推广服务合同,led灯散热片技术支持 东莞网站建设前言 我们注意到在其他的一些论坛,有一些用户反馈,在服务器上面运行pyscenic不太顺畅。本文我们整理了在服务器上运行pyscenic的三个方法供大家参考,分别是conda安装pyscenic运行、arboreto_with_multiprocessing运行、容器化运行。总的来说&…

前言

  我们注意到在其他的一些论坛,有一些用户反馈,在服务器上面运行pyscenic不太顺畅。本文我们整理了在服务器上运行pyscenic的三个方法供大家参考,分别是conda安装pyscenic运行、arboreto_with_multiprocessing运行、容器化运行。总的来说,推荐使用容器化方式运行,其次是arboreto_with_multiprocessing方式,最次是conda安装pyscenic运行的方式。

  pyscenic的三个步骤,grn、ctx、aucell,分别耗时的级别是十几个小时、两三个小时、半小时,运行时间依据实际使用数据大小、服务器负载等具体情况有不同的时间表现,以上时间仅供参考,总之三部曲耗时是越来越短的。

  • 一些优质的文档
    1. 《使用西柚云自学pySCENIC所遇Error》
    2. 《使用pyscenic做转录因子分析》
    3. 《pySCENIC报错、解决和完整流程(IOS系统)》
    4. 《PyScenic教学(容器化)》

conda安装pyscenic运行

Dask

  • 默认的pyscenic是使用到了Dask的,Dask是一个python编写的,灵活的大数据并行计算库(框架),能在分布式集群中进行分布式并行计算,也可以在单机(多核心)中进行伪分布式并行计算。

环境配置与运行

  • 参考论坛里某位大佬的评论,pyscenic存在一些版本的问题,故安装的时候需要进行一些降级处理。

mamba create -y -n pyscenic310 python=3.10 -vvmamba activate pyscenic310pip config set global.index-url http://mirror.xiyoucloud.pro:63333/repository/pypi/simple
pip config set install.trusted-host mirror.xiyoucloud.pro
pip config set global.timeout 6000# pip 从 git 源码仓库直接 install 。要求是这个github仓库内要有setup.py文件。【这里有可能需要魔法】
pip install git+https://github.com/aertslab/pySCENICpip install numpy==1.23.5
pip install distributed==2024.2.1
pip install dask-expr==0.5.3
pip install numba==0.56.4# 第一步 grn,sample.loom、hs_hgnc_tfs.txt是输入,产出是adj.sample.tsv
time pyscenic grn --num_workers 20 --output adj.sample.tsv --method grnboost2 sample.loom hs_hgnc_tfs.txt# 第二步 ctx 输入是hg38__refseq-r80__10kb_up_and_down_tss.mc9nr.genes_vs_motifs.rankings.feather、motifs-v9-nr.hgnc-m0.001-o0.0.tbl,输出是reg.csv
time pyscenic ctx adj.sample.tsv hg38__refseq-r80__10kb_up_and_down_tss.mc9nr.genes_vs_motifs.rankings.feather --annotations_fname motifs-v9-nr.hgnc-m0.001-o0.0.tbl --expression_mtx_fname sample.loom --mode "dask_multiprocessing" --output reg.csv --num_workers 10 --mask_dropouts# 第三步 aucell,sample.loom、reg.csv是输入,产出是sample_SCENIC.loom
time pyscenic aucell sample.loom reg.csv --output sample_SCENIC.loom --num_workers 10

UserWarning: Port 8787 is already in use问题

  • Dask集群启动的时候,会启动一个web服务(web服务的可视化界面大概长下图这样,可以看到计算任务的资源使用情况以及任务拓扑图)对集群的运行进行数据的可视化,该服务监听8787端口,而Rstudio也是监听8787端口,二者就冲突了,但是这个不影响实际运行,因为Dask会随机选择一个未使用的端口来运行的。

Distributed core Error, Cancelled Error,CommClosedError问题

  • 这种报错为Dask的分布式运算协调失败导致运行报错,我们单独调用Dask库是没有问题的,服务端与客户端都能正常启动,也能调用多个核心进行并行计算。问题有可能出在pyscenic调用Dask的时候,有什么地方没处理好,导致进行多线程运算的时候偶尔出错,下面给出验证在西柚云服务器运行Dask是否有问题的Demo,与pyscenic没有什么关系,大家看看即可。
from dask.distributed import LocalCluster, Client# 创建一个本地的伪分布式集群,监听14951端口,这样就不会与Rstudio的8787端口冲突了
cluster = LocalCluster(scheduler_port=14950,dashboard_address=":14951")

from dask.distributed import Client# 创建Dask集群客户端
client = Client("127.0.0.1:14950")# 使用Dask进行并行计算
import dask.array as da
import numpy as np# 创建一个大数组
x = da.from_array(np.random.random((10000, 10000)), chunks=(1000, 1000))# 并行计算数组的平均值
mean = x.mean().compute()

arboreto_with_multiprocessing运行

  • 如果是单机运行pyscenic,还可以使用arboreto_with_multiprocessing来运行。
    arboreto_with_multiprocessing.py文件在安装了pyscenic后就能直接使用了的,其特别适合单机运行的情况,因为不使用Dask,放弃了多服务器节点运行的能力,但是好处是依赖更少,更加稳定,可以避免出现上面说的Dask分布式运算协调失败导致运行报错。

  • Arboreto是pyscenic的一个依赖库,主要用于加速GRN推断,特别是使用多进程来并行化GENIE3或GRNBoost2算法。所以arboreto_with_multiprocessing.py应该只负责第一步的共表达网络推断,第二、第三步和方法一是一样的。

环境配置与运行

mamba create -y -n pyscenic379-arboreto python=3.7.9 -vvmamba activate pyscenic379-arboretomamba install -y numpy==1.19.5 -vvpip install pyscenic==0.12.0# 第一步
time arboreto_with_multiprocessing.py --num_workers 20 --output adj.sample.tsv --method grnboost2 sample.loom hs_hgnc_tfs.txt# 第二步
time pyscenic ctx adj.sample.tsv hg38__refseq-r80__10kb_up_and_down_tss.mc9nr.genes_vs_motifs.rankings.feather --annotations_fname motifs-v9-nr.hgnc-m0.001-o0.0.tbl --expression_mtx_fname sample.loom --mode "dask_multiprocessing" --output reg.csv --num_workers 10 --mask_dropouts# 第三步
time pyscenic aucell sample.loom reg.csv --output sample_SCENIC.loom --num_workers 10

程序没有使用多核心问题

  • 此问题在仓库的issue(https://github.com/aertslab/pySCENIC/issues/463)中有提到,明明设置了num_workers为20,但是实际只有单核心在运行。有用户给出了解决方案是将pyscenic降级到0.12.0版本,实测可行。同时官方也指出了,可以使用容器化运行。

容器化运行

  • 可以看到,前面两个方法都需要安装特定版本的依赖才能运行,比较复杂。使用容器化技术,可以将一整套打包好的软件拉取下来运行,免去了很多环境配置调试的烦恼。

pyscenic的可用版本

  • pip

  • docker

环境配置与运行

  • pyscenic的最新版本为0.12.1,维护时间是2年前,最近的几个版本分别是:0.12.1、0.12.0、0.11.2、0.11.1。
  • 由于国内网络问题,所以需要从西柚云的docker仓库(拉取之前需要进行docker仓库的配置,具体仓库用法:西柚仓库集合)中拉取对应的镜像,否则会出现拉取镜像超时报错的情况。
sudo docker pull mirror.xiyoucloud.pro:63331/aertslab/pyscenic:0.12.1 sudo docker tag mirror.xiyoucloud.pro:63331/aertslab/pyscenic:0.12.1 aertslab/pyscenic:0.12.1# 第一步
time docker run -it --rm -v ${HOME}/pyscenic/docker:/data aertslab/pyscenic:0.12.1 pyscenic grn --num_workers 20 -o /data/adj.sample.tsv --method grnboost2 /data/sample.loom /data/hs_hgnc_tfs.txt# 第二步
time docker run -it --rm -v ${HOME}/pyscenic/docker:/data aertslab/pyscenic:0.12.1 pyscenic ctx /data/adj.sample.tsv /data/hg38__refseq-r80__10kb_up_and_down_tss.mc9nr.genes_vs_motifs.rankings.feather --annotations_fname /data/motifs-v9-nr.hgnc-m0.001-o0.0.tbl --expression_mtx_fname /data/sample.loom --mode "dask_multiprocessing" --output /data/reg.csv --num_workers 10 --mask_dropouts# 第三步
time docker run -it --rm -v ${HOME}/pyscenic/docker:/data aertslab/pyscenic:0.12.1 pyscenic aucell /data/sample.loom /data/reg.csv --output /data/sample_SCENIC.loom --num_workers 10

结语

  如果遇到在西柚云服务器运行软件死活运行不成功,甚至连朋友也运行不成功,问题出现“群体现象”,请及时联系我们。我们会尽最大可能为您解决,并像此文一样总结出来帮助大家。如果相关技术人员处理不力,可直接联系技术总负责人小柚子进行反馈或投诉,小柚子将尽快为大家协调解决问题。


  如果大家对我们的内容有任何反馈,或者有特定的软件使用教程需求,欢迎在后台留言告诉我们,我们系统整理后与大家分享。


文章转载自:

http://hQNxWm11.cLjmx.cn
http://Jg8mXjfq.cLjmx.cn
http://KX6V0fPs.cLjmx.cn
http://ahoTSYt8.cLjmx.cn
http://H7LvBmRn.cLjmx.cn
http://jA28kcfv.cLjmx.cn
http://vEofnY6x.cLjmx.cn
http://S8EnqXho.cLjmx.cn
http://K8eRFs1L.cLjmx.cn
http://ViAEibWY.cLjmx.cn
http://aX3Z8U6k.cLjmx.cn
http://B5rd8gGs.cLjmx.cn
http://UbICi8NB.cLjmx.cn
http://uCLVKRT4.cLjmx.cn
http://9WQMzMbC.cLjmx.cn
http://VLUmciBC.cLjmx.cn
http://edpfehti.cLjmx.cn
http://U7gYhTAa.cLjmx.cn
http://OGEFwUVy.cLjmx.cn
http://35EOzCNK.cLjmx.cn
http://QPPTqPDA.cLjmx.cn
http://lqrf8niL.cLjmx.cn
http://pbDqRTro.cLjmx.cn
http://vWowakkn.cLjmx.cn
http://VmF1nxgS.cLjmx.cn
http://Czuxaj3E.cLjmx.cn
http://NEvdWAJ8.cLjmx.cn
http://88uxvCHw.cLjmx.cn
http://BRq6pmEC.cLjmx.cn
http://wrP5JOkL.cLjmx.cn
http://www.dtcms.com/wzjs/729462.html

相关文章:

  • 营销型网站的建设重点是什么led的网站建设
  • 互联网公司网站wordpress 插件作用
  • 网站优化自已做还是请人做网站做留言板怎么清空源码
  • 大型网站建设兴田德润简介网站后台程序开发
  • 网站建设责任分工敦化市建设局网站
  • 制作网站要花多少钱如何深圳工程建设公司
  • 建旅游网站的意义徐东做网站
  • wordpress网站更改不见淘宝网官方网站免费下载
  • 网站备案是一年一次吗以net结尾的网站
  • wordpress新站不收录网络优化的工作内容
  • 做外贸有哪些免费的网站有哪些网站建设 $ 金手指排名效果好
  • 关于销售网站建设的短文石柱土家族网站建设
  • 快手自媒体平台昆明网站排名优化公司
  • 建设商务网站的方案金华网站建设公司哪家好
  • 企业网站托管收费标准网站备案平台
  • 网站一级目录Wordpress出现错误
  • 动态ip做网站影响seo吗一个人建网站赚钱
  • 烟台网站制作软件WordPress文章朗读功能
  • 网站建设代理平台有哪些公司网站格式
  • 做网站练手推广 电子商务网站建设
  • wordpress最好的插件沈阳专业seo
  • 最好的企业网站源码做算命网站挣钱么
  • 广州网站建设360网站优化网站目录结构模板
  • 自助免费建站西安做网站公司魔盒
  • 怎样用盒子做汽车视频网站wordpress近期文章小工具
  • 高端网站建设知识用ps设计网页页面
  • 做民宿哪个网站好北京手机网站开发
  • 深圳学校网站建设哪家好网站开发整体流程图
  • 申请网站建设的报告百度资源共享链接分享组
  • 深圳企业网站制作中心网站建设开发计入二级科目明细