美文网首页
生信路上遇到的小错误

生信路上遇到的小错误

作者: 小白兔和小毛驴 | 来源:发表于2021-11-07 20:26 被阅读0次

    生信路上遇到的小错误

    1、

    文件修改后存储发生错误:可能你要保存的文件正打开

    2、

    Heatmap热图报错Error in hclust(get_dist(submat, distance), method = method) :    外接函数调用时不能有NA/NaN/Inf(arg10)

    test <- data[apply(data, 1, function(x) sd(x)!=0),]

    再做scale

    3、

    datexpr2=as.data.frame(lapply(datexpr,as.numeric))##数据框中的字符型数字全部转为数值型数字

    4、

    data <- read.table(filename, head=FALSE, as.is=TRUE, quote="", comment.char="#", sep="\t",colClasses=c("character",rep("numeric",10)))##其指定数据类型,用到参数为colClasses ,colClasses参数使用一个向量,为每一列指定数据类型。这里指定了第一列为字符型,其余列都为数值型。这样,第一列再读入时依然是 "01"了。

    5、

    match函数使用时,注意前后顺序,到底是谁匹配谁,匹配完以后有没有NA

    6、

    Surv函数循环调用时,记得一定要把样本ID输入,1:3列。特别是调用函数的时候,这个地方很容易出错。见程序(E:/1.RStudio/1.DXY_learn2.2/teacher_01/Rep_OVCP.R)

    7.

    GEO数据集整理出Exp,Label,GID的流程(无论是否需要标准化),见程序(E:/1.RStudio/1.DXY_learn2.2/teacher_01/bio_geo_test.R)

    E:/1.RStudio/geo_ovarian_GPL96_570/geo_array_ovarian/GEO_verify_sub_way.R

    此程序的表达谱结果中第一列为gene_Symbol,最后一列为对应的entrz_ID(GID),但是可能有部分entrz_ID(GID)是空格,即gene_Symbol没有找到对应的entrz_ID(GID),

    GID<-as.numeric(exprSet[,81])#先取出最后一列

    GID<-na.omit(GID)#去掉其中的NA

    k<-match(GID,probe2symbol_df[,3])#取出对应去掉NA的gene_Symbol的位置

    k<-probe2symbol_df[k,2]#取出对应位置的gene_Symbol名字

    exprSet0<-exprSet[k,]#取出对应gene_Symbol的表达谱数据

    另:每一套数据和其平台都要重新去跑一遍程序,因为对应找到的entrz_ID(GID),都是不一样的。

      TCGA(Xena)芯片数据集整理出Exp,Label,GID的流程,见程序(E:/1.RStudio/1.DXY_learn2.2/teacher_01/Rep_OVCP.R)

    因为是芯片数据,所以表达谱数据中直接给出了gene_Symbol,只要去找对应的entrz_ID(GID)就行。

      TCGA(Xena)测序数据集整理出Exp,Label,GID的流程,见程序(E:/1.RStudio/1.DXY_learn2.2/teacher_01/deal_with_data.R)

    因为是测序数据,给出的是ENSG开头的基因名,所以需要先进行一步转换,转换得到gene_Symbol后,再去找对应的entrz_ID(GID)就行。

    ps:非常重要的点

      ①所有的Label需要自己整理。

      ②Exp,Label,GID整理完后,需要检查样本顺序是否一致,GID是否一致,Exp/GID中是否有NA,检查用语句data[is,na(data)],会给出NA的个数。

      ③Exp数据行为基因。列为样本。整理tcga的Exp表达谱时行名让它保留gene_Symbol的名字的和不保留gene_Symbol的名字的数据各整理一套,因为你的程序需要用到

    8.

    写function函数程序嵌套时,从数据库中取出某些列时是以list形式取出来的,而做coxph生存分析时,如果你直接写列名时,就不用管取出来的是什么形式的数据;如果你写的是第几列,那就要确保取出来的数据仍然保持矩阵形式,只有这样数据格式才不会变。详情见:E:/1.RStudio/geo_ovarian_GPL96_570/geo_array_ovarian/OVCP926.R

    E:/1.RStudio/geo_ovarian_GPL96_570/geo_array_ovarian/SurPairchoose_bio.R

    E:/1.RStudio/geo_ovarian_GPL96_570/geo_array_ovarian/SurPairchoose.R

    E:/1.RStudio/geo_ovarian_GPL96_570/geo_array_ovarian/SurpairTest.R

    9.

    Arrayexpress中数据整理经验:

    Exp数据基因名需要删掉前一部分,保留到能找到对应entrezid的部分。

    GIDe对应-mtab-386_entrezidl.txt文件,找出GID

    Label文件对应下载e-mtab-386.sdrf.txt文件,Hybridization.Name列直接改成mirRNA和RNA,Scan_Name列rep改成’.‘为了和Exp中的列名匹配。

    10.

    R读取数据出现“line 1 appears to contain embedded nulls”的解决方法

    由于数据可能在Windows下编辑过,保存的是UTF-16的格式用R读取可能会出现以下问题。这种情况有以下三种解决方案。

    解决方法一:fileEncoding="UTF16LE"或者fileEncoding="UTF16"

    sampInfo=read.table("/media/xxx/sampInfo_origin.txt", fileEncoding="UTF16LE", sep="\t", header=T)

    解决方法二:在Excel中打开,另存为csv文件即可。

    解决方法三:在linux系统里将sampInfo_origin.txt用gedit打开,另存为sampInfo_origin01.txt,“Character Encoding” 改为 UTF-8, “Line ending”改为“Unix/Linux”。

    sampInfo=read.table("/media/xxx/sampInfo_origin01.txt", sep="\t", header=T)

    11.

    正常读入TXT文件需要把行名变为第一列

    library(dplyr)

    Exp <- tibble::rownames_to_column(Exp,"GeneSymbol")

    12.

    Rstudio报错:

    # Error: package or namespace load failed for ‘clusterProfiler’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):

    # 载入了名字空间‘rlang’ 0.4.5,但需要的是>= 0.4.6

    解决方法:

    关了RStudio。

    如果这是安装某个包出现的这个语句,删除对应library的package(如果不知道library的路径在哪里,可以看RStudio的Tools-Global Option-General- R version,举例如下)。

    使用R来下载对应的包,而不是RStudio。

    PS:你没看错,这是RStudio的锅。纠结了1.5h,尝试了多种方式后解决方案

    13.将某个数据框中因子标签“0”,“1”变成字符标签“男”,“女”方法

    ## 添加变量标签以便后续说明

    lung$sex<-factor(lung$sex,levels=c(1,2),labels=c("male","female"))

    14.分析和预测与 某基因(如MAP3K3) 相互作用的 miRNA的网站

    Targetscan (http://www.targetscan.org/vert_71/)、

    miRDB (http://www.mirdb.org/cgi-bin/search。 cgi)、

    StarBase (http://starbase.sysu.edu.cn/) 

    miRTarBase (http://mirtarbase.mbc.nctu.edu.tw/php/index.php)。

    15.R 读入TXT文件报错line 87 did not have 10 elements

    gse49997_Label<-read.table("gse49997_Label.txt",header=T,stringsAsFactors = F,comment.char = "",sep = "\t")##与普通读入TXT文件相比,增加一个参数限制 comment.char = ""和quote=""即可。

    16.去除NA

    去除NA值的行na.omit()就行

    去除NA值的列 library(dplyr)

                 dfpra<-    dfpra%>%select_if(~!any(is.na(.)))

    17.多个向量取交集

    genes<-Reduce(intersect,list(A,B,C,D...))

    相关文章

      网友评论

          本文标题:生信路上遇到的小错误

          本文链接:https://www.haomeiwen.com/subject/pxmezltx.html