⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 Jmol是一个使用java语言编写的开源的免费三维分子显示工具,用于分子模型的浏览和编辑
💻 TXT
📖 第 1 页 / 共 5 页
字号:

# code: mouse manager refactoring

# bug fix: picking off structure did not clear picking for set picking spin
# bug fix: jmolScriptWait() improperly reporting to applet console
# bug fix: too many messages to applet console 
#
#  Note: planes, axisAngles, and quaternions are all saved as Token.point4f
#  axisAngle() and quaternion() are both processed to quaternion format
#  {x y z w} where w = cos(theta/2) and {x y z} = sin(theta/2)*unitNormal
#  quaternions are always fixed so that cos(theta/2) > 0 -- that is, so that
#  the reported theta (q %-2) is in the range [0, 180]
#  This is important. One can also get a directed theta based on a 
#  specified axis using q % {x y z w}. w is ignored; x y z is the 
#  axis to dot with the quaternion normal in order to switch the
#  sign of theta if that value is negative.
#
# new feature: show atom(s)
# new feature: show group(s)
# new feature: show selected
# new feature: draw {point} {plane}
# new feature: draw vector {point} {plane}
# new feature: draw arrow {point} {plane}
# new feature: q = axisAngle({x y z}, theta)
# new feature: q = axisAngle(x, y, z, theta)
# new feature: q = axisAngle("{x y x theta}")
# new feature: q = quaternion("{x y z w}")
# new feature: rotate @{quaternion(....)}
# new feature: rotate @{axisAngle(....)}
# new feature: rotate quaternion {x y z w}
# new feature: rotate axisAngle {x y z theta}

# new feature: {point1} == {point2} if distance < 0.000001
# new feature: {quaternion} == {quaternion2} if distance < 0.000001
# new feature: float1 == float2 if |float1 - float2| < 0.000001

# code: refactoring and simplification of rotate/spin 
# code: threads named

# bug fix: hover will find atom in hidden frame. 
# bug fix: ellipsoid translucency not saved in state.
# bug fix: local assignment var x = array() followed by x[n] = ... does not work
# bug fix: f(x[i],x[j]) selects only x[j], not both x[i] and x[j]
# bug fix: quaternion frame "n" recognizes file-based H atoms on N for frame definition

# -----------------------------------------------------------------------------

#version=11.5.44

# bug fix: Java exception with write(quaternion) instead of write("quaternion")
# bug fix: set picking spin did not enable draw spin/picking
# bug fix: _applet variable not initializing properly
# bug fix: math calculation .xyz, .color averages broken in 11.5.42
# bug fix: select @x broken in 11.5.43
# bug fix: integer addition not remaining integer

# -----------------------------------------------------------------------------

#version=11.5.43

# bug fix -- if last helix is last atom, SHOW STRUCTURE fails to identify it.
#
# new feature/feature change:
#
# selectX is no longer necessary. Simply use
#
#   select {atomExpression} (property expression)
#
# with no "x." An implied variable "_x" can be used explicitly:
#
#   select {*} (straightness < 0.995) # does not round
#   select {*.ca} (atomY < atomX)
#   select {*.ca} (phi < select(y; {*.ca}; y.resno = _x.resno + 1).phi)
#
# new feature: quaterion % point4f --- "thetaDirected" -- 
#   point4f is {x, y, z, w} (w ignored), where {x y z} is a
#   preferred direction. 
#   Returns a point4f angle-Axis equivalent with x, y, z the normal for the quaternion
#   rotation and w = theta for the rotation, where the normal and theta are chosen
#   to be directed with a positive dot product between the input {x y z}
#   vector and the output {x y z}.
#
# thus, because the negative angle switches the normal:  
#
#   print quaternion({1 0 0}, -20) % 1 ==> {-1 0 0}; %1 ==> 20
#
# but % {1 0 0 0} forces the angle associated with {1 0 0} to be reported 
#
#   print quaternion({1 0 0}, -20) % {1 0 0 0} ==> {1 0 0 20}
#
# bug fix: POV-RAY output of quadrilaterals.

# new feature: Ramachandran "r" --- includes third (Z) axis quaternion r difference2 X component equivalent

# bug fix: quaternion definition with dot-product check not effective -- removed
# bug fix: quaternion construction from matrix error
#
# new feature: _applet boolean
#
# new feature: extended quaternion math
#
#   q = quaternion({x y z}, angleDegrees)
#   q = quaternion(q0, q1, q2,q3)
#   q = {qx, qy, qz, qw}
#
# returning component values: 
#
#   q.x, q.y, q.z, q.w
#
# note that the Point4f equivalent stores w LAST, even though it is "q0" 
# because the Java Quat4f() and Point4f() both do that as well. We're just
# being consistent with other Java use.
#
# Modulus operator for extended information retrieval:
#
#   (q%0) -- q0 (w)
#   (q%1) -- q1 (x)
#   (q%2) -- q2 (y)
#   (q%3) -- q3 (z)
#   (q%-1) -- the vector {q1, q2, q3}
#   (q%-2) -- theta
#   (q%-3) -- equivalent rotational frame X-axis 
#   (q%-4) -- equivalent rotational frame Y-axis 
#   (q%-5) -- equivalent rotational frame Z-axis 
#   (q%{x y z})  -- rotational transform of a point or vector based on a quaternion
#
# thus, for example, (q%{1 0 0}) is the same as (q%-3)
#
#   (!q) -- quaternion inverse
#
# 
# Quaternion right division (difference "dq"):
#
#   q2 / q1 = q2 * (!q1)
#
# Quaternion left division (relative difference n):
#
#   q2 \ q1 = (!q1) * q2
#
# Examples:
#
#   q = quaternion({1 1 1},120)
#   print "" + (q%{1 0 0}) + " " + (q%{0 1 0}) + " " + (q%{0 0 1})    
#
#   {0 1.0 0} {0 0 1.0} {1.0 0 0}
#
# new feature: Numerical left division (integer divide)
#
#   3.6 \ 2 = 1
#   3.6 \ 1.3 = 2
#
# new feature: sqrt(x)
#
# bug fix: load trajectory for cases with different atom counts.
#
# experimental: "straightness" defined as 1 - 2 * acos(normal(dq[i]%-1) dot normal(dq[i+1])) / PI
# giving a measure proportional to the difference in local helical axis angle 
# and ranging from -1 (opposite direction) to 1 (same direction) for proteins 
# -- a work in progress. See
#
#   load =1d66
#   calculate straightness;color straightness

# -----------------------------------------------------------------------------

#version=11.5.42

# code: modified Jmol encoded PDB data output

# bug fix: color of NaN float values changed from "center of color scheme" to GRAY
# bug fix: connect "_1" was inadvertently dropped in 11.5.26.
# bug fix: state script fails to save data for atoms created using the quaternion command
# bug fix: axes/boundbox/unitcell dotted not working since 11.5.6
# bug fix: spin thread not stopped for applet destroy()
# bug fix: quaternion derivative for i/i+1 assigned to i+1 instead of i; now assigned to i
# bug fix: quaternion calculation using published algorithms was giving inverted quaternions
#
# new feature: set PICKLABEL "xxx"  -- allows customized pick reports
#
#  for example: set pickLabel "%n x = %x, y = %y, z = %z"
#
# new feature: "quaternion derivative" --> "quaternion difference", which is more
# appropriate, we think, with "absolute" and "relative" qualifiers:
# 
#   quaternion absolute difference # in the molecular frame
#   quaternion relative difference # in the (local) frame of first quaternion:
#
#   dq_absolute = q2 * q1_inverse
#   dq_relative = q1_inverse * q2
#
# absolute involves un-doing q1's rotation (making it the reference frame), then applying q2.
# relative involves applying q2 (maintaining the original reference frame), then undoing q1.
# 
# new feature: quaternion [w|x|y|z|a|r] [difference][2] [draw]
# new feature: draw quaternion [w|x|y|z|a|r] [difference][2]
# new feature: write quaternion [w|x|y|z|a|r] [difference][2] [draw]
#   and with that: write("quaternion" [,"w"|"x"|"y"|"z"|"a"|"r"][,"difference"|"difference2"][,"draw"])
#
# new feature: set quaternionFrame "N" -- for solid state NMR PISEMA 15N chemical shift frame
#  using alpha = 0 and beta = 17 degrees.
#
# new feature: select whatever; quaternion draw
#  draws x,y,z and n vectors for a quaternion center
# 
# new feature: straightness, defined as:
#
#   straightness =  2*|n(dq1).dot(n(dq2))| - 1
#
# where q1 and q2 are quaternions defined generally as:
#
#     q = frame{ vA, (vC x vA), vC }
#
# using quaternionFrame "p", which I define as 
#  
# protein:
#
#     vA = C--CA
#     vB = C--N[i+1]
#
# purine:
#
#     vA = N9--C4
#     vB = N9--C8
#
# pyrimidine:
#
#     vA = N1--C2
#     vB = N1--C6
#
# Differences dq1 and dq2 are absolute quaternion differences 
# on the two sides of a residue:
#
#        dq1 === q[i] * q[i-1]_inverse  
#        dq2 === q[i+1] * q[i]_inverse
#
# and n(dq) = the normal vector associated with this quaternion.
# Range is from -1 to 1
#
# applications (note that CALCULATE must be invoked first):
#
#    calculate straightness # must be invoked first; 
#    color straightness; 
#    select straightness < 0.70;   # rounds to nearest hundredth
#    selectX {*} x.straightness < 0.995 # does not round
# 
# new feature: "%T" label format for straightness

# -----------------------------------------------------------------------------

#version=11.5.41

# new feature: xyz reader reads partial charge in 5th field
# bug fix: carbohydrate popup menu script incorrect
# new feature: "load" of Jmol state scripts works same as "script" command
#   (file recognized as SPT type and read as a script instead)
# bug fix: Jmol Embedded scripts containing script comments /* */
# new feature: getproperty menu current
# bug fix: 11.5.40 cannot read most state scripts.

# -----------------------------------------------------------------------------

#version=11.5.40

# (with corrected 40_dev draw scale)
# new feature: new command:
#
# selectX {atomExpression} booleanEvaluation
#
#   same as select() function, but simpler to implement   
#
# new feature: full math on individual atom properties using 
#  a new function:
#
#   select(x;{atomexpression};booleanEvaluation)
#
# for example:
#
#  x = select(x;{*};x.distance({atomno=3}) / 3 > x.distance({atomno=2}))
#  x = select(x;{*.ca};x.phi < select(y; {*.ca}; y.resno = x.resno + 1).phi)
#
# bug fix: H1 and H3 in DNA are NOT backbone 
# new feature: quaternion derivative2 (2nd derivative) and quaternion e derivative [experimental]
# new feature: draw Vector [x y] or [x y %] {x' y' z'}
# new feature: draw [x y] or [x y %] can be incorporated into lines, curves, arrows
# bug fix: set picking center should not zoom -- just too annoying 
# new feature: set echo myecho [x y] and set echo myecho [x y %]
# new feature: axes position [x y] and axes position [x y %] 
#  sets the axes to the x y screen position or percent indicated. 
# bug fix: echos with active script and a model designation 
#   and multiple models select even if not displayed because it is not their model
#   that is displayed. 
# bug fix: missing echocallback, scriptcallback, measurecallback "set"able variables
# bug fix: "set picking identify" should be equivalent to "set picking ident"
# bug fix: popup menu had stereo reversed
#
# new feature: signed applet shows frank "Jmol-S" which is NOT removable.
# possibly to come: signed applet will send confirmation first time it reads a local file?
# bug fix: reading .mmol (biological unit) files such as
#  http://pqs.ebi.ac.uk/pqs-doc/macmol/1j7n_1.mmol
# new feature: frank appears RED in signed applet, and popup about menu identifies the applet as signed.
# code: better handling of twin script manager threads
# new feature: /*SPLIT*/ in a command string allows it to be processed by
#   the two independent processors. (just to isolate javascript from load commands
#   for the signed applet

# -----------------------------------------------------------------------------

#version=11.5.39

# new feature: --threaded  option for command processor uses
#  a watcher thread to monitor a Vector, allowing the signed applet to open any file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -