由于数据下载到服务器时使用的是root账户
而R studio server 只能使用普通账户
查看文件权限
ll
修改ALL文件夹下所有文件的所有者
chown -R liutao:liutao /home/liutao/data/ALL
源代码:https://www.cnblogs.com/jiangfeilong/p/11141208.html
这将把指定文件 filename
的所有者和所属组都修改为 liutao,只有 liutao 用户可以访问该文件
TCGA数据整理:
将metadata文件导入工作目录
使用R studio整理数据
###TCGA数据整理60660
setwd("~/data/ALL") #设置工作路径
library("rjson")
json <- jsonlite::fromJSON("~/data/ALL/raw/metadata.cart.2024-08-22.json") #metadata文件名"
View(json)
sample_id <- sapply(json$associated_entities,function(x){x[,1]})
file_sample <- data.frame(sample_id,file_name=json$file_name)
count_file <- list.files('~/data/ALL/raw/TARGET-ALL-P2-countfile',pattern = '*.tsv',recursive = TRUE) #Counts文件夹名
###过滤parcel结尾的文件
count_file <- count_file[!grepl("\\.parcel$", count_file)]
count_file
count_file_name <- strsplit(count_file,split='/')
count_file_name <- sapply(count_file_name,function(x){x[2]})
#修改基因数
matrix = data.frame(matrix(nrow=60660,ncol=0))
#合并matrix
for (i in 1:length(count_file_name)){
path = paste0('~/data/ALL/raw/TARGET-ALL-P2-countfile//',count_file[i]) #Counts文件夹名,不要删除"//"
data<- read.delim(path,fill = TRUE,header = FALSE,row.names = 1)
colnames(data)<-data[2,]
data <-data[-c(1:6),]
data <- data[3] #取出unstranded列(得到COUNT矩阵),若想提取fpkm-unstranded则改为data[7],fpkm-up-unstranded改为data[8]
colnames(data) <- file_sample$sample_id[which(file_sample$file_name==count_file_name[i])]
matrix <- cbind(matrix,data)
}
#导出matrix
write.table(file="TARGET-ALL_matrix532.txt",matrix,sep="\t",quote=F)
本例使用Linux gdc-client下载TCGA数据
在每个样本的文件夹中都保留一个“logs”文件夹
因此在上述代码中增加了grepl函数进行过滤
###过滤parcel结尾的文件
count_file <- count_file[!grepl("\\.parcel$", count_file)]
代码运行完成获得matrix矩阵