在分析数据时,经常会有许多机械重复的命令带入,作为一个半路出家的程序猿,我曾经对这种工作束手无策。不像一个熟手那样举重若轻的分析,感觉自己的生信分析完全是个体力活。为了打开这样的局面,我开始学习如何批量处理这些文件名格式差不多的文件。

 work_dir=/home/genomics/data/rice/variantcalling
reference=/home/genomics/data/rice/ref-database/*****
bwa_dir=$work_dir/resourses/apps/bwa-0.7.11
picard_dir=$work_dir/resourses/apps/picard-tools-1.119
for i in *sam
do
echo $i
echo ${i%.*}.sorted.bam
nohup java -Xmx60g -jar $picard_dir/AddOrReplaceReadGroups.jar \
I=$i \
O=${i%.*}.sorted.bam \
SORT_ORDER=coordinate \
CREATE_INDEX=true \
RGID=${i%.*} \
RGLB="pe" \
RGPU="Hiseq-2000" \
RGSM=${i%.*} \
RGCN="African rice resequenced" \
RGDS=osativa \
RGPL=illumina \
VALIDATION_STRINGENCY=SILENT 1>${i%.*}.AddOrReplaceReadGroups.log 2>&1 &
done

这是一个批量处理sam2bam的脚本,可以遍历work_dir中的所有符合正则表达式

*sam

的文件名,可以解决重复机械的命令输入。最后注意log文件一定要加上,这是nohup的特性,nohup会在后面的博文中找资料做详细解释。

用这种方法就可以批量处理文件名格式类似的文件。

另外我发现他的遍历是字符顺序而不是数字顺序。

这也是我第一篇博文,撒花!!!!!!!!!!


【shell脚本】通过遍历文件的一种批量执行shell命令的方法。的更多相关文章

  1. shell脚本安装python、pip-----非交互式的--批量执行函数

    首先把pip-.tgz 安装包放在 /usr/local 下面,按照顺序先安装pip,再安装python.不要先安装或只安装python,否则很容易出错, cat >>pip-python ...

  2. SQL Server 中执行Shell脚本计算本地文件的内容大小

    SQL Server 数据库中除了能执行基本的SQL语句外,也可以执行Shell脚本.默认安装后,SQL中的Shell脚本的功能是关闭的,需要手动打开, 执行以下脚本即可打开该功能. -- 允许配置高 ...

  3. Mac下通过shell脚本修改properties文件

    通过shell脚本替换属性文件中的某行记录 假设有如下属性文件 demo.properties user.name=test user.password=123456 ................ ...

  4. Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值

    本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...

  5. Shell按行读取文件的3种方法

    Shell按行读取文件的方法有很多,常见的三种方法如下: 要读取的文件: [root@mini05 -]# cat file.info 写法一: [root@mini05 -]# cat read1. ...

  6. shell脚本实现查找文件夹下重复的文件,并提供删除功能

    Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...

  7. 通过Shell脚本读取properties文件中的参数时遇到\r换行符的问题

    今天在编写微服务程序启动脚本的时候,遇到一个比较奇葩的问题,下面给出具体描述: 目标:通过读取maven插件打包时生成的pom.properties文件,获取里面的应用名称和应用版本号,然后拼接得到s ...

  8. [shell]用shell脚本将本地文件夹与ftp上的文件夹同步

    需求说明 最近在AIX上做开发,开发机器在office网段,测试机器在lab网段,不能互相通讯,只能通过特定的ftp来传文件. 每次上传的机器都要做:登录ftp,进入我的目录,上传:下载的机器都要做: ...

  9. shell脚本生成xml文件

    今天把这段时间学习完shell后完成工作上的一个小案件整理了一下,分享给大家! 说来也巧了,作为一个刚刚毕业半年的菜鸟,进入公司后,听公司的大牛推荐学习linux--”鸟哥的私房菜“,基本上是从去年8 ...

随机推荐

  1. VueI18n的应用

    .npm install vue-i18n .在 main.js 中引入 vue-i18n import VueI18n from 'vue-i18n' Vue.use(VueI18n) .在main ...

  2. [硬件]Robot运动控制

    思考问题:机器人运动控制如何与图形界面交互? 不得不说,先锋机器人的软件做的真不怎么样.图形界面交互用户体验很差. 现在我遇到一个很现实的问题:SLAM需要采集激光数据和机器人的位姿,同时我还要再这个 ...

  3. 利用 SPL 快速实现 Observer 设计模式

    目录: 1.什么是 SPL 2.SplSubject 和 SplObserver 接口 3.为什么使用 SplObjectStorage 类 4.模拟案例 5.结束语 6.下载资源 什么是 SPL S ...

  4. Spark Mllib之分层抽样

    Spark中组件Mllib的学习之基础概念篇 1.解释 分层抽样的概念就不讲了,具体的操作: RDD有个操作可以直接进行抽样:sampleByKey和sample等,这里主要介绍这两个 (1)将字符串 ...

  5. 【EatBook】-NO.2.EatBook.2.JavaArchitecture.1.001-《修炼Java开发技术在架构中体验设计模式和算法之美》-

    1.0.0 Summary Tittle:[EatBook]-NO.2.EatBook.2.JavaArchitecture.1.001-<修炼Java开发技术在架构中体验设计模式和算法之美&g ...

  6. 项目发布脚本-nodejs

    #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin clear printf &q ...

  7. 25-Python3 错误和异常

    25-Python3 错误和异常 ''' 语法错误 ''' # while True print('hello,runoob') ''' 异常 ''' ##ZeroDivisionError # pr ...

  8. componentsSeparatedByString 的注意事项

    componentsSeparatedByString 两种情景 1. 没有分割符也生成一个数组,元素就是整个字符串本身,那你就需要判断“”这种字符串. 2. 分割的元素如果是相同的字符串,指向的是同 ...

  9. InstallShield12的安装破解方法

    InstallShield是一个非常专业的windows程序打包工具,利用它我们可以轻松方便地将我们开发的windows程序进行封装打包.下面呢我就以我自己的实际操作经历来给大家介绍一下如何安装和破解 ...

  10. android 调用webview控件,为逆向h5app做准备

    activity对应layout文件加入: <WebView android:id="@+id/main_web" android:layout_width="ma ...