PyMOL学习日志(二):插件(蛋白质-配体建模)

承接上文介绍可视化与分析增强插件,本文讨论蛋白质-配体建模类插件。

Optimize

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2017/01/14(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:MIT

可以最小化选定部分的能量

tCONCOORD‐GUI

代码仓库位置:不适用
==>项目位置:http://wwwuser.gwdg.de/~dseelig/tconcoord.html
最后一次更新:未知(截止2019/07/18)
目标Python版本:未知
版权声明:未知

404 Not Found

LigAlign

代码仓库位置:不适用
==>项目位置:http://compbio.cs.toronto.edu/ligalign/index.html
最后一次更新:2010/08/24(截止2019/07/18)
目标Python版本:Python2
版权声明:类似MIT

可能那个时代还不流行单元测试吧,需要对下载下来的1.0.0版做一些微调才能用:
1、ligalign/similarityDB/sim_85改名为ligalign/similarityDB/ligSimilarity_0.85.pdbIDlist
2、ligalign/ligand_alignment.py中的1356行,except CmdException块中,无论如何将error变量置为False
这样就能用了。

LigAlign

Kabsch

代码仓库位置:不适用
最后一次更新:未知(截止2019/07/18)
目标Python版本:未知
版权声明:未知

对齐蛋白,推荐使用PyMOL内置的指令fit、cealign或者super。详见https://pymolwiki.org/index.php/Kabsch

PharmDock

代码仓库位置:不适用
==>项目位置:https://people.pharmacy.purdue.edu/~mlill/index.shtml
最后一次更新:2013/07/15(截止2019/07/18)
目标Python版本:Python2
版权声明:未知

仍需要Debug

MLP GLOD

代码仓库位置:不适用
==>项目位置:http://mlptools.altervista.org/
最后一次更新:未知(截止2019/07/18)
目标Python版本:未知
版权声明:未知

404 Not Found

LIQUID

代码仓库位置:不适用
==>项目位置:http://gecco.org.chemie.uni-frankfurt.de/liquid/index.html
最后一次更新:未知(截止2019/07/18)
目标Python版本:未知
版权声明:未知

404 Not Found

DrugOn

代码仓库位置:不适用
==>项目位置:http://bioinfoteam.com/software.html
==>曲线救国:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4304849/#supplemental-informationtitle
最后一次更新:2015/01/13(截止2019/07/18)
目标Python版本:不依赖Python
版权声明:未知

依赖北京大学分子设计实验室开发的LigBuilder。有点想弃之食锅。

POCKETPICKER

代码仓库位置:不适用
==>项目位置:http://gecco.org.chemie.uni-frankfurt.de/pocketpicker/index.html
最后一次更新:未知(截止2019/07/18)
目标Python版本:未知
版权声明:未知

404 Not Found

AutoDock/VINA

代码仓库位置:https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2018/06/27(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:类似CC署名

作为调用AutoDock/VINA的插件,需要外部安装AutoDock/VINA方可使用。

FlexAID

代码仓库位置:不适用
==> 项目位置:http://biophys.umontreal.ca/nrg/resources.html
最后一次更新:未知(截止2019/07/18)
目标Python版本:Python2
版权声明:未知

建议直接替换为同实验室出品的NRGsuite,此外对配体有最多200个原子的限制。

PyMOL & NRGsuite

PyMod

代码仓库位置:不适用
==> 项目位置:http://schubert.bio.uniroma1.it/pymod/index.html
最后一次更新:2017/11/03(截止2019/07/18)
目标Python版本:Python2
版权声明:未知

用于蛋白质序列相似度搜索,多序列-结构对齐,同源建模。——译自项目首页。所以这和蛋白质-配体建模有什么关系┑( ̄Д  ̄)┍

大型XML解析初探(以Drugbank为例)

这些年,大家都喜欢谈论大数据,那我们也来看看所谓大数据下,常规思路是如何走入困境,又应该如何化解矛盾。在这里我们以DrugBank的数据库为例子,讨论一下如何用Python解析大型的XML。

0b0. 上车前系好安全带

一般大家会在发生内存泄漏,填满所有可用内存之前把程序停掉。又或者在申请内存空间时,返回空间不足,从而导致程序意外终止。在内存不足的情况下,Python可不会管你,如果不自己加点保护措施,会直接把系统搞崩。因此,首先要用Python的resource模块上一个内存使用的保险。例如我们将该Python进程最大可使用内存设为3GB,超过3GB将抛出Memory Error异常。

import resource

# Max Memory Used 3GB
MAX_MEM = 5*1024*1024*1024

_ = resource.prlimit(0,resource.RLIMIT_AS,(MAX_MEM,MAX_MEM))

0b1. 开车啦

传统的parse无法正确加载
系好安全带之后会抛出异常而不是计算机崩溃

然后就翻车了
这就是大数据所面临的经典问题

贫穷的你,内存不够大

当然其实内存大了也没用

0b10. 分而治之

针对drugbank数据库,简单分析可以看出,这个数据库是由一个drugbank标签包围的一堆drug标签所构成的。无法在普通计算机中直接读入到内存也只是因为drug标签稍微有一点多——虽然也不是那么地多,毕竟才一万多个。那么一个非常直观的想法就是只解析每个drug标签,而不必把这一万多个drug标签一起解析。这就相当于我们不去直接加载整个数据库,而一条一条数据加载、处理、释放内存。

仔细观察drugbank的xml文件可以看出:其一,以drug单词开头的标签还有不少;其二,文件格式还是不错的,不同标签都正确换行,且不同层次的标签缩进空格也有。那么根据这两个特征,我们可以通过打开文件,逐行分析drug标签的开闭,截取需要的drug标签片段,然后解析。值得注意的是,drug标签里会在drug-interaction标签里再包含一个drug标签,因此如果文件格式不太妙的话,可能还要注意一下premature end of data in tag drug 的问题,需要额外判断一下标签开闭状态。当然drugbank的数据文件还不错,只需要简单地截取就可以了。下面给出一个函数原型,权当抛砖引玉。

from lxml.etree import parse
import tarfile
from io import BytesIO

def drugs(place='drugbank.tar.xz'):
    raw_zip = tarfile.open(name=place)
    XML = raw_zip.extractfile(raw_zip.getmember('full database.xml'))

    buf = None
    enter = False

    for line in XML:
        if line.startswith(b'<drug '):
            buf = BytesIO()
            enter = True
        if enter:
            buf.write(line)
        if line.startswith(b'</drug>'):
            buf.seek(0)
            enter = False
            yield parse(buf)

[WiP]计算NMR化学位移

鄙人什么都不会(指量子化学),主要还是参考其他高人写的文章(参见这边),稍微做一下集成。本文的终极目标是全自动计算NMR化学位移,包括选择基组、自动修正理论/实验误差。

首先量子化学软件输出的NMR计算结果至少会给出三样东西:1、磁屏蔽张量;2、各向异性 (Anisotropy ) 磁屏蔽值;3、各向同性 (Isotropic) 磁屏蔽值。值得注意的是磁屏蔽值的单位是ppm,也就是说将四甲基硅烷(TMS)计算出的磁屏蔽值,减去目标化合物目标原子的磁屏蔽值,就得到了化学位移。年轻的我还照着分析化学书又将差除以TMS的磁屏蔽值,结果怎么都不对。一般来说对于非固态体系,分子的取向并不受限,因此需要取各向同性磁屏蔽值来计算化学位移。

计算形式一般首选GIAO;至于基组的选取,这依赖于理论/实验误差的修正。上边所说文章提到理论计算值与实验值,通常呈线性关系,即对于大量的化合物,将各种化学环境下原子核化学位移的理论计算值与实验值绘制散点图,图中散点可以用直线拟合。该网页提供了基于给定样本计算得到的直线方程与方根均误差(当然也可以看决定系数R2嘛)。依据方根均误差最小选取合适的基组,相近方根均误差则依据计算量最小。上面说的直线方程是根据G03/G09计算理论值从而得到的,其他的量化软件可能需要另外进行拟合。

PyMOL学习日志(二):插件(可视化与分析增强插件)

从2017年的一篇文章所列举的插件列表开始调查(WIREs Comput Mol Sci 2017,e1298. doi: 10.1002/wcms.1298)

BondPack

代码仓库位置:https://github.com/rasbt/BondPack
最后一次更新:2016/08/19(截止2019/07/18)
目标Python版本:Python2
版权声明:GPLv3

BondPack正如其名是一组工具组成的软件包,软件包包含三个工具HydroBond、BondVis和BondLab。其中HydroBond工具可以在用户选定的距离范围内,将所有蛋白与配体潜在的极性相互作用可视化;BondVis则可以根据用户提供的原子对,将这些原子对之间的键可视化;BondLab则进一步提升了BondVis可视化的能力,可以自定义BondVis所生成的键的外观。

尚未进行测试

DynoPlot

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2017/05/04(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:未声明

用于绘制拉氏图,或者直白一点叫做α-碳与酰胺平面交角图。虽然用起来很方便,但是画出来的图,至少从美学上讲,还是有很大进步空间的。

已在PyMOL 2.3.0中测试

Sculpting

代码仓库位置:不适用
最后一次更新:2002/07/18(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:未声明

原文献其实对这个“插件”的描述过于激进,称其为“Real-time energy minimizer”。而这个“插件”不过是2002年开发者在回复PyMOL关于分子塑造[参阅]时,提到的一种PyMOL自身具有的功能。需要指出的是开发者对这项功能只是说“works like a real-time energy minimizer”并且“I’m not sure the sculpting feature is more than entertainment

尚未进行测试

CMPyMOL

代码仓库位置:https://github.com/emptyewer/CMPyMOL
最后一次更新:2017/08/28(截止2019/07/18)
目标Python版本:Python2
版权声明:MIT

比起插件,更像是对PyMOL的一层包装,毕竟作为插件应该是以PyMOL作为框架来实现一些功能,而这个则是另起炉灶,再以远程过程调用PyMOL实现其功能,将PyMOL作为了一种底层平台。CMPyMOL可以用于分析蛋白质的相互作用,生成Contact Map、Heat Map和Histogram。(吃了没文化的亏,不知道这些图该怎么用,感觉在机器学习上会有奇效)

cmpymol demo

已在PyMOL 2.3.0中测试

MOLE

代码仓库位置:不适用
==>项目地址: http://webchem.ncbr.muni.cz/Platform/App/Mole
==>在线版本地址: https://mole.upol.cz/
最后一次更新:2017/04/24(截止2019/07/18)
目标Python版本:Python2
版权声明:通常使用不需付费

自称全平台支持(Win、Linux、MacOS),其实是用.Net写了个Windows下的二进制应用,然后说你可以用Mono装到另外两个平台┑( ̄Д  ̄)┍
可以作为PyMOL的插件,但需要已安装MOLE;不支持PyQt,需要以Tk方式编译得到的PyMOL;因此直接使用MOLE本体可能会更好。

Mole

尚未进行测试

CAVER

代码仓库位置:不适用
==>项目地址: https://www.caver.cz/index.php?sid=199
最后一次更新:(截止2019/07/18)
目标Python版本:Python2
版权声明:通常使用不需付费

似乎是用于计算通道的?安装相对简单,下载得到的压缩包,解压后修改对应操作系统命名的文件夹中的Python代码中的Caver3路径。安装插件时选择从文件安装,文件选取上一步修改代码的Python文件。

已在PyMOL 2.3.0中测试

PyANM

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2017/11/04(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:类似署名-禁止衍生

计算各向异性网络模型,才疏学浅,其意义尚不明确。延伸阅读https://doi.org/10.1016/S0006-3495(01)76033-X

已在PyMOL 2.3.0中测试

BNI Tools

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2019/02/16(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:类似署名-禁止衍生

就是,buff了一下PyMOL的选取和显示的功能。

已在PyMOL 2.3.0中测试

DSSP & Stride Plugin for PyMOL

代码仓库位置:http://www.biotec.tu-dresden.de/~hongboz/dssp_pymol/dssp_pymol.html
最后一次更新:2011/04/28(截止2019/07/18)
目标Python版本:Python2
版权声明:类似署名-禁止衍生

使用外部程序DSSP和Stride计算蛋白质的二级结构,并以二级结构类型上色。说到底是一个把PyMOL和DSSP与Stride粘起来的胶水。

DSSP & Stride Plugin for PyMOL

已在PyMOL 2.3.0中测试

APBS

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2019/02/16(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:类似署名-禁止衍生

PyMOL 2.x自带的一个插件,调用APBS计算蛋白质的电荷分布情况,同时APBS本身需要PDB2PQR将pdb蛋白质文件转换为适合APBS的pqr文件。

已在PyMOL 2.3.0中测试

MLPTool

项目已终止

Azahar

代码仓库位置:https://github.com/BIOS-IMASL/Azahar/
最后一次更新:2018/08/30(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:MIT

用于显示与分析糖链。

Azahar Plugin

已在PyMOL 2.3.0中测试

PyTMs

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2017/11/14(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:GPLv2

诶,能用;但是不懂它是干什么的,说是能修饰蛋白残基,但可能我眼神不好?

已在PyMOL 2.3.0中测试

PLIP

代码仓库位置:https://github.com/ssalentin/plip
==>项目位置:https://projects.biotec.tu-dresden.de/plip-web/plip/index
最后一次更新:2018/05/30(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:GPLv2

可以直接从pip安装,用以表征蛋白质与其他配体之间的非共价作用,与其说是PyMOL的插件,倒不如说它只是用PyMOL来可视化而已。延伸阅读doi: 10.1093/nar/gkv315

Plip

不适用测试

eMovie

代码仓库位置: https://github.com/Pymol-Scripts/Pymol-script-repo/
最后一次更新:2017/06/02(截止2019/07/18)
目标Python版本:Python3/Python2
版权声明:未声明

感动人心的插件,比起用命令行制作动画,不知道高出多少个华莱士。

eMovie

已在PyMOL 2.3.0中测试

ProMOL

代码仓库位置:未知
==>项目位置:http://www.promol.org
最后一次更新:2015/10/05(截止2019/07/18)
目标Python版本:Python2
版权声明:GPLv2

诡异的安装方式,且未尝成功安装。

测试失败

Average3D

代码仓库位置:未知
==>项目位置:http://muralab.org/~cmura/PyMOL
最后一次更新:2005/08 (可能)(截止2019/07/18)
目标Python版本:Python2
版权声明:未知

网站响应时间过长。jpg

测试失败

自建Gitlab在使用LFS出现的一个小问题

现象

在局域网内使用docker启动一个Gitlab实例,其中external_url设置为http://fqdn。外部使用Nginx反向代理到该实例的80端口,并向外提供HTTPS服务。

在使用git LFS上传文件时git提示file already closed

解决

根据GitHub上热心群众提供的方法,需要将external_url中的http改为https,以解决 file already closed 的问题。但是直接改为https则会出现浏览器提示Too Many Redirect,究其原因是容器中的Gitlab实例在发现external_url中的协议名为https时将会自动将80端口上的流量导回443端口上,如下图所示:

循环重定向

为此需要在GitLab的启动环境变量中增加对Gitlab重定向行为的修正,使之不发出重定向响应:

nginx['listen_port'] = 80
nginx['listen_https'] = false

■QED

PyMOL学习日志(一):安装

PyMOL简单来说是一个用于分子可视化的软件包,最初由Warren Lyford DeLano开发,目前由 Schrödinger (是个企业)负责开发与维护。其图形呈现使用OpenGL库,图形化用户界面使用Tk库或Qt库。

在Windows上的安装相对比较简单,所以从Windows平台的安装开始介绍。

Windows平台安装

windows平台上的安装一般选择从预编译的二进制分发包安装。从源码安装原则上应该也是可以的,不过目前还没有成功,姑且挖个坑以后再填

从预编译二进制分发包安装

首先从Christoph Gohlke所维护的Python非官方Windows预编译包网站上下载PyMOL的预编译包
👇下载地址👇
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol
挑选一个合适的版本下载后使用pip安装即可

:: 假设下载了Pmw‑2.0.1‑py3‑none‑any.whl和pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 下载目录为path
:: 那么
cd path
pip install Pmw‑2.0.1‑py3‑none‑any.whl
pip install pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 就可以了

从源码安装

施工中
预计完成日期:待定

Linux平台安装

这里以Ubuntu为例,其他发行版的区别应该只有包管理器的那点区别,同法理应可行。

从预编译二进制分发包安装

apt-get install pymol
# 完成了

从源码安装

源代码在GitHub上 https://github.com/schrodinger/pymol-open-source 克隆到本地之后首先检出需要的tag。就本文撰写时,有v2.2.0和v2.3.0两个tag,任选一个即可。就目前而言似乎项目代码还未使用标准的Git工作流来控制代码的开发,仅有一个master分支,因此检出tag就显得很重要了。

1. Prerequisite

  • Python3 (如果需要使用第三方插件,则应当考虑使用Python2)
  • APT包管理器安装如下包:
    • build-essential(用于编译,必须)
    • python-dev( 必须 ;使用Python3,则改为 python3-dev,以下以python-开头的包同理 )
    • python-pmw(如果使用Tk,必须)
    • libglew-dev (必须)
    • freeglut3-dev (如果不使用–glut 安装选项,可选)
    • libpng-dev (必须)
    • libfreetype6-dev (必须)
    • libxml2-dev(如果使用 –no-libxml安装选项,可选 )
    • libmsgpack-dev(用于加速MMTF文件的装载,可选)
    • python-pyqt5.qtopengl(建议,否则将会使用Tk)
    • libglm-dev(必须)

2. 安装MMTF库

PyMOL需要读取MMTF文件,因此需要额外添加编码、解码库,这里需要MMTF的C++实现。其具体实现在GitHub上https://github.com/rcsb/mmtf-cpp 。当然安装该库的前提是安装过MessagePack C++库,也就是上文所说的 libmsgpack-dev 包。
从GitHub克隆后进入目录,根据文档中的安装方法即可

mkdir build
cd build
cmake -G "Unix Makefiles" ..
sudo make install

3. 编译安装

进入克隆下来的PyMOL源代码目录执行

python setup.py install --prefix=~/pymol-build

如果希望用Python3,对应地改为python3即可。编译完成后执行~/pymol-build/bin/pymol即可启动pymol。此外如果希望使用Tk作为GUI库,那么在Ubuntu(至少在18.04上)有一个小bug——Ubuntu安装Tk和Tcl会在Include目录下建立一个Tk文件夹和Tcl文件夹以便多版本共存,那么源代码中写的<#include Tk.h>自然就会引发无法找到头文件的问题,因为理论上应该写作<#include Tk/Tk.h>。那么一种思路就是修改源文件,另一种更加方便的策略就是将Tk和Tcl文件夹加入编译的Include目录列表中。

Aria2c的容器化部署(基于docker-compose)

在之前的几篇文章中已经介绍了如何一个部分一个部分地综合部署aria2下载环境,详见索引页。接下来结合我国具体国情——用户太多,IP地址太少(至少运营商是这么告诉我们的)——于是公网环境下配置aria2下载环境会有两个问题:其一,公网地址作为个人用户,很可能不是那么好拿到的(指家庭宽带得到公网IP);其二,很容易能拿到公网IP的道路(指用吃灰中的VPS),又有可能律师函警告(指用BT下载版权内容)。因此用aria2下载BT文件的时候,其实P2P上传的那一部分细节就不需要特意去研究了,反正你也只能从具有公网IP的对等客户端下载,同时也只能上传给那些具有公网IP的对等客户端,UPnP还是DMZ主机什么的技术,在通常情况下,跟我们没太大关系。

因此从我们的具体实际出发,对aria2部署的网络环境作如下假设:能访问公网地址,可以访问aria2所在环境的特定端口。那么容器化其实就是一个很好的选择,下面就谈一下容器化后的三个部件容器,当然我也为太长不看的用户准备了一个范例docker-compose文件,修改用户名、密码、和RPC密钥就可以跑起来了:

架构图

那么我们接着往下谈

容器化的Aria2

首先是aria2的本体,容器化之后需要考虑的是aria2的版本可控。因此使用软件仓库中的aria2不是非常恰当,可选的方案有:1、从GitHub的release列表中下载;2、源码编译。在这里我们选择的是从源码编译,容器为多阶段构建方式

编译Aria2

基本上按照代码仓库中的说明文档按部就班即可,可能需要注意的是以Ubuntu:18.04镜像作为基础镜像编译aria2时,需要额外安装一个文档中没有说明的包 liblzma-dev ,否则编译会提示找不到某些依赖库。

启动Aria2

启动部分主要是要关注两个问题:一是如何正确地根据环境变量初始化,二是如何正确地从持久化的数据中加载配置。

第一个方面可以使用 gettext-base 软件包中的 envsubst命令,该命令可以将输入文本中的环境变量部分(即“${……}”)用环境变量的取值替换。因此只需要准备一个模板配置文件(比如说“config.template”),在启动脚本中使用 envsubst < config.template > config 就能得到填入环境变量的配置文件“config”,随后用不覆盖复制,就能解决从数据卷中加载配置的问题。最后我们只需要简单地执行./aria2c --conf-path=/config/aria2.conf即可。

这部分的参考代码在GitHub: https://github.com/jsjyhzy/downloader-parts-aria2

容器化的WebDAV服务

WebDAV服务选择的是WsgiDAV。要问为什么选这个,其实也没什么特殊的原因,大可以选其他的WebDAV服务程序。WsgiDAV的无配置启动相对比较容易,但真的要去配置还是很麻烦的,所以我们就从官方文档中将示例配置稍加修改,也就能用了。下面我们以示例的yaml版本的配置文件为例

WsgiDAV配置文件

主要需要关注两个配置点“ provider_mapping” 和“ simple_dc:user_mapping ”

provider_mapping 定义了挂载点,在这里我们需要将容器内的数据卷(在我的参考代码中是“/data”)挂载到“/webdav”。而 simple_dc:user_mapping 则定义了访问控制列表,因为我们的这套方案是为单用户使用而设计的,因此在这里也只需要定义一个用户,可以用上之前aria2使用环境变量的方法。

这部分的参考代码在也在GitHub:https://github.com/jsjyhzy/downloader-parts-webdav

容器化的Nginx

nginx做反向代理主要需要完成三项工作:1、代理aria2的rpc端口;2、代理WebDAV端口;3、提供AriaNg的静态文件,我们一个一个来说

反向代理Aria2的RPC端口

得益于aria2c使用的rpc是基于HTTP协议的,这为我们使用nginx来反向代理创造了可能性。代理时比较重要的是提供websocket支持,这可以通过在location块中添加:

proxy_http_version      1.1;
proxy_set_header        Upgrade         $http_upgrade;
proxy_set_header        Connection      "upgrade";

来完成websocket的反向代理

反向代理WebDAV

这本来没什么好说的,但wsgidav有一个浏览器友好的界面,它将需要从 “/:dir_browser ”目录中(相对于wsgidav)加载一些js、css文件,如果不妥善处理这一块东西,用是能用,就是不美观。所以不仅要反向代理“/webdav”(相对nginx),还要代理“/:dir_browser”(相对nginx)。

提供静态文件

这一部分可以直接从GitHub下载release版本,解压到随便什么目录,然后用nginx服务静态文件即可。

Last but not least

一般来说我们会在nginx配置文件中使用其他容器的名称来访问对应端口,但是最近的docker不再向/etc/hosts直接写入解析,而是通过内置一个DNS服务来完成容器名-IP地址的解析,因此要在server块中追加一句 resolver 127.0.0.11; 否则将会提示无法解析容器名。

这部分的参考代码在GitHub:https://github.com/jsjyhzy/downloader-parts-nginx

人体解剖与生理学填空题(五)

  • 骨骼肌神经肌接头的终板膜上存在N2受体,副交感节后神经纤维支配效应器细胞上的M受体。
  • 神经纤维传导兴奋的特征主要有完整性绝缘性双向性相对不疲劳性
  • 突触传递的特征是单向传递突触延搁总和性兴奋节律改变内环境变化敏感易疲劳
  • 小脑对躯体运动的调节功能主要是调节身体平衡肌紧张随意运动
  • 大脑皮质对躯体运动的调节功能是通过锥体系和锥体外系完成的,锥体系的主要功能是发动随意运动、调节精细运动、保持动作协调性;锥体外系的主要功能是调节肌紧张、完成肌群之间的协调运动。
  • 自主神经节(骨骼肌神经肌接头的终板膜上)细胞上的受体属于胆碱能(胆碱能)受体中的N1N2受体。
  • 帕金森病病因是双侧黑质病变,多巴胺能神经元受损;舞蹈病病因是双侧纹状体病变,GABA神经元变性或遗传性受损。
  • 感受器电位是一种过渡性电位,其大小在一定范围内与刺激强度成比例,因此不具有全或无性质。
  • 眼的折光系统包括角膜房水晶状体玻璃体
  • 眼球的内容物包括房水晶状体玻璃体
  • 看近物时,眼的调节使晶状体折光能力增强(变凸),瞳孔缩小,眼球会聚
  • 瞳孔对光反射的中枢位于中脑
  • 激素按其化学性质可分为含氮类类固醇类两大类。
  • 垂体分为神经垂体腺垂体两部分,它们在结构和功能上均与下丘脑有密切关系。
  • 下丘脑视上核和室旁核分泌抗利尿激素催产素,沿下丘脑垂体束运送到神经垂体储存。
  • 生理浓度的生长素能促进蛋白质的合成、促进脂肪的分解,加强对糖的利用。
  • 成年后生长激素分泌过多可产生肢端肥大症。
  • 甲状腺功能主要受下丘脑腺垂体甲状腺轴自身调节所调节,甲状腺素激素包括T3T4,它们是酪氨酸衍生物。
  • 甲状旁腺激素的主要作用是使血钙上升、血磷下降
  • 调节机体钙磷代谢的激素使甲状旁腺激素降钙素维生素D
  • 降钙素是由甲状腺C(滤泡旁)细胞分泌的肽类激素,主要作用是降低血钙和血磷水平,其主要靶器官是,对肾脏也有一定作用。
  • 肾上腺皮质可以分泌三种激素:糖皮质激素盐皮质激素性激素
  • ACTH的靶腺是肾上腺皮质,作用是刺激糖皮质激素的分泌。
  • 盐(糖)皮质激素由肾上腺球状(束状)带分泌,其代表为醛固酮(皮质醇)
  • 糖皮质激素分泌过多时能引起生长停滞、肌肉消瘦、皮肤变薄、骨质疏松
  • 糖皮质激素可提高血管对去甲肾上腺素肾上腺素的反应性。
  • 糖皮质激素的四抗作用是抗炎症抗过敏抗中毒抗休克
  • 促肾上腺皮质激素的分泌一方面受到下丘脑释放的促肾上腺皮质释放激素的调节,另一方面受血液中的糖皮质激素调节。
  • 肾上腺髓质分泌的激素由肾上腺素去甲肾上腺素两种,肾上腺髓质激素分泌增加可使心输出量增加、血糖升高、支气管平滑肌舒张
  • 松果体分泌的激素主要有褪黑素,主要生物学作用是抑制促性腺激素释放激素释放抑制甲状腺和肾上腺皮质调节衰老调节生物节律
  • 升血糖激素有糖皮质激素胰高血糖素肾上腺素生长激素甲状腺素
  • 腺垂体分泌的促性腺激素包括卵泡刺激素黄体生成素
  • 卵巢的功能是产生卵子分泌激素
  • 雌激素可提高子宫平滑肌对缩宫素的敏感性。
  • 排卵后引起体温升高的是孕激素
  • 胎盘的主要作用是物质交换分泌激素
  • 胎盘分泌的激素主要有人绒毛膜促性腺激素人绒毛膜生长激素雌激素孕酮

人体解剖与生理学填空题(四)

  • 肾小管重吸收的特点是重吸收的选择性不同部位重吸收功能不同重吸收有限
  • 醛固酮是肾上腺皮质球状带细胞合成和分泌的一种激素,作用于肾远曲小管和集合管产生保钠、保水、排钾作用;ADH与醛固酮的作用部分相同,使小管的上皮细胞对的通透性增加。
  • 外髓部的高渗透梯度主要由髓袢升支粗段对氯化钠的重吸收形成,内髓部的高渗梯度主要是由尿素氯化钠从小管内向组织内液扩散形成的。
  • 终尿中的钠离子主要来自于近曲小管,而其中的钾离子主要来自于远曲小管集合管分泌。
  • 酸(碱)中毒时,钠离子氢离子交换增强(减弱),钠离子钾离子交换减弱(增强),血中钾离子浓度上升(下降),尿中氯化铵排出量增多(减少)
  • 血浆晶体渗透压升高,ADH分泌增加
  • 钠离子/钾离子降低,使醛固酮分泌增高。
  • 大量饮用清水,使血浆晶体渗透压降低,产生的利尿称为水利尿,本质是由于血中ADH含量降低而引起的,终尿渗透压降低。小管液中溶质浓度升高产生的利尿称为渗透性利尿,本质是由于远曲小管和集合管内外促进水吸收的动力降低,终尿渗透压升高
  • 肾脏中致密斑可以感受肾小管液中钠离子的变化,而球旁细胞具有分泌肾素的能力。
  • ADH主要作用是使远曲小管和集合管对水的重吸收增加,引起尿量减小
  • 氢离子在肾小管的分泌有利于的分泌和碳酸氢根的重吸收。
  • 人体两大信息系统是神经系统内分泌系统
  • 神经对其所支配的组织可发挥功能性作用营养性作用两方面作用。
  • 神经元的主要功能是接受刺激产生兴奋,神经纤维的主要功能是传导兴奋
  • 突触后抑制是由抑制性中间神经元引起的抑制。突触后膜表现为极化。
  • EPSP产生是由于突触后膜的钠离子、钾离子通透性增加,其中主要是钠离子
  • IPSP产生是由于突触后膜的氯离子钾离子通透性增加。
  • 电突触传递的结构基础是缝隙连接,该处传导一般是双向的,其传导速度
  • 神经元之间信息传递的方式主要有化学性突触传递电突触传递非突触传递
  • 脊髓前角运动神经元有αγ两种;前者支配梭外肌,后者支配梭内肌
  • 骨骼肌的牵张反射分为腱反射肌紧张。牵张反射的感受器是肌梭,肌紧张是姿势反射的基础。
  • 脑干网状结构中,加强肌紧张的部位称为易化区,抑制肌紧张的部分称为抑制区
  • 根据释放递质的不同,自主神经节后纤维可分为胆碱能纤维肾上腺素能纤维肽能或嘌呤能纤维
  • 体内大多数血管都受交感缩血管神经支配,当此神经被切断后,血管舒张
  • 当交感(副交感)神经兴奋时,心率加快(减慢),支气管平滑肌舒张(收缩),瞳孔扩大(缩小)

人体解剖与生理学填空题(三)

  • 在正常情况下,影响肺血流量的主要因素是颈动脉压。脑血管接受交感缩血管神经纤维和副交感舒血管神经纤维支配。
  • 动脉舒张压的高低心舒期的长短是影响冠脉血流量的重要因素。
  • 实现肺通气的原动力来自于呼吸运动,而肺通气的阻力主要有弹性非弹性两种。
  • 呼吸运动的三个环节是外呼吸气体在血液中的运输内呼吸
  • 肺的弹性阻力来自于肺泡表面张力肺组织的弹性回缩力,其中以肺泡表面张力为主。肺的非弹性阻力主要来自于气道阻力,它受气流速度气流形式管径大小影响。
  • 非弹性阻力包括气道阻力惯性阻力粘滞阻力
  • 消化道平滑肌的一般特性由自律性舒展性紧张性收缩兴奋性较低对化学温度机械牵张敏感
  • 胃特有的运动形式是容受性舒张,小肠特有的运动形式是分节运动
  • 小肠的运动形式主要有蠕动紧张性收缩分节运动;胃的运动形式主要有容受性舒张紧张性收缩蠕动;大肠的运动形式主要有袋状往返运动蠕动集团运动
  • 胃液中的盐酸是由壁细胞分泌的,胃蛋白酶原是由主细胞分泌的,在盐酸的作用下激活为胃蛋白酶;内因子是由壁细胞分泌的,内因子的作用是促进VB12的吸收
  • 胰液中的水和碳酸氢根主要是由小导管上皮细胞分泌,消化酶主要是由腺泡细胞分泌的。
  • 营养物质主要是在小肠部位吸收的,因为吸收面积大食物已分解为小分子食物在小肠停留时间长
  • 糖类氨基酸吸收走血液途径,大分子脂肪酸吸收走淋巴途径。
  • 消化道内在神经丛包括粘膜下神经丛肌间神经丛
  • 基础代谢率是指人体在清醒而又非常安静的状态下,不受肌肉活动环境温度食物精神紧张等因素的影响时的能量代谢率。
  • 人体小(大)汗腺的支配神经属于交感神经,其节后纤维为胆碱(肾上腺素)能纤维。
  • 能量代谢是指体内物质代谢过程中所伴随的能量释放转移贮存利用的过程。
  • 影响能量代谢的因素主要有肌肉活动精神活动食物特殊动力效应环境温度,其中影响最大的是肌肉活动
  • 从渗透压看,汗液是一种低渗液体,大量出汗可使细胞外液渗透压升高
  • 调节体温的中枢在下丘脑,其主要部分是下丘脑视前区下丘脑前部
  • 温度感受器可分为外周温度感受器和中枢温度感受器;温度敏感神经元可分为热敏神经元和冷敏神经元。
  • 机体排泄的四种途径是肾脏皮肤呼吸器官消化道
  • 肾单位可分为皮质肾单位和近髓肾单位。
  • 肾脏的血流量分配不均,其中皮质血流量较多,髓质血流量较少,而直小血管的血液来自近髓肾单位
  • 影响肾小球滤过的因素有滤过膜通透性与滤过面积有效滤过压肾血流量