0
我有下一個路徑CD /家庭/ VDAS /芯片起/輸出/ 目錄的多個目錄列出轉換多個咣的牀使用bedtools從不同的目錄
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K27ac
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K27me3
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K4me1
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K4me3
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_input
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_13_O1_122_K27ac
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_13_O1_122_K27me3
內每個有目錄是* .sorted.bam文件。我想寫一個bash腳本,將裏面去每個樣品目錄並運行以下命令
bedtools bamToBed -i input .bam > out.bed
我寫了一個小bash腳本,但它無法正常工作。你能告訴我哪裏出錯了嗎
#!/bin/sh
#
#$ -N bam2bed
#$ -cwd
#$ -e err_bam2bed.log
#$ -o out_bam2bed.log
#$ -S /bin/sh
#$ -M [email protected]
#$ -m bea
#$ -l h_vmem=25G
cd /home/vdas/ChIP-Seq/output
for x in `ls S*/*.sorted.bam` ; do
echo "print current:$x"
bedtools bamToBed -i "$x" > "${x%.bam}.bed"
done
echo "done"
我在哪裏弄錯了。我不打算編寫重複的命令,那麼創建for循環的確切方法是什麼?如果沒有錯,這應該沒問題。讓我知道。
我想通了這個問題,bamToBed被安裝在根,所以我只是改爲'bamToBed -i 「$ X」> 「$ {X%.bam} .bed」 '。它似乎工作。 –