2

Rを使用して大量のAffymetrix CELファイルを正規化しようとしていますが、一部が切り捨てられているように見えるため、それらを読み取るときにエラーが発生します

Cel file xxx does not seem to have the correct dimensions

そして、正規化は停止します。破損したファイルを手動で削除して毎回再起動すると、非常に時間がかかります。破損したファイルを検出するための高速な方法 (R またはツールを使用) があるかどうか知っていますか?

PS 同じプラットフォームの CEL を一緒に正規化していると 99.99% 確信しています。実際には切り捨てられたファイルです :-)

4

1 に答える 1

4

1 つの簡単な提案:

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            
}
于 2009-11-24T16:38:02.610 に答える