美文网首页
Linux中 生信分析- 批量提交任务

Linux中 生信分析- 批量提交任务

作者: 球果假水晶蓝 | 来源:发表于2023-05-27 22:40 被阅读0次

    举一个简单需求:

    有多个转录组数据需要比对到参考基因组
    bwa mem ref_name read1 > read1.sam;
    bwa mem ref_name read2 > read2.sam;
    bwa mem ref_name read3 > read3.sam;
    这样可以轮流一个一个比对,实际上这样也挺麻烦的,需要手动不断复制黏贴。
    我们可以考虑使用更方便的方式
    1.使用shell 脚本,写个循环处理多个数据的问题

    for i in read*;do bwa mem ref_name ${i} > ${i}.sam;done
    
    1. 使用shell或者其他编程语言写个生成命令的脚本
    for i in read*;do  echo "bwa mem ref_name ${i} > ${i}.sam;" > "${i}.sh";done
    

    再在服务器中批量提交任务,
    for i in *.sh ; do qsub $i;

    1. 使用 xargs 命令配合& 并行处理
    ls read* | xargs -n 1 -I file sh -c 'echo " bwa mem ref_name   file >  file.sam &" '
    
    1. 使用 parallel
      Linux下的并行神器——parallel
    2. 使用 ParaFly
    ParaFly -c cmd.list -CPU $threads
    

    相关文章

      网友评论

          本文标题:Linux中 生信分析- 批量提交任务

          本文链接:https://www.haomeiwen.com/subject/tssredtx.html