美文网首页
2022-05-17记录一个粗心导致的问题

2022-05-17记录一个粗心导致的问题

作者: AsuraPrince | 来源:发表于2022-05-17 18:12 被阅读0次

    由于差异甲基化分析文件过大,老师跑奔溃,所以把每个样本按照染色体分成三份,分别进行差异甲基化分析。

    part1, part2。

    part1.dmr 和 part1.dmc

    part2.dmr 和 part2.dmc

    但是在批量生成脚本时,part1.dmc和part2.dmc获得了有效区分,part1.dmr和part2.dmr被错误的写成相同的输出dmr。

    任务已经运行2天了,杀掉太可惜,太费钱。

    因为part1.dmr 和 part1.dmc成对出现。所以,可以通过对part1.dmc进行实时有无检测,即使改掉对应的dmr文件,避免被后面生成的同名dmr文件替换掉。

    存在问题1,不知道part1和part2谁先跑完。

    方法1.对dmc进行检测,把先出现的dmc重命名为dmctmp,然后推测检测。

    #!/bin/bash

    while true; do

            if [ -f ZQ.CHH.dmc ]; then

                    sleep 1m ###给最终结果输出留的时间

                    mv ZQ.CHH.dmr ZQ.CHH.dmrtmp

                    break

            else

                    echo "sleep"

                    sleep 25

            fi

    done

    或者分别检测part1.dmr 和 part1.dmc 搞两个检测程序同时运行。

    方法2. 根据日志文件特征,通过检测日志文件,进行改名操作

    #!/bin/bash

    while true; do

            if [[ `grep result ZQvsCY.CHH.part1.log` || `grep result ZQvsCY.CHH.part2.log` ]]; then

                    sleep 1m

                    mv ZQ.CHH.dmr ZQ.CHH.dmrtmp

                    break

            else

                    echo "sleep"

                    sleep 25

            fi

    done

    ------------------------------------------------------------------------------------------

    测试能否break成功的命令行

    while true; do if [[ -z `grep result ZQvsCY.CHH.part1.log` && -z `grep result ZQvsCY.CHH.part1.log` ]]; then echo T; break; else echo F; fi; done

    -z 为空值;

    【】内前后都得有空格。

    路径:/public/home/agis_kongweilong/Project/01PostdocTea/02Methylation/BatMeth2/03DiffMeth/test2.sh

    相关文章

      网友评论

          本文标题:2022-05-17记录一个粗心导致的问题

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