アメリエフの技術ブログ

Amelieff Staff Blog

昨日できた計算が今日できない

パソコン苦手な人の「何もしてないんですけどぉ」は、絶対何かしてる
ーーコンピューターの不具合あるある

よく聞きますね。 ついに自分でもやってしまった新入社員です。
エラー対処の試行錯誤を少しでも減らせればと思い、対策をブログに書いておきます。

初めて使うソフトウェアならともかく、昨日まで使っていたものにエラーが出るのは不思議ですよね。
そんなときの対処手順を、プログラム風に書いてみると......

if エラー文を解読できる :
    エラー文に従って対処する
else:
    以前うまくいった入力ファイルで実行
    if OK:
        新しい入力ファイルが悪い、かも
    elif 同じエラーが出てきた :
        データベースかプログラムが悪い、かも
    else:
        新しいエラーに対処。はじめに戻る

「同じエラーが出てきた 」ルートに入った新入社員(わたし)は、
プログラムの再インストール、データベースの再構築を行い、解決しました。

エラーが出始める前に、実はデータの整理を行っており、その際に必要なファイルを消した or 変な場所に置いてしまったようです。

データの整理には、ぽちぽちファイル名を打つのではなく、安全にデータ移行できる方法を使いましょう!

データ移行やバックアップ - アメリエフのブログ


ちなみにどんな計算をしていたのかというと、SnpEff でVCFファイルにアノテーションをしていました。
エラー文でWeb検索をする人は私だけではないと思うので、何かの参考に貼っておきます。
似たようなエラー文に遭遇した方は、プログラムの再インストール、データベースの構築を試してみてくださいね。

$ java -Xmx100G -jar /path/snpEff.jar ann -t -c /path/snpEff.config hg19 ./result/sample_sift.vcf

エラー文の一部

[STAT] 255
[STE] java.lang.IllegalArgumentException: No enum constant org.snpeff.interval.Exon.ExonSpliceType.ETAINED
    :
java.lang.RuntimeException: Error parsing line 732114 from file '/path/data/hg19/snpEffectPredictor.bin'
    :
Caused by: java.lang.IllegalArgumentException: No enum constant org.snpeff.interval.Exon.ExonSpliceType.ETAINED