从两个字符写一个基因向量表

时间:2017-10-22 11:15:00

标签: r vector character

我有两个带有测序数据的数据框。一个大背景'称为genes.txt的一组计数,以及一组称为degenes.txt的差异表达基因。每个数据框都有几列,包括一个名为'符号'其中包含“Car9'”形式的基因符号。例如。我需要从每个列中获取基因符号列,并使用所有背景基因符号创建一个新表,并使用0或1表示差异表达符号。

newcounts <- read.table("genes.txt", header=T,sep="\t",check.names=F, stringsAsFactors = FALSE)
head(newcounts)

# create a list of the 45000 background genes
backgroundgenes <- as.character(newcounts$symbol)
head(backgroundgenes)
backgroundgenes <- backgroundgenes[!is.na(backgroundgenes)]

我从专栏中删除了一堆,因为我不需要它们。

degenes <- read.csv("degenes.csv", stringsAsFactors = FALSE)
head(degenes)
degenes <- as.character(degenes[,12])
degenes <- degenes[!is.na(degenes)]

这里也是一样的。符号是此df中的第12列。所以现在我有两个字符,每个字符的数据类型相同,一个大约24000长,另一个大约350长。

gene.vector <- as.integer(backgroundgenes%in%degenes)
names(gene.vector) <- backgroundgenes
head(gene.vector)

现在我可以看到我的gene.vector,它的所有基因名称都在下面有0或1。到目前为止一切顺利。

#write as a table
write.table(gene.vector, file="outedgeR05vectortest.txt", sep="\t", quote = F, col.names=F)

这就是出错的地方。我的输出表有一列从1到25000的升序数而不是我的基因名。第二列具有正确的0和1数。我已经使用这个工作到我已经使用具有ensembl基因标识符的两个基因组(例如,形式为ENSMUSG00048979)的列完成了我的下游分析。我不明白为什么使用不同输入的完全相同的代码不起作用。感谢您的任何帮助,您可以提供。

> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] pathview_1.16.1                        org.Hs.eg.db_3.4.1                     gage_2.26.1                           
 [4] KEGG.db_3.2.3                          TxDb.Mmusculus.UCSC.mm10.ensGene_3.4.0 GenomicFeatures_1.28.4                
 [7] GenomicRanges_1.28.3                   GenomeInfoDb_1.12.2                    org.Mm.eg.db_3.4.1                    
[10] GO.db_3.4.1                            AnnotationDbi_1.38.1                   IRanges_2.10.2                        
[13] S4Vectors_0.14.3                       Biobase_2.36.2                         BiocGenerics_0.22.0                   
[16] goseq_1.28.0                           geneLenDataBase_1.12.0                 BiasedUrn_1.07                        
[19] edgeR_3.18.1                           limma_3.32.2                           BiocInstaller_1.26.1                  

loaded via a namespace (and not attached):
 [1] graph_1.54.0               DBI_0.7                    Rsamtools_1.28.0           zlibbioc_1.22.0           
 [5] bitops_1.0-6               SummarizedExperiment_1.6.3 bit_1.1-12                 lattice_0.20-35           
 [9] RSQLite_2.0                pkgconfig_2.0.1            KEGGgraph_1.38.0           DelayedArray_0.2.7        
[13] rtracklayer_1.36.4         blob_1.1.0                 compiler_3.4.1             GenomicAlignments_1.12.1  
[17] biomaRt_2.32.1             png_0.1-7                  Rcpp_0.12.11               GenomeInfoDbData_0.99.0   
[21] httr_1.2.1                 tools_3.4.1                RCurl_1.95-4.8             BiocParallel_1.10.1       
[25] memoise_1.1.0              nlme_3.1-131               R6_2.2.2                   XVector_0.16.0            
[29] digest_0.6.12              Matrix_1.2-10              bit64_0.9-7                grid_3.4.1                
[33] XML_3.98-1.9               rlang_0.1.1                Biostrings_2.44.1          mgcv_1.8-17               
[37] Rgraphviz_2.20.0           matrixStats_0.52.2         KEGGREST_1.16.0            locfit_1.5-9.1            
[41] tibble_1.3.3              

0 个答案:

没有答案