public class SimulatedAnnealing extends MembranePackingAlgorithm implements java.awt.event.ItemListener, javax.swing.event.ChangeListener, java.awt.event.ActionListener
basicOperations, BORDER_EAST, BORDER_MAX_Y, BORDER_MIN_Y, BORDER_NORTH, BORDER_SOUTH, BORDER_WEST, calculationManager, CurrentMicroDomain, databaseOperations, EXTRA, INTRA, lipidsEC, lipidsIC, LIPIDTYPE, membraneViewListener, microDomains, PROTEINTYPE| Constructor and Description |
|---|
SimulatedAnnealing()
generates a new SimulatedAnneling
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent arg0)
action performed method.
|
boolean |
buildAndShowGui()
Sets up the GUI for the settings
|
float |
energyFunction(Molecule mol,
int membraneside)
The energy function returns a value which specifies the average distance
to the neighbor molecules in the cutoff radius.
|
void |
fillWithLipids()
calls methods to fill membrane with lipids.
|
java.lang.String |
getFullInformation()
returns the full information about this algorithm
|
java.lang.String |
getName()
returns the name of this algorithm.
|
Lipid |
getRandomLipid(int membraneside)
Returns a randomly chosen lipid from all lipids placed on the chosen
membrane side.
|
java.awt.Component |
getRuntimeControlPanel() |
java.lang.String |
getShortInformation()
returns the short information about this algorithm
|
java.lang.String |
getStringRepresentationOfSetupParameters()
returns string representation of the chosen settings.
|
void |
itemStateChanged(java.awt.event.ItemEvent arg0)
item state changed method.
|
void |
moveMolecule(Lipid mol,
int membraneside)
Moves the molecule to a new position.
|
boolean |
overrideExistingLipids() |
void |
placeNewLipidDuringSimulationBorder(int membraneside)
Try to add new molecules on the north, east, south or west border.
|
void |
placeNewLipidDuringSimulationRandom(int membraneside)
Try to add new molecules somewhere inside the membrane.
|
void |
setInitialState()
Sets up the initial state.
|
void |
shakeMolecule(Molecule mol)
Simple method to change position and rotation of a molecule at random.
|
void |
simpleMode()
Creates rows of lipids.
|
void |
simulateAnnealing()
Fulfills the simulated annealing method.
|
void |
simulateAnnealingStep(int membraneside)
Tries to find a better place for randomly chosen lipids.
|
void |
stateChanged(javax.swing.event.ChangeEvent arg0)
state changed method.
|
void |
stopAlgorithm()
sets the breake flag.
|
boolean |
supportsAbsoluteValues() |
boolean |
supportsMicrodomains() |
Lipid |
testForBetterPositionInFirstState(Lipid lip,
int membraneside)
Tests if a new Random Position is better then the old Position.
|
addEntryToDB, addExtracellularLipid, addIntracellularLipid, clearAllLipids, copyMatrix, countSampleLipids_Extracellular, countSampleLipids_Intracellular, countTotalLipidsThatAreAdded, createAUnitMatrix, createNextExtracellularLipid, createNextExtracellularLipid, createNextIntracellularLipid, createNextIntracellularLipid, createRandomLayerID, createRandomXZPosition, displayInformation, distance, distance, dock, getAlgorithm_Directory_In_Workspace, getAllLipids, getAllLipidsInDomain, getAllMoleculesInCurrentModel, getAllProteins, getAllProteinsInDomain, getAllSampleLipids_ExtraCellular, getAllSampleLipids_ExtraCellular, getAllSampleLipids_IntraCellular, getAllSampleLipids_IntraCellular, getAllSampleLipidsInModel, getCurrentLayerID, getCurrentRenderMode, getDecimalPlaces, getDesiredAtomDistance, getExtracellularLipidByPDBCode, getIntersectedBorders, getIntersectedMolecules, getIntracellularLipidByPDBCode, getJ3DBranchGroup, getLayerAtIndex, getLayerByLayerID, getLayerCount, getLipidInMembraneHeight, getLipidsInRadiusExcept, getMembraneArea, getMembraneBounds2D, getMembraneSize, getMicroDomain, getMicroDomainAt, getMicroDomainAtPoint, getMicroDomainAtPoint, getMicroDomainCount, getMinAtomDistance, getMoleculesInRadius, getMoleculesInRadiusExcept, getMoleculesInRadiusOnMySide, getMoleculesInRadiusOnMySide, getMoleculesInRadiusOnMySideExcept, getNearestLipidOnMySide, getNearestMolecule, getNearestMoleculeExcept, getNearestMoleculeExceptDetailed, getNearestMoleculeExceptOnMySide, getNearestMoleculeExceptOnMySideDetailed, getNearestMoleculeOnMySide, getNearestMoleculeOnMySideDetailed, getNearestProtein, getNearestProteinDetailed, getNearestProteinExcept, getNearestProteinExceptDetailed, getOriginalConstraintLenghts, getOriginalConstraintLengths, getPercentages_ExtraCellular, getPercentages_IntraCellular, getSampleLipid_Extracellular, getSampleLipid_Intracellular, getSelectedArea, getStartingTime, getSystemCovalentRadius, getSystemVanDerWaalsRadius, getTerminationTime, getTotalHeight, getTotalHeight, hasMembraneAnyExtracellularLipids, hasMembraneAnyIntracellularLipids, hasMembraneAnyProteins, hasMultipleLayers, intersects, intersectsAnyMicroDomain, intersectsBorderEast, intersectsBorderNorth, intersectsBorders, intersectsBorderSouth, intersectsBorderWest, intersectsEarth, intersectsEarthOrSky, intersectsMoleculeWithMolecule, intersectsMoleculeWithMolecules, intersectsSky, intersectsWithLipid, intersectsWithProteins, isAtomCollisionOn, isAtomDistanceAbsolute, isComputeAbsoluteValuesSelected, isInSystemTray, isOnAir, isStartInBackgroundAllowed, isStartInBackgroundSelected, manuallyUpdateStatistics, MembraneHasAnyExtracellularLipids, MembraneHasAnyIntracellularLipids, nearestAtomPoints, nearestTrianglePoints, refreshViews, removeExtracellularLipid, removeIntracellularLipid, removeLipidsFromMembrane, requestChangeOfRenderMode, restoreMembraneFromPDB, returnFromSystemTray, sendToSystemTray, setComputeAbsoluteValues, setDisplayedProgress, setListenerAndPrepare, setListenerAndPrepare, setListenerAndPrepare, setPercentages, setSimpleRandom, setStartInBackgroundAllowed, setStartInBackgroundSelected, setStartingTime, setTerminationTime, setUniqueRandompublic boolean buildAndShowGui()
buildAndShowGui in interface MembranePackingAlgorithmInterfacepublic void fillWithLipids()
fillWithLipids in interface MembranePackingAlgorithmInterfacepublic void setInitialState()
public Lipid testForBetterPositionInFirstState(Lipid lip, int membraneside)
lip - membraneside - public void shakeMolecule(Molecule mol)
mol - public void simulateAnnealing()
public void simulateAnnealingStep(int membraneside)
membraneside - public void placeNewLipidDuringSimulationRandom(int membraneside)
membraneside - public void placeNewLipidDuringSimulationBorder(int membraneside)
membraneside - public Lipid getRandomLipid(int membraneside)
membraneside - public void moveMolecule(Lipid mol, int membraneside)
mol - ori - membraneside - public float energyFunction(Molecule mol, int membraneside)
public void simpleMode()
public void stateChanged(javax.swing.event.ChangeEvent arg0)
stateChanged in interface javax.swing.event.ChangeListenerpublic void itemStateChanged(java.awt.event.ItemEvent arg0)
itemStateChanged in interface java.awt.event.ItemListenerpublic void actionPerformed(java.awt.event.ActionEvent arg0)
actionPerformed in interface java.awt.event.ActionListenerpublic java.lang.String getFullInformation()
getFullInformation in interface MembranePackingAlgorithmInterfaceMembranePackingAlgorithmInterface.getFullInformation()public java.lang.String getName()
getName in interface MembranePackingAlgorithmInterfacepublic java.lang.String getShortInformation()
getShortInformation in interface MembranePackingAlgorithmInterfacepublic java.lang.String getStringRepresentationOfSetupParameters()
getStringRepresentationOfSetupParameters in interface MembranePackingAlgorithmInterfacepublic void stopAlgorithm()
stopAlgorithm in interface MembranePackingAlgorithmInterfacepublic boolean supportsAbsoluteValues()
supportsAbsoluteValues in interface MembranePackingAlgorithmInterfacepublic boolean supportsMicrodomains()
supportsMicrodomains in interface MembranePackingAlgorithmInterfacepublic boolean overrideExistingLipids()
overrideExistingLipids in interface MembranePackingAlgorithmInterfacepublic java.awt.Component getRuntimeControlPanel()
getRuntimeControlPanel in interface MembranePackingAlgorithmInterface