2017-03-02 30 views
0

所以我有一個腳本,解壓縮文件:解壓然後過程在linux

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

然後我想在那個解壓文件執行代碼,我有

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

,但從來沒有第二個腳本似乎執行。 (注意,這些都是在同一個腳本,所以我假設它在第二個之前將執行初始腳本)

拉鍊:

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 

提取:

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

什麼都不用在這裏工作? – Inian

+0

對不起,我以爲我解釋了它:它解壓縮文件,但它沒有處理數據,所以它不運行fastqc。我已經檢查過它與fastqc沒有問題,因爲當所有文件解壓縮並且完美運行時,我運行了確切的腳本。 @Inian – user3667111

+0

是'RawData/unzipped/$(basename $ 1 .gz)'生成單個文件還是多個文件? – Inian

回答

1

你可能只是使用zcat並在飛行中處理文件:

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

btw,<()語法是Process Substitution

如果同時需要解壓縮的文件和處理結果你可以使用tee

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

我一直在尋找過程替代,但事情是我還需要其他過程的解壓縮文件,所以我不認爲這將是要走的路 – user3667111

+0

使用'tee'那 – hek2mgl

+0

最後我剛使用'fastqc $ 1',因爲它支持zip ha – user3667111