次のzipアーカイブ構造があります。
$ unzip -l Undetermined_S0_L004_R1_001_fastqc.zip
Archive: Undetermined_S0_L004_R1_001_fastqc.zip
Length Date Time Name
-------- ---- ---- ----
0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/
0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/
0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/
1197 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/fastqc_icon.png
1450 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/warning.png
1561 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/error.png
1715 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/tick.png
782 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/summary.txt
9095 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_quality.png
14381 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_tile_quality.png
23205 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_sequence_quality.png
30978 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_sequence_content.png
31152 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_sequence_gc_content.png
7861 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_n_content.png
18356 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/sequence_length_distribution.png
23040 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/duplication_levels.png
9096 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/adapter_content.png
58683 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/kmer_profiles.png
355919 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc_report.html
301092 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc_data.txt
10117 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc.fo
-------- -------
899680 21 files
現在、次のエラーが発生するため、どのように並列fastqc_data.txt
に使用できますか?crimson
find `pwd`/*_fastqc.zip -type f | parallel -j 3 unzip -c {} {}/fastqc_data.txt | crimson fastqc {} | less
Usage: crimson fastqc [OPTIONS] INPUT [OUTPUT]
Error: Invalid value for "input": Path "{}" does not exist.
答え1
4つのコマンドで構成されたパイプラインがあります。
find
、zipファイルを一覧表示します。parallel
unzip
、zipファイルごとに1つのファイルを抽出するために呼び出されます。 zipファイルのパスが変更された場合は、アーカイブからファイルを抽出してみて{}
ください(現在のディレクトリがそのディレクトリの場合)。home/user977828/stuff/Undetermined_S0_L004_R1_001_fastqc.zip/fastqc_data.txt
/home/user977828/stuff
crimson
、標準入力として抽出された複数のファイルを受け取り、引数fastqc
とともに呼び出されます{}
。less
。
parallel
{}
引数内でのみ置き換えてください。パイプラインの残りの部分では何もしません。crimson
各ファイルを個別に呼び出すには、からパイプをパラメータとしてfastqc_data.txt
渡す必要があります。unzip
crimson
parallel
find *_fastqc.zip -type f | sed 's/\.zip$//' |
parallel -j 3 'unzip -c {}.zip {}/fastqc_data.txt | crimson fastqc /dev/stdin' |
less