public abstract class MembranePackingAlgorithm extends java.lang.Object implements MembranePackingAlgorithmInterface
Modifier and Type | Field and Description |
---|---|
GuiListener |
basicOperations |
static int |
BORDER_EAST |
static int |
BORDER_MAX_Y |
static int |
BORDER_MIN_Y |
static int |
BORDER_NORTH |
static int |
BORDER_SOUTH |
static int |
BORDER_WEST |
CalculationManager |
calculationManager |
int |
CurrentMicroDomain |
DatabaseViewListener |
databaseOperations |
static int |
EXTRA
Used to specify the extracellular membrane side
|
static int |
INTRA
Used to specify the intracellular membrane side
|
Lipid_3D[] |
lipidsEC |
Lipid_3D[] |
lipidsIC |
static int |
LIPIDTYPE |
MembraneViewListener |
membraneViewListener |
java.util.Vector<MicroDomain> |
microDomains |
static int |
PROTEINTYPE
Used to specify the PDB type for the database.
|
SimpleRandom |
random
The random that may be used
|
Constructor and Description |
---|
MembranePackingAlgorithm() |
Modifier and Type | Method and Description |
---|---|
void |
addEntryToDB(java.io.File absolutePathOfPDB,
int pdbType)
Add a PDB file to the local database.
|
void |
addExtracellularLipid(Lipid lipidToAdd)
adds the given extracellular lipid to the extracellular side of the
membrane.
|
void |
addIntracellularLipid(Lipid lipidToAdd)
Adds the given intracellular lipid to the intracellular side of the
membrane.
|
void |
clearAllLipids()
Removes all added lipids from the membrane at once
|
javax.vecmath.Matrix3f |
copyMatrix(javax.vecmath.Matrix3f m)
Simply clones a matrix.
|
int |
countSampleLipids_Extracellular(int layerID)
Returns the number of lipid templates on the extracellular side of the
default area
|
int |
countSampleLipids_Intracellular(int layerID)
Returns the number of lipid templates on the intracellular side of the
default area
|
int |
countTotalLipidsThatAreAdded()
Returns the number of all placed lipids in the membrane
|
javax.vecmath.Matrix3f |
createAUnitMatrix()
Creates a new unit matrix
|
Lipid |
createNextExtracellularLipid()
Creates a new Lipid that can be placed in the membrane.
|
Lipid |
createNextExtracellularLipid(int layerID)
Creates a new Lipid that can be placed in the membrane.
|
Lipid |
createNextIntracellularLipid()
Creates a new Lipid that can be placed in the membrane.
|
Lipid |
createNextIntracellularLipid(int layerID)
Creates a new Lipid that can be placed in the membrane.
|
int |
createRandomLayerID()
Chooses a random layerID of any layer that is in the model
|
javax.vecmath.Point2f |
createRandomXZPosition(java.awt.Rectangle bounds)
Randomly creates a Point that has random x/z coordinates, including
decimal values
|
void |
displayInformation(java.lang.String info)
Displays the passed information in string representation beneath the
MembraneView during Algorithm Performance.
|
float |
distance(Molecule mol1,
Molecule mol2,
boolean absval)
Returns the distance between mol1 and mol2.
|
float |
distance(javax.vecmath.Point3f p1,
javax.vecmath.Point3f p2,
boolean absval)
Returns the distance between tow positions.
|
void |
dock()
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
java.io.File |
getAlgorithm_Directory_In_Workspace()
Returns the Directory inside the Workspace Location for this Algorithm.
|
java.util.Vector<Lipid> |
getAllLipids(int mode)
Returns a Vector with all lipids in the membrane of one side.
|
java.util.Vector<Lipid> |
getAllLipidsInDomain(int domainID,
int mode)
Returns a Vector with all lipids in the membrane of one domain and one side.
|
Molecule[] |
getAllMoleculesInCurrentModel()
Returns all Molecule Instances that are currently in the Membrane Model,
including all Layers and Microdomains.
|
java.util.Vector<Protein> |
getAllProteins()
Returns a Vector with all proteins in the membrane Will return all proteins
that belong to the currently selected bilayer
|
java.util.Vector<Protein> |
getAllProteinsInDomain(int domainID)
Returns a Vector with all proteins in the given domain
Will return all proteins that belong to the currently
selected bilayer domain.
|
Lipid[] |
getAllSampleLipids_ExtraCellular(int layerID)
Returns all lipid templates of the extracellular side of this microdomain
|
Lipid[] |
getAllSampleLipids_ExtraCellular(int layerID,
int domainID)
Returns all lipid templates of the extracellular side of this microdomain
|
Lipid[] |
getAllSampleLipids_IntraCellular(int layerID)
Returns all lipid templates of the intracellular side of this microdomain
|
Lipid[] |
getAllSampleLipids_IntraCellular(int layerID,
int domainID)
Returns all lipid templates of the intracellular side of this microdomain
|
Lipid[] |
getAllSampleLipidsInModel()
Returns a list of all (!) lipid templates in the model
|
int |
getCurrentLayerID()
Returns the ID of the currently active layer
|
int |
getCurrentRenderMode()
Returns the current mode of rendering
|
int |
getDecimalPlaces()
Use this method to get the precision of the computation of the percentages
(if isAbsoluteValuesSelected() is false, default mode of the MembraneEditor).
|
float |
getDesiredAtomDistance()
Returns the desired distance between atoms that the user can define.
|
Lipid |
getExtracellularLipidByPDBCode(java.lang.String pdbcode)
Returns a new extracellular lipid by given PDB-Code.
|
int[] |
getIntersectedBorders(Molecule mol)
Returns all borders the molecule intersects with.
|
Molecule[] |
getIntersectedMolecules(Molecule mol)
Returns the molecules the passed lipid intersects with.
|
Lipid |
getIntracellularLipidByPDBCode(java.lang.String pdbcode)
Returns a newintracellular lipid by given PDB-Code.
|
javax.media.j3d.BranchGroup |
getJ3DBranchGroup()
For Java 3D experts only! Here it is possible to add custom Java3D-based
objects.
|
Layer |
getLayerAtIndex(int index)
Returns the Layer Object at the specified index
|
Layer |
getLayerByLayerID(int LayerID)
Returns the Layer that has the specified Layer ID or null if the Layer
doesn't exist
|
int |
getLayerCount()
Returns the number of Layers in the model
|
float |
getLipidInMembraneHeight(Lipid lip)
Returns the scaled height in the membrane of the given lipid.
|
java.util.Vector<Molecule> |
getLipidsInRadiusExcept(Molecule mol,
int radius,
java.util.Vector<Molecule> except)
Returns all lipids within the given radius of the molecule mol.
|
int |
getMembraneArea()
Returns the Area of the whole Membrane in A².
|
java.awt.Rectangle |
getMembraneBounds2D()
Similar to getMembraneSize(), but this returns the bounds as a rectangle
object
|
java.awt.Dimension |
getMembraneSize()
Returns the size of the membrane
|
MicroDomain |
getMicroDomain(int domainID)
Returns the microdomain object that has the specified id
|
MicroDomain |
getMicroDomainAt(int index)
Returns the microdomain object at the specified index
|
int |
getMicroDomainAtPoint(javax.vecmath.Point2f point)
Tests if the passed point is inside the area of a microdomain of the
active membrane layer and returns the Domain_ID for it
|
int |
getMicroDomainAtPoint(javax.vecmath.Point2f point,
int layerID)
Tests if the passed point is inside the area of a microdomain of the
given membrane layer and returns the Domain_ID for it
|
int |
getMicroDomainCount()
Returns the count of microdomains in the membrane
|
float |
getMinAtomDistance()
Returns the desired distance between atoms that has been set in the
settings dialog of the applycation
|
java.util.Vector<Molecule> |
getMoleculesInRadius(Molecule mol,
int radius)
Returns all molecules within the given radius of the molecule mol.
|
java.util.Vector<Molecule> |
getMoleculesInRadiusExcept(Molecule mol,
int radius,
java.util.Vector<Molecule> except)
Returns all molecules within the given radius of the molecule mol.
|
java.util.Vector<Molecule> |
getMoleculesInRadiusOnMySide(Molecule mol,
int radius,
int membraneside)
Returns all molecules within the given radius of the molecule mol on the
given membrane side.
|
java.util.Vector<Molecule> |
getMoleculesInRadiusOnMySide(javax.vecmath.Point3f mol,
int radius,
int membraneside)
Returns all molecules within the given radius of the Point3f on given
membrane side.
|
java.util.Vector<Molecule> |
getMoleculesInRadiusOnMySideExcept(Molecule mol,
int radius,
int membraneside,
java.util.Vector<Molecule> except)
Returns all molecules within the given radius of the molecule mol on the
given membrane side.
|
Lipid |
getNearestLipidOnMySide(Molecule mol,
int membraneside)
Returns the nearest lipid to the given molecule mol on the determined
membrane side.
|
Molecule |
getNearestMolecule(Molecule mol)
Returns the closest molecule to the passed one.
|
Molecule |
getNearestMoleculeExcept(Molecule mol,
java.util.Vector<Molecule> except)
Returns the nearest molecule to the given molecule mol.
|
Molecule |
getNearestMoleculeExceptDetailed(Molecule mol,
java.util.Vector<Molecule> except,
boolean detailed)
Returns the nearest molecule to the given molecule mol.
|
Molecule |
getNearestMoleculeExceptOnMySide(Molecule mol,
java.util.Vector<Molecule> except,
int membraneside)
Returns the nearest molecule to the given molecule mol on the determined
membrane side.
|
Molecule |
getNearestMoleculeExceptOnMySideDetailed(Molecule mol,
java.util.Vector<Molecule> except,
int membraneside,
boolean detailed)
Returns the nearest molecule to the given molecule mol on the determined
membrane side.
|
Molecule |
getNearestMoleculeOnMySide(Molecule mol,
int membraneside)
Returns the nearest molecule to the given molecule mol on the determined
membrane side.
|
Molecule |
getNearestMoleculeOnMySideDetailed(Molecule mol,
int membraneside,
boolean detailed)
Returns the nearest molecule to the given molecule mol on the determined
membrane side.
|
Protein |
getNearestProtein(Molecule mol)
Returns the nearest protein.
|
Protein |
getNearestProteinDetailed(Molecule mol,
boolean detailed)
Returns the nearest protein.
|
Protein |
getNearestProteinExcept(Molecule mol,
java.util.Vector<Protein> except)
Returns the nearest protein.
|
Protein |
getNearestProteinExceptDetailed(Molecule mol,
java.util.Vector<Protein> except,
boolean detailed)
Returns the nearest protein.
|
float[] |
getOriginalConstraintLenghts(Molecule molecule)
Deprecated.
|
float[] |
getOriginalConstraintLengths(Molecule molecule)
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
java.lang.Integer[] |
getPercentages_ExtraCellular(int layerID,
int domainID)
Get the percentages of the defined layer and domainID on the extracellular side.
|
java.lang.Integer[] |
getPercentages_IntraCellular(int layerID,
int domainID)
Get the percentages of the defined layer and domainID on the intracellular side.
|
Lipid |
getSampleLipid_Extracellular(int index,
int layerID)
Returns the extracellular lipid template at the specified index.
|
Lipid |
getSampleLipid_Intracellular(int index,
int layerID)
Returns the intracellular lipid template at the specified index.
|
int |
getSelectedArea()
Returns the ID of the microdomain that has been highlighted at startup.
|
long |
getStartingTime()
Gets the starting time of the algorithm.
|
float |
getSystemCovalentRadius(java.lang.String key)
Returns the covalent radius that is stored by this application under the
specified key.
|
float |
getSystemVanDerWaalsRadius(java.lang.String key)
Returns the Van-der-Waals-radius that is stored by this application under
the specified key.
|
long |
getTerminationTime()
Gets the termination time of the algorithm.
|
float |
getTotalHeight(Lipid lip)
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
static float |
getTotalHeight(Molecule_3D lip)
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
boolean |
hasMembraneAnyExtracellularLipids()
Returns true if the membrane contains extracellular lipids.
|
boolean |
hasMembraneAnyIntracellularLipids()
Returns true if the membrane contains intracellular lipids.
|
boolean |
hasMembraneAnyProteins()
Returns true if the membrane contains proteins.
|
boolean |
hasMultipleLayers()
Checks if the model has more than the default layer
|
boolean |
intersects(Molecule lip)
Returns true if the passed lipid or protein intersects with any other molecule in
the membrane.
|
boolean |
intersectsAnyMicroDomain(Molecule mol)
Tests if the center of the passed molecule is located inside a
microdomain
|
boolean |
intersectsBorderEast(Molecule mol)
Returns true if the lipid intersects with the eastern border.
|
boolean |
intersectsBorderNorth(Molecule mol)
Returns true if the lipid intersects with the northern border.
|
boolean |
intersectsBorders(Molecule lip)
Returns true if the passed lipid intersects with the border or is located
completely outside the membrane.
|
boolean |
intersectsBorderSouth(Molecule mol)
Returns true if the lipid intersects with the southern border.
|
boolean |
intersectsBorderWest(Molecule mol)
Returns true if the lipid intersects with the western border.
|
boolean |
intersectsEarth(Molecule lip)
Returns true if the passed lipid intersects with the
the lower limit.
|
boolean |
intersectsEarthOrSky(Molecule lip)
Returns true if the passed lipid intersects with the
the lower or upper limit.
|
boolean |
intersectsMoleculeWithMolecule(Molecule mol,
Molecule mol2)
Returns true if the first argument's molecule intersects with the
molecule in the second argument
Intersection tests do not require passed molecule objects to be added to
the membrane already! It will refer to the position and rotation that
have been set
|
boolean |
intersectsMoleculeWithMolecules(Molecule mol,
java.util.Vector<Molecule> others)
Returns true if the first argument's molecule intersects with one of the
second argument's molecules.
|
boolean |
intersectsSky(Molecule lip)
Returns true if the passed lipid intersects with the
the upper limit.
|
boolean |
intersectsWithLipid(Molecule mol,
int side)
Returns true if the molecule intersects with any lipid on the specified
membrane side.
|
boolean |
intersectsWithProteins(Molecule mol)
Returns true if the passed lipid intersects with any protein in the
membrane.
|
boolean |
isAtomCollisionOn()
Determines wether or not atom collision is activated in the
options-dialog of the MembraneEditor
|
boolean |
isAtomDistanceAbsolute()
Determines wether or not the atom distance values
for the atom collision is absolute.
|
boolean |
isComputeAbsoluteValuesSelected()
Determines wether or not the use of absolute values is selected in the
component view MembraneEditor
|
boolean |
isInSystemTray()
Determines, wether the MembraneEditor is currently visible or minimized
into the system-tray.
|
boolean |
isOnAir()
Deprecated.
use isInSystemTray() instead
Determines, wether the MembraneEditor is currently visible or minimized
into the system-tray
|
boolean |
isStartInBackgroundAllowed()
Is true if the algorithm can be started in the background.
|
boolean |
isStartInBackgroundSelected()
This is true if the user selected to start the algorithm immediately
in background after the calculation was started.
|
void |
manuallyUpdateStatistics()
Forces the statistics to update on current values.
|
boolean |
MembraneHasAnyExtracellularLipids()
Deprecated.
use hasMembraneAnyExtracellularLipids instead!
|
boolean |
MembraneHasAnyIntracellularLipids()
Deprecated.
use hasMembraneAnyIntracellularLipids instead!
|
float |
nearestAtomPoints(Molecule mol1,
Molecule mol2)
Determines the distance between two molecules about the nearest atoms of
each molecule to the other molecule.
|
float |
nearestTrianglePoints(Molecule mol1,
Molecule mol2)
Determines the distance between two molecules about the nearest triangles
of each molecule to the other molecule.
|
void |
refreshViews(boolean compView,
boolean memViewPanels,
boolean database,
boolean stats,
boolean props,
boolean intersections)
Use this method if you changed some values relevant for the GUI of CmME.
|
void |
removeExtracellularLipid(Lipid lipidToRemove)
Deprecated.
use removeLipidsFromMembrane(Lipid[] lipid) instead
|
void |
removeIntracellularLipid(Lipid lipidToRemove)
Deprecated.
use removeLipidsFromMembrane(Lipid[] lipid) instead
|
void |
removeLipidsFromMembrane(Lipid[] toremove)
Removes the passed list of lipids from the membrane
|
void |
requestChangeOfRenderMode()
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
boolean |
restoreMembraneFromPDB(java.lang.String absolutePathOfPDB,
java.lang.String absolutePathToCm2,
CoordinateTransformationHints overwriteHints,
boolean checkMembraneState)
Restore a membrane from a PDB file with the following options
(Set optional parameters to null if not needed):
|
void |
returnFromSystemTray()
This method returns a CmME instance which has been sent
to the SystemTray back to the screen.
|
void |
sendToSystemTray()
This method hides a CmME instance in the SystemTray.
|
void |
setComputeAbsoluteValues(boolean computeAbsoluteValues)
Use this method to change the Membrane Editor distribution mode to
- support absolute values if true
- support percental values if false
|
void |
setDisplayedProgress(int progress)
Displays the given progress beneath the MembraneView during Algorithm
performance.
|
void |
setListenerAndPrepare(MembranePackingAlgorithm algorithmToGetListeners)
Use this method to inherit listeners from one algorithm to the next one.
|
void |
setListenerAndPrepare(MembraneViewListener membraneViewListener,
GuiListener basicOperations,
CalculationManager calculationManager)
Deprecated.
|
void |
setListenerAndPrepare(MembraneViewListener membraneViewListener,
GuiListener basicOperations,
DatabaseViewListener databaseOperations,
CalculationManager calculationManager)
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
void |
setPercentages(int mode,
int newval,
java.lang.String code,
int domainID)
Set the percentages of the ComponentView.
|
void |
setSimpleRandom()
Set the Random Number Generator to SimpleRandom.
|
void |
setStartInBackgroundAllowed(boolean startInBackground)
This should be true [Default] for every algorithm which does not use
the method getRuntimeControlPanel().
|
void |
setStartInBackgroundSelected(boolean startInBackground)
NOT MEANT TO BE USED BY PLUGIN DEVELOPERS!
|
void |
setStartingTime(long startingTime)
Get the optionally defined starting time.
|
void |
setTerminationTime(long terminationTime)
Get the optionally defined termination time.
|
void |
setUniqueRandom(long seed)
Set the Random Number Generator to UniqueRandom
based on the defined seed.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildAndShowGui, fillWithLipids, getFullInformation, getName, getRuntimeControlPanel, getShortInformation, getStringRepresentationOfSetupParameters, overrideExistingLipids, stopAlgorithm, supportsAbsoluteValues, supportsMicrodomains
public MembraneViewListener membraneViewListener
public GuiListener basicOperations
public DatabaseViewListener databaseOperations
public java.util.Vector<MicroDomain> microDomains
public SimpleRandom random
public static final int EXTRA
public static final int INTRA
public static final int PROTEINTYPE
public static final int LIPIDTYPE
public Lipid_3D[] lipidsEC
public Lipid_3D[] lipidsIC
public CalculationManager calculationManager
public int CurrentMicroDomain
public static final int BORDER_NORTH
public static final int BORDER_EAST
public static final int BORDER_SOUTH
public static final int BORDER_WEST
public static final int BORDER_MAX_Y
public static final int BORDER_MIN_Y
@Deprecated public final void setListenerAndPrepare(MembraneViewListener membraneViewListener, GuiListener basicOperations, CalculationManager calculationManager)
public final void setListenerAndPrepare(MembraneViewListener membraneViewListener, GuiListener basicOperations, DatabaseViewListener databaseOperations, CalculationManager calculationManager)
public final void setListenerAndPrepare(MembranePackingAlgorithm algorithmToGetListeners)
public void setComputeAbsoluteValues(boolean computeAbsoluteValues)
computeAbsoluteValues
- booleanpublic void setPercentages(int mode, int newval, java.lang.String code, int domainID)
mode
- 1=EC, 2=ICnewval
- the new percentage to accord tocode
- the code for the type of the regarded lipiddomainID
- the domainID of the value to changepublic java.lang.Integer[] getPercentages_ExtraCellular(int layerID, int domainID)
layerID
- the ID of the layerdomainID
- the ID of the domainpublic java.lang.Integer[] getPercentages_IntraCellular(int layerID, int domainID)
layerID
- the ID of the layerdomainID
- the ID of the domainpublic int getDecimalPlaces()
public void refreshViews(boolean compView, boolean memViewPanels, boolean database, boolean stats, boolean props, boolean intersections)
compView
- memViewPanels
- database
- stats
- props
- intersections
- public java.awt.Dimension getMembraneSize()
public java.awt.Rectangle getMembraneBounds2D()
public int getMembraneArea()
public java.util.Vector<Lipid> getAllLipids(int mode)
mode
- 0 = static field EXTRA = Extracellular, 1 = static field INTRA =
Intracellularpublic java.util.Vector<Lipid> getAllLipidsInDomain(int domainID, int mode)
domainID
- = the ID of the selected microdomain
mode 0 = static field EXTRA = Extracellular, 1 = static field INTRA =
Intracellularpublic java.util.Vector<Protein> getAllProteins()
public java.util.Vector<Protein> getAllProteinsInDomain(int domainID)
domainID
- = the ID of the selected microdomainpublic final Lipid createNextIntracellularLipid()
public final Lipid createNextIntracellularLipid(int layerID)
layerID
- the
id of the bilayer you want take into accountpublic final Lipid createNextExtracellularLipid()
public final Lipid createNextExtracellularLipid(int layerID)
layerID
- the
id of the bilayer you want take into accountpublic int createRandomLayerID()
public final Lipid getExtracellularLipidByPDBCode(java.lang.String pdbcode)
pdbcode
- the code to choose afterpublic final Lipid getIntracellularLipidByPDBCode(java.lang.String pdbcode)
pdbcode
- the code to choose afterpublic final void addIntracellularLipid(Lipid lipidToAdd) throws IllegalOperationException
lipidToAdd
- the
lipid you want to add to the membraneIllegalOperationException
- if the passed instance has alrady been addedpublic final void addExtracellularLipid(Lipid lipidToAdd) throws IllegalOperationException
lipidToAdd
- IllegalOperationException
- if the passed instance has alrady been added@Deprecated public final void removeIntracellularLipid(Lipid lipidToRemove) throws IllegalOperationException
IllegalOperationException
@Deprecated public final void removeExtracellularLipid(Lipid lipidToRemove) throws IllegalOperationException
IllegalOperationException
public boolean intersectsBorders(Molecule lip)
lip
- the
lipid to test for border intersectionpublic boolean intersects(Molecule lip)
lip
- the
lipid to test for an intersectionpublic Molecule[] getIntersectedMolecules(Molecule mol)
mol
- the
molecule to test for an intersectionpublic boolean intersectsMoleculeWithMolecules(Molecule mol, java.util.Vector<Molecule> others)
mol
- the
molecule to test for intersectionothers
- a
list of other molecules to test againstpublic boolean intersectsMoleculeWithMolecule(Molecule mol, Molecule mol2)
mol
- the
molecule to test for intersectionmol2
- the
opposing moleculepublic boolean intersectsWithProteins(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsWithLipid(Molecule mol, int side)
mol
- the
molecule to test for intersectionside
- the
specified membrane side, EXTRA or INTRApublic javax.media.j3d.BranchGroup getJ3DBranchGroup()
public int[] getIntersectedBorders(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsBorderNorth(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsBorderSouth(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsBorderEast(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsBorderWest(Molecule mol)
mol
- the
molecule to test for intersectionpublic boolean intersectsSky(Molecule lip)
lip
- the
lipid to test for sky intersectionpublic boolean intersectsEarth(Molecule lip)
lip
- the
lipid to test for earth intersectionpublic boolean intersectsEarthOrSky(Molecule lip)
lip
- the
lipid to test for earth or sky intersectionpublic void displayInformation(java.lang.String info)
info
- the
info string (not too long please)public void setDisplayedProgress(int progress)
progress
- a
progress value between 0 and 100public static float getTotalHeight(Molecule_3D lip)
public float getTotalHeight(Lipid lip)
public float getLipidInMembraneHeight(Lipid lip)
lip
- The
lipid you want to testpublic int countTotalLipidsThatAreAdded()
public Molecule getNearestMolecule(Molecule mol)
public Lipid getNearestLipidOnMySide(Molecule mol, int membraneside)
public Molecule getNearestMoleculeOnMySide(Molecule mol, int membraneside)
public Molecule getNearestMoleculeOnMySideDetailed(Molecule mol, int membraneside, boolean detailed)
public Protein getNearestProtein(Molecule mol)
public Protein getNearestProteinDetailed(Molecule mol, boolean detailed)
public Molecule getNearestMoleculeExcept(Molecule mol, java.util.Vector<Molecule> except)
public Molecule getNearestMoleculeExceptDetailed(Molecule mol, java.util.Vector<Molecule> except, boolean detailed)
public Molecule getNearestMoleculeExceptOnMySide(Molecule mol, java.util.Vector<Molecule> except, int membraneside)
public Molecule getNearestMoleculeExceptOnMySideDetailed(Molecule mol, java.util.Vector<Molecule> except, int membraneside, boolean detailed)
public Protein getNearestProteinExcept(Molecule mol, java.util.Vector<Protein> except)
public Protein getNearestProteinExceptDetailed(Molecule mol, java.util.Vector<Protein> except, boolean detailed)
public java.util.Vector<Molecule> getMoleculesInRadius(Molecule mol, int radius)
public java.util.Vector<Molecule> getMoleculesInRadiusOnMySide(javax.vecmath.Point3f mol, int radius, int membraneside)
public java.util.Vector<Molecule> getMoleculesInRadiusOnMySide(Molecule mol, int radius, int membraneside)
public java.util.Vector<Molecule> getLipidsInRadiusExcept(Molecule mol, int radius, java.util.Vector<Molecule> except)
public java.util.Vector<Molecule> getMoleculesInRadiusExcept(Molecule mol, int radius, java.util.Vector<Molecule> except)
public java.util.Vector<Molecule> getMoleculesInRadiusOnMySideExcept(Molecule mol, int radius, int membraneside, java.util.Vector<Molecule> except)
public float distance(Molecule mol1, Molecule mol2, boolean absval)
public float distance(javax.vecmath.Point3f p1, javax.vecmath.Point3f p2, boolean absval)
public float nearestTrianglePoints(Molecule mol1, Molecule mol2)
public float nearestAtomPoints(Molecule mol1, Molecule mol2)
public boolean intersectsAnyMicroDomain(Molecule mol)
mol
- the
molecule to test againstpublic int getMicroDomainAtPoint(javax.vecmath.Point2f point, int layerID)
point
- The
point to test forpublic int getMicroDomainAtPoint(javax.vecmath.Point2f point)
point
- The
point to test forpublic int getMicroDomainCount()
public MicroDomain getMicroDomainAt(int index)
index
- the
specified indexpublic MicroDomain getMicroDomain(int domainID)
domainID
- the domainID to look forpublic javax.vecmath.Point2f createRandomXZPosition(java.awt.Rectangle bounds)
bounds
- the
bounds used as random spacepublic javax.vecmath.Matrix3f copyMatrix(javax.vecmath.Matrix3f m)
m
- the
matrix to copypublic javax.vecmath.Matrix3f createAUnitMatrix()
public int countSampleLipids_Extracellular(int layerID)
layerID
- the
id of the layer taken into accountpublic int countSampleLipids_Intracellular(int layerID)
layerID
- the
id of the layer taken into accountpublic Lipid getSampleLipid_Extracellular(int index, int layerID)
index
- the
index of the lipid templatelayerID
- the
id of the layer taken into accountpublic Lipid getSampleLipid_Intracellular(int index, int layerID)
index
- the
index of the lipid templatelayerID
- the
id of the layer taken into accountpublic Lipid[] getAllSampleLipids_ExtraCellular(int layerID)
layerID
- the
id of the layer taken into accountpublic Lipid[] getAllSampleLipids_ExtraCellular(int layerID, int domainID)
layerID
- the
id of the layer taken into accountpublic Lipid[] getAllSampleLipids_IntraCellular(int layerID)
layerID
- the
id of the layer taken into accountpublic Lipid[] getAllSampleLipids_IntraCellular(int layerID, int domainID)
layerID
- the
id of the layer taken into accountdomainID
- the
id of the microdomain taken into accountpublic Lipid[] getAllSampleLipidsInModel()
public void dock()
public void returnFromSystemTray()
public void sendToSystemTray()
public void clearAllLipids()
public void removeLipidsFromMembrane(Lipid[] toremove)
toremove
- a
list of lipids that you want to removepublic void manuallyUpdateStatistics()
public float getDesiredAtomDistance()
public int getLayerCount()
public Layer getLayerAtIndex(int index)
index
- the
index of the layer objectpublic Layer getLayerByLayerID(int LayerID)
LayerID
- the
layerID to look forpublic boolean hasMembraneAnyExtracellularLipids()
public boolean MembraneHasAnyExtracellularLipids()
public boolean hasMembraneAnyIntracellularLipids()
public boolean MembraneHasAnyIntracellularLipids()
public boolean hasMembraneAnyProteins()
public boolean hasMultipleLayers()
public int getCurrentLayerID()
public Molecule[] getAllMoleculesInCurrentModel()
public java.io.File getAlgorithm_Directory_In_Workspace()
public void requestChangeOfRenderMode()
public int getCurrentRenderMode()
public long getStartingTime()
public void setStartingTime(long startingTime)
startingTime
- public long getTerminationTime()
public void setTerminationTime(long terminationTime)
terminationTime
- public float getSystemVanDerWaalsRadius(java.lang.String key)
key
- use possible parameter-keys of atoms herepublic float getSystemCovalentRadius(java.lang.String key)
key
- use possible parameter-keys of atoms herepublic int getSelectedArea()
public float getMinAtomDistance()
public boolean isComputeAbsoluteValuesSelected()
public boolean isAtomCollisionOn()
public boolean isAtomDistanceAbsolute()
public boolean isOnAir()
public boolean isInSystemTray()
public boolean isStartInBackgroundAllowed()
public void setStartInBackgroundAllowed(boolean startInBackground)
public boolean isStartInBackgroundSelected()
public void setStartInBackgroundSelected(boolean startInBackground)
public void setSimpleRandom()
public void setUniqueRandom(long seed)
seed
- longpublic boolean restoreMembraneFromPDB(java.lang.String absolutePathOfPDB, java.lang.String absolutePathToCm2, CoordinateTransformationHints overwriteHints, boolean checkMembraneState)
absolutePathOfPDB
- mandatory: the absolute path of the PDBabsolutePathToCm2
- optional: the absolute path of the Cm2 against which the PDB has to be parsedoverwriteHints
- optional: the transformation hints containing information about how to transform the membranecheckMembraneState
- mandatory: true if a dialog should appear if there were changes on the membrane, false if the process should be started immediatelyE.public void addEntryToDB(java.io.File absolutePathOfPDB, int pdbType)
absolutePathOfPDB
- the file of the PDBpdbType
- 0 for protein, 1 for lipid@Deprecated public float[] getOriginalConstraintLenghts(Molecule molecule)
public float[] getOriginalConstraintLengths(Molecule molecule)