Shell—— 如何匹配提取复合物pdb中的H链

在Shell中,您可以使用正则表达式来匹配和提取复合物PDB(Protein Data Bank)文件中的H链。以下是一个简单的Shell示例,使用grep和正则表达式来实现:

grep '^ATOM.*H.*$' your_complex.pdb > extracted_H_chain.pdb

这个命令使用grep来查找以"ATOM"开头,包含字母"H"的行,并将结果输出到一个新的文件(extracted_H_chain.pdb)。请注意,这只是一个简单的示例,实际情况可能因PDB文件的格式和您的需求而有所不同。

如果需要更复杂的匹配,可能需要使用更强大的工具,如awk或sed,以便更灵活地处理文本数据。例如,可能需要提取包含在特定链中的H原子,而不仅仅是包含字母"H"的行。这需要更复杂的正则表达式和处理过程。

因为有些残基原子也包含H, 怎样才能只输出链ID是H的部分?

如果您想要提取链ID为H的部分,可以使用以下步骤:

使用awk来过滤包含链ID为H的行。
使用grep来只保留ATOM类型的行。

下面是一个可能的Shell命令:

awk '/^ATOM.*H.*$/ {print}' your_complex.pdb | grep '^ATOM' > extracted_H_chain.pdb

这个命令首先使用awk来匹配包含链ID为H的行,然后使用grep来过滤只保留ATOM类型的行,并将结果输出到一个新的文件(extracted_H_chain.pdb)。

请注意,这只是一个简单的示例,实际情况可能因PDB文件的格式和需求而有所不同。可能需要根据具体的PDB文件格式调整正则表达式和过滤条件。

有些atom也包含H原子,残基名称和残基编号之间的字符为链ID, 我的命令是:
grep ’ H ’ sample52_modelb.pdb 请问怎样避免输出

如果想要避免输出包含在残基中的H原子,可以修改grep命令,以便只匹配处于链ID为H的整个行,而不是包含在其他地方的H原子。可以使用正则表达式来限定匹配条件。
以下是一个示例命令,假设链ID为H的部分以"H"开头,后面是空格或数字:

grep '^H[[:space:]]' sample52_modelb.pdb

这个命令使用^H[[:space:]]正则表达式来匹配以"H"开头,后面是空格或数字的行。这样,它将只匹配链ID为H的整行,而不匹配包含在残基中的H原子。

shell如何输出第5列为H的列

awk '$5 == "H" {print}' sample52_modelb.pdb

这个命令使用 awk,并通过 $5 来引用每一行的第五列,然后检查是否等于 “H”,如果是,则打印整行。这样,它会输出 PDB 文件中第五列为 “H” 的行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值