misshie / ngsdat2

NGS Data Analysis Textbook Version 2 (Disease Genome Analysis)
MIT License
42 stars 22 forks source link

./100_run-BaseRecalibrator.shについて #32

Open fluffy79102 opened 3 years ago

fluffy79102 commented 3 years ago

拝読させていただいております。

./100_run-BaseRecalibrator.sh を実行すると、 ./100_run-BaseRecalibrator.sh: line 15: gatk-4*/gatk: No such file or directory のエラーが発生しますが対処法はありますでしょうか。

gatkは4.2.0.0をインストールし、/User/ユーザー名/に解凍した状態です。 gatk関連では、080_download-gatk-bundles.shのissueは確認し、指定していただいたファイルはダウンロードできたと思います。 ./090_prep-reference-index.shも実行し、DiseaseGenomeMain/RefHg38/hg38.dictは存在しています。

いつもありがとうございます。

misshie commented 3 years ago

https://github.com/misshie/ngsdat2/issues/29 でご質問いただいた内容に関連するのですが、GATK bundleの場所の変更により必要なファイルのダウンロードに失敗していることが原因です。

gcp-public-data--broad-references に行きますと、hg38/v0ディレクトリ以下に、

  1. Homo_sapiens_assembly38.dbsnp138.vcf.gz
  2. Homo_sapiens_assembly38.dbsnp138.vcf.gz.tbi
  3. Mills_and_1000G_gold_standard.indels.hg38.vcf.gz
  4. Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi

があります。これらをダウンロードした後、080_download-gatk-bundles.shの中の変数定義の部分を

known1=Homo_sapiens_assembly38.dbsnp138.vcf.gz
known2=Mills_and_1000G_gold_standard.indels.hg38.vcf.gz 

のように書き換えてみてください。

また、もしgatk-4のダウンロード先がカレントディレクトリにない場合、正しい場所を指定するかシンボリックリンクないしコピーなどして、gatk-4ディレクトリにアクセスできるようにしてください。

jundata commented 3 years ago

いつも勉強させて頂いてます。 これに関連して質問させてください。

まず作業ディレクトリは ~User/Analysis/ngsdat2-master/DiseaseGenomeMain で行いました。

080_download-gatk-bundles.shを実行した際に

curl: (7) Failed to connect to ftp.broadinstitute.org port 21: Operation timed out

と出てきますが、なにかしら動いていたいので、次のコードを打っていこうと思い、./100_run-BaseRecalibrator.shまで、実行すると、

A USER ERROR has occurred: Couldn't read file file:///~/Analysis/ngsdat2-master/DiseaseGenomeMain/dbsnp_146.hg38.vcf.gz. Error was: It doesn't exist.

と出てきて、恐らくうまく行っていないのだろうと思いました。

そこで、上述のように

  1. Homo_sapiens_assembly38.dbsnp138.vcf.gz
  2. Homo_sapiens_assembly38.dbsnp138.vcf.gz.tbi
  3. Mills_and_1000G_gold_standard.indels.hg38.vcf.gz
  4. Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi

をダウンロードした後(これらは~/Downloadに保存)、080_download-gatk-bundles.shを以下のように書き換えたのですが、うまくいきません。

`#!/bin/bash set -euo pipefail site=ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38

known1=Homo_sapiens_assembly38.dbsnp138.vcf.gz known2=Mills_and_1000G_gold_standard.indels.hg38.vcf.gz `

おそらく、変数定義のところのルールが分かっていないのが問題だとは思いますが教えていただけると幸いです。 よろしくおねがいします。