LeDock/Vina大批量分子对接结果提取与过滤

LeDock/Vina大批量分子对接结果提取与过滤

废话不多说,在LeDockAutoDock Vina对接后的对接结果的提取与过滤。

1. LeDock对接结果处理

LeDock分子对接软件支持SDF格式和Mol2格式的小分子作为输入文件进行对接,但对接后的结果文件中打分的提取各不相同,以下是两种分子格式的打分提取脚本。
为了方便后期的数据处理分析,推荐使用SDF格式的分子文件作为LeDock对接的输入文件。

1.1 用SDF文件做的对接

使用SDF格式的分子进行对接,对接后的结果文件默认以"_dock.sdf"为结尾命名。

#提取ledock结果文件中第一个打分值。
echo > ../ledock_result.txt
#读取结果文件,提取第一个打分值,将其保存在”ledock_result.txt“文件中
for i in `ls *_dock.sdf`
do 
    id=`basename $i _dock.sdf`
    awk -v id="${id}" '/> <Score>/ { getline; print id " " $0; exit }' $i>> ../../ledock_result.txt
done

1.2 Mol2格式分子对接

使用Mol2格式的分子进行对接,对接后的结果文件默认以".dok"为结尾命名。

#对接后的结果.dok文件的存储路径
file_path="ledock_docking/dok"
cd ${file_path}

echo >${file_path}/ledock_result.txt

#提取结果文件中的所有打分,将其保存至ledock_result.txt文件中
for dok in `ls *.dok`
do
	id=`basename ${dok} .dok`
	grep "Score" ${dok}|awk -F 'Score: ' '{print $2}' | awk -v id="${id}" '{print id " " $1}' >>${file_path}/ledock_result.txt
done

#提取第一个打分值
awk '!seen[$3]++' ${file_path}/ledock_result.txt >${file_path}/ledock_result_uniq.txt

1.3 对接打分排序、过滤

# sort将对接结果按照升序排序
sort -k2,2n ledock_result_uniq.txt 
# 将排序结果保存
sort -k2,2n ledock_result_uniq.txt >ledock_result_uniq_sort.txt

# 设置一个阈值过滤打分,threshold = -11
awk '$2 < -11' ledock_result_uniq_sort.txt 
# 将过滤后的结果保存
awk '$2 < -11' ledock_result_uniq_sort.txt >ledock_result_uniq_sort_11.txt

2. AutoDock Vina对接结果处理

AutoDock Vina对接软件只支持PDBQT格式的分子作为输入文件,并输出相同格式的结果文件,因此以下以默认的"_out.pdbqt"作为输出格式提取所有对接分子库的打分。

echo > ../vina_score.txt
#读取结果文件,提取第一个打分值,将其保存在”vina_result.txt“文件中
for i in `ls *_out.pdbqt`
do 
	name=`basename $i _out.pdbqt`
	grep "REMARK VINA RESULT" -m 1 $i|awk -v id="$name" '{print id " " $4}'>>../vina_score.txt
done

2.2 对接打分排序、过滤

# sort将对接结果按照升序排序
sort -k2,2n vina_score.txt 
# 将排序结果保存
sort -k2,2n vina_score.txt >vina_score_sort.txt

# 设置一个阈值过滤打分,threshold = -11
awk '$2 < -11' vina_score_sort.txt
# 将过滤后的结果保存
awk '$2 < -11' vina_score_sort.txt >vina_score_sort_11.txt
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值