2017-03-02 6 views
0

So habe ich ein Skript, das eine Datei entpackt:Dekomprimieren dann Prozess in Linux

#!/bin/bash -e 
# will unzip the data without removing the zipped version 
gzip -dc $1 > RawData/unzipped/$(basename $1 .gz) 

ich dann will Ausführen von Code auf dieser entpackte Datei, ich habe

# will run fast qc on the argument passed 
fastqc RawData/unzipped/$(basename $1 .gz) --outdir=fastReports/ 

aber das zweite Skript nie scheint auszuführen. (Beachten Sie diese im selben Skript sind, damit ich es war der Annahme, würde das anfängliche Skript vor dem zweiten execute)

Zip:

14624_1#10_1.fastq.gz 14624_1#12_2.fastq.gz 14624_1#4_1.fastq.gz 14624_1#7_1.fastq.gz 
14624_1#10_2.fastq.gz 14624_1#1_2.fastq.gz 14624_1#4_2.fastq.gz 14624_1#7_2.fastq.gz 
14624_1#11_1.fastq.gz 14624_1#2_1.fastq.gz 14624_1#5_1.fastq.gz 14624_1#8_1.fastq.gz 
14624_1#11_2.fastq.gz 14624_1#2_2.fastq.gz 14624_1#5_2.fastq.gz 14624_1#8_2.fastq.gz 
14624_1#1_1.fastq.gz 14624_1#3_1.fastq.gz 14624_1#6_1.fastq.gz 14624_1#9_1.fastq.gz 
14624_1#12_1.fastq.gz 14624_1#3_2.fastq.gz 14624_1#6_2.fastq.gz 14624_1#9_2.fastq.gz 

Extrahiert:

14624_1#10_1.fastq 14624_1#12_1.fastq 14624_1#3_1.fastq 14624_1#5_2.fastq 14624_1#8_1.fastq 
14624_1#10_2.fastq 14624_1#12_2.fastq 14624_1#3_2.fastq 14624_1#6_1.fastq 14624_1#8_2.fastq 
14624_1#11_1.fastq 14624_1#1_2.fastq 14624_1#4_1.fastq 14624_1#6_2.fastq 14624_1#9_1.fastq 
14624_1#11_2.fastq 14624_1#2_1.fastq 14624_1#4_2.fastq 14624_1#7_1.fastq 14624_1#9_2.fastq 
14624_1#1_1.fastq 14624_1#2_2.fastq 14624_1#5_1.fastq 14624_1#7_2.fastq 
+0

Was funktioniert nicht hier? – Inian

+0

Entschuldigung, ich dachte, ich erklärte es: Es entpackt die Dateien, aber es verarbeitet dann nicht die Daten, also läuft es nicht schnell. Ich habe überprüft, es ist kein Problem mit fastqc, wie ich das genaue Skript ausführen, wenn alle Dateien entpackt wurden und es funktioniert perfekt. @Inian – user3667111

+0

Ist 'RawData/entpackt/$ (Basisname $ 1 .gz)' eine einzelne Datei oder mehrere Dateien? – Inian

Antwort

1

Sie nur zcat verwenden könnten und bearbeiten Sie die Datei im laufenden Betrieb:

fastqc <(zcat path/to/file.gz) 

Btw, die <() Syntax ist ein Process Substitution.

Wenn Sie sowohl die entpackte Datei benötigen und das Prozessergebnis können Sie tee verwenden:

fastqc <(zcat path/to/file.gz | tee file) 
+0

Ich habe Prozess Substitution geschaut, aber die Sache ist, ich werde auch die entpackten Dateien für andere Prozesse benötigen, so dass ich nicht dachte, dies wäre der Weg zu gehen – user3667111

+0

Verwenden Sie 'tee' für dass – hek2mgl

+0

Am Ende habe ich nur 'fastqc $ 1' verwendet, da es Zip ha unterstützt – user3667111

Verwandte Themen