.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rgba(37, 41, 51, 1) }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { line-height: 1.5; margin-top: 35px; margin-bottom: 10px; padding-bottom: 5px }
.markdown-body h1 { font-size: 24px; line-height: 38px; margin-bottom: 5px }
.markdown-body h2 { font-size: 22px; line-height: 34px; padding-bottom: 12px; border-bottom: 1px solid rgba(236, 236, 236, 1) }
.markdown-body h3 { font-size: 20px; line-height: 28px }
.markdown-body h4 { font-size: 18px; line-height: 26px }
.markdown-body h5 { font-size: 17px; line-height: 24px }
.markdown-body h6 { font-size: 16px; line-height: 24px }
.markdown-body p { line-height: inherit; margin-top: 22px; margin-bottom: 22px }
.markdown-body img { max-width: 100% }
.markdown-body hr { border-top: 1px solid rgba(221, 221, 221, 1); border-right: none; border-bottom: none; border-left: none; margin-top: 32px; margin-bottom: 32px }
.markdown-body code { border-radius: 2px; overflow-x: auto; background-color: rgba(255, 245, 245, 1); color: rgba(255, 80, 44, 1); font-size: 0.87em; padding: 0.065em 0.4em }
.markdown-body code, .markdown-body pre { font-family: Menlo, Monaco, Consolas, Courier New, monospace }
.markdown-body pre { overflow: auto; position: relative; line-height: 1.75 }
.markdown-body pre>code { font-size: 12px; padding: 15px 12px; margin: 0; word-break: normal; display: block; overflow-x: auto; color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.markdown-body a { text-decoration: none; color: rgba(2, 105, 200, 1); border-bottom: 1px solid rgba(209, 233, 255, 1) }
.markdown-body a:active, .markdown-body a:hover { color: rgba(39, 91, 140, 1) }
.markdown-body table { display: inline-block !important; font-size: 12px; width: auto; max-width: 100%; overflow: auto; border: 1px solid rgba(246, 246, 246, 1) }
.markdown-body thead { background: rgba(246, 246, 246, 1); color: rgba(0, 0, 0, 1); text-align: left }
.markdown-body tr:nth-child(2n) { background-color: rgba(252, 252, 252, 1) }
.markdown-body td, .markdown-body th { padding: 12px 7px; line-height: 24px }
.markdown-body td { min-width: 120px }
.markdown-body blockquote { color: rgba(102, 102, 102, 1); padding: 1px 23px; margin: 22px 0; border-left: 4px solid rgba(203, 203, 203, 1); background-color: rgba(248, 248, 248, 1) }
.markdown-body blockquote:after { display: block; content: "" }
.markdown-body blockquote>p { margin: 10px 0 }
.markdown-body ol, .markdown-body ul { padding-left: 28px }
.markdown-body ol li, .markdown-body ul li { margin-bottom: 0; list-style: inherit }
.markdown-body ol li .task-list-item, .markdown-body ul li .task-list-item { list-style: none }
.markdown-body ol li .task-list-item ol, .markdown-body ol li .task-list-item ul, .markdown-body ul li .task-list-item ol, .markdown-body ul li .task-list-item ul { margin-top: 0 }
.markdown-body ol ol, .markdown-body ol ul, .markdown-body ul ol, .markdown-body ul ul { margin-top: 3px }
.markdown-body ol li { padding-left: 6px }
.markdown-body .contains-task-list { padding-left: 0 }
.markdown-body .task-list-item { list-style: none }
@media (max-width: 720px) { .markdown-body h1 { font-size: 24px } .markdown-body h2 { font-size: 20px } .markdown-body h3 { font-size: 18px } }.markdown-body pre, .markdown-body pre>code.hljs { color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.hljs-comment, .hljs-quote { color: rgba(153, 153, 136, 1); font-style: italic }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: rgba(51, 51, 51, 1); font-weight: 700 }
.hljs-literal, .hljs-number, .hljs-tag .hljs-attr, .hljs-template-variable, .hljs-variable { color: rgba(0, 128, 128, 1) }
.hljs-doctag, .hljs-string { color: rgba(221, 17, 68, 1) }
.hljs-section, .hljs-selector-id, .hljs-title { color: rgba(153, 0, 0, 1); font-weight: 700 }
.hljs-subst { font-weight: 400 }
.hljs-class .hljs-title, .hljs-type { color: rgba(68, 85, 136, 1); font-weight: 700 }
.hljs-attribute, .hljs-name, .hljs-tag { color: rgba(0, 0, 128, 1); font-weight: 400 }
.hljs-link, .hljs-regexp { color: rgba(0, 153, 38, 1) }
.hljs-bullet, .hljs-symbol { color: rgba(153, 0, 115, 1) }
.hljs-built_in, .hljs-builtin-name { color: rgba(0, 134, 179, 1) }
.hljs-meta { color: rgba(153, 153, 153, 1); font-weight: 700 }
.hljs-deletion { background: rgba(255, 221, 221, 1) }
.hljs-addition { background: rgba(221, 255, 221, 1) }
.hljs-emphasis { font-style: italic }
.hljs-strong { font-weight: 700 }

Cellcano通过使用ArchR获取参考数据集的基因得分,并用作模型的输入。

代码解释

def _set_ArchR(genome: str,
seed: int = 2022, thread: int = 4) -> None:
'''
Basic settings for running ArchR
---
Input:
- genome: mm9, mm10, hg19, hg38
- threads: number of threads used to run ArchR
set to be 1 to avoid parallel related problem
'''
ArchR = importr('ArchR') ## import ArchR package in python
## import environment for different threads
importr('parallel') ArchR_thread_func = robjects.r['addArchRThreads']
ArchR_thread_func(threads=thread)
seed_func = robjects.r['set.seed']
seed_func(seed) ## if the genome is not installed by BiocManager, ArchR will install it
ArchR_genome_func = robjects.r['addArchRGenome']
## addArchRGenome是ArchR包中的一个函数,用于添加指定的基因组版本到ArchR中。
ArchR_genome_func(genome)
## 如果指定的基因组版本(genome)没有通过BiocManager安装到ArchR中,ArchR将自动安装该基因组版本。

这段代码定义了一个名为_set_ArchR的函数,用于设置运行ArchR的基本配置。函数接受三个参数:genome表示基因组版本,可以是mm9mm10hg19hg38seed表示随机种子,默认为2022;thread表示用于运行ArchR的线程数,默认为4。

在函数内部,首先使用importr('ArchR')将ArchR包导入到Python环境中,然后使用importr('parallel')导入并行计算所需的环境。

(`importr()`函数是rpy2库中的一个函数,用于导入R语言的包(packages)到Python环境中。在Python中使用R语言的功能和函数时,需要先导入相应的R包。`importr()`函数接受一个字符串参数,表示要导入的R包的名称。它会自动检测并导入已安装的R包,使其在Python环境中可用。

例如,`importr('ArchR')`会导入名为"ArchR"的R包,将其加载到Python环境中,以便在Python代码中使用该包提供的功能和函数。一旦导入成功,就可以在Python中使用`robjects.r`对象来调用R包中的函数和执行R代码。)

接下来,通过robjects.r['addArchRThreads']调用R语言的addArchRThreads函数,将线程数设置为thread的值。

然后使用robjects.r['set.seed']调用R语言的set.seed函数,设置随机种子为seed的值。

最后,通过robjects.r['addArchRGenome']调用R语言的addArchRGenome函数,安装或加载指定的基因组版本。

这样,调用_set_ArchR函数时,会根据参数配置ArchR的基本设置,以便后续运行ArchR分析。

请解释 基因组版本的含义

ChatGPT

基因组版本指的是对基因组序列进行组织、注释和命名的特定版本。基因组是生物体中包含所有遗传信息的DNA序列的完整副本。由于科学研究的不断进展,基因组的序列和注释信息会随着时间不断更新和改进。

每个基因组版本都有一个特定的名称或编号,通常使用缩写来表示。常见的基因组版本包括人类基因组版本,如hg19(GRCh37),hg38(GRCh38),小鼠基因组版本,如mm9(NCBI37),mm10(GRCm38)等。

不同的基因组版本可能在基因定位、基因结构、基因注释等方面存在差异。因此,在进行基因组分析时,选择正确的基因组版本非常重要,以确保结果的准确性和可靠性。
`robjects.r`是rpy2库中的一个函数,用于在Python中调用R语言的函数和对象。它允许将R代码嵌入到Python脚本中,并直接在Python环境中执行。

Cellcano代码学习-使用ArchR处理原始数据01 set_ArchR()的更多相关文章

  1. R2CNN项目部分代码学习

    首先放出大佬的项目地址:https://github.com/yangxue0827/R2CNN_FPN_Tensorflow 那么从输入的数据开始吧,输入的数据要求为tfrecord格式的数据集,好 ...

  2. u-boot代码学习内容

    前言  u-boot代码庞大,不可能全部细读,只能有选择的读部分代码.在读代码之前,根据韦东山教材,关于代码学习内容和深度做以下预先划定. 一.Makefile.mkconfig.config.mk等 ...

  3. Objective-C代码学习大纲(3)

    Objective-C代码学习大纲(3) 2011-05-11 14:06 佚名 otierney 字号:T | T 本文为台湾出版的<Objective-C学习大纲>的翻译文档,系统介绍 ...

  4. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  5. ORB-SLAM2 论文&代码学习 ——Tracking 线程

    本文要点: ORB-SLAM2 Tracking 线程 论文内容介绍 ORB-SLAM2 Tracking 线程 代码结构介绍 写在前面 上一篇文章中我们已经对 ORB-SLAM2 系统有了一个概览性 ...

  6. ORB-SLAM2 论文&代码学习 —— 单目初始化

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12358458.html 本文要点: ORB-SLAM2 单目初始化 ...

  7. ORB-SLAM2 论文&代码学习 —— LocalMapping 线程

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12360913.html 本文要点: ORB-SLAM2 Local ...

  8. Learning Memory-guided Normality代码学习笔记

    Learning Memory-guided Normality代码学习笔记 记忆模块核心 Memory部分的核心在于以下定义Memory类的部分. class Memory(nn.Module): ...

  9. 3.1.5 LTP(Linux Test Project)学习(五)-LTP代码学习

    3.1.5 LTP(Linux Test Project)学习(五)-LTP代码学习 Hello小崔 ​ 华为技术有限公司 Linux内核开发 2 人赞同了该文章 LTP代码学习方法主要介绍两个步骤, ...

  10. Apollo代码学习(七)—MPC与LQR比较

    前言 Apollo中用到了PID.MPC和LQR三种控制器,其中,MPC和LQR控制器在状态方程的形式.状态变量的形式.目标函数的形式等有诸多相似之处,因此结合自己目前了解到的信息,将两者进行一定的比 ...

随机推荐

  1. ETL数据仓库的使用方式

    一.ETL的过程 在 ETL 过程中,数据从源系统中抽取(Extract),经过各种转换(Transform)操作,最后加载(Load)到目标数据仓库中.以下是 ETL 数仓流程的基本步骤: 抽取(E ...

  2. SciTech-EECS-MCU-STM32: 高精度实时测量: 电压、电流

    硬件开发>单片机>STM32: 电流电压检测模块 参考Links MCU实现高精度的PWM输出和电流采样 - 21ic论坛 Analog.com: 宽动态范围的高端电流 检测:三种解决方案 ...

  3. 如何控制java虚拟线程的并发度?

    jdk 21中的虚拟线程已经推出好一段时间了,确实很轻量,先来一段示例: 假如有一段提交订单的业务代码: 1 public void submitOrder(Integer orderId) { 2 ...

  4. 【深入解剖Spring事务管理】原理、传播机制与12大失效场景避坑指南

    Spring 事务管理是构建健壮企业应用的核心,其核心原理.@Transactional注解的工作机制.传播行为及失效场景是开发者必须掌握的关键点.下面我将逐一深入解析: 一.Spring 事务管理的 ...

  5. 「GIS数据」下载全国的GeoJSON、shp格式数据(精确到乡镇街道级)-2024年12月更新

    发现个可以免费下载全国 geojson 数据的网站,推荐一下.支持全国.省级.市级.区/县级.街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3.Echarts等 geojso ...

  6. apache的源代码编译安装

    1.下载Apache安装包,下载地址http://httpd.apache.org/,我下载的是httpd-2.4.16,是最新的:然后对安装包进行解压,并进行初始化配置和编译安装: 编译命令: ./ ...

  7. JS-向当前url追加参数

    var newurl = updateQueryStringParameter(window.location.href, 'sp', '2'); //向当前url添加参数,没有历史记录 window ...

  8. 智联万物,能效领航:ThingsBoard 与 MyEMS 开源平台深度解析

    在物联网与能源管理技术蓬勃发展的时代,开源平台凭借其灵活.开放的特性成为行业创新的重要驱动力.ThingsBoard 与 MyEMS 作为开源领域的佼佼者,在各自擅长的领域展现出独特的价值与优势,下面 ...

  9. NVIDIA系统级性能分析工具Nsight Systems入门详解

    1 基本情况 1.1 简介 Nsight Systems(简称nsys)是NVIDIA推出的一款系统级性能分析工具,主要用于优化 GPU 加速应用程序(尤其是基于 CUDA.OpenCL.Direct ...

  10. Uniswap core源码学习

    uniswap的core代码分为两部分,Factory和Pair,其中Factory是工厂合约,主要用来创建交易对,而Pair就是交易对合约,控制LP的mint和burn,以及用户的swap交易. F ...