step2—archr官网教程

.libPaths()
.libPaths(c("G:/R_big_packages/",
            "D:/Win10 System/Documents/R/win-library/4.1",
            "C:/Program Files/R/R-4.1.0/library",
            #"G:/sihuo/tatc/renv/library/R-4.1/x86_64-w64-mingw32",
            #"C:/Users/yll/AppData/Local/Temp/RtmpK2FJvt/renv-system-library"
            ))


getwd()
setwd("G:/sihuo/tatc")

#接着step1

library(ArchR)
addArchRThreads(threads = 16) 
addArchRGenome("hg19")


## tutorial  1.6
library(ArchR)
#inputFiles <- getTutorialData("Hematopoiesis")
#inputFiles #指向fragment的路径
#addArchRGenome("hg19")
## Setting default genome to Hg19.
#addArchRThreads(threads = 16) 
## Setting default number of Parallel threads to 16.
getwd()

??ArchRProject

projHeme2=loadArchRProject(path ="G:/sihuo/tatc/Save-ProjHeme2/" )


getAvailableMatrices(projHeme2)
head(getReducedDims(projHeme2))
names(getReducedDims(projHeme2))
projHeme2@reducedDims %>%names()
projHeme2$Clusters %>%table()
#CellColData(projHeme2)
getCellColData(projHeme2) #这里类似于metadata


pal<-ArchR::paletteDiscrete(values = unique(projHeme2$Clusters))
pal

plotEmbedding(ArchRProj = projHeme2,
              embedding = "UMAP",
              colorBy = "CellColData",
              name = "Clusters",
              imputeWeights =getImputeWeights(projHeme2) )

#library(ArchR)
#library(GenomeInfoDb)
#GenomeInfoDb::seqnames(projHeme2)
plotTSSEnrichment(projHeme2)

plotGroups(projHeme2)

#8.2 Adding Pseudo-scRNA-seq profiles for each scATAC-seq cell

projHeme2@cellMetadata 
projHeme2@projectSummary
projHeme2
projHeme2@cellColData %>%colnames()
getAvailableMatrices(projHeme2)
projHeme2@sampleMetadata

seRNA <- readRDS("./scRNA-Hematopoiesis-Granja-2019.rds")
seRNA
dim(seRNA)


#~5 minutes
is.installed <- "restfulr" %in% installed.packages()[, "Package"]
is.installed
#library(S4Vectors)
projHeme3 <- addGeneIntegrationMatrix(
  ArchRProj = projHeme2, 
  useMatrix = "GeneScoreMatrix",
  matrixName = "GeneIntegrationMatrix",
  reducedDims = "IterativeLSI",
  seRNA = seRNA,
  addToArrow = TRUE,
  force= TRUE,
  groupList = groupList,
  groupRNA = "BioClassification",
  nameCell = "predictedCell",
  nameGroup = "predictedGroup",
  nameScore = "predictedScore"
)
#Error in SimpleList(.) : could not find function "SimpleList"
#总是有报错,重新安装下



projHeme3=projHeme2
confusionMatrix(projHeme3$Clusters, projHeme3$predictedGroup)

### 如何在单细胞ATAC-seq数据分析中使用ArchR整合MACS2 Peak Calling结果 #### 准备工作 为了成功地将MACS2的peak calling结果整合到ArchR的工作流中,需要先准备好经过质量控制并已对齐至基因组的BAM文件。这些文件通常由FastQC、Trimmomatic以及Bowtie2等工具处理得到[^2]。 #### MACS2 Peak Calling 完成上述准备工作之后,可以采用MACS2来进行peak calling操作。这一步骤能够识别出开放染色质区域的位置信息。命令如下所示: ```bash macs2 callpeak -t sample.bam -f BAMPE -g hs -n sample_name --call-summits ``` 此过程会生成多个输出文件,其中最重要的便是`.narrowPeak`格式的结果文件,它包含了所检测到peaks的具体位置及其信号强度等重要属性。 #### 导入Peaks至ArchR 一旦获得了高质量的peak calls列表,下一步就是将其导入ArchR环境中以便进一步分析。具体做法是在创建新的`ArrowFileSet`对象之前指定自定义峰集合路径作为参数传递给函数`addArrows()`: ```r library(ArchR) # 假设已经存在一个名为'project'的对象表示当前项目实例, # 并且有一个变量'macs_peaks_path'存储着指向.narrowPeak文件夹绝对路径. arrows <- addArrows( project = project, inputFiles = macs_peaks_path, outputFileName = "customPeaks.arrow", genome = "hg38" ) ``` 通过这种方式加载外部产生的峰值数据后,就可以像平常一样继续执行后续的任务了,比如构建CellDataSets、计算可访问性矩阵等等[^1]。 #### 数据校正与降维可视化 当所有的预处理步骤完成后,还可以考虑应用一些额外的技术来改善最终呈现效果。例如,在多模态研究场景下,可能会涉及到不同平台间存在的批次效应问题;此时便可以通过诸如ProjectLSI这样的方法来进行矫正[^3]。另外,对于想要探索RNA和ATAC两种模式之间关系的研究者来说,则可能需要用到类似于SnapATAC所提供的联合嵌入功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信小博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值