2015-11-07 53 views
-1

我很努力在Linux終端中創建python腳本。我正在嘗試命令分析數百個文件。如何在linux上編寫python腳本來運行需要兩個文件的特定命令,它們具有相似的文件名

還有一個python程序(ngCGH),它分析bam.filengCGH的命令如下:

ngCGH -o /mnt/data/A/B/C.txt [normal.bam] [tumor.bam] 

兩個.bam文件已下列命名角色

1N-------.bam 
1T-------.bam 

2N-------.bam 
2T-------.bam 

總之,具有匹配的多個文件進行分析。

此外,我想要使輸出文件名不同,如下所示。

1N------.bam 1T------.bam 
Result: 1NT analysis.txt 

2N------.bam 2T------.bam 
Result: 2NT analysis.txt 

輸出文件應該是具有不同名稱的txt文件。

+2

爲什麼你要Python而不是shell腳本或makefile? –

+0

嗨伊格納西奧。如果我可以運行分析程序來搜索hundereds文件,這不是問題。該程序是基於python的程序。所以,我試圖讓python bash文件在Linux中運行程序。 – Sejin

+2

程序不能同時是Python和bash;你將不得不下定決心。 –

回答

0
import os 
j = 1 
files = set(x[2:len(x)-4] for x in os.listdir() if x.endswith('.bam')) 

for i in files: 
    command = 'ngCGH -o <path>/'+str(j)+'NT analysis.txt '+str(j)+'N'+i+'.bam '+str(j)+'T'+i+'.bam' 
    os.system(command) 

用實際路徑替換<path>

希望這是你所期待的。

+0

謝謝你的建議。 – Sejin

相關問題