2011-06-12 58 views
0

我想運行一個bash腳本中下面的代碼:重定向輸出作爲命令行的輸入?

java -jar VarScan.v2.2.jar somatic < samtools view -b -u -q 1 $n_b \ 
| samtools pileup -f $r - < samtools view -b -u -q 1 $t_b \ 
| samtools pileup -f $r - output 

其中$ N_B和$ T_B的文件。

java軀體函數需要2個參數。所以

samtools view -b -u -q 1 $n_b | samtools pileup -f $r 

是參數之一和

samtools view -b -u -q 1 $t_b | samtools pileup -f $r 

是其他參數中。這兩個參數本身都是可執行的。

所以我想是

samtools view -b -u -q 1 $n_b | samtools pileup -f $r - 

先執行然後

samtools view -b -u -q 1 $t_b | samtools pileup -f $r 

和輸出成爲軀體的輸入。

+0

我刪除了我的答案,因爲我不知道體VarScan做。 – 2011-06-12 21:44:38

回答

0

也許沒有答案,因爲我缺乏瞭解的問題:

我會用

(samtools查看-b -u -q 1 $ N_B | samtools堆積-f $ R - ; \ samtools view -b -u -q 1 $ t_b | samtools pileup -f $ r - )\ | java -jar VarScan.v2.2.jar身體輸出

+0

$ n_p和$ t_p是可執行的命令。最後我們得到一個命令: – RnD 2011-06-12 21:21:28

+0

java -jar VarScan.v2.2.jar somatic <\(samtools視圖-b -u -q 1 $ n_b | samtools pileup - f $ r - \)<\(samtools view -b -u -q 1 $ t_b | samtools pileup -f $ r - \)輸出 – RnD 2011-06-12 21:22:21

+0

但是$ n_p和$ t_p是Varscan的軀體函數的輸入參數: – RnD 2011-06-12 21:38:58

2

[編輯]我想我現在理解你的問題,如果我錯了,請糾正我。

我們從最簡單的例子開始,它有與您的例子相同數量的不同命令行。想象一下,你有三個程序,'體細胞','samtools1'和'samtools2'。體細胞需要兩個參數,而samtools1和samtools2則沒有。

讓我們進一步想象一下,當samtools1運行時,它會產生一個單詞'output1'。同樣,讓我們​​想象一下,當samtools2運行時,它會產生一個單詞'output2'。然後您將運行命令

somatic output1 output2 

作爲命令行。

實現這一目標的方式是

somatic `samtools1` `samtools2` 

沒有參與重定向。

還是在血淋淋的細節,使用你原來的例子,像

java -jar VarScan.v2.2.jar somatic `samtools view -b -u -q 1 $n_b | samtools pileup -f $r -` `samtools view -b -u -q 1 $t_b | samtools pileup -f $r - output` 

雖然有可能是'之間有一些相互|這需要一些括號或引用。我實際上沒有試圖運行這個。

[舊的東西留給審計]

你的問題還不是完全清楚對我說:你是清楚的在你的心中是否要輸出重定向或制訂一個命令行?我懷疑你的意思是後者,因爲你提到了兩個參數,而且只有一個標準輸入。

如果你想從一個命令的輸出制定一個命令行參數,使用bash的語法是反引號「`」

例如,運行命令「mycommand的」期望一個日期作爲其命令行實辨,你可以使用

mycommand `date` 

這將運行date命令,並且使用命令的輸出爲mycommand的第一個參數。

+0

謝謝你的迴應...好吧,我試圖重述我的問題。你現在明白了嗎.. – RnD 2011-06-12 23:34:07

+0

不確定,這有幫助嗎? – 2011-06-12 23:47:42

+0

好的..這是從軟件的鏈接... http://varscan.sourceforge.net/somatic-calling.html#somatic-input – RnD 2011-06-12 23:51:23

相關問題