Rocky 9 安装 R-CytoTRACE


官网给出的详细指南,只是可能大家打不开或者懒得去看E文。

第一步,下载CytoTRACE安装包。

wget https://cytotrace.stanford.edu/CytoTRACE_0.3.3.tar.gz

第二步,打开R或者Rstudio-server

# 安装依赖包
if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")
BiocManager::install("sva")# 安装CytoTRACE
# PATH/TO/DIRECTORY 写自己的路径install.packages("devtools")
devtools::install_local("PATH/TO/DIRECTORY/CytoTRACE_0.3.3.tar.gz")Or
getwd()#获取路径,然后把CytoTRACE_0.3.3.tar.gz移动到相应位置
install.packages("devtools")
devtools::install_local("./CytoTRACE_0.3.3.tar.gz")

第三步,安装python相关的包

$ pip install scanoramaCT
$ pip install numpy# 官网原文
The iCytoTRACE() function in the R package requires 2 Python packages, 
scanoramaCT, an adapted version of the original Scanorama code for application to CytoTRACE, and numpy. 
The CytoTRACE() function will run without these dependencies, 
but to enable application of CytoTRACE across multiple batches/datasets,
install the Python dependencies by running:

第四步,设置Python路径

# 这些是我调用conda环境的命令不用输入
# 不用输入
# 不用输入,快进到sys.setenv。
.libPaths(c('/data/anaconda3/envs/public/lib/R/library',.libPaths()))
current_paths <- .libPaths()
new_paths <- current_paths# 将第三个路径移到第一位
new_paths[1] <- current_paths[2]
new_paths[2] <- current_paths[1]
.libPaths(new_paths)
.libPaths()# 就是下面这句,因为我调用了public环境,所有python路径用conda中的。
Sys.setenv(RETICULATE_PYTHON="/data/anaconda3/envs/public/bin/python")
library(CytoTRACE)

第五步,测试

# 删除未表达的基因
expressed_genes <- rowSums(marrow_10x_expr > 0) > 0
marrow_10x_expr_filtered <- marrow_10x_expr[expressed_genes, ]# 调整表型标签长度
shortened_labels <- substr(marrow_10x_pheno, 1, 25)# 运行 CytoTRACE,并关闭快速模式
results <- CytoTRACE(marrow_10x_expr_filtered,enableFast = FALSE, ncores = 8, subsamplesize = 1000)# 可视化
plotCytoTRACE(results, phenotype = shortened_labels, gene = "Kit")

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

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

相关文章

在vue中$nextTick 原理及作用

在vue中$nextTick 原理及作用 Vue 的 nextTick 其本质是对 JavaScript 执行原理 EventLoop 的一种应用。 nextTick 的核心是利用了如 Promise 、MutationObserver、setImmediate、setTimeout的原生 JavaScript 方法来模拟对应的微/宏任务的实现&#xff0c;本质是为了利用 Java…

每周AI新闻(2024年第9周)微软与Mistral AI达成合作 | 谷歌发11B基础世界模型 | 传苹果放弃电动汽车制造转向生成式AI

这里是陌小北&#xff0c;一个正在研究硅基生命的碳基生命。正在努力成为写代码的里面背诗最多的&#xff0c;背诗的里面最会写段子的&#xff0c;写段子的里面代码写得最好的…厨子。 每周日解读每周AI大事件。 大厂动向 【1】微软与Mistral AI达成合作 微软官宣与法国生成…

视频云平台——搭建SRS5平台支持GB28181视频流的推送

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;我们面对的不仅…

谨用ArrayList中的subList方法

谨用ArrayList中的subList方法 规范一&#xff1a; ArrayList 的 subList 结果不可强转成 ArrayList&#xff0c;否则会抛出 ClassCastException 异常&#xff1a; public static void test7() {List<Integer> list new ArrayList<>();list.add(1);list.add(2);…

JavaWeb—— SpringBootWeb综合案例(登录功能、登录校验、异常处理)

案例-登录认证 目录 案例-登录认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 2. 登录校验2.1 问题分析2.2 会话技术2.2.1 会话技术介绍2.2.2 会话跟踪方案2.2.2.1 方案一 - Cookie2.2.2.2 方案二 - Session2.2.2.3 方案三 - 令牌技术 2.3 JWT令牌2.3.1…

程序员眼中的“祖传代码”

引言 在IT界&#xff0c;特别是在Java项目中&#xff0c;“祖传代码”通常指的是那些经过长时间积累、由多位开发者共同维护、且蕴含深厚技术沉淀的代码片段或模块。这些代码可能存在于项目的核心模块&#xff0c;也可能是一些辅助性的工具类。它们承载着项目的历史&#xff0…

Matlab 多项式插值(曲线拟合)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 由于对曲线拟合有些兴趣,这里就找了一些资料从最基本的方法来看一下曲线拟合的效果: 二、实现代码 % **********

Vue.js中的路由导航守卫和其使用方法

Vue.js 中的路由导航守卫是 Vue Router 提供的一套机制&#xff0c;用于在路由切换的过程中执行自定义代码逻辑&#xff0c;包括但不限于权限验证、页面滚动位置保存、加载数据等。它分为三种类型&#xff1a; 全局前置守卫 (Global beforeEach Guard) 全局前置守卫应用在整个…

python科学计算库之Numpy库的使用的简单习题

Numpy库 Numpy&#xff08;Numerical Python的缩写&#xff09;是一个开源的Python库&#xff0c;用于进行科学计算。它提供了一个高性能的多维数组对象&#xff08;ndarray&#xff09;及用于处理这些数组的各种工具和函数。由于其高效和灵活的数据结构以及丰富的功能&#x…

Google 地图 API 教程--干货(1/2)

Google Maps API 教程 在本教程中我们将学习如何使用谷歌地图API V3创建交互式地图。 什么是 API? API = 应用程序编程接口(Application programming interface)。 API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用接口,…

【d34】【Java】【力扣】27. 移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

案例介绍:汽车售后服务网络构建与信息抽取技术应用(开源)

一、引言 在当今竞争激烈的汽车行业中&#xff0c;售后服务的质量已成为品牌成功的关键因素之一。作为一位经验丰富的项目经理&#xff0c;我曾参与构建一个全面的汽车售后服务网络&#xff0c;旨在为客户提供无缝的维修、保养和配件更换服务。这个项目的核心目标是通过高效的…

spring、springmvc、springboot框架的介绍

前言 我们已经学过Spring&#xff0c;SpringMVC&#xff0c;SpringBoot了&#xff0c;那这三者之间有没有联系或者区别呢&#xff1f; spring是一个一站式的轻量级java开发的框架&#xff0c;那我们刚开始使用spring的时候&#xff0c;是需要配置很多的配置文件以及繁琐的过程…

状态机实现双击、短按、长按等按键识别检测算法

1、按键识别算法的作用 按键识别算法在不同的技术和应用背景下有不同的作用&#xff0c;但其核心目标都是准确、可靠地检测和区分用户通过物理或虚拟按键所执行的操作。按键识别算法在各类电子设备及系统中起到至关重要的作用&#xff0c;它确保了人机交互的有效性和准确性&…

Vue前端+快速入门【详解】

目录 1.Vue概述 2. 快速入门 3. Vue指令 4.表格信息案例 5. 生命周期 1.Vue概述 1.MVVM思想 原始HTMLCSSJavaScript开发存在的问题&#xff1a;操作麻烦&#xff0c;耦合性强 为了实现html标签与数据的解耦&#xff0c;前端开发中提供了MVVM思想&#xff1a;即Model-Vi…

Mysql-主从架构篇(一主多从,半同步案例搭建)

主从架构 主从架构有什么用&#xff1f; 通过搭建MySQL主从集群&#xff0c;可以缓解MySQL的数据存储以及访问的压力。 数据安全&#xff08;主备&#xff09;&#xff1a;给主服务增加一个数据备份。基于这个目的&#xff0c;可以搭建主从架构&#xff0c;或者也可以基于主…

GO语言学习笔记(与Java的比较学习)(九)

读写数据 读取用户的输入 最简单的办法是使用 fmt 包提供的 Scan 和 Sscan 开头的函数。 Scanln 扫描来自标准输入的文本&#xff0c;将空格分隔的值依次存放到后续的参数内&#xff0c;直到碰到换行。Scanf 与其类似&#xff0c;除了 Scanf 的第一个参数用作格式字符串&…

大数据开发(Java面试真题-卷三)

大数据开发&#xff08;Java面试真题&#xff09; 1、简要介绍以下JVM有几种垃圾收集器&#xff1f;2、Java中Synchronized的底层原理是什么&#xff1f;3、Java String为什么是不可变的&#xff1f;为什么要设计成不可变&#xff1f;4、泛型&#xff1f;5、常用的反射方法&…

深入Java日志框架及其最佳实践

概述 在Java应用开发中&#xff0c;日志框架是确保应用稳定性和可观察性的关键组件。它帮助开发者记录应用的行为、诊断问题&#xff0c;并监控系统的健康状况。随着Java生态系统的不断发展&#xff0c;各种日志框架也应运而生&#xff0c;各有特点和优势。本文将详细探讨几个…

redis进阶(一)

文章目录 前言一、Redis中的对象的结构体如下&#xff1a;二、压缩链表三、跳跃表 前言 Redis是一种key/value型数据库&#xff0c;其中&#xff0c;每个key和value都是使用对象表示的。 一、Redis中的对象的结构体如下&#xff1a; /** Redis 对象*/ typedef struct redisO…