我正在尝试使用 R 规范化大量 Affymetrix CEL 文件。但是,其中一些似乎被截断,所以在阅读它们时我得到了错误
Cel file xxx does not seem to have the correct dimensions
并且正常化停止。每次手动删除损坏的文件并重新启动将需要很长时间。您知道是否有一种快速的方法(在 R 中或使用工具)来检测损坏的文件?
PS 我 99.99% 确定我正在将来自同一平台的 CEL 归一化,它实际上只是截断的文件 :-)
我正在尝试使用 R 规范化大量 Affymetrix CEL 文件。但是,其中一些似乎被截断,所以在阅读它们时我得到了错误
Cel file xxx does not seem to have the correct dimensions
并且正常化停止。每次手动删除损坏的文件并重新启动将需要很长时间。您知道是否有一种快速的方法(在 R 中或使用工具)来检测损坏的文件?
PS 我 99.99% 确定我正在将来自同一平台的 CEL 归一化,它实际上只是截断的文件 :-)
一个简单的建议:
您可以在 read.table (或您正在使用的任何读取命令)周围使用 tryCatch 块吗?如果您收到该错误消息,则只需跳过一个文件。您还可以在 catch 块中编译损坏文件的列表(我建议您这样做,以便在运行像这样的大批处理过程时跟踪损坏的文件以供将来参考)。这是伪代码:
corrupted.files <- data.frame()
for(i in 1:nrow(files)) {
x <- tryCatch(read.table(file=files[i]), error = function(e)
if(e=="something") { corrupted.files <- rbind(corrupted.files, files[i]) }
else { stop(e) },
finally=print(paste("finished with", files[i], "at", Sys.time())))
if(nrow(x)) # do something with the uncorrupted data
}