R语言 GSE文件解析

# GSE_Expression_Matrix.R  
# 整理下载的数据
# 指针换基因名

工程文件目录:

项目文件目录:

rm(list = ls())
gc()
options(stringsAsFactors = F)
# 设置链接超时时间
options(timeout=200000)

# 设置R的使用内存
Sys.setenv("VROOM_CONNECTION_SIZE"=99999999)

## 加载自定义R包
source("./R_Function/R_Packages_Manage.R",encoding="utf-8")
rpackages <- c('GEOquery','tidyverse','magrittr','readxl','limma','dplyr','stringr','data.table','impute','org.Hs.eg.db','AnnotationDbi')
pkgs_in(rpackages)

inputPath <- "./0_GEO/2_GSE_Expression_Matrix/1_Input/"
outputPath <- "./0_GEO/2_GSE_Expression_Matrix/2_Output/"

# GSE_NO <- read.delim(paste0(inputPath, "GSE_NO.txt"), header = FALSE, stringsAsFactors = FALSE)
# GPL_NO <- read.delim(paste0(inputPath, "GPL_NO.txt"), header = FALSE, stringsAsFactors = FALSE)

# 使用 list.files 列出目录中的文件,并使用正则表达式进行匹配过滤
gse_files <- list.files(path = inputPath, pattern = "^GSE.*\\.gz$", full.names = FALSE)

gse_files <- as.data.frame(gse_files) %>% 
  mutate(across(everything(), ~ str_split_fixed(., "_", 2)[,1])) %>% 
  mutate(across(everything(), ~ str_split_fixed(., "-", 2)[,1])) %>% 
  set_colnames("GSE_NO") %>% unique()

results <- data.frame()
results[] <- list(NULL)


find_matching_columns <- function(df, pattern) {
  # 分割列名为单词列表
  column_words <- strsplit(names(df), "\\s+|_|-|\\.|,")
  
  # 定义一个向量来存储匹配的列名和它们的匹配分数
  matched_columns <- list()
  
  # 对每一列进行检查
  for (i in seq_along(column_words)) {
    
    if(length(column_words[[i]]) >2) next
    words <- column_words[[i]]
    match_count <- sum(grepl(pattern, words, ignore.case = TRUE))
    
    if (match_count > 0) {
      matched_columns[[names(df)[i]]] <- match_count
    }
  }
  # 按照匹配词的数量进行排序(降序)
  sorted_columns <- names(sort(unlist(matched_columns), decreasing = TRUE))
  return(sorted_columns)
}

for(GSE_NO1 in gse_files$GSE_NO){
  
  #

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值