압축을 풀지 않고 압축된 파일의 내용을 병렬로 읽습니다.

압축을 풀지 않고 압축된 파일의 내용을 병렬로 읽습니다.

다음과 같은 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 파일을 나열합니다.
  • parallelunzip, 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전달해야 합니다 .unzipcrimsonparallel

find *_fastqc.zip -type f | sed 's/\.zip$//' |
parallel -j 3 'unzip -c {}.zip {}/fastqc_data.txt | crimson fastqc /dev/stdin' |
less

관련 정보