此处的文件:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE104323
称为:
GSE104323_metadata_barcodes_24185cells.txt.gz
在 R 中无法正确加载,它缺少年龄列,这可以说是最重要的元数据,并且一半的列是 NA 的。
以下代码加载数据。
hochgerner24k_2018_meta <- read.table(paste(testsetpath,"/Hochgerner2018/GSE104323_metadata_barcodes_24185cells.txt.gz", sep=""), header =TRUE, fill =TRUE)
如果没有
fill = TRUE
,则会出现以下错误:
扫描错误(文件=文件,什么=什么,sep = sep,quote = quote,dec = dec,:
第 1 行没有 30 个元素
如何在不丢失所有这些信息的情况下将此元数据加载到数据框中?
该文件没有我可以看到的任何元数据。这是一个制表符分隔的文件。我怎么知道呢?好吧,我想我可以查看它的文档,它可能在某个地方,但我所做的是在文本编辑器中查看它 --->
您可以观察制表符分隔文件的典型文本排列:所有列都左对齐,当文本渗透到下一列时,其中一些列会移动。
hochgerner24k_2018_meta <- read.table("~/Downloads/GSE104323_metadata_barcodes_24185cells.txt.gz", header =TRUE, sep="\t")
> str(hochgerner24k_2018_meta)
'data.frame': 24216 obs. of 11 variables:
$ Sample.name..24185.single.cells. : chr "10X79_1_AAACTAGCTAGCCC-" "10X79_1_AAACTAGGATGTAT-" "10X79_1_AAACTCACGGCGTT-" "10X79_1_AAACTGTCGGCTCA-" ...
$ source.name : chr "dentate gyrus" "dentate gyrus" "dentate gyrus" "dentate gyrus" ...
$ organism : chr "Mus musculus" "Mus musculus" "Mus musculus" "Mus musculus" ...
$ characteristics..strain : chr "hGFAP-GFP" "hGFAP-GFP" "hGFAP-GFP" "hGFAP-GFP" ...
$ characteristics..age : chr "P120" "P120" "P120" "P120" ...
$ characteristics..sex.of.pooled.animals: chr "2males+1female" "2males+1female" "2males+1female" "2males+1female" ...
$ characteristics..cell.cluster : chr "Neuroblast" "OPC" "GC-adult" "MOL" ...
$ molecule : chr "total RNA" "total RNA" "total RNA" "total RNA" ...
$ SRR.run.accession : chr "SRR6089817" "SRR6089947" "SRR6089529" "SRR6089595" ...
$ raw.file..original.file.name. : chr "10X79_1_AAACTAGCTAGCCC.fq.gz" "10X79_1_AAACTAGGATGTAT.fq.gz" "10X79_1_AAACTCACGGCGTT.fq.gz" "10X79_1_AAACTGTCGGCTCA.fq.gz" ...
$ UMI_CellularBarcode : chr "CGGCGATCCC_AAACTAGCTAGCCC" "AGTGGTAATG_AAACTAGGATGTAT" "GGGTGCGCTC_AAACTCACGGCGTT" "CCTTTCAACG_AAACTGTCGGCTCA" ...
注意:
.gz
文件并不总是这种格式(或任何格式)。它们只是被压缩,分隔符对于压缩算法没有特别重要的意义。您看到的下一个 .gz
文件可能有任何结构,也可能没有结构。