首页 >> 个人仿真建议 >>个人脚本 >>bash >> gmx提取成分在MD中随轨迹总的活动范围
详细内容

gmx提取成分在MD中随轨迹总的活动范围

时间:2025-04-28     作者:邱新龙【原创】   阅读

#!/bin/bash


#首先执行命令gmx trjconv -f .\nvt1.xtc -s .\nvt1.tpr -o dmc.pdb,把所有轨迹给到pdb中,你可以生成gro

#pdb的前5行需要保存,keep是指的一帧保留的行数,skip表示的是需要跳过7行,end是最后结束的行数

#如果是gro,则是awk -v start=3 -v keep=8352 -v skip=3 -v end=843855 '


awk -v start=6 -v keep=8352 -v skip=7 -v end=844259 '

BEGIN {

    # 保留前5行

    header_lines=5

    # 初始化块计数器

    block_counter=0

    # 跳过计数器

    skip_counter=0

}

{

    if (NR <= header_lines) {

        # 输出前5行

        print

        next

    }

    if (NR > end) exit  # 超过结束行时退出


    if (skip_counter > 0) {

        # 处于跳过状态

        skip_counter--

        next

    }


    # 计算当前块内的相对位置

    pos_in_block = (NR - start) % (keep + skip)

    

    if (pos_in_block < keep) {

        # 保留范围内的行

        print

    } else {

        # 进入跳过状态

        skip_counter = skip - 1

    }

}' dmc.pdb > processed_dmc.pdb


最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo