文件目录

  • atomtypes.atp(5.2.1)
  • aminoacid related files
    • aminoacids.rtp(5.6.1)
    • aminoacids.r2b(5.6.2)
    • aminoacids.hdb(5.6.4)
    • aminoacids.c.tdb(5.6.5)
    • aminoacids.n.tdb
    • aminoacids.vsd(5.6.6)
    • summarizing briefly
  • ff files
    • ffbonded.itp
    • ffnonbonded.itp(5.3.2/5.3.4)
    • ff_dum.itp
    • forcefield.itp
  • Molecule.itp files
    • ions.itp
    • etc

最近在研究蛋白质复合物的时候遇到了一系列与力场有关的麻烦事,所以决定找个时间研究一下力场文件究竟写了些什么,免得以后再看不懂报错出来的都是啥。

本文以 gromos54a7.ff 力场(你可以在 GROMACS安装目录/share/gromacs/top 的子目录找到)为例,对力场文件进行了简要的解读。在目录中,括号内的序号标志着该文件及其拓展内容可以在GROMACS手册对应章节找到。

我们的 gromos54a7.ff 下文件有这些:

atomtypes.atp(5.2.1)

具体内容如下:

    O  15.99940 ;     carbonyl oxygen (C=O)OM  15.99940 ;     carboxyl oxygen (CO-)OA  15.99940 ;     hydroxyl, sugar or ester oxygenOE  15.99940 ;     ether or ester oxygenOW  15.99940 ;     water oxygenN  14.00670 ;     peptide nitrogen (N or NH)NT  14.00670 ;     terminal nitrogen (NH2)NL  14.00670 ;     terminal nitrogen (NH3)NR  14.00670 ;     aromatic nitrogenNZ  14.00670 ;     Arg NH (NH2)NE  14.00670 ;     Arg NE (NH)

.atp 是 atom types 的简写,它是力场对不同环境的原子的命名与标注。第一列为原子名称,第二列为原子质量,第三列(一般存在)为简要的解释。力场中所有文件(如后文提到的 .rtp 文件)对于原子的命名必须与 .atp 文件相统一,否则力场就无法识别该原子。

aminoacid related files

ff目录下前六个文件是与氨基酸相关的参数文件,为了照顾逻辑关系,我们没有按照上图的顺序进行解释:

aminoacids.rtp(5.6.1)

基本内容如下(省略了大部分对其他氨基酸的定义):

[ bondedtypes ]
; bonds  angles  dihedrals  impropers2       2          1          2[ ALA ][ atoms ]
;  name  type    charge   chargegroupN     N    -0.31000     0H     H     0.31000     0CA   CH1     0.00000     1CB   CH3     0.00000     1C     C       0.450     2O     O      -0.450     2[ bonds ]
;  ai    aj   gromos typeN     H    gb_2    N    CA    gb_21   CA    CB    gb_27   CA     C    gb_27   C     O    gb_5    C    +N    gb_10   [ exclusions ]
;  ai    aj[ angles ]
;  ai    aj    ak   gromos type-C     N     H     ga_32   -C     N    CA     ga_31   H     N    CA     ga_18   N    CA    CB     ga_13   N    CA     C     ga_13   CB    CA     C     ga_13   CA     C     O     ga_30   CA     C    +N     ga_19   O     C    +N     ga_33   [ impropers ]
;  ai    aj    ak    al   gromos typeN    -C    CA     H     gi_1    CA     N     C    CB     gi_2    C    CA    +N     O     gi_1    [ dihedrals ]
;  ai    aj    ak    al   gromos type-CA    -C     N    CA     gd_14   -C     N    CA     C     gd_44   -C     N    CA     C     gd_43N    CA     C    +N     gd_45   N    CA     C    +N     gd_42

.rtp 文件是 residue topology parameters 的缩写。它主要包含了对各种常见氨基酸(以及部分小分子物质如CCl4)的结构参数。

文件的的第一行均为[ bondedtypes ],后面的四个数字分别表示着键、键角、二面角、异常二面角的相互作用类型(目前笔者尚未查询到有关各数字所对应作用类型的信息)。此后各残基以块的结构书写在文件里,每个块包含[ name ]、[ atoms ](必需)和[ bonds ]、[ exclusions ]、[ angles ]、[ impropers ]、[ dihedrals ](非必需)的信息。在非必需的信息中,出现原子名称前有-、+意味着该原子来自此残基的后一个或前一个残基。其余各参数释义标注在了代码片内(关于gromos type的信息请见本文 ff files-ffnonbonded.itp 部分)。

aminoacids.r2b(5.6.2)

该文件的基本内容如下:

; rtp residue to rtp building block table
;GMX   Force-field
CYS    CYSH
HISD   HISA
HISE   HISB
LYS    LYSH
LYSN   LYS
HEM    HEME

.r2b是 residue to building block 的缩写(正如文件第一行注释所写),用来转换名称以便于力场识别。第一列为残基名称(具体释义可参考手册),第二列为构建单元名称。

aminoacids.hdb(5.6.4)

文件基本内容如下:

ALA     1
1   1   H   N   -C  CA
ARG     4
1   1   H   N   -C  CA
1   1   HE  NE  CD  CZ
2   3   HH1 NH1 CZ  NE
2   3   HH2 NH2 CZ  NE
ARGN    4
1   1   H   N   -C  CA
1   1   HE  NE  CD  CZ
1   2   HH1 NH1 CZ  NE
2   3   HH2 NH2 CZ  NE
ASN     2
1   1   H   N   -C  CA
2   3   HD2 ND2 CG  CB

.hdb是 hydrogen database 的缩写,储存着如何将H原子连接到已有原子的信息。我们将.rtp文件和.hdb文件的基本结构块放在一起看(以ARG为例)如下:

在.hdb文件中:第一行是残基名称和需要添加的H的原子的数目(可以对比.rtp文件发现,只有与主链上的重原子C相连的H没有相应信息,与O/N/S等相连的均已写在了 .rtp 文件中);剩余每行对应需要添加H原子的具体信息:第一列至右依次代表需要添加的H原子数目、添加方式(稍后讲解)、H原子的名称、三个(或四个)用于定位H(n)的辅助原子(i/j/k)。

;from .hdb
ARG     4
1   1   H   N   -C  CA ;例子,见代码块下
1   1   HE  NE  CD  CZ
2   3   HH1 NH1 CZ  NE
2   3   HH2 NH2 CZ  NE;from .rtp
[ ARG ][ atoms ]N     N    -0.31000     0H     H     0.31000     0CA   CH1     0.00000     1CB   CH2     0.00000     1CG   CH2     0.00000     1CD   CH2     0.09000     2NE    NE    -0.11000     2HE     H     0.24000     2CZ     C     0.34000     2NH1    NZ    -0.26000     2HH11     H     0.24000     2HH12     H     0.24000     2NH2    NZ    -0.26000     2HH21     H     0.24000     2HH22     H     0.24000     2C     C       0.450     3O     O      -0.450     3
……

具体的添加方式代号代表的含义请参考手册,这里举一个例子:ARG氢原子生成的第一个是在α-C上生成的,1代表产生一个 n,置于 ijk 形成的平面内并位于 j-i-k 角平分线距 i 0.1nm 处,同时 n-i-j 和 n-i-k 均大于90°;这是一个典型的肽主链上的单原子H。

aminoacids.c.tdb(5.6.5)

基本内容如下:

[ None ][ COO- ]
[ replace ]
C   C   C   12.011  0.27
O   O1  OM  15.9994 -0.635
OXT O2  OM  15.9994 -0.635
[ add ]
2   8   O   C   CA  NOM 15.9994 -0.635
[ bonds ]
C   O1  gb_6
C   O2  gb_6
[ angles ]
O1  C   O2  ga_38
CA  C   O1  ga_22
CA  C   O2  ga_22
[ dihedrals ]
N   CA  C   O2  gd_45
N       CA      C       O2      gd_42
[ impropers ]
C   CA  O2  O1  gi_1[ COOH ]
[ replace ]
C   C   C   12.011  0.33
O   O   OA  15.9994 -0.288
OXT OT  O   15.9994 -0.45
[ add ]
1   2   OT  C   CA  NO  15.9994 -0.45
1   2   HO  O   C   CAH 1.008   0.408
[ bonds ]
C   O   gb_13
C   OT  gb_5
O   HO  gb_1
[ angles ]
O   C   OT  ga_33
C   O   HO  ga_12
CA  C   O   ga_19
CA  C   OT  ga_30
[ dihedrals ]
N   CA  C   O   gd_45
N   CA  C   O   gd_42
CA  C   O   HO  gd_12
[ impropers ]
C   CA  OT  O   gi_1

文件名中 c 则意味着该文件与肽链C端氨基酸参数有关;而 .tdb 为 terminal database(末端数据库)的意思。这个文件会被 pdb2gmx 调用,用来告诉程序如何将末端原子连接到已有原子、应该删除或更改那些原子、还应该添加那些键相互作用。

可以看出,文件的基本结构单元是长这样的:

[ COO- ]
[ replace ]
C   C   C   12.011  0.27
O   O1  OM  15.9994 -0.635
OXT O2  OM  15.9994 -0.635
[ add ]
2   8   O   C   CA  NOM 15.9994 -0.635
[ bonds ]
C   O1  gb_6
C   O2  gb_6
[ angles ]
O1  C   O2  ga_38
CA  C   O1  ga_22
CA  C   O2  ga_22
[ dihedrals ]
N   CA  C   O2  gd_45
N       CA      C       O2      gd_42
[ impropers ]
C   CA  O2  O1  gi_1

手册里面将这种单元称之为块。当 pdb2gmx 在读取肽链上的每一个氨基酸时,它会自动判断氨基酸所处位置与需要设定的类型。例如位于肽链中间部分的氨基酸会被判定到[ None ]下而不进行任何改变;对于C末端的氨基酸则会判定到[ COOH ]或[ COO- ]进行相应更改。每个块下又有细分的信息:

  1. [ replace ]:用于提供替换原子所需的信息:
[ replace ]
O(要被替换的原子) O1(新的原子名称) OM(新原子的类型) 15.9994(新原子的质量) -0.635(新原子的电荷)
  1. [ add ]:用于添加新的原子;第一行与.hdb文件基本格式相似,只不过添加类型多了8/9两种(且为C末端专用,具体请参见手册),第二行用于声明所添加原子的具体信息:
[ add ]
2(需要添加的原子数)   8(添加类型)   O(i/j/k/l 原子) C   CA  NOM(被添加原子的类型) 15.9994(质量)   -0.635(电荷)   (可选,电荷组)
  1. [ delete ]:用于删除已有原子;每个原子一行:
[ delete ]
H
  1. 其余键参数、角参数与.rtp文件中格式相同;用于添加额外的键参数。

aminoacids.n.tdb

与 aminoacids.c.tdb 相同,只不过为N端。

aminoacids.vsd(5.6.6)

基本内容如下:

; no CH3 groups - Gromos96 is a united atom forcefield
[ NH3 ]NL        C    MNH3NL      CH1    MNH3NL      CH2    MNH3
[ NH2 ]NT      planarNZ      planarNL        C    MNH3NL      CH1    MNH3NL      CH2    MNH3; Data for generating dummy aromatic rings.
; Actually we dont need all these bonds and angles,
; but by specifying them here it is easier to improve
; the dummy generation code later.
[ PHE ]CG   CD1     0.139   CG  CD2     0.139CD1   CE1      0.139CD2    CE2     0.139CE1   CZ       0.139CE2    CZ      0.139CD1    HD1     0.109CD2    HD2     0.109CE1    HE1     0.109CE2   HE2      0.109CZ    HZ       0.109CG    CD1   CE1    120.0CD1   CE1   CZ 120.0CE1   CZ    CE2    120.0CZ    CE2   CD2    120.0CE2   CD2   CG 120.0CD2   CG    CD1    120.0CG    CD1   HD1    120.0CG    CD2   HD2    120.0HD1   CD1   CE1    120.0CD1   CE1   HE1    120.0HE1   CE1   CZ 120.0CE1   CZ    HZ 120.0HZ    CZ    CE2    120.0CZ    CE2   HE2    120.0HE2   CE2   CD2    120.0HD2   CD2   CG 120.0

.vsd 是 virtual site database 的缩写,用于创建拓扑中的虚拟位点(可以参考手册4.7)。文件分为两个部分:第一部分确定了用于基团的质心,第一列向右依次为连接到 2/3 氢原子的原子类型、连接下一个重原子的原子的类型、所使用的质心类型(MNH3为经典四面体类型,planar为平面类型);第二部分为芳香族侧链的参数:2或3列原子名称、指定键长(2列)或键角(3列)参数。

summarizing briefly

在 pdb2gmx 构建拓扑文件过程中,对于蛋白质而言,其主要应用上述文件对蛋白质进行拓扑构建。首先是读取 aminoacids.rtp 对各个氨基酸残基进行基本的处理,顺带用 aminoacids.r2b 进行名称规整,而后借助 aminoacids.hdb 添加缺失的H原子并用 aminoacids.c/n.tdb 对末端、aminoacids.vsd 对刚性结构进行处理;整个过程并非顺序执行,而有可能是并行存在的。

ff files

ffbonded.itp

.itp 是 independent topology parameter 的简写,而 ffbonded 则意味着其对力场键参数做出了定义。

参考下文的代码块(为节省空间删去了一些空的注释行)可以发现:

  1. 第一个主类是键拉伸参数(Table 2.5.2.1,bond-stretching parameters),代码简记为 gb,#define 语句对键进行了详细的定义:第一个参数为键的代号(Bond type code)、第二个为力常数(Force constant)、第三个为理论键长(Ideal bond length)、语句的下一行注释为符合这一键类型的例子;
  2. 第二个主类是键角参数(Table 2.5.3.1,bond-angle bending parameters),代码简记为 ga,在 table 下也有对 #define 参数的解释;
  3. 第三个主类是异常二面角参数(Table 2.5.4.1,improper (harmonic) dihedral angle parameters),代码简记为 gi,同样有对参数的注释;
  4. 第四个主类为二面角扭转参数(Table 2.5.5.1,(trigonometric) dihedral torsional angle parameters),代码简记为 gd,同样有对参数的注释;
  5. 最后还有一部分对虚拟位点参数的调用(#include "ff_dum.itp",ff_dum.itp 文件将会在后文解释)、对特殊结构的约束和对特殊键型的补充定义,在定义前均有注释行进行解释;其中[ constrainttypes ],(还没研究明白,以后再写)
;        Table 2.5.2.1
;       GROMOS bond-stretching parameters
;
;   Bond type code
;   Force constant
;   Ideal bond length
;   Examples of usage in terms of non-bonded atom types
;
;   ICB(H)[N]    CB[N] B0[N]
;
#define gb_1        0.1000  1.5700e+07
; H  -  OA      750
;
; ……
;
;       Table 2.5.3.1
;       GROMOS bond-angle bending parameters
;
; Bond-angle type code
; Force constant
; Ideal bond angle
; Example of usage in terms of non-bonded atom types
;
;  ICT(H)[N]  CT[N]  (T0[N])
;
#define ga_1         90.00      380.00
; NR(heme)  -  FE  -  C          90
;
; ……
;
;       Table 2.5.4.1
;       GROMOS improper (harmonic) dihedral angle parameters
;
; Improper dihedral-angle type code
; Force constant
; Ideal improper dihedral angle
; Example of usage
;
; ICQ(H)[N] CQ[N] (Q0[N])
;
#define gi_1           0.0   167.42309
; planar groups 40
;
; ……
;
;       Table 2.5.5.1 (Note: changes with respect to the 43A1 table)
;       GROMOS (trigonometric) dihedral torsional angle parameters
;
; Dihedral-angle type code
; Force constant
; Phase shift
; Multiplicity
; Example of usage in terms of non-bonded atom types
;
; ICP(H)[N]  CP[N] PD[N] NP[N]
;
#define gd_1    180.000       2.67          1
; CHn-CHn-CHn-OA (sugar)  0.6
;
; ……
;
; get the constraint distances for dummy atom constructions#include "ff_dum.itp"[ constrainttypes ]
; now the constraints for the rigid NH3 groupsMNH3    C    2   DC_MNC1MNH3  CH1    2   DC_MNC2MNH3  CH2    2   DC_MNC2MNH3 MNH3    2   DC_MNMN
; and the angle-constraints for OH and SH groups in proteins:CH2    H    2   DC_COCH1    H    2   DC_COC    H    2   DC_COP    H    2   DC_PO; bond-, angle- and dihedraltypes for specbonds:
[ bondtypes ]
S      S       2    gb_36
NR     FE      2    gb_34[ angletypes ]
CH1    CH2    S     2   ga_16
CH2    S      S     2   ga_6
CR1    NR    FE     2   ga_34
NR     FE    NR     2   ga_17[ dihedraltypes ]
S      S      1   gd_21
NR     FE     1   gd_38
CH2    S      1   gd_26

ffnonbonded.itp(5.3.2/5.3.4)

  1. 先看[ atomtypes ]部分:由于原子的静态性质中,质量来自 atomtypes.atp 文件,电荷来自于相应的 .rtp 文件,所以在非键参数的定义中质量与电荷被标为了0;第一列向右依次为为原子名称、原子序号、质量、电荷、粒子类型(A代表原子,D或V代表虚拟相互作用位点,详细见手册5.2)、范德华参数V(或σσσ)、W(或εεε)。
  2. 第二部分为非键参数定义:其中 func 代表非键函数类型(1为Lennard-Jones,2为Buckingham),参数 c6,c12 的含义取决于拓扑文件(.top)中 [ defaults ] 的 comb-rule 定义(详细请见手册5.3.2与5.7.1[ defaults ]部分)。
  3. 第三部分为对相互作用的定义(详细解释参考手册5.3.4)
[ atomtypes ]
;name  at.num   mass      charge  ptype       c6           c12O    8      0.000      0.000     A  0.0022619536       1e-06OM    8      0.000      0.000     A  0.0022619536  7.4149321e-07OA    8      0.000      0.000     A  0.0022619536  1.505529e-06OE    8      0.000      0.000     A  0.0022619536    1.21e-06OW    8      0.000      0.000     A  0.0026173456  2.634129e-06
;
; ……
;
[ nonbond_params ]
;   i   j   func    c6  c12OM   O   1   2.261954E-03    8.611000E-07OA  O   1   2.261954E-03    1.386510E-06OA  OM  1   2.261954E-03    2.258907E-06OE  O   1   2.261954E-03    1.100000E-06OE  OM  1   2.261954E-03    9.472100E-07OE  OA  1   2.261954E-03    1.505529E-06OW  O   1   2.433170E-03    1.833990E-06OW  OM  1   2.433170E-03    2.987943E-06OW  OA  1   2.433170E-03    1.991421E-06OW  OE  1   2.433170E-03    1.991421E-06
;
; ……
;
[ pairtypes ]
;   i   j   func    c6  c12O    O   1   2.261954E-03    7.414932E-07OM  O   1   2.261954E-03    7.414932E-07OM  OM  1   2.261954E-03    7.414932E-07OA  O   1   2.261954E-03    9.687375E-07OA  OM  1   2.261954E-03    9.687375E-07OA  OA  1   2.261954E-03    1.265625E-06OE  O   1   2.261954E-03    9.687375E-07OE  OM  1   2.261954E-03    9.687375E-07OE  OA  1   2.261954E-03    1.265625E-06OE  OE  1   2.261954E-03    1.265625E-06

ff_dum.itp

该文件定义了一些用于处理虚拟位点的参数,如下:

; These constraints are used for vsite constructions as generated by pdb2gmx.
; Values depend on the details of the forcefield, vis. bondlengths and angles
; These parameters are designed to be used with the GROMOS96 forcefields
; G43a1, G43a2 and G43b1.; Constraints for the rigid NH3/CH3 groups depend on the hygrogen mass,
; since an increased hydrogen mass translates into increased momentum of
; inertia which translates into a larger distance between the dummy masses.
#ifdef HEAVY_H
; now the constraints for the rigid NH3 groups
#define DC_MNC1 0.175695
#define DC_MNC2 0.188288
#define DC_MNMN 0.158884
; now the constraints for the rigid CH3 groups
#define DC_MCN  0.198911
#define DC_MCS  0.226838
#define DC_MCC  0.204247
#define DC_MCNR 0.199798
#define DC_MCMC 0.184320
#else
; now the constraints for the rigid NH3 groups
#define DC_MNC1 0.144494
#define DC_MNC2 0.158002
#define DC_MNMN 0.079442
; now the constraints for the rigid CH3 groups
#define DC_MCN  0.161051
#define DC_MCS  0.190961
#define DC_MCC  0.166809
#define DC_MCNR 0.162009
#define DC_MCMC 0.092160
#endif
; and the angle-constraints for OH and SH groups in proteins:
#define DC_CS  0.23721
#define DC_CO  0.19849
#define DC_PO  0.21603

其中有一个gromacs文件中常见的条件语句:

#ifdef XXX
;#……
#else
;#……
#endif

我们便创建了一个名为 XXX 的选择功能,只需要在进入模拟之前的 .mdp 文件中使用define = -DXXX或在相应的 .top 文件前些部分使用#define XXX,就可以使模拟调用#ifdef XXX部分的参数;如果没有事先声明,则会调用#else部分的参数。

forcefield.itp

#define _FF_GROMOS96
#define _FF_GROMOS54A7[ defaults ]
;非键函数类型 组合规则   对生成与否   L-J1-4修正因子 静电1-4修正因子
; nbfunc     comb-rule  gen-pairs    fudgeLJ            fudgeQQ1             1          no           1.0                1.0#include "ffnonbonded.itp"
#include "ffbonded.itp"

这个文件实际上标明了力场的[ defaults ]和#include设置。中文注释为笔者添加。

Molecule.itp files

ions.itp

该文件被用于生成离子的拓扑(主要是用在genion)。其中nrexcl表示排除不远于x条键的非键相互作用力。

[ moleculetype ]
; molname   nrexcl
CU1         1[ atoms ]
; id    at-type  res-nr   residu name   at-name  cg-nr  charge   mass1      CU1+    1        CU1           CU       1      1     63.54600

etc

此外ff 内还包括了其他用于solvate或脂质生成的 .itp 文件:

水分子:


脂质分子:


其基本格式与 ions.itp 相同,且由于这部分与 .top 文件非常相似,我们将会在另一篇文章里面细说。

GROMOS力场文件解读手册第5章阅读笔记I相关推荐

  1. 西瓜书第三章阅读笔记

    西瓜书第三章阅读笔记 第三章 线性模型 1.机器学习三要素 2.基本形式 3.线性回归 3.1 模型 3.2 策略 3.3 求解算法 4.对数几率回归 4.1 模型 4.2 策略 4.3 求解算法 5 ...

  2. 西瓜书第四章阅读笔记

    西瓜书第四章阅读笔记 1.基本概念 1.1 基本算法 1.2 信息熵 1.3 信息增益 2.ID3决策树 3.C4.5决策树 4.CART决策树 5.剪枝操作 6.连续与缺失值处理 7.多变量决策树 ...

  3. 西瓜书第一章阅读笔记

    西瓜书第一章阅读笔记 第一章 绪论 1.机器学习基本术语 2.归纳偏好 3.所有学习算法一样优秀? 4.补充资料 第一章 绪论 1.机器学习基本术语 记录:对一个事件或对象的描述,也称为"示 ...

  4. 西瓜书第二章阅读笔记

    西瓜书第二章阅读笔记 第二章 模型评估与选择 1.经验误差与过拟合 2.模型评估方法 2.1 留出法 hold out 2.2 交叉验证法 cross valildation 2.3 自助法 boot ...

  5. Introduction to modern cryptography 第一章阅读笔记

    文章目录 前言 1.1 密码学以及现代密码学 1.2 私钥密码的设定 (1) 一些定义 (2) 密码方案的语法 (3) Kerckhoffs原理 1.3 一些密码方案 (1) Caesar's cip ...

  6. STA of nanometer design 第四章阅读笔记

    第四章主要讲的是互连线上的寄生参数----电阻.电容 1.互连线的电阻指的是从cell的输出端到其所驱动的所有fanout的输入端的电阻. 电容指的是对地的电容以及信号线间的耦合电容 RC的等效模型有 ...

  7. 《现代前端技术解析》第4-5章 阅读笔记

    第四章 现代前端交互框架 (需要进行理解,再完善笔记) ​ 数据的处理和操作的核心就是DOM的处理和操作,即便是今天,所有前端JavaScript框架最终要解决的仍然是如何实现高效,高性能DOM交互操 ...

  8. 大道至简第五章阅读笔记

    这次第五章的内容谈到了工程的实质内容,那就是做工程做项目的过程.在一个项目中,理解了客户的需求之后就该分析具体的实施计划,很多人总是会做瀑布模型然后按照模型的样子去做完过程的每一个阶段,但是每个阶段又 ...

  9. 大道至简第一章阅读笔记

    大道至简的第一章中开头就举出了一个家喻户晓的故事-愚公移山,这个故事可以很容易的看出原始需求,即:"惩山北之塞,出入之迂",项目目标:"毕力平险,指通豫南,达于汉阴&qu ...

  10. 大道至简第四章阅读笔记

    第四章内容中给我们介绍了一种情况,就是当客户与调研人员在探讨需求问题时,总是因为不能很好的沟通,而把事情搞得很复杂,原因在于调研人员过分流于形式,他们总是用专业的语言向客户介绍着他们的产品项目,但对于 ...

最新文章

  1. 金山词霸2009牛津版
  2. PL/SQL数据库字符集问题
  3. LC77 Combinations
  4. 张衡的地震仪不起作用的原因
  5. python字典按键值排序_Python字典『键 值』排序
  6. register---C语言中最快的关键字
  7. 【源码系列】Eureka源码分析
  8. P1457 城堡 The Castle 位运算+BFS+思维(难题,好题)
  9. C++设计模式-采用装饰模式用户和管理员加载不同的模块(Qt框架实现)
  10. java笔试面试题---基础部分4
  11. 编程语言新宠儿——Julia诞生记(转)
  12. 云画质助手iApp源码下载
  13. 脚本 - EXCEL
  14. Axure RP 9安装与使用
  15. Louvain算法在反作弊上的应用
  16. 让大家在30分钟内完成APPLEALC的声卡仿冒
  17. 纯真数据库 解析 php,PHP解析纯真IP数据库(qqwry.dat)
  18. 看 AWS 如何通过 Nitro System 构建竞争优势
  19. 服务器共享文件夹的管理,管理共享文件夹的权限
  20. fastboot烧机

热门文章

  1. 有何特长及英语计算机水平怎么写,熟悉专业有何特长填写(范文篇).doc
  2. 英语语言标准C1,【CEFR】国际通用的学生英语能力水平评测标准
  3. 学游戏设计好就业吗?有“钱”途吗?
  4. PHP微信公众号开发——群发消息
  5. 【论文解读 KDD 2019 | GATNE 】Representation Learning for Attributed Multiplex Heterogeneous Network
  6. application octet stream java_Java servlet句柄application/octet-stream用于图像上传
  7. Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
  8. 微信公众号开发系列三:响应关注和取关事件
  9. 一元高次方程c语言实现,c语言实现一元二次方程求解
  10. 视频压缩软件APP有哪些?让我来告诉你答案