生物小白来学编程,求shell脚本:现在有这样一个流程:
hisat2 -p 8 --dta -x ~/chrX_data/indexes/chrX_tran -1 ~/chrX_data/samples/ERR188044_chrX_1.fastq.gz -2 ~/chrX_data/samples/ERR188044_chrX_2.fastq.gz -S ERR188044_chrX.sam
samtools sort -@ 8 -o ERR188044_chrX.bam ERR188044_chrX.sam
stringtie -p 8 -G ~/chrX_data/genes/chrX.gtf -o ERR188044_chrX.gtf -l ERR188044 ERR188044_chrX.bam
stringtie –e –B -p 8 -G stringtie_merged.gtf -o ./ballgown/ERR188044/ERR188044_chrX.gtf ./bam/ERR188044_chrX.bam
求代码 能够实现我输入两个输入文件ERR188044_chrX_1.fastq.gz和 ERR188044_chrX_2.fastq.gz 就能实现下面的流程,而不用我一个一个输入命令。感谢!
创建一个文件run.sh,输入以下内容,保存.
#!/bin/sh
hisat2 -p 8 --dta -x ~/chrX_data/indexes/chrX_tran -1 ~/chrX_data/samples/$1 -2 ~/chrX_data/samples/$2 -S ERR188044_chrX.sam
samtools sort -@ 8 -o ERR188044_chrX.bam ERR188044_chrX.sam
stringtie -p 8 -G ~/chrX_data/genes/chrX.gtf -o ERR188044_chrX.gtf -l ERR188044 ERR188044_chrX.bam
stringtie –e –B -p 8 -G stringtie_merged.gtf -o ./ballgown/ERR188044/ERR188044_chrX.gtf ./bam/ERR188044_chrX.bam
然后执行命令: chmod +x run.sh
使用时: ./run.sh ERR188044_chrX_1.fastq.gz ERR188044_chrX_2.fastq.gz
说明:代码中的$1,$2是位置参数。当然可以用getopt方法获取选项参数
其实就是想实现参数的自动获取
cmd1 -x ${fileA} -1 ${prefix}str1.fastq -2 ${prefix}str2.fastq -S ${prefix}.sam
cmd2 -o ${prefix}.sam ${prefix}.bam
cmd3 -g ${fileB} ${prefix}.bam ${prefix}.gtf
就是这样的一个流程:输入${fileA} ${fileB} ${prefix}str1.fastq ${prefix}str2.fastq这4个文件能够一步一步进行下面的。