執行命令python eqtl_prepare_expression.py data.tpm.gct data.reads_count.gct --tpm_threshold 0.1 --count_threshold 2 --sample_frac_threshold 0.2 --normalization_method tmm --output data.txt
時出現了報錯“invalid value encountered in divide”以及“invalid value encountered in double_scalars”的報錯,問chatgpt,給了我以下的解決方案:
按照上述方案,去除無效值(如NaN或Inf):
cleaned_data <- data %>%
mutate(across(col4:coln,
~ as.numeric(.) %>% # 將列轉換為 double 型別
na_if(Inf) %>% # 將 Inf 替換為 NA
na_if(NaN))) # 將 NaN 替換為 NA
再次執行命令python eqtl_prepare_expression.py data.tpm.gct data.reads_count.gct --tpm_threshold 0.1 --count_threshold 2 --sample_frac_threshold 0.2 --normalization_method tmm --output data.txt
,沒啥卵用~~,還是出現相同的報錯,說明不是無效值導致的。
再次檢查資料,發現是某列均是0導致執行出現的報錯。那就去除全是0的列:
tr1=tr %>% select(where(is.numeric)) %>% select_if(~ sum(.) != 0)
再次執行命令,總算正常了~