老师我在做泛基因家族分析里面的泛基因列表构建,生成last.txt文件非常慢,帮忙修改命令

老师我在做泛基因家族分析里面的泛基因列表构建,cd 03.jcvi-pan-vs-genome

cat ../01.jcvi/pangene_filter.*.last | grep -v "^#" > last.txt 这一步,由于我的基因组较多,买的云服务器磁盘空间不够,无法运行这一步,就改为find ../01.jcvi -name "pangene_filter.*.last" -print0 | while IFS= read -r -d '' file; do

    output_file="${file%.last}.processed.txt"

    awk '!/^#/' "$file" > "$output_file" 

done        

想着一条一条运行并生成各自的processed.txt文件,最后合并成last.txt,  但发现我的这个非常慢,第一个基因组 就运行了二十多个小时,现在还没结束,能帮忙修改命令吗?

请先 登录 后评论

2 个回答

每天学习一点点

同学,这个cat指令主要是占用内存和OI,和存储关系不大吧。

请先 登录 后评论
Ti Amo

不需要执行这么复杂的操作,“cat ../01.jcvi/pangene_filter.*.last | grep -v "^#" > last.txt”,这一步是为了合并所有的比对文件并且删除掉"#"开头得行,主要是为了下一步去执行python的脚本。那你不合并,直接从原来的last文件里面删除 "#"开头的行,然后执行python的脚本就可以了。

for i in `find ../01.jcvi -name "pangene_filter.*.last"`;do 
    name=`basename ${i} | cut -d "." -f2`;
    grep -v "^#" ${i} > ${name}.last; 
    python3 $script/find_1vs1_v2.py ${name}.last ${name}.txt && rm ${name}.last;
done

做完这一步之后,如果没有问题,你可以把前面的pangene_filter.*.last也删了,在03文件夹里面继续执行这样的步骤:

cat *.txt > last.txt 
python3 $script/find_1vs1_v2.py last.txt 1vs1.txt
从109行再往下执行。
请先 登录 后评论