首选看这个,可以跟着手操一波小分子的下载和软件的使用(主要录制的比较好)
【虚拟筛选】使用Autodock_vina进行批量分子对接_哔哩哔哩_bilibili
但是接着就要看这个(上面那个不是很全),这个大佬最详细(蛋白的处理看这个)
小分子虚拟筛选与分子模拟课程——4.批量小分子对接_哔哩哔哩_bilibili
基础知识:比如为何需要pdbqt格式
分子对接基础知识 - xiaojikuaipao - 博客园 (cnblogs.com)
安装的指导文件看下面这些
vina的指导文档,必看(提供了好几种安装方式,一种不行换一种,其实操作非常详细了,很多都不一定需要手动调整,直接Linux里面用就行)
Installation — Autodock Vina 1.2.0 documentation (autodock-vina.readthedocs.io)
vina的指导pdf
https://autodock-vina.readthedocs.io/_/downloads/en/latest/pdf/
Open Babel的安装
Open Babel的安装与使用 - 云+社区 - 腾讯云 (tencent.com)
文献搜索,或者网站中找,但老实说它的搜索功能有点奇怪,有时候不同关键词(但是应该指向的是一种东西)不同结果
RCSB PDB: Homepage
Discover_studio
【八分熟肉】【分子对接】使用Discovery_studio进行分子对接前蛋白质预处理_哔哩哔哩_bilibili
或者pymol 处理
还要安装windows版本的MGLtools,主要是为了导出pdbqt文件,操作如下

用这个网站预测,然后下载活性区域
Zentrum für Bioinformatik: Universität Hamburg - Proteins Plus Server
receptor=
ligand=
center_x=100.657
center_y=6.351
center_z=40.898
size_x=46
size_y=34
size_z=28
exhaustiveness=16
num_modes=9
energy_range=4
这里注意要是python3.7的环境,因为最新版本已经到10了,所以如果直接安装python3的话,会装到python3.10,会有报错
conda create -n vina2 python=3.7
conda activate vina2
pip install -U numpy vina
但是奇葩的是虽然安装上,但是输入vina是没有办法调用的,不知道什么原因,但是好在官网提供了其他方式,直接下载即可用
Installation — Autodock Vina 1.2.0 documentation (autodock-vina.readthedocs.io)
Releases · ccsb-scripps/AutoDock-Vina (github.com)
注意要给权限
chmod 755 vina_1.2.3_linux_x86_64
调用出结果即可
./vina_1.2.0_linux_x86_64 --help
## 或者使用绝对路径
使用了半天才发现,官网这个下载才是最佳的,Linux下载解压之后,里面还有一个叫vina_split的脚本,这个很重要,因为如果你从zinc上下载的是pdbqt格式的话,下载的pbdqt格式是一个整体,需要用这个软件去分割
Download AutoDock4 – AutoDock (scripps.edu)
用来解压mol文件,因为我们从zinc数据库下载的是一个mol2的压缩文件,要用这个进行解压
conda install -y openbabel ## 用来解压mol文件
###常用分子格式转换命令,和上下文其实关系不大,属于后来补充的一些操作方法
mol2格式转pdbqt格式:
obabel -imol2 ligand.mol2 -opdbqt -O ligand.pdbqt
pdb格式转mol2格式:
obabel -ipdb ligand.pdb -omol2 ligand.mol2
smiles格式转2D的sdf格式:
obabel ligands.smi -O ligands.sdf –gen2d
smiles格式转3D的sdf格式:
obabel ligands.smi -O ligands.sdf –gen3d
sdf格式转smiles格式,删除氢:
obabel ligands.sdf -osmi -O ligands.smi -d
sdf格式转smiles格式,添加氢:
obabel ligands.sdf -O ligands.smi -h
用来将mol2转换为pdbqt文件,注意看下面的这个教程的操作
直接下载,然后解压即可,需要用到其中的prepare_ligand4.py
Downloads – mgltools (scripps.edu)
Linux上安装MGLtools - 知乎 (zhihu.com)
bash $MGL_ROOT/install.sh
!后面会出现install.sh后面会出现几个alias,要将其放入.bashrc,还要source一下
这个软件因为是python2写的,所以注意需要用到python2的环境,所以按照上面的教程设置2也行,或者直接创建conda的python2的环境
conda create -n vina3 python=2.7
如何从ZINC数库(www.zinc15.docking.org)下载虚拟筛选化合物库 - 知乎 (zhihu.com)
按照第一个视频上面的操作就好,我们下载的是mol2格式,通过fda认证的小分子药物
ZINC (docking.org)
首先我们下载的是一个fda.mol2文件,这是个大的压缩文件,要使用obabel 进行解压缩成若干个小的mol2文件
obabel -i mol2 fda.mol2 -o mol2 -O fda.mol2 -m
注:其实看上面就知道其实不需要prepare这个obabel 也可以将mol2转换为pdbqt
for i in *mol2;do echo $i; pythonsh ~/Biosfot/mgltools_x86_64Linux2_1.5.6/MGLToolsPckgs/AutoDockTools/Utilities24/prepare_ligand4.py -l $i $i.pdbqt ;done
因为我使用的是不需要安装的vina,也就是GitHub下载的版本,这个版本又和视频之中的不一样,会少了一个log选项,所以你如果是按照视频之中的安装,那么分子对接的命令和我是不一致的,help一下命令,看看参数
AutoDock Vina v1.2.3
Input:
--receptor arg rigid part of the receptor (PDBQT)
--flex arg flexible side chains, if any (PDBQT)
--ligand arg ligand (PDBQT)
--batch arg batch ligand (PDBQT)
--scoring arg (=vina) scoring function (ad4, vina or vinardo)
Search space (required):
--maps arg affinity maps for the autodock4.2 (ad4) or vina
scoring function
--center_x arg X coordinate of the center (Angstrom)
--center_y arg Y coordinate of the center (Angstrom)
--center_z arg Z coordinate of the center (Angstrom)
--size_x arg size in the X dimension (Angstrom)
--size_y arg size in the Y dimension (Angstrom)
--size_z arg size in the Z dimension (Angstrom)
--autobox set maps dimensions based on input ligand(s) (for
--score_only and --local_only)
Output (optional):
--out arg output models (PDBQT), the default is chosen based
on the ligand file name
--dir arg output directory for batch mode
--write_maps arg output filename (directory + prefix name) for
maps. Option --force_even_voxels may be needed to
comply with .map format
Misc (optional):
--cpu arg (=0) the number of CPUs to use (the default is to try
to detect the number of CPUs or, failing that, use
1)
--seed arg (=0) explicit random seed
--exhaustiveness arg (=8) exhaustiveness of the global search (roughly
proportional to time): 1+
--max_evals arg (=0) number of evaluations in each MC run (if zero,
which is the default, the number of MC steps is
based on heuristics)
--num_modes arg (=9) maximum number of binding modes to generate
--min_rmsd arg (=1) minimum RMSD between output poses
--energy_range arg (=3) maximum energy difference between the best binding
mode and the worst one displayed (kcal/mol)
--spacing arg (=0.375) grid spacing (Angstrom)
--verbosity arg (=1) verbosity (0=no output, 1=normal, 2=verbose)
Configuration file (optional):
--config arg the above options can be put here
Information (optional):
--help display usage summary
--help_advanced display usage summary with advanced options
--version display program version
先简单测试一波一个分子能不能操作
./vina_1.2.3_linux_x86_64 --config config.txt --ligand fda666.pdbqt --out test/666.pdbqt
可以,那么循环操作就可以了
for i in *pdbqt;do ./vina_1.2.3_linux_x86_64 --config config.txt --ligand $i --out test/$i.log ;done
不过很明显从参数来看vina 1.2版本以上是内置了使用cpu并行运算的,一次搞n个分子
但直接使用Linux和python的并行操作也可以
Python scripting — Autodock Vina 1.2.0 documentation (autodock-vina.readthedocs.io)
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# My first example with AutoDock Vina in python
#
from vina import Vina
v = Vina(sf_name='vina')
v.set_receptor('1iep_receptor.pdbqt')
v.set_ligand_from_file('1iep_ligand.pdbqt')
v.compute_vina_maps(center=[15.190, 53.903, 16.917], box_size=[20, 20, 20])
# Score the current pose
energy = v.score()
print('Score before minimization: %.3f (kcal/mol)' % energy[0])
# Minimized locally the current pose
energy_minimized = v.optimize()
print('Score after minimization : %.3f (kcal/mol)' % energy_minimized[0])
v.write_pose('1iep_ligand_minimized.pdbqt', overwrite=True)
# Dock the ligand
v.dock(exhaustiveness=32, n_poses=20)
v.write_poses('1iep_ligand_vina_out.pdbqt', n_poses=5, overwrite=True)
之后还有分子动力学模拟,之前看过一篇文献叫Beware of docking!
,大概意思就是docking只能提供一个切面,分子动力学模拟比较可靠一点。所以如果想要深入的话,可以以分子对接作为筛选,筛选前面几个分子然后去做分子动力学模拟。
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我想使用Ruby检查数千对文件中的每对文件是否包含相同的信息。有人能指出我正确的方向吗? 最佳答案 require'fileutils'FileUtils.compare_file('file1','file2')当且仅当文件file1和file2相同时返回true。 关于ruby-如何批量检查文件内容是否相同,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33769865/
假设你有这个结构:classHouse请注意,Tv的用户是故意不可访问的。所以你有一个三层嵌套的表单,允许你在一个页面上输入房子、房间和电视。这是Controller的创建方法:defcreate@house=House.new(params[:house])if@house.save#...standardstuffelse#...standardstuffendend问题:您究竟如何为每台电视填充user_id(它应该来自current_user.id)?什么是好的做法?这是我在其中看到的catch22。将user_ids直接填充到params散列中(它们嵌套得很深)保存将失败,因
我这个模型:classBunny每当我提交一个表单来创建这个模型时,我都会收到以下错误:#的未定义方法“number_before_type_cast” 最佳答案 我通过将此方法添加到我的Bunny模型中解决了这个问题:defnumber_before_type_castnumberend我不喜欢它,但我想在有人发布更好的解决方案之前它会起作用。 关于ruby-on-rails-Rails验证虚拟属性,我们在StackOverflow上找到一个类似的问题: h
【适用平台】私有云 说明:完成私有云部分是需要两台虚拟机的,分别为controller、compute两个节点,但我们只需配置一台,然后克隆就方便多啦!需要用到的映射文件:关于vm的安装我就不介绍的,毕竟挺简单的,下面让我们看看基于私有云模块中,虚拟机的搭建吧。1、创建新的虚拟机,这里一般我会选择自定义,毕竟后面的配置都要根据私有云相关来进行搭建,会比较复杂。(如果是基础的可以选择典型,典型的满足一般虚拟机的配置) 2、选择稍后安装操作系统会比较方便后续的选择,这里你也可以自己选择自己的映像文件(但不建议) 3、我们是基于Linux下操作的,所以选择Linux客户机操作系统,版本选择自己
我运行的是OSX,对视频转换一无所知。但我有大约200个视频都是mp4格式,无法在Firefox中播放。我需要将它们转换为ogg才能使用html5视频标签。这些文件位于一个文件夹结构中,这使得一次一个地处理一个文件变得困难。我希望bash命令或Ruby命令遍历所有子文件夹并找到所有.mp4并转换它们。我找到了一份关于如何使用Google执行此操作的引用资料:http://athmasagar.wordpress.com/2011/05/12/a-bash-script-to-convert-mp4-files-to-oggogv/#!/bin/bashforfin$(ls*mp4|se
VMware虚拟机与本地主机进行磁盘共享前提虚拟机版本为Windows10(专业版,不是可能有问题)本地主机为家庭版或学生版(此版本会有问题,但有替代方式)最好是专业版VMware操作1.关闭防火墙,全部关闭。2.打开电脑属性3.点击共享-》高级共享-》权限4.如果没有everyone,就添加权限选择完全控制,然后应用确定。5.打开cmd输入lusrmgr.msc(只有专业版可以打开)如果不是专业版,可以跳过这一步。点击用户-》administrator密码要复杂密码,否则不行。推荐admaiN@1234类型的密码。设置完密码,点击属性,将禁用解开。6.如果虚拟机的windows不是专业版,可
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀虚拟机上进行java项目部署,自己的一点总结,一起学习,一起进步,一起成长!🛸🛸🛸🛸🛸🛸🛸🛸🛸🛸目录文章目录虚拟机上进行java项目部署1.JDK安装2.TOMCAT安装3.DOCKER1、YUM安装2、docker部署java4、最后 【yzh2022.9】1.JDK安装1、我们安装VM的时候,使用命令java-version查看 java-version这里显示JDK的信息是openjdkversion"1.8.0_262",我们会发现这个JDK是VM自带的当然你也可以通过命令rpm-qa|grepjava来查看相关的java信息 rpm-qa|grepjava【如果不
是否可以使用Sequel在一次调用中进行多次更新??例如,在我的服务器上进行大约200次更新可能需要几分钟,但如果我伪造一个SQL查询,它会在几秒钟内运行。我想知道Sequel是否可以用来伪造那个SQL查询,或者更好的是,自己完成整个操作。 最佳答案 我遇到的解决方案涉及update_sql方法。它不是自己执行操作,而是输出原始SQL查询。要批量更新多个更新,只需将它们与;连接起来即可。在此期间,使用结果字符串调用run方法,一切就绪。批处理解决方案比多次更新快得多。 关于sql-是否可