You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(35) |
May
(67) |
Jun
(2) |
Jul
|
Aug
(12) |
Sep
(54) |
Oct
(91) |
Nov
(168) |
Dec
(100) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(209) |
Feb
(158) |
Mar
(19) |
Apr
(24) |
May
(184) |
Jun
(134) |
Jul
(54) |
Aug
(399) |
Sep
(218) |
Oct
(271) |
Nov
(207) |
Dec
(126) |
2004 |
Jan
(138) |
Feb
(249) |
Mar
(420) |
Apr
(100) |
May
(335) |
Jun
(143) |
Jul
(91) |
Aug
(129) |
Sep
(98) |
Oct
(170) |
Nov
(352) |
Dec
(355) |
2005 |
Jan
(256) |
Feb
(158) |
Mar
(163) |
Apr
(38) |
May
(217) |
Jun
(98) |
Jul
(213) |
Aug
(169) |
Sep
(260) |
Oct
(94) |
Nov
(87) |
Dec
(153) |
2006 |
Jan
(35) |
Feb
(176) |
Mar
(308) |
Apr
(168) |
May
(152) |
Jun
(67) |
Jul
(99) |
Aug
(90) |
Sep
(313) |
Oct
(266) |
Nov
(282) |
Dec
(189) |
2007 |
Jan
(118) |
Feb
(309) |
Mar
(289) |
Apr
(209) |
May
(268) |
Jun
(103) |
Jul
(91) |
Aug
(143) |
Sep
(146) |
Oct
(205) |
Nov
(157) |
Dec
(172) |
2008 |
Jan
(53) |
Feb
(87) |
Mar
(188) |
Apr
(99) |
May
(101) |
Jun
(91) |
Jul
(117) |
Aug
(158) |
Sep
(100) |
Oct
(221) |
Nov
(184) |
Dec
(127) |
2009 |
Jan
(64) |
Feb
(93) |
Mar
(60) |
Apr
(74) |
May
(76) |
Jun
(218) |
Jul
(130) |
Aug
(115) |
Sep
(142) |
Oct
(76) |
Nov
(160) |
Dec
(181) |
2010 |
Jan
(229) |
Feb
(231) |
Mar
(184) |
Apr
(243) |
May
(229) |
Jun
(204) |
Jul
(293) |
Aug
(370) |
Sep
(160) |
Oct
(164) |
Nov
(163) |
Dec
(161) |
2011 |
Jan
(145) |
Feb
(147) |
Mar
(117) |
Apr
(43) |
May
(102) |
Jun
(152) |
Jul
(204) |
Aug
(98) |
Sep
(162) |
Oct
(216) |
Nov
(107) |
Dec
(98) |
2012 |
Jan
(53) |
Feb
(131) |
Mar
(105) |
Apr
(109) |
May
(155) |
Jun
(88) |
Jul
(82) |
Aug
(69) |
Sep
(96) |
Oct
(83) |
Nov
(71) |
Dec
(50) |
2013 |
Jan
(51) |
Feb
(53) |
Mar
(81) |
Apr
(143) |
May
(75) |
Jun
(103) |
Jul
(126) |
Aug
(104) |
Sep
(73) |
Oct
(136) |
Nov
(148) |
Dec
(90) |
2014 |
Jan
(82) |
Feb
(146) |
Mar
(132) |
Apr
(125) |
May
(72) |
Jun
(84) |
Jul
(35) |
Aug
(68) |
Sep
(49) |
Oct
(54) |
Nov
(58) |
Dec
(15) |
2015 |
Jan
(76) |
Feb
(82) |
Mar
(74) |
Apr
(49) |
May
(48) |
Jun
(48) |
Jul
(57) |
Aug
(66) |
Sep
(45) |
Oct
(52) |
Nov
(18) |
Dec
(33) |
2016 |
Jan
(26) |
Feb
(27) |
Mar
(60) |
Apr
(30) |
May
(51) |
Jun
(25) |
Jul
(12) |
Aug
(47) |
Sep
(11) |
Oct
(26) |
Nov
(9) |
Dec
(27) |
2017 |
Jan
(44) |
Feb
(34) |
Mar
(22) |
Apr
(108) |
May
(42) |
Jun
(17) |
Jul
(38) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(13) |
Aug
(39) |
Sep
(8) |
Oct
(7) |
Nov
(25) |
Dec
(16) |
2022 |
Jan
(26) |
Feb
(30) |
Mar
(31) |
Apr
(16) |
May
(12) |
Jun
(7) |
Jul
(15) |
Aug
(24) |
Sep
(4) |
Oct
(10) |
Nov
(7) |
Dec
(5) |
2023 |
Jan
(7) |
Feb
(2) |
Mar
(4) |
Apr
(1) |
May
|
Jun
(3) |
Jul
(13) |
Aug
(14) |
Sep
(17) |
Oct
(3) |
Nov
(13) |
Dec
(6) |
2024 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(1) |
Jul
(2) |
Aug
(1) |
Sep
(1) |
Oct
(8) |
Nov
(2) |
Dec
(1) |
2025 |
Jan
(4) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(5) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
|
2
(2) |
3
(8) |
4
(6) |
5
(3) |
6
(5) |
7
(1) |
8
(1) |
9
(1) |
10
|
11
(2) |
12
(2) |
13
(8) |
14
(3) |
15
(3) |
16
(9) |
17
|
18
(5) |
19
(1) |
20
|
21
|
22
(4) |
23
(7) |
24
(3) |
25
(3) |
26
(1) |
27
(2) |
28
(1) |
29
(3) |
30
(7) |
|
|
|
|
|
From: <ni...@us...> - 2008-06-30 21:45:53
|
Revision: 9538 http://jmol.svn.sourceforge.net/jmol/?rev=9538&view=rev Author: nicove Date: 2008-06-30 14:45:50 -0700 (Mon, 30 Jun 2008) Log Message: ----------- Version Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 18:19:44 UTC (rev 9537) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 21:45:50 UTC (rev 9538) @@ -1,8 +1,12 @@ # Developers: to add a description of changes you have made, # add it on line starting with # below the "version=..." line -version=11.5.43 +version=11.5.44_dev +# ----------------------------------------------------------------------------- + +#version=11.5.43 + # bug fix -- if last helix is last atom, SHOW STRUCTURE fails to identify it. # # new feature/feature change: @@ -105,9 +109,8 @@ # # load =1d66 # calculate straightness;color straightness -# + # ----------------------------------------------------------------------------- -# #version=11.5.42 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 18:20:02
|
Revision: 9537 http://jmol.svn.sourceforge.net/jmol/?rev=9537&view=rev Author: hansonr Date: 2008-06-30 11:19:44 -0700 (Mon, 30 Jun 2008) Log Message: ----------- version=11.5.43 # bug fix -- if last helix is last atom, SHOW STRUCTURE fails to identify it. Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-30 15:00:22 UTC (rev 9536) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-30 18:19:44 UTC (rev 9537) @@ -2154,7 +2154,7 @@ int nTurn = 0; int nSheet = 0; for (int i = 0; i <= atomCount; i++) - if (bsAtoms == null || bsAtoms.get(i)) { + if (i == atomCount || bsAtoms == null || bsAtoms.get(i)) { id = Integer.MIN_VALUE; if (i == atomCount || (id = atoms[i].getProteinStructureID()) != lastId) { if (bs != null) { Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 15:00:22 UTC (rev 9536) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 18:19:44 UTC (rev 9537) @@ -3,6 +3,8 @@ 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 15:01:18
|
Revision: 9536 http://jmol.svn.sourceforge.net/jmol/?rev=9536&view=rev Author: hansonr Date: 2008-06-30 08:00:22 -0700 (Mon, 30 Jun 2008) Log Message: ----------- version=11.5.43 # 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)) # Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Compiler.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Token.java Modified: trunk/Jmol/src/org/jmol/viewer/Compiler.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-06-30 05:09:59 UTC (rev 9535) +++ trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-06-30 15:00:22 UTC (rev 9536) @@ -1414,7 +1414,6 @@ boolean isImplicitExpression; boolean isSetOrDefine; - boolean isSelectX; Token tokenCommand; int tokCommand; @@ -1435,7 +1434,6 @@ tokCommand = tokenCommand.tok; isImplicitExpression = tokAttr(tokCommand, Token.implicitExpression); isSetOrDefine = (tokCommand == Token.set || tokCommand == Token.define); - isSelectX = (tokCommand == Token.selectx); isCommaAsOrAllowed = tokAttr(tokCommand, Token.expressionCommand); int size = ltoken.size(); if (size == 1 && !tokAttr(tokCommand, Token.flowCommand) @@ -1456,9 +1454,6 @@ //compile expressions -// isEmbeddedExpression = (tokAttr(tokCommand, Token.embeddedExpression)); -// boolean checkExpression = (tokAttrOr(tokCommand, Token.expressionCommand, - // Token.embeddedExpression)); isEmbeddedExpression = tokCommand != Token.function && (!tokAttrOr(tokCommand, Token.expressionCommand, Token.specialstring)); boolean checkExpression = isEmbeddedExpression || (tokAttr(tokCommand, Token.expressionCommand)); @@ -1508,6 +1503,7 @@ int firstToken = (isSetOrDefine && !isSetBrace ? 2 : 1); ltokenPostfix = new Vector(); itokenInfix = 0; + Token tokenBegin = null; for (int i = 0; i < firstToken && addNextToken(); i++) { } while (moreTokens()) { @@ -1523,15 +1519,27 @@ continue; } if (!isImplicitExpression) - addTokenToPostfix(Token.tokenExpressionBegin); + addTokenToPostfix(tokenBegin = new Token(Token.expressionBegin, "implicitExpressionBegin")); if (!clauseOr(isCommaAsOrAllowed || !isImplicitExpression && tokPeek(Token.leftparen))) return false; if (!isImplicitExpression - && !(isEmbeddedExpression && lastToken == Token.tokenCoordinateEnd)) + && !(isEmbeddedExpression && lastToken == Token.tokenCoordinateEnd)) { addTokenToPostfix(Token.tokenExpressionEnd); - if (!isSelectX && moreTokens() && !isEmbeddedExpression) - return error(ERROR_endOfExpressionExpected); + tokenBegin.intValue = ltokenPostfix.size(); + } + if (moreTokens()) { + if (tokCommand != Token.select && !isEmbeddedExpression) + return error(ERROR_endOfExpressionExpected); + if (tokCommand == Token.select) { + // advanced select, with two expressions, the first + // being an atom expression; the second being a property selector expression + tokCommand = Token.nada; + isEmbeddedExpression = true; + isImplicitExpression = true; + isCommaAsOrAllowed = false; + } + } } atokenInfix = new Token[ltokenPostfix.size()]; ltokenPostfix.copyInto(atokenInfix); Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-30 05:09:59 UTC (rev 9535) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-30 15:00:22 UTC (rev 9536) @@ -989,9 +989,6 @@ case Token.select: select(); break; - case Token.selectx: - selectX(); - break; case Token.translate: translate(); break; @@ -5376,7 +5373,16 @@ } error(ERROR_invalidArgument); } - BitSet bs = expression(1); + BitSet bs = null; + if (getToken(1).intValue != statementLength) { + Object v = tokenSetting(0).value; + if (!(v instanceof BitSet)) + error(ERROR_invalidArgument); + checkStatementLength(++iToken); + bs = (BitSet) v; + } else { + bs = expression(1); + } if (isSyntaxCheck) return; if (isBondSet) { @@ -5386,20 +5392,6 @@ } } - private void selectX() throws ScriptException { - if (statementLength == 1) { - viewer.select(null, tQuiet || scriptLevel > scriptReportingLevel); - return; - } - Object v = tokenSetting(0).value; - if (!(v instanceof BitSet)) - error(ERROR_invalidArgument); - checkStatementLength(++iToken); - if (isSyntaxCheck) - return; - viewer.select((BitSet)v, tQuiet || scriptLevel > scriptReportingLevel); - } - private void subset() throws ScriptException { BitSet bs = (statementLength == 1 ? null : expression(-1)); if (isSyntaxCheck) @@ -7034,7 +7026,9 @@ } int tokProperty = Token.nada; if (tokAt(pt) == Token.dot) { - Token token = getBitsetPropertySelector(pt++, true); + Token token = getBitsetPropertySelector(++pt, true); + if (token == null) + error(ERROR_invalidArgument); if (tokAt(++pt) != Token.opEQ) error(ERROR_invalidArgument); pt++; @@ -7212,15 +7206,17 @@ private Object parameterExpression(int pt, int ptMax, String key, boolean asVector) throws ScriptException { - return parameterExpression(pt, ptMax, key, asVector, -1, null); + return parameterExpression(pt, ptMax, key, asVector, -1, null, null); } private Object parameterExpression(int pt, int ptMax, String key, boolean asVector, int ptAtom, - Hashtable localVars) + Hashtable localVars, String localVar) throws ScriptException { Object v; + boolean isSelectX = (pt == 0); boolean isOneExpressionOnly = (pt < 0); + boolean isImplicitAtomProperty = (localVar != null); if (isOneExpressionOnly) pt = -pt; int nParen = 0; @@ -7230,14 +7226,18 @@ ptMax = statementLength; out: for (int i = pt; i < ptMax; i++) { v = null; - switch (getToken(i).tok) { - case Token.selectx: - if (i != 0) - error(ERROR_invalidArgument); - // fall through + int tok = getToken(i).tok; + if (isImplicitAtomProperty && tokAt(i + 1) != Token.dot) { + if (Compiler.tokAttr(tok, Token.atomproperty)) { + rpn.addX((Token) localVars.get(localVar)); + if (!rpn.addOp(new Token(Token.propselector, tok, parameterAsString(i).toLowerCase()))) + error(ERROR_invalidArgument); + continue; + } + } + switch (tok) { case Token.select: - String dummy = "x"; - boolean isSelectX = (theTok == Token.selectx); + String dummy = "_x"; if (!isSelectX) { if (getToken(++i).tok != Token.leftparen || getToken(++i).tok != Token.identifier) @@ -7265,8 +7265,8 @@ bsX.clear(); bsX.set(j); t.intValue2 = j; - if (((Boolean) parameterExpression(i, -1, null, false, j, localVars)) - .booleanValue()) + if (((Boolean) parameterExpression(i, -1, null, false, j, + localVars, isSelectX ? dummy : null)).booleanValue()) bsSelect.set(j); if (!isSelectX && tokAt(iToken) != Token.rightparen) error(ERROR_invalidArgument); @@ -7317,7 +7317,9 @@ error(ERROR_invalidArgument); break; case Token.dot: - Token token = getBitsetPropertySelector(i, false); + Token token = getBitsetPropertySelector(i + 1, false); + if (token == null) + error(ERROR_invalidArgument); //check for added min/max modifier if (tokAt(iToken + 1) == Token.dot) { if (tokAt(iToken + 2) == Token.all) { @@ -7565,16 +7567,17 @@ private Token getBitsetPropertySelector(int i, boolean mustBeSettable) throws ScriptException { - int tok = getToken(++i).tok; - String s = parameterAsString(i).toLowerCase(); + int tok = getToken(i).tok; + String s = null; switch (tok) { default: if (Compiler.tokAttrOr(tok, Token.atomproperty, Token.mathproperty)) break; - error(ERROR_invalidArgument); + return null; case Token.property: break; case Token.identifier: + s = parameterAsString(i).toLowerCase(); if (s.equals("x")) tok = Token.atomX; else if (s.equals("y")) @@ -7584,11 +7587,13 @@ else if (s.equals("w")) tok = Token.qw; else - error(ERROR_invalidArgument); + return null; break; } if (mustBeSettable && !Compiler.tokAttr(tok, Token.settable)) - error(ERROR_invalidArgument); + return null; + if (s == null) + s = parameterAsString(i).toLowerCase(); return new Token(Token.propselector, tok, s); } Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 05:09:59 UTC (rev 9535) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 15:00:22 UTC (rev 9536) @@ -3,6 +3,18 @@ version=11.5.43 +# 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. Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-30 05:09:59 UTC (rev 9535) +++ trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-30 15:00:22 UTC (rev 9536) @@ -181,7 +181,6 @@ final static int rotate = command | 27 | numberOrExpression; final static int save = command | 28; // final static int script = command | 29; with mathfunc - final static int selectx = command | 30 | implicitExpression; final static int set = command | 31 | implicitExpression | colorparam; final static int show = command | 32; final static int slab = command | 33 | numberOrExpression; @@ -463,7 +462,7 @@ // ___.xxx(a) - // a.distance(b) is in a different set -- x.distance(b,c) -- because it CAN take + // a.distance(b) is in a different set -- distance(b,c) -- because it CAN take // two parameters and it CAN be a dot-function (but not both together) final static int split = 0 | 1 << 3 | mathfunc | mathproperty; @@ -1108,7 +1107,6 @@ "script", new Token(script, varArgCount), "source", null, "select", new Token(select, varArgCount), - "selectX", new Token(selectx, varArgCount), "selectionHalos", new Token(selectionHalo, onDefault1), "selectionHalo", null, "set", new Token(set, varArgCount), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 05:10:01
|
Revision: 9535 http://jmol.svn.sourceforge.net/jmol/?rev=9535&view=rev Author: hansonr Date: 2008-06-29 22:09:59 -0700 (Sun, 29 Jun 2008) Log Message: ----------- version=11.5.43 quaternion, POV-RAY, more. # 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}. # 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 # Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 05:04:35 UTC (rev 9534) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 05:09:59 UTC (rev 9535) @@ -10,7 +10,15 @@ # 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 05:04:37
|
Revision: 9534 http://jmol.svn.sourceforge.net/jmol/?rev=9534&view=rev Author: hansonr Date: 2008-06-29 22:04:35 -0700 (Sun, 29 Jun 2008) Log Message: ----------- version=11.5.43 quaternion, POV-RAY, more. # 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}. # 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 # Modified Paths: -------------- trunk/Jmol/src/org/jmol/util/Quaternion.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/util/Quaternion.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-30 04:34:03 UTC (rev 9533) +++ trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-30 05:04:35 UTC (rev 9534) @@ -285,6 +285,17 @@ return (float) (Math.acos(q0) * 2 * 180/Math.PI); } + public void getThetaDirected(Point4f axisAngle) { + //fills in .w; + float theta = getTheta(); + Vector3f v = getNormal(); + if (axisAngle.x * q1 + axisAngle.y * q2 + axisAngle.z * q3 < 0) { + v.scale(-1); + theta = -theta; + } + axisAngle.set(v.x, v.y, v.z, theta); + } + public Point4f toPoint4f() { fixQ(); return new Point4f(q1, q2, q3, q0); Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-30 04:34:03 UTC (rev 9533) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-30 05:04:35 UTC (rev 9534) @@ -12929,6 +12929,11 @@ Point4f q = (Point4f) x1.value; if (x2.tok == Token.point3f) return addX((new Quaternion(q)).transform((Point3f) x2.value)); + if (x2.tok == Token.point4f) { + Point4f v4 = new Point4f((Point4f) x2.value); + (new Quaternion(q)).getThetaDirected(v4); + return addX(v4); + } switch (n) { case 0: return addX(q.w); Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 04:34:03 UTC (rev 9533) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 05:04:35 UTC (rev 9534) @@ -1,8 +1,16 @@ # Developers: to add a description of changes you have made, # add it on line starting with # below the "version=..." line -version=11.5.43_dev +version=11.5.43 +# 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}. + # bug fix: POV-RAY output of quadrilaterals. # new feature: Ramachandran "r" --- includes third (Z) axis quaternion r difference2 X component equivalent This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 04:34:08
|
Revision: 9533 http://jmol.svn.sourceforge.net/jmol/?rev=9533&view=rev Author: hansonr Date: 2008-06-29 21:34:03 -0700 (Sun, 29 Jun 2008) Log Message: ----------- 11.5.43 VERSION bug fix POV-RAY output of quadrilaterals. Modified Paths: -------------- trunk/Jmol/src/org/jmol/export/_PovrayExporter.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/export/_PovrayExporter.java =================================================================== --- trunk/Jmol/src/org/jmol/export/_PovrayExporter.java 2008-06-30 03:34:09 UTC (rev 9532) +++ trunk/Jmol/src/org/jmol/export/_PovrayExporter.java 2008-06-30 04:34:03 UTC (rev 9533) @@ -446,7 +446,7 @@ int nColix = 0; for (int i = 0; i < nVertices; i++) { color = color4(colixes[i]); - if (!htColixes.containsKey(color)) + if (!htColixes.containsKey(color)) htColixes.put(color, new Integer(nColix++)); } String[] list = new String[nColix]; @@ -457,11 +457,11 @@ } output("texture_list { " + nColix); - for (int i = 0; i < nColix; i++) - output("\n, texture{pigment{rgbt<" + list[i] + ">}" - + " translucentFinish(" - + translucencyFractionalFromColix(colixes[0]) + ")}"); - // just using the transparency of the first colix there... + for (int i = 0; i < nColix; i++) + output("\n, texture{pigment{rgbt<" + list[i] + ">}" + + " translucentFinish(" + + translucencyFractionalFromColix(colixes[0]) + ")}"); + // just using the transparency of the first colix there... output("\n}\n"); } output("face_indices { " + nFaces); @@ -480,10 +480,8 @@ color = color4(colixes[indices[i][2]]); output("," + ((Integer) htColixes.get(color)).intValue()); } - output(" //\n"); if (faceVertexMax == 4 && indices[i].length == 4) { - output(", <" + triad(indices[i]) + "," - + indices[i][3] + ">"); + output(", <" + indices[i][0] + "," + indices[i][2] + "," + indices[i][3] + ">"); if (colixes != null) { color = color4(colixes[indices[i][0]]); output("," + ((Integer) htColixes.get(color)).intValue()); @@ -492,15 +490,15 @@ color = color4(colixes[indices[i][3]]); output("," + ((Integer) htColixes.get(color)).intValue()); } - output(" //\n"); } + output("\n"); } output("\n}\n"); if (colixes == null) { output("pigment{rgbt<" + color4(colix) + ">}\n"); - output(" translucentFinish(" - + translucencyFractionalFromColix(colix) +")\n"); + output(" translucentFinish(" + translucencyFractionalFromColix(colix) + + ")\n"); } output(" check_shadow()\n"); output(" clip()\n"); Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 03:34:09 UTC (rev 9532) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 04:34:03 UTC (rev 9533) @@ -3,6 +3,8 @@ version=11.5.43_dev +# 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-30 03:34:13
|
Revision: 9532 http://jmol.svn.sourceforge.net/jmol/?rev=9532&view=rev Author: hansonr Date: 2008-06-29 20:34:09 -0700 (Sun, 29 Jun 2008) Log Message: ----------- version=11.5.43_dev # new feature: Ramachandran "r" --- includes third (Z) axis quaternion r difference2 X component equivalent Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Token.java Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-29 13:41:08 UTC (rev 9531) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-30 03:34:09 UTC (rev 9532) @@ -935,7 +935,9 @@ Model model = models[modelIndex]; char ctype = (type.length() > 11 && type.indexOf("quaternion ") >= 0 ? type .charAt(11) : 'R'); - char qtype = (ctype == 'R' ? 'R' : viewer.getQuaternionFrame()); + char qtype = (ctype != 'R' ? viewer.getQuaternionFrame() + : type.length() > 13 && type.indexOf("ramachandran ") >= 0 ? + type.charAt(13) : 'R'); int derivType = (type.indexOf("diff") < 0 ? 0 : type.indexOf("2") < 0 ? 1 : 2); boolean isDraw = (type.indexOf("draw") >= 0); BitSet bsAtoms = getModelAtomBitSet(modelIndex, false); Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-29 13:41:08 UTC (rev 9531) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-30 03:34:09 UTC (rev 9532) @@ -515,6 +515,8 @@ boolean isRelativeAlias = (ctype == 'r'); String prefix = (derivType > 0 ? "dq" + (derivType == 2 ? "2" : "") : "q"); float psiLast = Float.NaN; + if (derivType == 2 && isRelativeAlias) + ctype= 'x'; Quaternion q; for (int m = 0; m < p.monomerCount; m++) { Monomer monomer = p.monomers[m]; @@ -526,20 +528,24 @@ z = monomer.getOmega(); if (z < -90) z += 360; - //z -= 180; + z -= 180; // center on 0 if (Float.isNaN(x) || Float.isNaN(y) || Float.isNaN(z)) continue; w = a.getPartialCharge(); float phiNext = (m == p.monomerCount - 1 ? Float.NaN : p.monomers[m + 1].getPhi()); float angle = y + phiNext - psiLast - x;//psi[i] + phi[i+1] - psi[i-1] - phi[i] + psiLast = y; if (Float.isNaN(angle)) { strExtra = ""; + if (qtype == 'r') + continue; } else { q = new Quaternion (new Point3f(1, 0, 0), angle); strExtra = TextFormat.sprintf("%10.6f%10.6f%10.6f%10.6f %6.2f", new Object[] { new float[] { q.q0, q.q1, q.q2, q.q3, q.getTheta() } }); + if (qtype == 'r') + z = angle; } - psiLast = y; } else { char cid = monomer.getChainID(); String id = "" + monomer.getResno() Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-29 13:41:08 UTC (rev 9531) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-30 03:34:09 UTC (rev 9532) @@ -4461,21 +4461,22 @@ } private void dataFrame(int datatype) throws ScriptException { - String type = ""; boolean isQuaternion = false; boolean isDraw = (tokAt(0) == Token.draw); int pt0 = (isDraw ? 1 : 0); boolean isDerivative = false; boolean isSecondDerivative = false; + boolean isRamachandranRelative = false; + int pt = statementLength - 1; + String type = optParameterAsString(pt).toLowerCase(); switch (datatype) { case JmolConstants.JMOL_DATA_RAMACHANDRAN: - type = "ramachandran"; + isRamachandranRelative = (pt > pt0 && type.startsWith("r")); + type = "ramachandran" + (isRamachandranRelative ? " r" : ""); break; case JmolConstants.JMOL_DATA_QUATERNION: isQuaternion = true; // working backward this time: - int pt = statementLength - 1; - type = optParameterAsString(pt).toLowerCase(); if (type.equalsIgnoreCase("draw")) { isDraw = true; type = optParameterAsString(--pt).toLowerCase(); @@ -4533,12 +4534,14 @@ switch (datatype) { case JmolConstants.JMOL_DATA_RAMACHANDRAN: default: - viewer.setFrameTitle(modelCount - 1, "ramachandran plot for model " + viewer.setFrameTitle(modelCount - 1, type + " plot for model " + viewer.getModelNumberDotted(modelIndex)); script = "frame 0.0; frame last; reset;" + "select visible; color structure; spacefill 3.0; wireframe 0; set rotationRadius 260;" + "draw ramaAxisX" + modelCount + " {200 0 0} {-200 0 0} \"phi\";" - + "draw ramaAxisY" + modelCount + " {0 200 0} {0 -200 0} \"psi\";"; + + "draw ramaAxisY" + modelCount + " {0 200 0} {0 -200 0} \"psi\";" + //+ "draw ramaAxisZ" + modelCount + " {0 0 400} {0 0 0} \"" + (isRamachandranRelative ? "theta" : "omega") +"\";" + ; break; case JmolConstants.JMOL_DATA_QUATERNION: viewer.setFrameTitle(modelCount - 1, type + " for model " Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-29 13:41:08 UTC (rev 9531) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-30 03:34:09 UTC (rev 9532) @@ -3,6 +3,8 @@ version=11.5.43_dev +# 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 # Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-29 13:41:08 UTC (rev 9531) +++ trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-30 03:34:09 UTC (rev 9532) @@ -1091,7 +1091,7 @@ "quaternion", new Token(quaternion, varArgCount), "quaternions", null, "quit", new Token(quit, 0), - "ramachandran", new Token(ramachandran, 0), + "ramachandran", new Token(ramachandran, varArgCount), "rama", null, "refresh", new Token(refresh, 0), "reset", new Token(reset, maxArg1), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-29 13:41:10
|
Revision: 9531 http://jmol.svn.sourceforge.net/jmol/?rev=9531&view=rev Author: nicove Date: 2008-06-29 06:41:08 -0700 (Sun, 29 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p4586.xyz.gz trunk/Jmol-FAH/projects/p4587.xyz.gz Added: trunk/Jmol-FAH/projects/p4586.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4586.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4587.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4587.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-29 11:09:56
|
Revision: 9530 http://jmol.svn.sourceforge.net/jmol/?rev=9530&view=rev Author: nicove Date: 2008-06-29 04:09:50 -0700 (Sun, 29 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p4583.xyz.gz Added: trunk/Jmol-FAH/projects/p4583.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4583.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-29 09:33:03
|
Revision: 9529 http://jmol.svn.sourceforge.net/jmol/?rev=9529&view=rev Author: nicove Date: 2008-06-29 02:33:01 -0700 (Sun, 29 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p3858.xyz.gz trunk/Jmol-FAH/projects/p4579.xyz.gz trunk/Jmol-FAH/projects/p4581.xyz.gz Added: trunk/Jmol-FAH/projects/p3858.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p3858.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4579.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4579.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4581.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4581.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-28 07:44:33
|
Revision: 9528 http://jmol.svn.sourceforge.net/jmol/?rev=9528&view=rev Author: nicove Date: 2008-06-28 00:44:31 -0700 (Sat, 28 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p4577.xyz.gz trunk/Jmol-FAH/projects/p4580.xyz.gz trunk/Jmol-FAH/projects/p5102.xyz.gz Added: trunk/Jmol-FAH/projects/p4577.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4577.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4580.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4580.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p5102.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p5102.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-27 03:58:23
|
Revision: 9527 http://jmol.svn.sourceforge.net/jmol/?rev=9527&view=rev Author: hansonr Date: 2008-06-26 20:58:18 -0700 (Thu, 26 Jun 2008) Log Message: ----------- version=11.5.43_dev quaternion tweaks # bug fix: quaternion definition with dot-product check not effective -- removed # bug fix: quaternion construction from matrix error # Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-27 02:07:03 UTC (rev 9526) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-27 03:58:18 UTC (rev 9527) @@ -972,9 +972,9 @@ break; } remark += "\n\n" + getProteinStructureState(bsAtoms, ctype == 'R'); - remark += "REMARK 6 AT GRP CH RESNO " + data + " Sym"; + remark += "REMARK 6 AT GRP CH RESNO " + data + " Sym q0_______ q1_______ q2_______ q3_______ theta_"; if (ctype != 'R') - remark += " q0_______ q1_______ q2_______ q3_______ centerX___ centerY___ centerZ___"; + remark += " centerX___ centerY___ centerZ___"; if (qtype == 'n') remark += " NHX_______ NHY_______ NYZ_______"; remark += "\n\n"; Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-27 02:07:03 UTC (rev 9526) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-27 03:58:18 UTC (rev 9527) @@ -514,6 +514,8 @@ String strExtra = ""; boolean isRelativeAlias = (ctype == 'r'); String prefix = (derivType > 0 ? "dq" + (derivType == 2 ? "2" : "") : "q"); + float psiLast = Float.NaN; + Quaternion q; for (int m = 0; m < p.monomerCount; m++) { Monomer monomer = p.monomers[m]; if (bsAtoms == null || bsAtoms.get(monomer.getLeadAtomIndex())) { @@ -528,11 +530,21 @@ if (Float.isNaN(x) || Float.isNaN(y) || Float.isNaN(z)) continue; w = a.getPartialCharge(); + float phiNext = (m == p.monomerCount - 1 ? Float.NaN : p.monomers[m + 1].getPhi()); + float angle = y + phiNext - psiLast - x;//psi[i] + phi[i+1] - psi[i-1] - phi[i] + if (Float.isNaN(angle)) { + strExtra = ""; + } else { + q = new Quaternion (new Point3f(1, 0, 0), angle); + strExtra = TextFormat.sprintf("%10.6f%10.6f%10.6f%10.6f %6.2f", + new Object[] { new float[] { q.q0, q.q1, q.q2, q.q3, q.getTheta() } }); + } + psiLast = y; } else { char cid = monomer.getChainID(); String id = "" + monomer.getResno() + (cid == '\0' ? "" : "" + cid); - Quaternion q = p.getQuaternion(m, qtype); + q = p.getQuaternion(m, qtype); if (q == null) { qlast = null; atomno = Integer.MIN_VALUE; @@ -642,9 +654,9 @@ .append(" color ").append(qColor[derivType]).append('\n'); continue; } - strExtra = TextFormat.sprintf("%10.6f%10.6f%10.6f%10.6f %10.5p %10.5p %10.5p", + strExtra = TextFormat.sprintf("%10.6f%10.6f%10.6f%10.6f %6.2f %10.5p %10.5p %10.5p", new Object[] { - new float[] { q.q0, q.q1, q.q2, q.q3 }, + new float[] { q.q0, q.q1, q.q2, q.q3, q.getTheta() }, new Point3f[] { ptCenter } }); if (qtype == 'n') Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-27 02:07:03 UTC (rev 9526) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-27 03:58:18 UTC (rev 9527) @@ -8812,7 +8812,7 @@ } if (type != "VAR" && pt == 1) type = "image"; - else if (fileName.charAt(0) == '.' && (pt == 2 || pt == 3)) { + else if (fileName.length() > 0 && fileName.charAt(0) == '.' && (pt == 2 || pt == 3)) { fileName = Token.sValue(tokenAt(pt - 1, args)) + fileName; if (type != "VAR" && pt == 2) type = "image"; @@ -12755,13 +12755,6 @@ case Token.point4f: return addX(q1.mul(new Quaternion((Point4f) x2.value)).toPoint4f()); } - case Token.integer: - if (x2.tok == Token.string) { - if ((s = (Token.sValue(x2)).trim()).indexOf(".") < 0 - && s.indexOf("+") <= 0 && s.lastIndexOf("-") <= 0) - return addX(x1.intValue + Token.iValue(x2)); - } else if (x2.tok != Token.decimal) - return addX(x1.intValue + Token.iValue(x2)); case Token.point3f: Point3f pt = new Point3f((Point3f) x1.value); switch (x2.tok) { @@ -12773,6 +12766,14 @@ Point4f pt4 = (Point4f) x2.value; pt.add(new Point3f(pt4.x, pt4.y, pt4.z)); return addX(pt); + case Token.integer: + if (x2.tok == Token.string) { + if ((s = (Token.sValue(x2)).trim()).indexOf(".") < 0 + && s.indexOf("+") <= 0 && s.lastIndexOf("-") <= 0) + return addX(x1.intValue + Token.iValue(x2)); + } else if (x2.tok != Token.decimal) + return addX(x1.intValue + Token.iValue(x2)); + // fall through default: float f = Token.fValue(x2); return addX(new Point3f(pt.x + f, pt.y + f, pt.z + f)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-27 02:07:07
|
Revision: 9526 http://jmol.svn.sourceforge.net/jmol/?rev=9526&view=rev Author: hansonr Date: 2008-06-26 19:07:03 -0700 (Thu, 26 Jun 2008) Log Message: ----------- version=11.5.43_dev quaternion tweaks # bug fix: quaternion definition with dot-product check not effective -- removed # bug fix: quaternion construction from matrix error # Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/modelset/ModelSet.java trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/shape/MeasuresRenderer.java trunk/Jmol/src/org/jmol/shapespecial/Draw.java trunk/Jmol/src/org/jmol/util/Quaternion.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Viewer.java Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -2131,7 +2131,7 @@ //////////// state definition /////////// - protected String getProteinStructureState(BitSet bsAtoms, boolean needPhiPsi) { + public String getProteinStructureState(BitSet bsAtoms, boolean needPhiPsi) { BitSet bs = null; StringBuffer cmd = new StringBuffer(); StringBuffer sbTurn = new StringBuffer(); Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -580,12 +580,11 @@ // connections - if (isAll) { - + int len = stateScripts.size(); for (int i = 0; i < len; i++) { - StateScript ss = (StateScript) stateScripts.get(i); + StateScript ss = (StateScript) stateScripts.get(i); if (ss.postDefinitions && (cmd = ss.toString()).length() > 0) commands.append(" ").append(cmd).append("\n"); } @@ -594,14 +593,14 @@ if ((bonds[i].order & JmolConstants.BOND_NEW) != 0 || bonds[i].isHydrogen()) { Bond bond = bonds[i]; - commands.append(" connect ") - .append("({").append(bond.atom1.atomIndex).append("}) ") - .append("({").append(bond.atom2.atomIndex).append("}) ") - .append(JmolConstants.getBondOrderNameFromOrder(bond.order)) + commands.append(" connect ").append("({").append( + bond.atom1.atomIndex).append("}) ").append("({").append( + bond.atom2.atomIndex).append("}) ").append( + JmolConstants.getBondOrderNameFromOrder(bond.order)) .append(";\n"); } } - commands.append("\n"); + commands.append("\n"); } // shape construction @@ -618,15 +617,17 @@ commands.append(cmd); } - for (int i = 0; i < modelCount; i++) { - String t = frameTitles[i]; - if (t != null && t.length() > 0) - commands.append(" frame " + getModelNumberDotted(i) + "; frame title " - + Escape.escape(t) + ";\n"); - } + if (isAll) { + for (int i = 0; i < modelCount; i++) { + String t = frameTitles[i]; + if (t != null && t.length() > 0) + commands.append(" frame " + getModelNumberDotted(i) + + "; frame title " + Escape.escape(t) + ";\n"); + } - commands.append(" set fontScaling " + viewer.getFontScaling() + ";\n"); + commands.append(" set fontScaling " + viewer.getFontScaling() + ";\n"); + } if (sfunc != null) commands.append("\nend function;\n\n"); return commands.toString(); Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -577,11 +577,6 @@ // first deriv: q = dq; } - if (q.q0 < 0) - q = q.mul(-1); - if (qlast != null && q.dot(qlast) < 0) - q = q.mul(-1); - if (derivType == 1 && aprev != null && qlast != null && ctype == 'w') aprev.getGroup().setStraightness(getStraightness(id, qlast, q)); @@ -597,13 +592,6 @@ aprev = atemp; // save this dq as dq' dqprev = dq; - } else { - if (qlast == null && q.q0 < 0) { - //initialize with a positive q0 - q = q.mul(-1); - } - if (qlast != null && q.dot(qlast) < 0) - q = q.mul(-1); } qlast = q; switch (ctype) { @@ -642,18 +630,6 @@ continue; String strV = " VECTOR " + Escape.escape(ptCenter) + " "; int deg = (int) (Math.acos(w) * 360 / Math.PI); - //this is the angle required to rotate the INITIAL FRAME to this position - //if (deg < 0) - //deg += 360; - if (deg > 180) - deg = deg - 360; - if (deg < -180) - deg = deg + 360; - int ndeg = -deg; - if (ndeg > 180) - ndeg = ndeg - 360; - if (ndeg < -180) - ndeg = ndeg + 360; if (derivType == 0) pdbATOM.append("draw " + prefix + "x" + id + strV + Escape.escape(q.getVector(0))) .append(" color red\n") @@ -661,12 +637,8 @@ .append(" color green\n") .append("draw " + prefix + "z" + id + strV + Escape.escape(q.getVector(2))) .append(" color blue\n"); - pdbATOM.append(deg >= 0 - ? "draw " + prefix + "a" + id + strV + " {" + (x * 2) - + "," + (y * 2) + "," + (z * 2) + "}" + " \">" + deg + "\"" - : "draw " + prefix + "b" + id + strV + " {" + (-x * 2) - + "," + (-y * 2) + "," + (-z * 2) + "}" + " \">" + ndeg + "\"" - ) + pdbATOM.append("draw " + prefix + "a" + id + strV + " {" + (x * 2) + + "," + (y * 2) + "," + (z * 2) + "}" + " \">" + deg + "\"") .append(" color ").append(qColor[derivType]).append('\n'); continue; } @@ -700,6 +672,7 @@ } private static float getStraightness(String id, Quaternion dqprev, Quaternion dq) { + //System.out.println(id + " " + dqprev.getTheta() + " " + dq.getTheta()); float f = (float) (Math.acos(dqprev.getNormal().dot(dq.getNormal()))/ Math.PI); return 1 - 2 * f; } Modified: trunk/Jmol/src/org/jmol/shape/MeasuresRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/MeasuresRenderer.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/shape/MeasuresRenderer.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -64,15 +64,11 @@ if (colix == 0) colix = viewer.getColixBackgroundContrast(); g3d.setColix(colix); - renderMeasurement(m); + renderMeasurement(m.getCount(), m, true); } renderPendingMeasurement(measures.pendingMeasurement); } - private void renderMeasurement(Measurement measurement) { - renderMeasurement(measurement.getCount(), measurement, true); - } - Point3fi atomA, atomB, atomC, atomD; private Point3fi getAtom(int i) { @@ -251,7 +247,7 @@ if (pendingMeasurement.getLastIndex() == -1) renderPendingWithCursor(pendingMeasurement); else - renderMeasurement(pendingMeasurement); + renderMeasurement(pendingMeasurement.getCount(), pendingMeasurement, true); } private void renderPendingWithCursor(MeasurementPending pendingMeasurement) { Modified: trunk/Jmol/src/org/jmol/shapespecial/Draw.java =================================================================== --- trunk/Jmol/src/org/jmol/shapespecial/Draw.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/shapespecial/Draw.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -831,10 +831,11 @@ return null; Point3f v = pickedMesh.vertices[pickedMesh.polygonIndexes[pickedModel][pickedVertex]]; if (isDrawPicking && !isPickingMode) { - viewer.setStatusAtomPicked(-2, "[\"draw\",\"" + pickedMesh.thisID + "\"," + + if (modifiers != 0) // not mouseMove + viewer.setStatusAtomPicked(-2, "[\"draw\",\"" + pickedMesh.thisID + "\"," + + pickedModel + "," + pickedVertex + "," + v.x + "," + v.y + "," + v.z+"]" - + (pickedMesh.title == null ? "" : - "\"" + pickedMesh.title[pickedModel]+"\"")); + + (pickedMesh.title == null ? "" + : "\"" + pickedMesh.title[pickedModel]+"\"")); return v; } if (modifiers == 0 || pickedMesh.polygonIndexes[pickedModel][0] == pickedMesh.polygonIndexes[pickedModel][1]) Modified: trunk/Jmol/src/org/jmol/util/Quaternion.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -36,7 +36,19 @@ /* * Standard UNIT quaternion math -- for rotation. * + * All rotations can be represented as two identical quaternions. + * This is because any rotation can be considered from either end of the + * rotational axis -- either as a + rotation or a - rotation. This code + * is designed to always maintain the quaternion with a rotation in the + * [0, PI) range. * + * This ensures that the reported theta is always positive, and the normal + * reported is always associated with a positive theta. + * + * By Bob Hanson, ha...@st... 6/2008 + * + * + * */ @@ -50,6 +62,7 @@ this.q1 = q1; this.q2 = q2; this.q3 = q3; + fixQ(); } public Quaternion(Point4f pt) { @@ -62,7 +75,8 @@ q1 = pt.x / factor; q2 = pt.y / factor; q3 = pt.z / factor; - } + fixQ(); +} public Quaternion(Tuple3f pt, float theta) { if (pt.x == 0 && pt.y == 0 && pt.z == 0) { @@ -74,8 +88,19 @@ q1 = pt.x * fact; q2 = pt.y * fact; q3 = pt.z * fact; + fixQ(); } + private Quaternion fixQ() { + if (q0 < 0) { + q0 = -q0; + q1 = -q1; + q2 = -q2; + q3 = -q3; + } + return this; + } + public Quaternion(Matrix3f mat) { /* @@ -92,44 +117,37 @@ float tr = mat.m00 + mat.m11 + mat.m22; /* Matrix trace */ float s; + float[] q = new float[4]; if (tr > 0) { s = (float) Math.sqrt(tr + 1); q0 = 0.5f * s; s = 0.5f / s; - q1 = (mat.m12 - mat.m21) * s; - q2 = (mat.m20 - mat.m02) * s; - q3 = (mat.m01 - mat.m10) * s; - - q1 = -q1; - q2 = -q2; - q3 = -q3; - + q1 = (mat.m21 - mat.m12) * s; + q2 = (mat.m02 - mat.m20) * s; + q3 = (mat.m10 - mat.m01) * s; } else { float[][] m = new float[][] { new float[3], new float[3], new float[3] }; mat.getRow(0, m[0]); mat.getRow(1, m[1]); mat.getRow(2, m[2]); - /* Find out the bigger element from diagonal */ + /* Find out the biggest element along the diagonal */ float max = Math.max(mat.m11, mat.m00); - int i = (max == mat.m00 ? 0 : mat.m22 > max ? 2 : 1); + int i = (mat.m22 > max ? 2 : max == mat.m11 ? 1 : 0); int j = (i + 1) % 3; int k = (j + 1) % 3; - s = (float) Math.sqrt((m[i][i] - (m[j][j] + m[k][k])) + 1); - float[] q = new float[4]; + s = -(float) Math.sqrt((m[i][i] - (m[j][j] + m[k][k])) + 1); q[i] = s * 0.5f; if (s != 0) s = 0.5f / s; q[j] = (m[i][j] + m[j][i]) * s; q[k] = (m[i][k] + m[k][i]) * s; - q[3] = (m[j][k] - m[k][j]) * s; - - q1 = -q[0]; // x - q2 = -q[1]; // y - q3 = -q[2]; // z - q0 = q[3]; // w - + q0 = (m[k][j] - m[j][k]) * s; + q1 = q[0]; // x + q2 = q[1]; // y + q3 = q[2]; // z } + fixQ(); } public static final Quaternion getQuaternionFrame(Vector3f vA, Vector3f vB, Vector3f vC) { @@ -243,6 +261,7 @@ } public String toString() { + fixQ(); return "{" + q0 + " " + q1 + " " + q2 + " " + q3 + "}"; } @@ -255,16 +274,19 @@ } public Vector3f getNormal() { + fixQ(); Vector3f v = new Vector3f(q1, q2, q3); v.normalize(); return v; } public float getTheta() { + fixQ(); return (float) (Math.acos(q0) * 2 * 180/Math.PI); } public Point4f toPoint4f() { + fixQ(); return new Point4f(q1, q2, q3, q0); } @@ -284,4 +306,4 @@ return vNew; } -} +} \ No newline at end of file Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -4547,7 +4547,7 @@ + "select visible; wireframe 0; " + "isosurface quatSphere" + modelCount + " resolution 1.0 sphere 10.0 mesh nofill translucent 0.8;set rotationRadius 12;" - + (isDerivative ? "color structure" : "trace 0.1; color trace structure;"); + + "color structure"; break; } runScript(script); @@ -9148,7 +9148,7 @@ case Token.structure: if ((len = statementLength) == 2) { if (!isSyntaxCheck) - msg = viewer.getStructureState(); + msg = viewer.getProteinStructureState(); break; } String shape = parameterAsString(2); Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-27 02:07:03 UTC (rev 9526) @@ -3,6 +3,9 @@ version=11.5.43_dev +# 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 @@ -64,7 +67,10 @@ # 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. +# -- a work in progress. See +# +# load =1d66 +# calculate straightness;color straightness # # ----------------------------------------------------------------------------- # Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2008-06-26 15:33:51 UTC (rev 9525) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2008-06-27 02:07:03 UTC (rev 9526) @@ -2525,6 +2525,10 @@ return modelSet.getState(null, false); } + String getProteinStructureState() { + return modelSet.getProteinStructureState(selectionManager.bsSelection, false); + } + public String getCoordinateState(BitSet bsSelected) { return modelSet.getAtomicPropertyState(AtomCollection.TAINT_COORD, bsSelected); } @@ -6737,4 +6741,5 @@ void setQuaternionFrame(String qType) { global.quaternionFrame = "" + (qType.toLowerCase()+"c").charAt(0); } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-26 15:33:57
|
Revision: 9525 http://jmol.svn.sourceforge.net/jmol/?rev=9525&view=rev Author: hansonr Date: 2008-06-26 08:33:51 -0700 (Thu, 26 Jun 2008) Log Message: ----------- version=11.5.43_dev quaternions, mostly # 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. # Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/util/Quaternion.java trunk/Jmol/src/org/jmol/viewer/Compiler.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Token.java Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-26 15:33:51 UTC (rev 9525) @@ -700,9 +700,8 @@ } private static float getStraightness(String id, Quaternion dqprev, Quaternion dq) { - float f = Math.abs(dqprev.getNormal().dot(dq.getNormal())); - //System.out.println(id + " " + f + " " + dqprev.getNormal() + " " + dq.getNormal()); - return (2 * f - 1); + float f = (float) (Math.acos(dqprev.getNormal().dot(dq.getNormal()))/ Math.PI); + return 1 - 2 * f; } Quaternion getQuaternion(int m, char qtype) { Modified: trunk/Jmol/src/org/jmol/util/Quaternion.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-26 15:33:51 UTC (rev 9525) @@ -33,12 +33,19 @@ //import javax.vecmath.Point3f; //import javax.vecmath.Quat4f; +/* + * Standard UNIT quaternion math -- for rotation. + * + * + */ + + public class Quaternion { public float q0, q1, q2, q3; public Matrix3f mat; // create a new object with the given components - public Quaternion(float q0, float q1, float q2, float q3) { + private Quaternion(float q0, float q1, float q2, float q3) { this.q0 = q0; this.q1 = q1; this.q2 = q2; @@ -46,10 +53,15 @@ } public Quaternion(Point4f pt) { - q0 = pt.w; - q1 = pt.x; - q2 = pt.y; - q3 = pt.z; + float factor = pt.distance(new Point4f(0,0,0,0)); + if (factor == 0) { + q0 = 1; + return; + } + q0 = pt.w / factor; + q1 = pt.x / factor; + q2 = pt.y / factor; + q3 = pt.z / factor; } public Quaternion(Tuple3f pt, float theta) { @@ -191,8 +203,16 @@ mat.m22 = q0 * q0 - q1 * q1 - q2 * q2 + q3 * q3; } + public Quaternion add(float x) { + // UNIT addition + return new Quaternion(getNormal(), getTheta() + x); + } + public Quaternion mul(float x) { - return new Quaternion(q0 * x, q1 * x, q2 * x, q3 * x); + // UNIT multiplication + if (x == 1 || x == -1) + return new Quaternion(q0 * x, q1 * x, q2 * x, q3 * x); + return new Quaternion(getNormal(), getTheta() * x); } public Quaternion mul(Quaternion p) { @@ -204,6 +224,16 @@ ); } + public Quaternion div(Quaternion p) { + // unit quaternions assumed -- otherwise would scale by 1/p.dot(p) + return mul(p.inv()); + } + + public Quaternion divLeft(Quaternion p) { + // unit quaternions assumed -- otherwise would scale by 1/p.dot(p) + return p.inv().mul(this); + } + public float dot(Quaternion q) { return this.q0*q.q0 + this.q1*q.q1 + this.q2*q.q2 + this.q3*q.q3; } Modified: trunk/Jmol/src/org/jmol/viewer/Compiler.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-06-26 15:33:51 UTC (rev 9525) @@ -1359,6 +1359,7 @@ case '%': case '[': case ']': + case '\\': // leftdivide break; case '&': case '|': Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-26 15:33:51 UTC (rev 9525) @@ -12304,10 +12304,11 @@ return false; if (isSyntaxCheck) return addX(new Point4f(0, 0, 0, 1)); - return addX(args.length == 4 ? new Point4f(Token.fValue(args[0]), Token - .fValue(args[1]), Token.fValue(args[2]), Token.fValue(args[3])) - : (new Quaternion((Point3f) args[0].value, Token.fValue(args[1])) - .toPoint4f())); + return addX(args.length == 4 ? (new Quaternion(new Point4f( + Token.fValue(args[1]), Token.fValue(args[2]), + Token.fValue(args[3]),Token.fValue(args[0])))).toPoint4f() + : (new Quaternion( + (Point3f) args[0].value, Token.fValue(args[1])).toPoint4f())); } if (args.length != 1) return false; @@ -12637,15 +12638,13 @@ if (x2.tok == Token.list) x2 = Token.selectItem(x2); - if (op.tok == Token.opNot) - return (isScriptCheck ? addX(true) - : x2.tok == Token.point4f ? // quaternion - addX((new Quaternion((Point4f) x2.value)).inv().toPoint4f()) - : x2.tok == Token.bitset ? - addX(BitSetUtil.copyInvert(Token.bsSelect(x2), - (x2.value instanceof BondSet ? viewer.getBondCount() - : viewer.getAtomCount()))) - : addX(!Token.bValue(x2))); + if (op.tok == Token.opNot) + return (isScriptCheck ? addX(true) : x2.tok == Token.point4f ? // quaternion + addX((new Quaternion((Point4f) x2.value)).inv().toPoint4f()) + : x2.tok == Token.bitset ? addX(BitSetUtil.copyInvert(Token + .bsSelect(x2), (x2.value instanceof BondSet ? viewer + .getBondCount() : viewer.getAtomCount()))) : addX(!Token + .bValue(x2))); int iv = op.intValue & ~Token.minmaxmask; if (op.tok == Token.propselector) { switch (iv) { @@ -12743,29 +12742,34 @@ case Token.plus: if (x1.tok == Token.list || x2.tok == Token.list) return addX(Token.concatList(x1, x2)); - if (x1.tok == Token.string) + switch (x1.tok) { + default: + return addX(Token.fValue(x1) + Token.fValue(x2)); + case Token.string: return addX(Token.sValue(x1) + Token.sValue(x2)); - if (x1.tok == Token.string && x2.tok == Token.integer) { - if ((s = (Token.sValue(x1)).trim()).indexOf(".") < 0 - && s.indexOf("+") <= 0 && s.lastIndexOf("-") <= 0) - return addX(Token.iValue(x1) + x2.intValue); - } - if (x1.tok == Token.integer) { + case Token.point4f: + Quaternion q1 = new Quaternion((Point4f) x1.value); + switch (x2.tok) { + default: + return addX(q1.add(Token.fValue(x2)).toPoint4f()); + case Token.point4f: + return addX(q1.mul(new Quaternion((Point4f) x2.value)).toPoint4f()); + } + case Token.integer: if (x2.tok == Token.string) { if ((s = (Token.sValue(x2)).trim()).indexOf(".") < 0 && s.indexOf("+") <= 0 && s.lastIndexOf("-") <= 0) return addX(x1.intValue + Token.iValue(x2)); } else if (x2.tok != Token.decimal) return addX(x1.intValue + Token.iValue(x2)); - } - if (x1.tok == Token.point3f) { + case Token.point3f: Point3f pt = new Point3f((Point3f) x1.value); switch (x2.tok) { case Token.point3f: pt.add((Point3f) x2.value); return addX(pt); case Token.point4f: - //extract {xyz} + //extract {xyz} Point4f pt4 = (Point4f) x2.value; pt.add(new Point3f(pt4.x, pt4.y, pt4.z)); return addX(pt); @@ -12774,7 +12778,6 @@ return addX(new Point3f(pt.x + f, pt.y + f, pt.z + f)); } } - return addX(Token.fValue(x1) + Token.fValue(x2)); case Token.minus: if (x1.tok == Token.integer) { if (x2.tok == Token.string) { @@ -12789,34 +12792,38 @@ && s.indexOf("+") <= 0 && s.lastIndexOf("-") <= 0) return addX(Token.iValue(x1) - x2.intValue); } - if (x1.tok == Token.integer && x2.tok == Token.integer) - return addX(x1.intValue - Token.iValue(x2)); - if (x1.tok == Token.point3f) { + switch (x1.tok) { + default: + return addX(Token.fValue(x1) - Token.fValue(x2)); + case Token.point3f: Point3f pt = new Point3f((Point3f) x1.value); switch (x2.tok) { + default: + float f = Token.fValue(x2); + return addX(new Point3f(pt.x - f, pt.y - f, pt.z - f)); case Token.point3f: pt.sub((Point3f) x2.value); return addX(pt); case Token.point4f: //extract {xyz} - Point4f pt4 = (Point4f) x2.value; - pt.sub(new Point3f(pt4.x, pt4.y, pt4.z)); - return addX(pt); + Point4f pt4 = (Point4f) x2.value; + pt.sub(new Point3f(pt4.x, pt4.y, pt4.z)); + return addX(pt); + } + case Token.point4f: + Quaternion q1 = new Quaternion((Point4f) x1.value); + switch (x2.tok) { default: - float f = Token.fValue(x2); - return addX(new Point3f(pt.x - f, pt.y - f, pt.z - f)); - } - } - if (x1.tok == Token.point4f) { - if (x2.tok == Token.point4f) { - Quaternion q1 = new Quaternion((Point4f)x1.value); - Quaternion q2 = new Quaternion((Point4f)x2.value); + return addX(q1.add(-Token.fValue(x2)).toPoint4f()); + case Token.point4f: + Quaternion q2 = new Quaternion((Point4f) x2.value); return addX(q2.mul(q1.inv()).toPoint4f()); } } - return addX(Token.fValue(x1) - Token.fValue(x2)); case Token.unaryMinus: switch (x2.tok) { + default: + return addX(-Token.fValue(x2)); case Token.integer: return addX(-Token.iValue(x2)); case Token.point3f: @@ -12828,14 +12835,17 @@ plane.scale(-1f); return addX(plane); case Token.bitset: - return addX(BitSetUtil.copyInvert(Token.bsSelect(x2), - (x2.value instanceof BondSet ? viewer.getBondCount() : viewer.getAtomCount()))); + return addX(BitSetUtil.copyInvert(Token.bsSelect(x2), + (x2.value instanceof BondSet ? viewer.getBondCount() : viewer + .getAtomCount()))); } - return addX(-Token.fValue(x2)); case Token.times: if (x1.tok == Token.integer && x2.tok != Token.decimal) return addX(x1.intValue * Token.iValue(x2)); - if (x1.tok == Token.point3f) { + switch (x1.tok) { + default: + return addX(Token.fValue(x1) * Token.fValue(x2)); + case Token.point3f: Point3f pt = new Point3f((Point3f) x1.value); switch (x2.tok) { case Token.point3f: @@ -12845,17 +12855,19 @@ float f = Token.fValue(x2); return addX(new Point3f(pt.x * f, pt.y * f, pt.z * f)); } + case Token.point4f: + if (x2.tok == Token.point4f) { + //quaternion multiplication + // note that Point4f is {x,y,z,w} so we use that for + // quaternion notation as well here. + Quaternion q1 = new Quaternion((Point4f) x1.value); + Quaternion q = new Quaternion((Point4f) x2.value); + q = q1.mul(q); + return addX(new Point4f(q.q1, q.q2, q.q3, q.q0)); + } + return addX(new Quaternion((Point4f) x1.value).mul(Token.fValue(x2)) + .toPoint4f()); } - if (x1.tok == Token.point4f && x2.tok == Token.point4f) { - //quaternion multiplication - // note that Point4f is {x,y,z,w} so we use that for - // quaternion notation as well here. - Quaternion q1 = new Quaternion((Point4f)x1.value); - Quaternion q = new Quaternion((Point4f)x2.value); - q = q1.mul(q); - return addX(new Point4f(q.q1, q.q2, q.q3, q.q0)); - } - return addX(Token.fValue(x1) * Token.fValue(x2)); case Token.percent: // more than just modulus @@ -12875,6 +12887,7 @@ case Token.on: case Token.off: case Token.integer: + default: if (n == 0) return addX((int) 0); return addX(Token.iValue(x1) % n); @@ -12911,8 +12924,8 @@ case Token.point4f: Point4f q = (Point4f) x1.value; if (x2.tok == Token.point3f) - return addX((new Quaternion(q)).transform((Point3f)x2.value)); - switch(n) { + return addX((new Quaternion(q)).transform((Point3f) x2.value)); + switch (n) { case 0: return addX(q.w); case 1: @@ -12941,20 +12954,43 @@ if (x1.tok == Token.integer && x2.tok == Token.integer && x2.intValue != 0) return addX(x1.intValue / x2.intValue); - if (x1.tok == Token.point3f) { + float f2 = Token.fValue(x2); + switch (x1.tok) { + default: + float f1 = Token.fValue(x1); + if (f2 == 0) + return addX(f1 == 0 ? 0f : f1 < 0 ? Float.POSITIVE_INFINITY + : Float.POSITIVE_INFINITY); + return addX(f1 / f2); + case Token.point3f: Point3f pt = new Point3f((Point3f) x1.value); - float f = Token.fValue(x2); - if (f == 0) + if (f2 == 0) return addX(new Point3f(Float.NaN, Float.NaN, Float.NaN)); - return addX(new Point3f(pt.x / f, pt.y / f, pt.z / f)); + return addX(new Point3f(pt.x / f2, pt.y / f2, pt.z / f2)); + case Token.point4f: + if (f2 == 0) + return addX(new Point4f(Float.NaN, Float.NaN, Float.NaN, Float.NaN)); + if (x2.tok == Token.point4f) + return addX(new Quaternion((Point4f) x1.value).div( + new Quaternion((Point4f) x2.value)).toPoint4f()); + return addX(new Quaternion((Point4f) x1.value).mul(1 / f2) + .toPoint4f()); } - float f1 = Token.fValue(x1); - float f2 = Token.fValue(x2); - if (f2 == 0) - return addX(f1 == 0 ? 0f : f1 < 0 ? Float.POSITIVE_INFINITY - : Float.POSITIVE_INFINITY); - return addX(f1 / f2); + case Token.leftdivide: + float f = Token.fValue(x2); + switch (x1.tok) { + default: + return addX(f == 0 ? 0 : (int) (Token.fValue(x1) / Token.fValue(x2))); + case Token.point4f: + if (f == 0) + return addX(new Point4f(Float.NaN, Float.NaN, Float.NaN, Float.NaN)); + if (x2.tok == Token.point4f) + return addX(new Quaternion((Point4f) x1.value).divLeft( + new Quaternion((Point4f) x2.value)).toPoint4f()); + return addX(new Quaternion((Point4f) x1.value).mul(1 / f) + .toPoint4f()); } + } return true; } Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-26 15:33:51 UTC (rev 9525) @@ -3,9 +3,12 @@ version=11.5.43_dev +# 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: @@ -32,14 +35,15 @@ # thus, for example, (q%{1 0 0}) is the same as (q%-3) # # (!q) -- quaternion inverse +# # -# Quaternion difference "dq": +# Quaternion right division (difference "dq"): # -# q2 * (!q1) +# q2 / q1 = q2 * (!q1) # -# Quaternion relative difference: +# Quaternion left division (relative difference n): # -# (!q1) * q2 +# q2 \ q1 = (!q1) * q2 # # Examples: # @@ -48,10 +52,22 @@ # # {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. +# # ----------------------------------------------------------------------------- +# #version=11.5.42 @@ -154,7 +170,7 @@ # (with corrected 40_dev draw scale) # new feature: new command: # -# selectx {atomExpression} booleanEvaluation +# selectX {atomExpression} booleanEvaluation # # same as select() function, but simpler to implement # @@ -163,8 +179,10 @@ # # select(x;{atomexpression};booleanEvaluation) # -# for example: +# 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] Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-25 19:55:12 UTC (rev 9524) +++ trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-26 15:33:51 UTC (rev 9525) @@ -364,6 +364,7 @@ final static int divide = 0 | mathop | 8 << 3; final static int times = 1 | mathop | 8 << 3; final static int percent = 2 | mathop | 8 << 3; + final static int leftdivide = 3 | mathop | 8 << 3; // quaternion1 \ quaternion2 final static int unaryMinus = 0 | mathop | 9 << 3; @@ -484,7 +485,6 @@ final static int random = 1 | 2 << 3 | mathfunc; final static int data = 2 | 2 << 3 | mathfunc | command; final static int cross = 3 | 2 << 3 | mathfunc; - final static int quaternion = 4 | 2 << 3 | mathfunc | command; // ___.xxx(a,b) @@ -506,6 +506,7 @@ final static int angle = 1 | 4 << 3 | mathfunc; final static int plane = 2 | 4 << 3 | mathfunc | specialstring; //may appear as string alone final static int point = 3 | 4 << 3 | mathfunc; + final static int quaternion = 4 | 4 << 3 | mathfunc | command; // xxx(a,b,c,d,e) @@ -1227,6 +1228,7 @@ "-", tokenMinus, "*", tokenTimes, "/", tokenDivide, + "\\", new Token(leftdivide), // misc This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-25 19:55:35
|
Revision: 9524 http://jmol.svn.sourceforge.net/jmol/?rev=9524&view=rev Author: nicove Date: 2008-06-25 12:55:12 -0700 (Wed, 25 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p4570.xyz.gz trunk/Jmol-FAH/projects/p4571.xyz.gz trunk/Jmol-FAH/projects/p4572.xyz.gz trunk/Jmol-FAH/projects/p4574.xyz.gz trunk/Jmol-FAH/projects/p4578.xyz.gz Added: trunk/Jmol-FAH/projects/p4570.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4570.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4571.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4571.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4572.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4572.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4574.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4574.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4578.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4578.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-25 17:54:55
|
Revision: 9523 http://jmol.svn.sourceforge.net/jmol/?rev=9523&view=rev Author: nicove Date: 2008-06-25 10:54:50 -0700 (Wed, 25 Jun 2008) Log Message: ----------- Folding@Home Modified Paths: -------------- trunk/Jmol-web/cache.properties trunk/Jmol-web/source/doc/fah/fah-projects.xml Modified: trunk/Jmol-web/cache.properties =================================================================== --- trunk/Jmol-web/cache.properties 2008-06-25 17:43:51 UTC (rev 9522) +++ trunk/Jmol-web/cache.properties 2008-06-25 17:54:50 UTC (rev 9523) @@ -239,23 +239,23 @@ download/index.fr.html=501a49c1d17b64265c6b57ea12d59c79 download/index.nl.html=2b51aa4ac32868a75dbbf40e37929b56 fah/FAHlogoButton.jpg=7c3af4cc2f5a35c1a063ae8115e1dc4f -fah/availableProjects.txt=bb83652a11c38eb3606dda7fc2d72d07 -fah/createProjectList.js=f6aacf825728b545700887c579a76bae -fah/fah-projects.xml=ee9b782ff6b8daefbfd5c48c31710a18 +fah/availableProjects.txt=22cc8f1e751dbdd7c90489fb5f482e75 +fah/createProjectList.js=e5b42c1c87bdc06ae5ce76ec85122c8f +fah/fah-projects.xml=89230e061b63fa36c02ccea84f986bd3 fah/fah-projects.xsd=d989d0314017e1e2c609616a0f478956 fah/fah.js=901f9e1bd08cca13ebbdbc48c1f5bef5 -fah/index.de.html=59f150eea73e76b68f63cf1bba83b8a5 -fah/index.en.html=68bdba51969efe362912bf4a2d7969b8 -fah/index.es.html=dec6dafe7c433471c8a34e638ff63ee0 -fah/index.et.html=bbed8648d0ccba2881b41aa4ddb42ca1 -fah/index.fr.html=bea569b69720df9d6107441f92108f38 -fah/index.hu.html=0f3b4081756c37ed23ae7f99b2663ba7 -fah/index.it.html=1c44d57eecb865245e616c48aa9689f2 -fah/index.nl.html=156729fa3c74b7d63e6fb44499db1ece -fah/index.pt.html=ac062c97c10af1e3ebbf66d53c58a58f -fah/index.pt_BR.html=e5eec6c334b2a18f8a655bd2513bcaa9 -fah/index.ro.html=a6eb9348416b356846fdae502c306fe9 -fah/missingProjects.txt=c3ce4c90c23d8f672aaefb2f6af61b24 +fah/index.de.html=08c2f8a1b5880243818458fe1b0ad062 +fah/index.en.html=cb6bf12a80943846d251375c7534b425 +fah/index.es.html=85fee63e1ab7ebdcb29cc6280f91b4b0 +fah/index.et.html=c9157ee54a5be172b98943d7bda87f98 +fah/index.fr.html=e8bd7e141483b34f03f713071d2e2b8d +fah/index.hu.html=0d35751ec73ca642f032798106df409b +fah/index.it.html=6f6c0bd33ed7f7f152b05cae137a76e6 +fah/index.nl.html=915895d88966587019447f0fe6a7d260 +fah/index.pt.html=06f3c95aab97b5f5cbc3b58b71e5b9fa +fah/index.pt_BR.html=fccb465dee10903da40f75fbe3b10093 +fah/index.ro.html=1e6c0bc09f48e9554f5fd1e28141a730 +fah/missingProjects.txt=8752aa1ca6e85e205fc2cee8e695b456 fah/projects/Jmol_translation.zip=f05e7804b12274e58299bd1ae4fecae0 fah/projects/p1001.xyz.gz=f092439792dc8f05d1e143264bdd14ee fah/projects/p1002.xyz.gz=9327be24296aa7f57a644d2818e3adfd @@ -932,6 +932,7 @@ fah/projects/p2169.xyz.gz=977aa3b87d8430afa7cb6c24452e5f40 fah/projects/p217.xyz.gz=e1aaa13d78f90a7c882cf8114cb16c87 fah/projects/p2170.xyz.gz=78340ca35d4d1dff0c6d48ee362c20c4 +fah/projects/p2171.xyz.gz=969ccda502d6074dc84d598e0cee17b3 fah/projects/p218.xyz.gz=75eef3a8804bc47ceeda07c4e1eb040b fah/projects/p219.xyz.gz=c2e4c58828dad26254679641712ef6eb fah/projects/p220.xyz.gz=ee6b551db7a6a4d1eccb3f515c19d350 @@ -1093,6 +1094,8 @@ fah/projects/p2588.xyz.gz=fbc2dd05c1a16fe93f6e4ff7b68efbc5 fah/projects/p2589.xyz.gz=c4d5a0a7b0e10a1f805da70efc87eae1 fah/projects/p259.xyz.gz=fe41226cb0bf5227a2f1d28161e7d1f9 +fah/projects/p2590.xyz.gz=6f19e07d49d6fb4ae085d6c1dee0d1b6 +fah/projects/p2592.xyz.gz=99d22203a6b54cf08ab5a0566f7b7fb1 fah/projects/p260.xyz.gz=b5ce97604e247680bec8de79da1eade5 fah/projects/p2602.xyz.gz=5aea4babe634e85a50550bb9f0030c7c fah/projects/p2603.xyz.gz=925c5d2704e7311d4a5ea3c56910e317 @@ -1476,9 +1479,31 @@ fah/projects/p4549.xyz.gz=b204fffc1fc4e7134f8671a228f050b6 fah/projects/p4550.xyz.gz=0ecfb8499b812e5f153765d249480835 fah/projects/p4551.xyz.gz=9caba3f323e9c7b3081d97bea2f30ee9 +fah/projects/p4552.xyz.gz=b171df4067bffe79e79f19cd0ec0c796 +fah/projects/p4553.xyz.gz=8e18e1bfa7c013124e2d0fd145917124 +fah/projects/p4554.xyz.gz=7357d4e00ce728577c7c32ca7f2760d3 +fah/projects/p4555.xyz.gz=5324e3ebb45f5fb8441be6918e8be314 +fah/projects/p4556.xyz.gz=b3f7675a3f2e8cdd64555ea000b12745 +fah/projects/p4557.xyz.gz=f47fbfba666598346f93f3b1929e0372 +fah/projects/p4558.xyz.gz=554869e7a15dee6d31850f2190f6a64b +fah/projects/p4559.xyz.gz=7533004a1165670c12305c33d5ce81f7 +fah/projects/p4560.xyz.gz=fbef37881af2128513b4fa6de4264216 +fah/projects/p4561.xyz.gz=777b2cb7e480264c44fc2ab4781198ff +fah/projects/p4562.xyz.gz=cc09234d0f49be29750a08d3c8eda07a +fah/projects/p4563.xyz.gz=e6da9eab0de814bf5a8b95e8223f5882 +fah/projects/p4564.xyz.gz=1cc1751de55616548d61c82e31362c09 +fah/projects/p4565.xyz.gz=83624c5577e0229ea0c5666561f0af03 +fah/projects/p4566.xyz.gz=b7354f9cde2149d5e091d6f9a799b518 +fah/projects/p4567.xyz.gz=38b9f6cbf8f1afee9acda07c96fc7f54 +fah/projects/p4568.xyz.gz=33aea13b2cf586bd1519bd42bc64b41c +fah/projects/p4569.xyz.gz=4207fb74058b6cb41a6128f661f939d4 +fah/projects/p4573.xyz.gz=0a658a7f088ad15a7f9d6fadafab9553 +fah/projects/p4575.xyz.gz=ac0d0e880874573ff215d9136753049a +fah/projects/p4576.xyz.gz=3096bca1c20d107ca2ee86bbafdd4f7e fah/projects/p501.xyz.gz=09c6eb4ff9f727fdc6fad87d3c05ad64 fah/projects/p506.xyz.gz=fcaa3a6b6c6733f9344be3de7ab07a09 fah/projects/p507.xyz.gz=56fa33e680c4bc668f7e8fafe8b11ffe +fah/projects/p5101.xyz.gz=1853a92fb818527d8ccd2ebff54a9512 fah/projects/p513.xyz.gz=a1b7bd21244ff7fbbbdc4ae6f4fe4b42 fah/projects/p515.xyz.gz=18a05cce9f49037ec7ddc5b8feddca0f fah/projects/p516.xyz.gz=e79397a8c44933b1e56f7dd7c318e39b @@ -1667,6 +1692,12 @@ fah/projects/p775.xyz.gz=1de1502023818bf5e3e634f6a2040048 fah/projects/p776.xyz.gz=feb25d7431ce72289e7d71741eaf8dd8 fah/projects/p780.xyz.gz=f49714b672896dcaa57528eff9982242 +fah/projects/p781.xyz.gz=8225be2a7ab96f4ead04ea641a5c3aba +fah/projects/p782.xyz.gz=a202bfa011bb6d2da4dd0be421cb23b7 +fah/projects/p783.xyz.gz=0b93c722fad45d11d01d630b89c72cfe +fah/projects/p784.xyz.gz=b9c3a6aa93ca43b6a18e7ba270e25cb4 +fah/projects/p785.xyz.gz=e88a6cfb570e5f51d2930706aa1448d8 +fah/projects/p786.xyz.gz=a92f34aca4d1fcefd5143723510b3e36 fah/projects/p800.xyz.gz=21111f1643623cfd927ffbec62492f9d fah/projects/p801.xyz.gz=b2ee3d32646c92aaf4c8437ddd95bc43 fah/projects/p802.xyz.gz=ec23f2f76734d4289fe50c086aadda0f @@ -1743,6 +1774,8 @@ fah/projects/p891.xyz.gz=312266903c966f57dbf3aac32a73f0b0 fah/projects/p892.xyz.gz=7bb11d26114eefdcbc7ee30531b9cd43 fah/projects/p893.xyz.gz=d7d8500d0a9ed0a04bf9df8ba3833c2d +fah/projects/p894.xyz.gz=40311466de9bfa0a38c2150da833b618 +fah/projects/p895.xyz.gz=33cacacc62c4938f5edd8ba34522a1cc fah/projects/p905.xyz.gz=46e9aef2093d4e3538584fab170822ff fah/projects/p906.xyz.gz=c8f5e1ace10b2b1fef5e78276340da76 fah/projects/p907.xyz.gz=00dfb8e7b9011e2d1f490c13bab4b177 @@ -1856,23 +1889,23 @@ index.fr.html=0cc2d847ee0533240cfe9071d5a651ad index.nl.html=a618c45f49ccaaadb4d0760a5f0ebdad jmol/Jmol.js=bd5f687d2965577b770861a1effd1328 -jmol/JmolApplet.jar=09952a355ac21acf36592aa6b97d965e -jmol/JmolApplet0.jar=0633178cec8fa2d746053912bb37a46f -jmol/JmolApplet0_Core.jar=3b9ed141bf1167f3dac5c502e2fc759e -jmol/JmolApplet0_Jars.jar=5ce9a51d2ba613fa5ed4538b56fa9766 -jmol/JmolApplet0_Jvxl.jar=9eee5215e86a9f75f57c090f731d8cfe -jmol/JmolApplet0_Main.jar=77bc866ede643edc6aea7c415d5497dc -jmol/JmolApplet0_Popup.jar=d032560052e2b130617a895b85dbd9a7 -jmol/JmolApplet0_Quantum.jar=0129fd218151f602244d5e04902e8018 -jmol/JmolApplet0_ReadersCifPdb.jar=a40c4b782a64bef74effabda472a3e6f -jmol/JmolApplet0_ReadersMolXyz.jar=09b53d37b59d88588b8a7cda590ea8b2 -jmol/JmolApplet0_ReadersMore.jar=aed9d1fe970f869753fb4160d82d34ff -jmol/JmolApplet0_ReadersXml.jar=832f52e46c4c8eb9123c6db8cbeb923b -jmol/JmolApplet0_ShapeBio.jar=e130e665193aeeb71fe315a03c3d5b09 -jmol/JmolApplet0_ShapeSpecial.jar=ace5c2098c4ba270c208c73aec984304 -jmol/JmolApplet0_Smiles.jar=7044c07a318b0a3189d921d6ff420ef5 -jmol/JmolApplet0_Viewer.jar=7c10dc2ff6601a3d5fcba51d0742f17a -jmol/JmolApplet0_i18n.jar=0566502e54264a35f634232b24a9d196 +jmol/JmolApplet.jar=f84fe676c1be47415de0230fd69db21b +jmol/JmolApplet0.jar=08db64b2d59cdcd559c210ae26a3f47f +jmol/JmolApplet0_Core.jar=dcef80f177305116b2140edea1874086 +jmol/JmolApplet0_Jars.jar=3ae2bc203da3b6ec70c8ba086ad73a9b +jmol/JmolApplet0_Jvxl.jar=1e7f96bc016fc2fc7b3d2363dbbb36a8 +jmol/JmolApplet0_Main.jar=9f005df500ad57c2896d128cbc53f489 +jmol/JmolApplet0_Popup.jar=39665f9f0c8489136225df5e18fe8da1 +jmol/JmolApplet0_Quantum.jar=c074499ce77094894230269cf807442c +jmol/JmolApplet0_ReadersCifPdb.jar=7034e737459e1f8b5e001ca44b7695a6 +jmol/JmolApplet0_ReadersMolXyz.jar=cb1bbe3b02d9d809a4caccb85ebd2119 +jmol/JmolApplet0_ReadersMore.jar=55a5affd2aba07be3583de574a4d479a +jmol/JmolApplet0_ReadersXml.jar=50dc3952f866abb90bfbe7e60744d741 +jmol/JmolApplet0_ShapeBio.jar=bcea6bef826489533beeb88c64f1fdd6 +jmol/JmolApplet0_ShapeSpecial.jar=7e641aaaa728bdaab9d48b37cdf0d5f8 +jmol/JmolApplet0_Smiles.jar=30832c043649bb0c67bc88a0a1b45eb1 +jmol/JmolApplet0_Viewer.jar=776dff97bce0d636157f5e2ff0f38e5b +jmol/JmolApplet0_i18n.jar=758d18e0c8b380d3096427d7e52a048e jscolors/colors.js=ade68c0fba732e2c9420e48a32b23c28 jscolors/gradients.png=5bc2889b4a3ebeebdf238b9829642e98 jscolors/index.en.html=98e0bb9623501f5932b12d86f07176ba @@ -1882,8 +1915,8 @@ jscolors/jmol_colors_layout.js=dcb062410de32efd569bcdd310314de9 jscolors/jmol_constants.js=4418e7d10cc1f49aa3b96f499a954297 jscolors/jsColorNames.js=994ed21d92bb14f3eb9395c5bc7ee476 -jslibrary/index.en.html=0a148b744ed19ea457aa6fa1c215be86 -jslibrary/index.es.html=a443983c054dfebb514bc7c2460cb638 +jslibrary/index.en.html=65709bbb3e022619bed7ddde4d588134 +jslibrary/index.es.html=e0ca7e5849b14a14948826df84fd0c86 jslibrary/index.fr.html=40032d17fb18713648b1952c7b7442ed lists/index.en.html=1ce1bc89a0acd03b1f906d02e10d0cb3 lists/index.es.html=869f949188016e230247796f509a9cf7 Modified: trunk/Jmol-web/source/doc/fah/fah-projects.xml =================================================================== --- trunk/Jmol-web/source/doc/fah/fah-projects.xml 2008-06-25 17:43:51 UTC (rev 9522) +++ trunk/Jmol-web/source/doc/fah/fah-projects.xml 2008-06-25 17:54:50 UTC (rev 9523) @@ -1835,24 +1835,24 @@ <fah_proj number="780" name="p780_Minichap_0kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" credit="565" frames="100" code="A0" contact="dlucent" contrib="v00d00"/> - <fah_proj number="781" name="p781_Minichap_1kT" public="n" + <fah_proj number="781" name="p781_Minichap_1kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> - <fah_proj number="782" name="p782_Minichap_2.0kT" public="n" + credit="565" frames="100" code="A0" contact="dlucent" contrib="Hyperlife"/> + <fah_proj number="782" name="p782_Minichap_2.0kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> - <fah_proj number="783" name="p783_Minichap_0.3kT" public="n" + credit="565" frames="100" code="A0" contact="dlucent" contrib="Ivoshiee"/> + <fah_proj number="783" name="p783_Minichap_0.3kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> - <fah_proj number="784" name="p784_Minichap_0.6kT" public="n" + credit="565" frames="100" code="A0" contact="dlucent" contrib="Ivoshiee"/> + <fah_proj number="784" name="p784_Minichap_0.6kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> - <fah_proj number="785" name="p785_Minichap_1.3kT" public="n" + credit="565" frames="100" code="A0" contact="dlucent" contrib="Ivoshiee"/> + <fah_proj number="785" name="p785_Minichap_1.3kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> - <fah_proj number="786" name="p786_Minichap_1.6kT" public="n" + credit="565" frames="100" code="A0" contact="dlucent" contrib="uncle_fungus"/> + <fah_proj number="786" name="p786_Minichap_1.6kT" public="n" file="y" server="171.64.122.138" atoms="43460" preferred="20" deadline="154" - credit="565" frames="100" code="A0" contact="dlucent"/> + credit="565" frames="100" code="A0" contact="dlucent" contrib="Ivoshiee"/> <!-- This is Genome@Home <fah_proj number="799" public="y"/> --> @@ -2140,6 +2140,15 @@ <fah_proj number="893" name="p893_p53peptides893" public="y" file="y" server="130.49.240.80" atoms="10528" preferred="118" deadline="176" credit="647" frames="100" code="A0" contact="ltchong" contrib="v00d00"/> + <fah_proj number="894" name="p894_p53MDM2_gb" public="y" file="y" + server="130.49.240.81" atoms="1681" preferred="135" deadline="203" + credit="743" frames="100" code="A" contact="ltchong" contrib="Torstein"/> + <fah_proj number="895" name="p895_p53peptides_gb" public="y" file="y" + server="130.49.240.81" atoms="227" preferred="30" deadline="45" + credit="165" frames="100" code="A" contact="ltchong" contrib="konpas1986"/> + <fah_proj number="896" name="p896_p53longpeptides_GB" public="y" + server="130.49.240.81" atoms="260" preferred="31" deadline="47" + credit="171" frames="100" code="A" contact="ltchong"/> <!-- Projects 900 to 999 --> <fah_proj number="901" public="y" @@ -3861,16 +3870,16 @@ <fah_proj number="1731" name="p1731_A21nat_d26_VAC" public="y" file="y" server="171.65.103.155" atoms="4018" preferred="27" deadline="40" credit="139" frames="100" code="G" contact="esorin" contrib="Macaholic"/> - <fah_proj number="1732" name="p1732_nat_305_03" public="n" file="y" + <fah_proj number="1732" name="p1732_nat_305_03" public="y" file="y" server="134.139.127.31" atoms="6414" preferred="18" deadline="36" credit="57" frames="100" code="G" contact="esorin" contrib="Bruce"/> - <fah_proj number="1733" name="p1733_unf_305_03" public="n" file="y" + <fah_proj number="1733" name="p1733_unf_305_03" public="y" file="y" server="134.139.127.31" atoms="6384" preferred="18" deadline="36" credit="57" frames="100" code="G" contact="esorin" contrib="John Deas"/> - <fah_proj number="1734" name="p1734_A21nat_305_03" public="n" file="y" + <fah_proj number="1734" name="p1734_A21nat_305_03" public="y" file="y" server="134.139.127.32" atoms="6426" preferred="18" deadline="36" credit="57" frames="100" code="G" contact="esorin" contrib="John Deas"/> - <fah_proj number="1735" name="p1735_A21unf_305_03" public="n" file="y" + <fah_proj number="1735" name="p1735_A21unf_305_03" public="y" file="y" server="134.139.127.32" atoms="6399" preferred="18" deadline="36" credit="57" frames="100" code="G" contact="esorin" contrib="John Deas"/> @@ -4448,9 +4457,9 @@ <fah_proj number="2170" name="p2170_lambda_obc_300K" public="y" file="y" server="171.65.103.160" atoms="1258" preferred="45" deadline="66" credit="234" frames="100" code="A" contact="densign" contrib="John Deas"/> - <fah_proj number="2171" name="p2171_T113V" public="y" + <fah_proj number="2171" name="p2171_T113V" public="y" file="y" server="171.64.122.141" atoms="86182" preferred="44.8" deadline="66.3" - credit="429" frames="100" code="G" contact="densign"/> + credit="429" frames="100" code="G" contact="densign" contrib="Bruce"/> <fah_proj number="2172" name="p2172_T113V" public="y" server="171.64.122.141" atoms="86182" preferred="34.9" deadline="51.3" credit="329" frames="100" code="G" contact="densign"/> @@ -4954,6 +4963,18 @@ <fah_proj number="2589" name="p2589_BBA5" public="y" file="y" server="171.64.122.70" atoms="12200" preferred="26" deadline="38" credit="134" frames="100" code="G" contact="luttmann" contrib="Bruce"/> + <fah_proj number="2590" name="p2590_BBA5_ext" public="y" file="y" + server="171.64.122.139" atoms="12200" preferred="55" deadline="82" + credit="293" frames="100" code="DG" contact="luttmann" contrib="konpas1986"/> + <fah_proj number="2591" name="p2591_p2556_fs_ambers" public="y" + server="171.64.65.42" atoms="264" preferred="1.2" deadline="6" + credit="308" frames="100" code="G3" contact="luttmann"/> + <fah_proj number="2592" name="p2592_BBA5_ext" public="n" file="y" + server="171.64.122.139" atoms="12200" preferred="34" deadline="50" + credit="176" frames="100" code="DG" contact="luttmann" contrib="John Deas"/> + <fah_proj number="2593" name="p2593_BBA5_ext" public="n" + server="171.64.122.139" atoms="12200" preferred="38" deadline="56" + credit="198" frames="100" code="DG" contact="luttmann"/> <!-- Projects 2600 to 2699 --> <fah_proj number="2602" name="p2602_Protein in POPC" public="n" file="y" @@ -6183,6 +6204,12 @@ <fah_proj number="3856" name="p3856_fkbprelative_ligand" public="y" file="y" server="128.59.74.4" atoms="2722" preferred="40" deadline="60" credit="401" frames="100" code="DC" contact="mrshirts" contrib="toTOW"/> + <fah_proj number="3858" name="p3858_p3855_fkbprelative_complex" public="n" + server="128.59.74.4" atoms="14907" preferred="40" deadline="60" + credit="450" frames="100" code="DC" contact="mrshirts"/> + <fah_proj number="3859" name="p3859_p3856_fkbprelative_ligand" public="n" + server="128.59.74.4" atoms="2722" preferred="40" deadline="60" + credit="401" frames="100" code="DC" contact="mrshirts"/> <!-- Projects 3900 to 3999 --> <fah_proj number="3900" name="p3900_Protein in POPC" public="n" @@ -6613,6 +6640,87 @@ <fah_proj number="4551" name="p4551_T0415-12_minout" public="y" file="y" server="169.230.26.30" atoms="186" preferred="15.4" deadline="23.1" credit="84.7" frames="100" code="A" contact="vvoelz" contrib="Flathead74"/> + <fah_proj number="4552" name="p4552_T0432-16_minout" public="y" file="y" + server="169.230.26.30" atoms="297" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="Smoking2000,toTOW"/> + <fah_proj number="4553" name="p4553_T0432-8_minout" public="y" file="y" + server="169.230.26.30" atoms="133" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz" contrib="Flathead74,Smoking2000"/> + <fah_proj number="4554" name="p4554_T0432-12_minout" public="y" file="y" + server="169.230.26.30" atoms="215" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="Flathead74"/> + <fah_proj number="4555" name="p4555_T0437-8_minout" public="y" file="y" + server="169.230.26.30" atoms="140" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4556" name="p4556_T0437-16_minout" public="y" file="y" + server="169.230.26.30" atoms="246" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4557" name="p4557_T0437-12_minout" public="y" file="y" + server="169.230.26.30" atoms="194" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4558" name="p4558_T0446-12_minout" public="y" file="y" + server="169.230.26.30" atoms="173" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="Chris Meyer,Smoking2000"/> + <fah_proj number="4559" name="p4559_T0446-8_minout" public="y" file="y" + server="169.230.26.30" atoms="132" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4560" name="p4560_T0446-16_minout" public="y" file="y" + server="169.230.26.30" atoms="237" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4561" name="p4561_T0453-16_minout" public="y" file="y" + server="169.230.26.30" atoms="252" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="Chris Meyer,Smoking2000"/> + <fah_proj number="4562" name="p4562_T0453-8_minout" public="y" file="y" + server="169.230.26.30" atoms="123" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4563" name="p4563_T0453-12_minout" public="y" file="y" + server="169.230.26.30" atoms="191" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4564" name="p4564_T0459-16_minout" public="y" file="y" + server="169.230.26.30" atoms="251" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4565" name="p4565_T0459-8_minout" public="y" file="y" + server="169.230.26.30" atoms="135" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz" contrib="7im"/> + <fah_proj number="4566" name="p4566_T0459-12_minout" public="y" file="y" + server="169.230.26.30" atoms="195" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="Smoking2000"/> + <fah_proj number="4567" name="p4567_T0460-12_minout" public="y" file="y" + server="169.230.26.30" atoms="207" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="7im"/> + <fah_proj number="4568" name="p4568_T0460-16_minout" public="y" file="y" + server="169.230.26.30" atoms="260" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="7im"/> + <fah_proj number="4569" name="p4569_T0460-8_minout" public="y" file="y" + server="169.230.26.30" atoms="141" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz" contrib="Flathead74"/> + <fah_proj number="4570" name="p4570_T0464-8_minout" public="y" + server="169.230.26.30" atoms="161" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4571" name="p4571_T0467-8_minout" public="y" + server="169.230.26.30" atoms="144" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4572" name="p4572_T0464-16_minout" public="y" + server="169.230.26.30" atoms="283" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4573" name="p4573_T0467-16_minout" public="y" file="y" + server="169.230.26.30" atoms="279" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4574" name="p4574_T0464-12_minout" public="y" + server="169.230.26.30" atoms="216" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4575" name="p4575_T0467-12_minout" public="y" file="y" + server="169.230.26.30" atoms="213" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz" contrib="7im"/> + <fah_proj number="4576" name="p4576_T0469-16_minout" public="y" file="y" + server="169.230.26.30" atoms="274" preferred="21.7" deadline="32.5" + credit="119.3" frames="100" code="A" contact="vvoelz" contrib="7im"/> + <fah_proj number="4577" name="p4577_T0469-8_minout" public="y" + server="169.230.26.30" atoms="150" preferred="8.5" deadline="12.8" + credit="47" frames="100" code="A" contact="vvoelz"/> + <fah_proj number="4578" name="p4578_T0469-12_minout" public="y" + server="169.230.26.30" atoms="211" preferred="15.4" deadline="23.1" + credit="84.7" frames="100" code="A" contact="vvoelz"/> <!-- Projects 4700 to 4799 --> <fah_proj number="4700" name="p4700_N68H_AM03" public="y" @@ -6651,6 +6759,9 @@ <fah_proj number="4714" name="p4714_supervillin_e1" public="n" server="171.64.65.103" atoms="576" preferred="2" deadline="3" credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4715" name="p4715_supervillin_e1" public="y" + server="171.64.65.103" atoms="576" preferred="2" deadline="3" + credit="122" frames="100" code="GG2" contact="densign"/> <fah_proj number="4716" name="p4716_fip35_ww_domain" public="y" server="171.64.65.103" atoms="544" preferred="3.6" deadline="5.4" credit="1820" frames="100" code="GG2" contact="densign"/> @@ -6672,6 +6783,30 @@ <fah_proj number="4722" name="p4722_lam5w_370K" public="y" server="171.64.65.103" atoms="1254" preferred="2" deadline="3" credit="300" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4724" name="p4724_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="177" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4725" name="p4725_p4709_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="182" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4726" name="p4726_p4709_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="192" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4727" name="p4727_p4708_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="192" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4728" name="p4728_p4724_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="192" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4729" name="p4729_p4709_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="224" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4730" name="p4730_supervillin_e1" public="y" + server="171.64.65.103" atoms="576" preferred="2" deadline="3" + credit="111" frames="100" code="GG2" contact="densign"/> + <fah_proj number="4731" name="p4731_fip35_ww_domain" public="y" + server="171.64.65.103" atoms="544" preferred="2" deadline="3" + credit="193" frames="100" code="GG2" contact="densign"/> <!-- Projects 4800 to 4899 --> <fah_proj number="4800" name="p4800_" public="y" @@ -6687,7 +6822,50 @@ <fah_proj number="5000" name="p5000_supervillin_e1" public="y" server="171.64.65.20" atoms="576" preferred="2" deadline="3" credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5001" name="p5001_supervillin_e1" public="y" + server="171.64.65.20" atoms="576" preferred="2" deadline="3" + credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5002" name="p5002_supervillin_e1" public="y" + server="171.64.65.20" atoms="576" preferred="2" deadline="3" + credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5003" name="p5003_p5002_supervillin_e1" public="y" + server="171.64.65.20" atoms="576" preferred="2" deadline="3" + credit="479" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5004" name="p5004_p5002_supervillin_e1" public="n" + server="171.64.65.20" atoms="576" preferred="2" deadline="3" + credit="479" frames="100" code="GG2" contact="densign"/> + <!-- Projects 5000 to 5099 --> + <fah_proj number="5101" name="p5101_Calmodulin CMF" public="y" file="y" + server="171.64.65.64" atoms="26014" preferred="5" deadline="5" + credit="2165" frames="100" code="GS" contact="kasson" contrib="Ivoshiee"/> + <fah_proj number="5102" name="p5102_Calmodulin in water" public="y" + server="171.64.65.64" atoms="42727" preferred="5" deadline="5" + credit="2165" frames="100" code="GS" contact="kasson"/> + <fah_proj number="5104" name="p5104_Calmodulin CMG" public="n" + server="171.64.65.56" atoms="42813" preferred="6" deadline="6" + credit="2165" frames="100" code="GC" contact="kasson"/> + <fah_proj number="5107" name="p5107_Calmodulin CMG" public="n" + server="171.64.65.64" atoms="42813" preferred="6" deadline="6" + credit="1" frames="100" code="GC" contact="kasson"/> + + <!-- Projects 5200 to 5299 --> + <fah_proj number="5200" name="p5200_supervillin_e1" public="y" + server="171.64.122.74" atoms="576" preferred="2" deadline="3" + credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5201" name="p5201_supervillin_e1" public="y" + server="171.64.122.74" atoms="576" preferred="2" deadline="3" + credit="122" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5202" name="p5202_supervillin_e1" public="y" + server="171.64.122.74" atoms="576" preferred="2" deadline="3" + credit="111" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5203" name="p5203_supervillin_e1" public="y" + server="171.64.122.74" atoms="576" preferred="2" deadline="3" + credit="98" frames="100" code="GG2" contact="densign"/> + <fah_proj number="5205" name="p5205_supervillin_e1" public="n" + server="171.64.122.74" atoms="576" preferred="2" deadline="3" + credit="479" frames="100" code="GG2" contact="densign"/> + <!-- Projects 9900 to 9999 --> <fah_proj number="9994" name="p9994_A21_agbnp_amber99" public="n" server="171.64.122.137" atoms="222" preferred="1.2" deadline="3.5" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-25 17:43:54
|
Revision: 9522 http://jmol.svn.sourceforge.net/jmol/?rev=9522&view=rev Author: nicove Date: 2008-06-25 10:43:51 -0700 (Wed, 25 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p2592.xyz.gz trunk/Jmol-FAH/projects/p4573.xyz.gz trunk/Jmol-FAH/projects/p4575.xyz.gz trunk/Jmol-FAH/projects/p4576.xyz.gz trunk/Jmol-FAH/projects/p5101.xyz.gz trunk/Jmol-FAH/projects/p781.xyz.gz Added: trunk/Jmol-FAH/projects/p2592.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p2592.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4573.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4573.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4575.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4575.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p4576.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p4576.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p5101.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p5101.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Jmol-FAH/projects/p781.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p781.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-24 23:51:22
|
Revision: 9521 http://jmol.svn.sourceforge.net/jmol/?rev=9521&view=rev Author: hansonr Date: 2008-06-24 16:51:18 -0700 (Tue, 24 Jun 2008) Log Message: ----------- version=11.5.43_dev # new feature: extended quaternion math # # q = quaternion({x y z}, angleDegrees) # 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 difference "dq": # # q2 * (!q1) # # Quaternion relative difference: # # (!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} # # # bug fix: load trajectory for cases with different atom counts. Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-24 23:48:46 UTC (rev 9520) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-24 23:51:18 UTC (rev 9521) @@ -44,7 +44,7 @@ # Examples: # # q = quaternion({1 1 1},120) -# print "" + q%{1 0 0} + " " + q%{0 1 0} + " " + q%{0 0 1} +# 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} # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-24 23:48:49
|
Revision: 9520 http://jmol.svn.sourceforge.net/jmol/?rev=9520&view=rev Author: hansonr Date: 2008-06-24 16:48:46 -0700 (Tue, 24 Jun 2008) Log Message: ----------- version=11.5.43_dev # new feature: extended quaternion math # # q = quaternion({x y z}, angleDegrees) # 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 difference "dq": # # q2 * (!q1) # # Quaternion relative difference: # # (!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} # # # bug fix: load trajectory for cases with different atom counts. Modified Paths: -------------- trunk/Jmol/src/org/jmol/util/Quaternion.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Token.java Modified: trunk/Jmol/src/org/jmol/util/Quaternion.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-24 04:00:39 UTC (rev 9519) +++ trunk/Jmol/src/org/jmol/util/Quaternion.java 2008-06-24 23:48:46 UTC (rev 9520) @@ -24,6 +24,7 @@ package org.jmol.util; import javax.vecmath.Matrix3f; +import javax.vecmath.Point3f; import javax.vecmath.Point4f; import javax.vecmath.Tuple3f; import javax.vecmath.Vector3f; @@ -236,4 +237,21 @@ public Point4f toPoint4f() { return new Point4f(q1, q2, q3, q0); } + + public Point3f transform(Point3f pt) { + if (mat == null) + setMatrix(); + Point3f ptNew = new Point3f(pt); + mat.transform(ptNew); + return ptNew; + } + + public Vector3f transform(Vector3f v) { + if (mat == null) + setMatrix(); + Vector3f vNew = new Vector3f(v); + mat.transform(vNew); + return vNew; + } + } Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-24 04:00:39 UTC (rev 9519) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-24 23:48:46 UTC (rev 9520) @@ -7578,6 +7578,8 @@ tok = Token.atomY; else if (s.equals("z")) tok = Token.atomZ; + else if (s.equals("w")) + tok = Token.qw; else error(ERROR_invalidArgument); break; @@ -11550,6 +11552,8 @@ return addX(((Float) x).floatValue()); if (x instanceof String) return addX((String) x); + if (x instanceof Vector3f) + return addX(new Point3f((Vector3f) x)); if (x instanceof Point3f) return addX((Point3f) x); if (x instanceof Point4f) @@ -12033,10 +12037,11 @@ } private boolean evaluatePoint(Token[] args) throws ScriptException { - if (args.length != 1 && args.length != 3) + if (args.length != 1 && args.length != 3 && args.length != 4) return false; - if (isSyntaxCheck) - return addX(new Point3f(0, 0, 0)); + if (isSyntaxCheck) { + return addX(args.length == 4 ? (Object) new Point4f() : (Object) new Point3f()); + } switch (args.length) { case 1: @@ -12045,10 +12050,9 @@ return addX((Point3f) pt); return addX("" + pt); case 3: - float x = Token.fValue(args[0]); - float y = Token.fValue(args[1]); - float z = Token.fValue(args[2]); - return addX(new Point3f(x, y, z)); + return addX(new Point3f(Token.fValue(args[0]), Token.fValue(args[1]), Token.fValue(args[2]))); + case 4: + return addX(new Point4f(Token.fValue(args[0]), Token.fValue(args[1]), Token.fValue(args[2]), Token.fValue(args[3]))); } return false; } @@ -12803,6 +12807,13 @@ return addX(new Point3f(pt.x - f, pt.y - f, pt.z - f)); } } + if (x1.tok == Token.point4f) { + if (x2.tok == Token.point4f) { + Quaternion q1 = new Quaternion((Point4f)x1.value); + Quaternion q2 = new Quaternion((Point4f)x2.value); + return addX(q2.mul(q1.inv()).toPoint4f()); + } + } return addX(Token.fValue(x1) - Token.fValue(x2)); case Token.unaryMinus: switch (x2.tok) { @@ -12899,6 +12910,8 @@ return addX(pt); case Token.point4f: Point4f q = (Point4f) x1.value; + if (x2.tok == Token.point3f) + return addX((new Quaternion(q)).transform((Point3f)x2.value)); switch(n) { case 0: return addX(q.w); @@ -12911,8 +12924,15 @@ case -1: return addX(new Point3f(q.x, q.y, q.z)); case -2: + return addX((new Quaternion(q)).getTheta()); + case -3: + return addX((new Quaternion(q)).getVector(0)); + case -4: + return addX((new Quaternion(q)).getVector(1)); + case -5: + return addX((new Quaternion(q)).getVector(2)); default: - return addX((new Quaternion(q)).getTheta()); + return addX(q); } case Token.bitset: return addX(Token.bsSelect(x1, n)); @@ -12980,6 +13000,18 @@ : op.intValue == Token.fracY ? ptf.y : ptf.z); } break; + case Token.point4f: + switch (op.intValue) { + case Token.atomX: + return addX(((Point4f) x2.value).x); + case Token.atomY: + return addX(((Point4f) x2.value).y); + case Token.atomZ: + return addX(((Point4f) x2.value).z); + case Token.qw: + return addX(((Point4f) x2.value).w); + } + break; case Token.bitset: if (op.intValue == Token.bonds && x2.value instanceof BondSet) return addX(x2); Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-24 04:00:39 UTC (rev 9519) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-24 23:48:46 UTC (rev 9520) @@ -3,8 +3,54 @@ version=11.5.43_dev +# new feature: extended quaternion math +# +# q = quaternion({x y z}, angleDegrees) +# 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 difference "dq": +# +# q2 * (!q1) +# +# Quaternion relative difference: +# +# (!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} +# +# # bug fix: load trajectory for cases with different atom counts. - +# # ----------------------------------------------------------------------------- #version=11.5.42 Modified: trunk/Jmol/src/org/jmol/viewer/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-24 04:00:39 UTC (rev 9519) +++ trunk/Jmol/src/org/jmol/viewer/Token.java 2008-06-24 23:48:46 UTC (rev 9520) @@ -499,13 +499,13 @@ // xxx(a,b,c) - final static int point = 1 | 3 << 3 | mathfunc; - final static int select = 2 | 3 << 3 | mathfunc | expressionCommand; + final static int select = 1 | 3 << 3 | mathfunc | expressionCommand; // xxx(a,b,c,d) final static int angle = 1 | 4 << 3 | mathfunc; final static int plane = 2 | 4 << 3 | mathfunc | specialstring; //may appear as string alone + final static int point = 3 | 4 << 3 | mathfunc; // xxx(a,b,c,d,e) @@ -962,6 +962,7 @@ final static int triangles = misc | 63; final static int url = misc | 64; final static int user = misc | 65; //color option + final static int qw = misc | 66; // predefined Tokens: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-24 04:00:42
|
Revision: 9519 http://jmol.svn.sourceforge.net/jmol/?rev=9519&view=rev Author: nicove Date: 2008-06-23 21:00:39 -0700 (Mon, 23 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p894.xyz.gz Added: trunk/Jmol-FAH/projects/p894.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p894.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-23 20:43:50
|
Revision: 9518 http://jmol.svn.sourceforge.net/jmol/?rev=9518&view=rev Author: hansonr Date: 2008-06-23 13:43:49 -0700 (Mon, 23 Jun 2008) Log Message: ----------- version=11.5.43_dev # bug fix: load trajectory for cases with different atom counts. Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java trunk/Jmol/src/org/jmol/modelset/ModelSet.java trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java 2008-06-23 17:33:46 UTC (rev 9517) +++ trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollection.java 2008-06-23 20:43:49 UTC (rev 9518) @@ -1033,8 +1033,10 @@ //////////////////////////////////////////////////////////////// void addTrajectory() { - if (trajectory.length == 0) //done with FIRST atom set - trajectory = new Point3f[atomCount]; + //System.out.println(atomCount); + if (trajectory.length == 0 || trajectory.length < atomCount) { + trajectory = new Point3f[atomCount]; + } for (int i = 0; i < atomCount; i++) trajectory[i] = new Point3f(atoms[i]); trajectories.addElement(trajectory); Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-06-23 17:33:46 UTC (rev 9517) +++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-06-23 20:43:49 UTC (rev 9518) @@ -195,7 +195,7 @@ Point3f[] trajectory = (Point3f[]) trajectories.get(modelIndex); BitSet bs = new BitSet(); int nAtoms = getAtomCountInModel(modelIndex); - for (int pt = 0, i = iFirst; i < nAtoms && pt < trajectory.length; i++) { + for (int pt = 0, i = iFirst; i < nAtoms && pt < trajectory.length && trajectory[pt]!= null; i++) { atoms[i].set(trajectory[pt++]); atoms[i].modelIndex = (short) modelIndex; bs.set(i); Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-23 17:33:46 UTC (rev 9517) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-23 20:43:49 UTC (rev 9518) @@ -524,7 +524,7 @@ z = monomer.getOmega(); if (z < -90) z += 360; - z -= 180; + //z -= 180; if (Float.isNaN(x) || Float.isNaN(y) || Float.isNaN(z)) continue; w = a.getPartialCharge(); Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 17:33:46 UTC (rev 9517) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 20:43:49 UTC (rev 9518) @@ -3,6 +3,8 @@ version=11.5.43_dev +# bug fix: load trajectory for cases with different atom counts. + # ----------------------------------------------------------------------------- #version=11.5.42 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-23 17:33:48
|
Revision: 9517 http://jmol.svn.sourceforge.net/jmol/?rev=9517&view=rev Author: nicove Date: 2008-06-23 10:33:46 -0700 (Mon, 23 Jun 2008) Log Message: ----------- Version Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 17:11:18 UTC (rev 9516) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 17:33:46 UTC (rev 9517) @@ -1,8 +1,12 @@ # Developers: to add a description of changes you have made, # add it on line starting with # below the "version=..." line -version=11.5.42 +version=11.5.43_dev +# ----------------------------------------------------------------------------- + +#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 @@ -82,7 +86,7 @@ # selectX {*} x.straightness < 0.995 # does not round # # new feature: "%T" label format for straightness -# + # ----------------------------------------------------------------------------- #version=11.5.41 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2008-06-23 17:11:19
|
Revision: 9516 http://jmol.svn.sourceforge.net/jmol/?rev=9516&view=rev Author: nicove Date: 2008-06-23 10:11:18 -0700 (Mon, 23 Jun 2008) Log Message: ----------- Folding@Home Added Paths: ----------- trunk/Jmol-FAH/projects/p895.xyz.gz Added: trunk/Jmol-FAH/projects/p895.xyz.gz =================================================================== (Binary files differ) Property changes on: trunk/Jmol-FAH/projects/p895.xyz.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-23 14:04:34
|
Revision: 9515 http://jmol.svn.sourceforge.net/jmol/?rev=9515&view=rev Author: hansonr Date: 2008-06-23 07:04:29 -0700 (Mon, 23 Jun 2008) Log Message: ----------- 11.5.42 VERSION (d) Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java trunk/Jmol/src/org/jmol/modelset/ModelLoader.java trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/modelset/ModelCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-23 01:45:09 UTC (rev 9514) +++ trunk/Jmol/src/org/jmol/modelset/ModelCollection.java 2008-06-23 14:04:29 UTC (rev 9515) @@ -892,29 +892,6 @@ /* ONLY from one model * */ - /* ONLY from one model - * - */ - private String getPdbData(int modelIndex, char ctype, int derivType, - boolean isDraw, BitSet bsSelected) { - if (isJmolDataFrame(modelIndex)) - modelIndex = getJmolDataSourceFrame(modelIndex); - if (modelIndex < 0) - return ""; - char qtype = (ctype == 'R' ? 'R' : viewer.getQuaternionFrame()); - Model model = models[modelIndex]; - BitSet bsAtoms = getModelAtomBitSet(modelIndex, false); - int nPoly = model.getBioPolymerCount(); - StringBuffer pdbATOM = new StringBuffer(); - StringBuffer pdbCONECT = new StringBuffer(); - if (!isDraw) - pdbATOM.append(getProteinStructureState(bsAtoms, ctype == 'R')); - for (int p = 0; p < nPoly; p++) - model.bioPolymers[p].getPdbData(ctype, qtype, derivType, isDraw, - bsAtoms, pdbATOM, pdbCONECT, bsSelected); - pdbATOM.append(pdbCONECT); - return pdbATOM.toString(); - } public String getPdbAtomData(BitSet bs) { if (atomCount == 0) @@ -949,39 +926,58 @@ *****************************/ public String getPdbData(int modelIndex, String type, BitSet bsSelected) { + if (isJmolDataFrame(modelIndex)) + modelIndex = getJmolDataSourceFrame(modelIndex); + if (modelIndex < 0) + return ""; if (!models[modelIndex].isPDB) return null; + Model model = models[modelIndex]; char ctype = (type.length() > 11 && type.indexOf("quaternion ") >= 0 ? type .charAt(11) : 'R'); - String s = getPdbData(modelIndex, ctype, - (type.indexOf("diff") < 0 ? 0 : type.indexOf("2") < 0 ? 1 : 2), - (type.indexOf("draw") >= 0), bsSelected); - if (s.length() == 0 || type.indexOf("draw") >= 0) + char qtype = (ctype == 'R' ? 'R' : viewer.getQuaternionFrame()); + int derivType = (type.indexOf("diff") < 0 ? 0 : type.indexOf("2") < 0 ? 1 : 2); + boolean isDraw = (type.indexOf("draw") >= 0); + BitSet bsAtoms = getModelAtomBitSet(modelIndex, false); + int nPoly = model.getBioPolymerCount(); + StringBuffer pdbATOM = new StringBuffer(); + StringBuffer pdbCONECT = new StringBuffer(); + for (int p = 0; p < nPoly; p++) + model.bioPolymers[p].getPdbData(ctype, qtype, derivType, isDraw, + bsAtoms, pdbATOM, pdbCONECT, bsSelected); + pdbATOM.append(pdbCONECT); + String s = pdbATOM.toString(); + if (isDraw || s.length() == 0) return s; - String remark = "REMARK 6 Jmol PDB-encoded data: " + type - + " data(x,y,z,charge)="; + String remark = "REMARK 6 Jmol PDB-encoded data: " + type + ";"; + if (ctype != 'R') + remark += " quaternionFrame = \"" + qtype + "\""; + String data; switch (ctype) { default: case 'w': - remark += "(x,y,z,w)"; + data = "x*10___ y*10___ z*10___ w*10__ "; break; case 'x': - remark += "(y,z,w,x)"; + data = "y*10___ z*10___ w*10___ x*10__ "; break; case 'y': - remark += "(z,w,x,y)"; + data = "z*10___ w*10___ x*10___ y*10__ "; break; case 'z': - remark += "(w,x,y,z)"; + data = "w*10___ x*10___ y*10___ z*10__ "; break; case 'R': - remark += "(phi,psi,omega,partialCharge)"; + data = "phi____ psi____ omega-180 PartialCharge"; break; - case 's': - remark = "# draw sequence for quaternions"; - break; } - remark += "\n"; + remark += "\n\n" + getProteinStructureState(bsAtoms, ctype == 'R'); + remark += "REMARK 6 AT GRP CH RESNO " + data + " Sym"; + if (ctype != 'R') + remark += " q0_______ q1_______ q2_______ q3_______ centerX___ centerY___ centerZ___"; + if (qtype == 'n') + remark += " NHX_______ NHY_______ NYZ_______"; + remark += "\n\n"; return remark + s; } Modified: trunk/Jmol/src/org/jmol/modelset/ModelLoader.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelLoader.java 2008-06-23 01:45:09 UTC (rev 9514) +++ trunk/Jmol/src/org/jmol/modelset/ModelLoader.java 2008-06-23 14:04:29 UTC (rev 9515) @@ -349,7 +349,7 @@ clientFile, i); if (modelName == null) modelName = (jmolData != null ? jmolData.substring(jmolData - .indexOf(":") + 2, jmolData.indexOf("data(")) + .indexOf(":") + 2, jmolData.indexOf(";")) : modelNumber == Integer.MAX_VALUE ? "" : "" + (modelNumber % 1000000)); boolean isPDBModel = setModelNameNumberProperties(ipt, iTrajectory, modelName, modelNumber, modelProperties, modelAuxiliaryInfo, isPDB, jmolData); Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-23 01:45:09 UTC (rev 9514) +++ trunk/Jmol/src/org/jmol/modelsetbio/BioPolymer.java 2008-06-23 14:04:29 UTC (rev 9515) @@ -606,17 +606,6 @@ q = q.mul(-1); } qlast = q; - Point3f ptCenter = (p instanceof AminoPolymer ? AminoPolymer - .getQuaternionFrameCenter((AminoMonomer) a.getGroup(), qtype) - : p instanceof NucleicPolymer ? NucleicPolymer - .getQuaternionFrameCenter((NucleicMonomer) a.getGroup(), - qtype) : new Point3f()); - strExtra = TextFormat.sprintf("%8.3p%8.3p%8.3p", - new Object[] { new Point3f[] { ptCenter } }); - if (qtype == 'n') - strExtra += TextFormat.sprintf(" %8.3p%8.3p%8.3p", - new Object[] { new Point3f[] { ((AminoPolymer) p) - .getNHPoint((AminoMonomer) a.getGroup()) } }); switch (ctype) { default: x = q.q1; @@ -643,6 +632,11 @@ w = q.q1; break; } + Point3f ptCenter = (p instanceof AminoPolymer ? AminoPolymer + .getQuaternionFrameCenter((AminoMonomer) a.getGroup(), qtype) + : p instanceof NucleicPolymer ? NucleicPolymer + .getQuaternionFrameCenter((NucleicMonomer) a.getGroup(), + qtype) : new Point3f()); if (isDraw) { if (bsSelected != null && !bsSelected.get(a.getAtomIndex())) continue; @@ -676,12 +670,21 @@ .append(" color ").append(qColor[derivType]).append('\n'); continue; } - } + strExtra = TextFormat.sprintf("%10.6f%10.6f%10.6f%10.6f %10.5p %10.5p %10.5p", + new Object[] { + new float[] { q.q0, q.q1, q.q2, q.q3 }, + new Point3f[] { ptCenter } + }); + if (qtype == 'n') + strExtra += TextFormat.sprintf(" %10.5p %10.5p %10.5p", + new Object[] { new Point3f[] { ((AminoPolymer) p) + .getNHPoint((AminoMonomer) a.getGroup()) } }); + } if (pdbATOM == null) continue; pdbATOM.append(a.formatLabel("ATOM %5i %4a%1A%3n %1c%4R%1E ")); pdbATOM.append(TextFormat.sprintf( - "%8.3f%8.3f%8.3f%6.2f %2s %s\n", new String[] { + "%8.2f%8.2f%8.2f %6.3f %2s %s\n", new String[] { a.getElementSymbol().toUpperCase(), strExtra }, new float[] { x * factor, y * factor, z * factor, w * factor })); if (atomno != Integer.MIN_VALUE) { Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-23 01:45:09 UTC (rev 9514) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-23 14:04:29 UTC (rev 9515) @@ -4491,7 +4491,7 @@ evalError("QUATERNION [w,x,y,z,a,r] [difference][2]"); type = "quaternion " + type + (isDerivative ? " difference" : "") + (isSecondDerivative ? "2" : "") - + (isDraw ? " draw" : " (quaternionFrame " + viewer.getQuaternionFrame() + ")"); + + (isDraw ? " draw" : ""); break; } if (isSyntaxCheck) //just in case we later add parameter options to this Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 01:45:09 UTC (rev 9514) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-06-23 14:04:29 UTC (rev 9515) @@ -3,6 +3,8 @@ 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-23 01:45:17
|
Revision: 9514 http://jmol.svn.sourceforge.net/jmol/?rev=9514&view=rev Author: hansonr Date: 2008-06-22 18:45:09 -0700 (Sun, 22 Jun 2008) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java trunk/Jmol/src/org/jmol/applet/Jmol.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2008-06-23 01:03:03 UTC (rev 9513) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2008-06-23 01:45:09 UTC (rev 9514) @@ -114,7 +114,7 @@ return "unrecognized file format for file " + fullName + "\n" + atomSetCollectionReaderName; if (atomSetCollectionReaderName.equals("spt")) - return "file recognized as a script file: " + fullName + "\n"; + return "NOTE: file recognized as a script file: " + fullName + "\n"; Logger.info("The Resolver thinks " + atomSetCollectionReaderName); } if (htParams == null) Modified: trunk/Jmol/src/org/jmol/applet/Jmol.java =================================================================== --- trunk/Jmol/src/org/jmol/applet/Jmol.java 2008-06-23 01:03:03 UTC (rev 9513) +++ trunk/Jmol/src/org/jmol/applet/Jmol.java 2008-06-23 01:45:09 UTC (rev 9514) @@ -966,7 +966,7 @@ String errorMsg = (String) data[4]; //data[5] = (String) null; // don't pass reference to clientFile reference if (errorMsg != null) { - showStatusAndConsole(GT._("File Error:") + errorMsg); + showStatusAndConsole((errorMsg.indexOf("NOTE:") >= 0 ? "" : GT._("File Error:")) + errorMsg); return; } break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |