お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2024-05-13 15:27:25

matsu1129
メンバ
登録日: 2024-03-05

FASTAファイルのdictionaryの作成ができない

$ ~/Documents/matsuo/tools/gatk-4.5.0.0/gatk CreateSequenceDictionary --REFERENCE ~/Documents/○○○/materials/JG.fa
のコマンドプロンプトを実行すると
Using GATK jar /home/inf/Documents/matsuo/○○○/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar
Running:
    java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar CreateSequenceDictionary --REFERENCE /home/inf/Documents/matsuo/materials/JG.fa
Error: Invalid or corrupt jarfile /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.ja

とエラーが出ました。Java8/JDK1.8以降のJavaが必要とのことなので、javaのバージョンを確認すると
$ java -version
java version "1.7.0_80"
だったのでopenjdk-17をインストールするため次を実行したところ

~/Documents/○○○/tools$ sudo apt install -y openjdk-17-jdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openjdk-17-jdk is already the newest version (17.0.7+7~us1-0ubuntu1~18.04).
The following packages were automatically installed and are no longer required:
  cdbs debhelper dh-autoreconf dh-strip-nondeterminism dh-translations
  intltool jq libarchive-cpio-perl libfile-stripnondeterminism-perl
  libfile-which-perl libjq1 libllvm9 libmail-sendmail-perl libonig4
  libsys-hostname-long-perl po-debconf python3-scour scour
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.

と表示されすでにインストールされているようでした。openjdk-17でもJava8/JDK1.8以降という規格は満たしていないのでしょうか。次に何をしていいか困っています。ご教授よろしくお願いいたします。

オフライン

 

#2 2024-05-13 17:50:05

hellfire
メンバ
From: 日本/神奈川県
登録日: 2006-11-21

Re: FASTAファイルのdictionaryの作成ができない

matsu1129 さん

matsu1129 による投稿:

$ java -version
java version "1.7.0_80"

別のところにインストールした java が使われているのではないでしょうか?
私も apt で openjdk-17-jdk をインストールしてみましたが、
java のバージョンは 17.0.10 になっていました。

コード:

$ sudo apt install openjdk-17-jdk
$ java --version
openjdk 17.0.10 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)

まず、apt でインストールした java が使われているのかを確認してください。
確認するコマンドは以下になります。

コード:

$ which java

通常であれば、/usr/bin/java と表示されるはずです。

オフライン

 

#3 2024-05-13 20:54:40

kanchi
メンバ
登録日: 2024-05-11

Re: FASTAファイルのdictionaryの作成ができない

matsu1129 による投稿:

$ ~/Documents/matsuo/tools/gatk-4.5.0.0/gatk CreateSequenceDictionary --REFERENCE ~/Documents/○○○/materials/JG.fa
のコマンドプロンプトを実行すると
Using GATK jar /home/inf/Documents/matsuo/○○○/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar
Running:
    java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar CreateSequenceDictionary --REFERENCE /home/inf/Documents/matsuo/materials/JG.fa
Error: Invalid or corrupt jarfile /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.ja

とエラーが出ました。Java8/JDK1.8以降のJavaが必要とのことなので、javaのバージョンを確認すると

最後のgatk-package-4.5.0.0-local.jaはjarが切れちゃった感じでしょうか?
あと、確かにgatkは現在記載していただいたJavaのバージョン以上の物が必要みたいですが、エラーの中ではそんなことは書かれていないような?
記憶違いであれば申し訳ないのですが、求めるバージョンが違うときにはそのようなメッセージが出ていたような気がしています。
なので、もしかしたら以下の2つの問題があるのではないかと個人的に思っています。(違ったらすみません)
①gatk-package-4.5.0.0-local.jarが壊れている
②hellfireさんが言うように違うJavaが使われている

①に関してはgatk-package-4.5.0.0-local.jarのダウンロード/インストールをやり直してみるのがいいかもしれません。

matsu1129 による投稿:

openjdk-17でもJava8/JDK1.8以降という規格は満たしていないのでしょうか。

満たしていたはずです。

オフライン

 

#4 2024-05-16 18:33:38

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

hellfire による投稿:

matsu1129 さん

matsu1129 による投稿:

$ java -version
java version "1.7.0_80"

別のところにインストールした java が使われているのではないでしょうか?
私も apt で openjdk-17-jdk をインストールしてみましたが、
java のバージョンは 17.0.10 になっていました。

コード:

$ sudo apt install openjdk-17-jdk
$ java --version
openjdk 17.0.10 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)

まず、apt でインストールした java が使われているのかを確認してください。
確認するコマンドは以下になります。

コード:

$ which java

通常であれば、/usr/bin/java と表示されるはずです。

hellfireさん

お返事ありがとうございます。

$ which java
通常であれば、/usr/bin/java と表示されるはずです。
>/usr/bin/java と表示されました。
とうことはjarファイルが壊れているということでしょうか。GATK4.5.0.0はつい先日インストールしたばかりなのですが、壊れているってことはあるのでしょうか。GATK4.5.0.0をインストールする前はGATK4.1.7.0と4.4.0.0がインストールされていたのですが同じ結果が返ってきたため、jarファイルが壊れているかと思いGATK4.5.0.0をインストールした次第です。

オフライン

 

#5 2024-05-16 18:41:43

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

kanchi による投稿:

matsu1129 による投稿:

$ ~/Documents/matsuo/tools/gatk-4.5.0.0/gatk CreateSequenceDictionary --REFERENCE ~/Documents/○○○/materials/JG.fa
のコマンドプロンプトを実行すると
Using GATK jar /home/inf/Documents/matsuo/○○○/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar
Running:
    java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.jar CreateSequenceDictionary --REFERENCE /home/inf/Documents/matsuo/materials/JG.fa
Error: Invalid or corrupt jarfile /home/inf/Documents/matsuo/tools/gatk-4.5.0.0/gatk-package-4.5.0.0-local.ja

とエラーが出ました。Java8/JDK1.8以降のJavaが必要とのことなので、javaのバージョンを確認すると

最後のgatk-package-4.5.0.0-local.jaはjarが切れちゃった感じでしょうか?
あと、確かにgatkは現在記載していただいたJavaのバージョン以上の物が必要みたいですが、エラーの中ではそんなことは書かれていないような?
記憶違いであれば申し訳ないのですが、求めるバージョンが違うときにはそのようなメッセージが出ていたような気がしています。
なので、もしかしたら以下の2つの問題があるのではないかと個人的に思っています。(違ったらすみません)
①gatk-package-4.5.0.0-local.jarが壊れている
②hellfireさんが言うように違うJavaが使われている

①に関してはgatk-package-4.5.0.0-local.jarのダウンロード/インストールをやり直してみるのがいいかもしれません。

matsu1129 による投稿:

openjdk-17でもJava8/JDK1.8以降という規格は満たしていないのでしょうか。

満たしていたはずです。

kanchiさん

最後のgatk-package-4.5.0.0-local.jaはjarが切れちゃった感じでしょうか?
はい、最後のrが切れていました。すいません。

GATK4.5.0.0はつい先日インストールしたばかりなのですが、壊れているってことはあるのでしょうか。GATK4.5.0.0をインストールする前はGATK4.1.7.0と4.4.0.0がインストールされていたのですが同じ結果が返ってきたため、jarファイルが壊れているかと思いGATK4.5.0.0をインストールした次第です。

オフライン

 

#6 2024-05-16 19:51:05

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

~/Documents/○○○/tools$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

このような結果が返ってきました。ふと今思ったのですが、新しいjavaをインストールしたらパスを通さないとダメですか。

オフライン

 

#7 2024-05-19 21:45:51

kanchi
メンバ
登録日: 2024-05-11

Re: FASTAファイルのdictionaryの作成ができない

matsu1129 による投稿:

~/Documents/○○○/tools$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

ロングオプションの--versionを使っているからです。
新しいjava関してはロングオプションでも認識するようになりましたが、古いjavaは以前matsu1129さんがご自身で入力していたようにショートオプションしか認識しません。
複数のバージョンを使う場合には別の方法があるのですが、過去の質問を拝見させていただいたところmatsu1129さんはまだ色々不慣れなようですので可能であれば一度すべてのJAVAを削除してから再度入れ直したほうがいいのではないかと感じたので方法を記載しておきます。

コード:

$ dpkg -l | grep '^ii' | grep openjdk # インストールされているjavaの一覧を表示
$ sudo apt purge openjdk* # インストールされているjavaを削除
$ java -version # javaがインストールされていないことを確認
$ sudo apt install openjdk-17-jdk

もしjava -versionを入力した時点でバージョンが表示される場合にはoracle版のjavaがインストールされていると思うので、上記手順を多少変更してoracleのjavaを検索してそちらも削除してください。
また、本来であれば環境変数のJAVA_HOMEという物を設定するのがjavaの筋なのですが、とりあえずは一旦無視して作業を進めて、詰まったらJAVA_HOMEについて調べるのがいいと思います。

最後になりますが、

matsu1129 による投稿:

ふと今思ったのですが、新しいjavaをインストールしたらパスを通さないとダメですか。

パスを通すという意味を簡単に説明すると、環境変数(OSがコマンドを探す場所)にコマンドの場所を登録するという意味です。
java -versionを打った際にコマンドを認識するということは、すでにパスが通っていると言うことです。
javaはそれぞれの別の場所にインストールされるのですが、使用するバージョンのリンクをパスの通った場所に作成することでjavaコマンドで実行できるようになっています。
もしそれぞれのバージョンのリンクを直接環境変数に追加した場合、すべての実行名はjavaとなるため環境変数の先頭に記載されている(最後だったかも?自信ちょっとない。。。)もののみがjavaコマンドで実行されるようになります。

オフライン

 

#8 2024-05-20 15:36:20

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

kanchiさん

お返事ありがとうございます。当方、まだubuntuを触り始めて3か月に満たない程度であり右も左もわからない状況です。アドバイス本当に助かります。
以下が実行結果になります。
$ dpkg -l | grep '^ii' | grep openjdk
ii  openjdk-11-jdk:amd64                       11.0.19+7~us1-0ubuntu1~18.04.1                  amd64        OpenJDK Development Kit (JDK)
ii  openjdk-11-jdk-headless:amd64              11.0.19+7~us1-0ubuntu1~18.04.1                  amd64        OpenJDK Development Kit (JDK) (headless)
ii  openjdk-11-jre:amd64                       11.0.19+7~us1-0ubuntu1~18.04.1                  amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-11-jre-headless:amd64              11.0.19+7~us1-0ubuntu1~18.04.1                  amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-17-jdk:amd64                       17.0.7+7~us1-0ubuntu1~18.04                     amd64        OpenJDK Development Kit (JDK)
ii  openjdk-17-jdk-headless:amd64              17.0.7+7~us1-0ubuntu1~18.04                     amd64        OpenJDK Development Kit (JDK) (headless)
ii  openjdk-17-jre:amd64                       17.0.7+7~us1-0ubuntu1~18.04                     amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-17-jre-headless:amd64              17.0.7+7~us1-0ubuntu1~18.04                     amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
inf@inf-PowerEdge-T110-II:~/Documents/matsuo/tools$ sudo apt purge openjdk*
............何行もの処理結果............
dpkg: warning: while removing openjdk-11-jre-headless:amd64, directory '/usr/lib/jvm' not empty so not removed
Purging configuration files for openjdk-17-jre-headless:amd64 (17.0.7+7~us1-0ubuntu1~18.04) ...

inf@inf-PowerEdge-T110-II:~/Documents/matsuo/tools$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

javaが残っているようです。

もしjava -versionを入力した時点でバージョンが表示される場合にはoracle版のjavaがインストールされていると思うので、上記手順を多少変更してoracleのjavaを検索してそちらも削除してください。
>sudo apt purge jdk1.7.0_80で合ってますか。

オフライン

 

#9 2024-05-20 17:01:16

kanchi
メンバ
登録日: 2024-05-11

Re: FASTAファイルのdictionaryの作成ができない

matsu1129 による投稿:

dpkg: warning: while removing openjdk-11-jre-headless:amd64, directory '/usr/lib/jvm' not empty so not removed

これに関してはpackageでインストールされた以外の物が記載されている場所に存在する場合に出るエラーのはずなので、確認をお願いします。
もし自分の必要な物や依存している物が入ってなければ下記コマンドで削除したあとにもう一回purgeコマンドを実行してください。
(packageはすでにアンインストールされている状態になっているかもしれないですが念の為)
$ sudo rm -rf /usr/lib/jvm

matsu1129 による投稿:

もしjava -versionを入力した時点でバージョンが表示される場合にはoracle版のjavaがインストールされていると思うので、上記手順を多少変更してoracleのjavaを検索してそちらも削除してください。
>sudo apt purge jdk1.7.0_80で合ってますか。

検索した結果が貼られていないのでわかりません。
検索して出てきた物のアンインストールをお願いします。

オフライン

 

#10 2024-05-20 17:24:09

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

kanchiさん

お返事ありがとうございます。

chatGPTによると

dpkg: warning: while removing openjdk-11-jre-headless:amd64, directory '/usr/lib/jvm' not empty so not removed:

意味: dpkgがopenjdk-11-jre-headless:amd64パッケージを削除している最中に、/usr/lib/jvmディレクトリが空でないため削除されなかったという警告メッセージです。
理由: /usr/lib/jvmディレクトリには、他のJavaバージョンや関連ファイルが存在する可能性があります。そのため、ディレクトリ自体は削除されず、そこに残ります。

ということなの
$ ls /usr/lib/jvm
jdk1.7.0_80
よりjdk1.7.0_80を削除すればいいのかなと思いました。

検索した結果が貼られていないのでわかりません。
検索して出てきた物のアンインストールをお願いします。
>
検索結果とは以下のことでしょうか。
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

オフライン

 

#11 2024-05-20 17:35:51

kanchi
メンバ
登録日: 2024-05-11

Re: FASTAファイルのdictionaryの作成ができない

利用規約に則り、自分は本件の対応を終了させていただきます。

オフライン

 

#12 2024-05-21 14:45:50

matsu1129
メンバ
登録日: 2024-03-05

Re: FASTAファイルのdictionaryの作成ができない

kanchiさん

FASTAファイルのdictionaryの作成ができました。お手数おかけして申し訳ありませんでした。ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB