다음과 같은 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
네 가지 명령으로 구성된 파이프라인이 있습니다.
find
, zip 파일을 나열합니다.parallel
unzip
, zip 파일당 하나의 파일을 추출하기 위해 호출됩니다 . 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