Package org.jmol.modelsetbio
Class BioExt
- java.lang.Object
-
- org.jmol.modelsetbio.BioExt
-
public class BioExt extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
aaPlus
private static java.lang.String
aaSp2
private static java.lang.String
aaSp21
(package private) static java.lang.Object[]
alphaTypes
(package private) static java.lang.String
helixScript
private ModelSet
ms
private static java.lang.String
mutateScript
private static java.lang.String
naNoH
private static java.lang.String[]
pdbRecords
private static java.lang.String[]
qColor
private Viewer
vwr
-
Constructor Summary
Constructors Constructor Description BioExt()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
calculateAllstruts(Viewer vwr, ModelSet ms, javajs.util.BS bs1, javajs.util.BS bs2)
(package private) void
calculateStraightnessAll()
private static javajs.util.Lst<Atom[]>
calculateStruts(ModelSet modelSet, javajs.util.BS bs1, javajs.util.BS bs2, javajs.util.Lst<Atom> vCA, float thresh, int delta, boolean allowMultiple)
Algorithm of George Phillips phillips@biochem.wisc.edu originally a contribution to pyMol as struts.py; adapted here by Bob Hanson for Jmol 1/2010 Return a vector of support posts for rapid prototyping models along the lines of George Phillips for Pymol except on actual molecular segments (biopolymers), not PDB chains (which may or may not be continuous).private static void
createHelix(Viewer vwr, int nRes, int[] gly, float[] phipsi, boolean isTurn)
(package private) static java.lang.String
drawQuat(javajs.util.Quat q, java.lang.String prefix, java.lang.String id, javajs.util.P3 ptCenter, float scale)
private static void
fixHydrogens(Viewer vwr, AminoMonomer res1)
private static float
get3DStraightness(java.lang.String id, javajs.util.Quat dq, javajs.util.Quat dqnext)
(package private) void
getAllPolymerInfo(javajs.util.BS bs, java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> fullInfo)
(package private) boolean
getAminoAcidValenceAndCharge(java.lang.String res, java.lang.String name, int[] ret)
returns an array if we have special hybridization or chargeprivate void
getData(int m0, int mStep, BioPolymer p, char ctype, char qtype, int derivType, javajs.util.BS bsAtoms, javajs.util.BS bsSelected, boolean isDraw, boolean isRamachandran, boolean calcRamachandranStraightness, boolean useQuaternionStraightness, boolean writeRamachandranStraightness, boolean quaternionStraightness, float factor, boolean isAmino, boolean isRelativeAlias, LabelToken[] tokens, javajs.util.OC pdbATOM, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten, javajs.util.P3 ptTemp)
(package private) java.lang.String
getFullPDBHeader(java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)
private static Atom[]
getMutationBackbone(AminoMonomer res, Atom[] backbone)
private void
getPdbData(BioPolymer bp, char ctype, char qtype, int mStep, int derivType, javajs.util.BS bsAtoms, javajs.util.BS bsSelected, boolean bothEnds, boolean isDraw, boolean addHeader, LabelToken[] tokens, javajs.util.OC pdbATOM, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten, javajs.util.P3 ptTemp)
(package private) void
getPdbDataM(BioModel m, Viewer vwr, java.lang.String type, char ctype, boolean isDraw, javajs.util.BS bsSelected, javajs.util.OC out, LabelToken[] tokens, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten)
float[]
getPhiPsiForHelixType(java.lang.String t)
private static java.lang.String
getQInfo(javajs.util.Quat q)
private static float
getQuaternionStraightness(java.lang.String id, javajs.util.Quat dq, javajs.util.Quat dqnext)
private static float
getStraightness(float cosHalfTheta)
(package private) boolean
mutate(Viewer vwr, javajs.util.BS bs, java.lang.String group, java.lang.String[] sequence, java.lang.String helixType, float[] phipsi)
mutate the given groupprivate static boolean
mutateAtom(Viewer vwr, int iatom, java.lang.String fileName, boolean addH)
private static void
replaceMutatedMonomer(Viewer vwr, AminoMonomer res0, AminoMonomer res1, boolean addH)
(package private) BioExt
set(Viewer vwr, ModelSet ms)
private static void
setStrut(int i, int j, int n, javajs.util.Lst<Atom> vCA, javajs.util.BS bs1, javajs.util.BS bs2, javajs.util.Lst<Atom[]> vStruts, javajs.util.BS bsStruts, javajs.util.BS bsNotAvailable, javajs.util.BS bsNearbyResidues, int delta)
private static int
strutPoint(int i, int j, int n)
-
-
-
Field Detail
-
vwr
private Viewer vwr
-
ms
private ModelSet ms
-
qColor
private static final java.lang.String[] qColor
-
helixScript
static java.lang.String helixScript
-
alphaTypes
static final java.lang.Object[] alphaTypes
-
mutateScript
private static java.lang.String mutateScript
-
pdbRecords
private static final java.lang.String[] pdbRecords
-
naNoH
private static final java.lang.String naNoH
- See Also:
- Constant Field Values
-
aaSp2
private static final java.lang.String aaSp2
- See Also:
- Constant Field Values
-
aaSp21
private static final java.lang.String aaSp21
- See Also:
- Constant Field Values
-
aaPlus
private static final java.lang.String aaPlus
- See Also:
- Constant Field Values
-
-
Method Detail
-
getAllPolymerInfo
void getAllPolymerInfo(javajs.util.BS bs, java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> fullInfo)
-
calculateStraightnessAll
void calculateStraightnessAll()
-
getPdbData
private void getPdbData(BioPolymer bp, char ctype, char qtype, int mStep, int derivType, javajs.util.BS bsAtoms, javajs.util.BS bsSelected, boolean bothEnds, boolean isDraw, boolean addHeader, LabelToken[] tokens, javajs.util.OC pdbATOM, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten, javajs.util.P3 ptTemp)
-
getData
private void getData(int m0, int mStep, BioPolymer p, char ctype, char qtype, int derivType, javajs.util.BS bsAtoms, javajs.util.BS bsSelected, boolean isDraw, boolean isRamachandran, boolean calcRamachandranStraightness, boolean useQuaternionStraightness, boolean writeRamachandranStraightness, boolean quaternionStraightness, float factor, boolean isAmino, boolean isRelativeAlias, LabelToken[] tokens, javajs.util.OC pdbATOM, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten, javajs.util.P3 ptTemp)
- Parameters:
m0
-mStep
-p
-ctype
-qtype
-derivType
-bsAtoms
-bsSelected
-isDraw
-isRamachandran
-calcRamachandranStraightness
-useQuaternionStraightness
-writeRamachandranStraightness
-quaternionStraightness
- NOT USEDfactor
-isAmino
-isRelativeAlias
-tokens
-pdbATOM
-pdbCONECT
-bsWritten
-ptTemp
-
-
getQInfo
private static java.lang.String getQInfo(javajs.util.Quat q)
-
drawQuat
static java.lang.String drawQuat(javajs.util.Quat q, java.lang.String prefix, java.lang.String id, javajs.util.P3 ptCenter, float scale)
-
get3DStraightness
private static float get3DStraightness(java.lang.String id, javajs.util.Quat dq, javajs.util.Quat dqnext)
- Parameters:
id
- for debugging onlydq
-dqnext
-- Returns:
- calculated straightness
-
getQuaternionStraightness
private static float getQuaternionStraightness(java.lang.String id, javajs.util.Quat dq, javajs.util.Quat dqnext)
- Parameters:
id
- for debugging onlydq
-dqnext
-- Returns:
- straightness
-
getStraightness
private static float getStraightness(float cosHalfTheta)
-
getPdbDataM
void getPdbDataM(BioModel m, Viewer vwr, java.lang.String type, char ctype, boolean isDraw, javajs.util.BS bsSelected, javajs.util.OC out, LabelToken[] tokens, javajs.util.SB pdbCONECT, javajs.util.BS bsWritten)
-
calculateAllstruts
int calculateAllstruts(Viewer vwr, ModelSet ms, javajs.util.BS bs1, javajs.util.BS bs2)
-
calculateStruts
private static javajs.util.Lst<Atom[]> calculateStruts(ModelSet modelSet, javajs.util.BS bs1, javajs.util.BS bs2, javajs.util.Lst<Atom> vCA, float thresh, int delta, boolean allowMultiple)
Algorithm of George Phillips phillips@biochem.wisc.edu originally a contribution to pyMol as struts.py; adapted here by Bob Hanson for Jmol 1/2010 Return a vector of support posts for rapid prototyping models along the lines of George Phillips for Pymol except on actual molecular segments (biopolymers), not PDB chains (which may or may not be continuous). Like George, we go from thresh-4 to thresh in units of 1 Angstrom, but we do not require this threshold to be an integer. In addition, we prevent double-creation of struts by tracking where struts are, and we do not look for any addtional end struts if there is a strut already to an atom at a particular biopolymer end. The three parameters are: set strutDefaultRadius 0.3 set strutSpacingMinimum 6 set strutLengthMaximum 7.0 Struts will be introduced by: calculate struts {atom set A} {atom set B} where the two atom sets are optional and default to the currently selected set. They can be manipulated using the STRUTS command much like any "bond" struts 0.3 color struts opaque pink connect {atomno=3} {atomno=4} strut struts only command- Parameters:
modelSet
-bs1
-bs2
-vCA
-thresh
-delta
-allowMultiple
-- Returns:
- vector of pairs of atoms
-
strutPoint
private static int strutPoint(int i, int j, int n)
-
setStrut
private static void setStrut(int i, int j, int n, javajs.util.Lst<Atom> vCA, javajs.util.BS bs1, javajs.util.BS bs2, javajs.util.Lst<Atom[]> vStruts, javajs.util.BS bsStruts, javajs.util.BS bsNotAvailable, javajs.util.BS bsNearbyResidues, int delta)
-
mutate
boolean mutate(Viewer vwr, javajs.util.BS bs, java.lang.String group, java.lang.String[] sequence, java.lang.String helixType, float[] phipsi)
mutate the given group- Parameters:
vwr
-bs
-group
-sequence
-phipsi
-helixType
-- Returns:
- true if even partially successful
-
createHelix
private static void createHelix(Viewer vwr, int nRes, int[] gly, float[] phipsi, boolean isTurn)
- Parameters:
vwr
-nRes
-gly
-phipsi
-isTurn
-
-
getPhiPsiForHelixType
public float[] getPhiPsiForHelixType(java.lang.String t)
-
mutateAtom
private static boolean mutateAtom(Viewer vwr, int iatom, java.lang.String fileName, boolean addH)
-
replaceMutatedMonomer
private static void replaceMutatedMonomer(Viewer vwr, AminoMonomer res0, AminoMonomer res1, boolean addH)
-
fixHydrogens
private static void fixHydrogens(Viewer vwr, AminoMonomer res1)
-
getMutationBackbone
private static Atom[] getMutationBackbone(AminoMonomer res, Atom[] backbone)
- Parameters:
res
-backbone
-- Returns:
- [C O CA N H]
-
getFullPDBHeader
java.lang.String getFullPDBHeader(java.util.Map<java.lang.String,java.lang.Object> auxiliaryInfo)
-
getAminoAcidValenceAndCharge
boolean getAminoAcidValenceAndCharge(java.lang.String res, java.lang.String name, int[] ret)
returns an array if we have special hybridization or charge- Parameters:
res
-name
-ret
- [0] (target valence) may be reduced by one for sp2 for C or O only [1] will be set to 1 if positive (lysine or terminal N) or -1 if negative (OXT) [2] will be set to 2 if sp2 [3] is supplied covalent bond count- Returns:
- true for special; false if not
-
-