misshie / ngsdat2

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

320_run-awk-prioritizeについて #31

Open nakane-scc opened 3 years ago

nakane-scc commented 3 years ago

320_run-awk-prioritizeを実行したところ、 行 15: Scripts/awk010_ToMMo35KJPNv2.awk: 許可がありません というエラーメッセージが出ました。 私なりに調べたところ、こういったエラーメッセージが出たときはアクセス権を変更するというような情報があったので、 chmod +x をつけて実行してみたのですが、何も実行されることなく、「$」という入力待ちの状態になってしまいました。

前に質問させていただいたように、210もエラーで実行できず、それらしいファイルをDL&解凍して、annovar-hg38に入れたのですが、そこに問題があったのか、それ以降の220〜310の操作の何処かでうまく行っていない部分があるのか、とも思うのですが、判断しかねます。

ご多用とは存じますが、ご回答いただければ幸いです。

nakane-scc commented 3 years ago

320_run-awk-prioritize.shの

Scripts/awk010_ToMMo35KJPNv2.awk \ ${forig} > ${f1} Scripts/awk020_TrancateVariants.awk \ ${f1} > ${f2} Scripts/awk030_NonsynonymousVariants.awk \ ${f1} > ${f3} Scripts/awk040_Homozygous.awk \ ${f2} > ${f4} Scripts/awk050_Heterozygous.awk \ ${f2} > ${f5} Scripts/awk040_Homozygous.awk \ ${f3} > ${f6} Scripts/awk050_Heterozygous.awk \

という箇所一つ一つに下記のように実行権限を与えてみました。

chmod a+x Scripts/awk010_ToMMo35KJPNv2.awk \ ${forig} > ${f1} chmod a+x Scripts/awk020_TrancateVariants.awk \ ${f1} > ${f2} chmod a+x Scripts/awk030_NonsynonymousVariants.awk \ ${f1} > ${f3} chmod a+x Scripts/awk040_Homozygous.awk \ ${f2} > ${f4} chmod a+x Scripts/awk050_Heterozygous.awk \ ${f2} > ${f5} chmod a+x Scripts/awk040_Homozygous.awk \ ${f3} > ${f6} chmod a+x Scripts/awk050_Heterozygous.awk \

このようにすると、エラーは出なくなり、76ページのような画面にはなったのですが、 20026 DRR006760.hg38_multianno.txt 0 DRR006760.hg38_p01_rare.txt 0 DRR006760.hg38_p02_trancate.txt 0 DRR006760.hg38_p02_nonsynonymous.tx 0 DRR006760.hg38_p03_trancate-hom.txt 0 DRR006760.hg38_p03_trancate-het.txt 0 DRR006760.hg38_p03_nonsyn-hom.txt 0 DRR006760.hg38_p03_nonsym-het.txt と、まるで違う結果になってしまいました。これは、DRR006760.hg38_multianno.txtを作成する段階で問題が発生しているということでしょうか。

misshie commented 3 years ago

なにかの理由で、ダウンロード後のawkスクリプトに実行権限が与えられていなかったようです。「コマンドラインの使い方」p.31も参考になるかと思います。

対応として、まずコマンドラインから、各awkスクリプトに実行権限を与えます。以下で.awkファイルにまとめてchmodコマンドを実行できます。 `$ chmod a+x Scripts/.awk`

その上で、もう一度オリジナルのままの320_run-awk-prioritize.shを実行していただけないでしょうか?

なお、コメントいただいたスクリプトが文字通りだとすると、行末の\が無いために、上手くスクリプトが実行できていない可能性があります。行末が\でかつスペースなしで直後に改行していれば、「行継続(同一行とみなす)」になります(p.35参照)

nakane-scc commented 3 years ago

ご回答、ありがとうございます。 アドバイスに従い、320を実行したところ、下記のような結果になりました。 20026 DRR006760.hg38_multianno.txt 19957 DRR006760.hg38_p01_rare.txt 152 DRR006760.hg38_p02_trancate.txt 2962 DRR006760.hg38_p02_nonsynonymous.tx 60 DRR006760.hg38_p03_trancate-hom.txt 93 DRR006760.hg38_p03_trancate-het.txt 1374 DRR006760.hg38_p03_nonsyn-hom.txt 1589 DRR006760.hg38_p03_nonsym-het.txt 最初の結果とは異なり、DRR006760.hg38_multianno.txt以外の値が全て0ということはなくなりましたが、本に記載されている結果とはオーダーが異なっており、正しく解析されているのかという不安があります。こういうこともあり得るのでしょうか。