美文网首页
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