在bioconductor中讀取gpr檔發生錯誤的解決方案


當你在bioconductor中下
>read.GenePix("xxx.gpr")
發生錯誤訊息:
Error in if (skip > 0) readLines(file, skip) :
missing value where TRUE/FALSE needed
這是因為,read.GenePix只需讀取gpr檔中table的資料,而不需要前面的附加資訊,所以當讀到前面的附加資訊,發現格式不對時,就會產生這個錯誤訊息。
解決方式:
1. 更改指令為 read.GenePix("xxx.gpr", skip=31)  //此指令表示略過前面31行,從第32行開始讀取,一般附加資訊是在前31行,table資訊是從32行開始。
2. 把gpr檔用文字編輯器開啟,把前面31行刪除,只留下"Block" "Column" "Row"…以下的資料
 
這樣就可以正確讀取gpr檔了
 
除了上述的錯誤訊息外,若發生錯誤訊息:
1: input string 32 is invalid in this locale in:
grep(pattern, x, ignore.case, extended, value, fixed, useBytes)
2: input string 32 is invalid in this locale in:
grep(pattern, x, ignore.case, extended, value, fixed, useBytes)
 
這是表示,在欄位32的名稱有問題,如果用excel開啟gpr檔可以發現,在欄位32(有時是33)的名稱有一個文字是亂碼(看起來像日文字),將該亂碼刪除即可解決。

發生的原因,我猜是編碼的問題,不過,在中、英文的mac下都出現一樣的問題,中文windows也有一樣問題,所以不確定和作業系統有沒有關係。

arrow
arrow
    全站熱搜

    bioinfo 發表在 痞客邦 留言(0) 人氣()