A python package for MCMC simulations of folding and phase separation in biomolecules on a lattice. LatticePy currently supports the simulation of amino acids and protein polymers on a lattice with any given number of units.
Run the following command in your Terminal:
pip3 install LatticePy
- Import the package and initialize the lattice. You can customize the bounds of the lattice, the compactness energy, the beta (1/Temperature), and the lattice type.
from LatticePy import lattice
mylattice = lattice(bound=50, E_c=1.5, beta=0, lattice_type='simple_cubic')
- By a list of polarities
polymer = [-1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1]
mylattice.add_polymer(polymer, n_polymers=1, placement='straight') # to add it in a straight line
mylattice.add_polymer(polymer, n_polymers=1, placement='randomly') # to add it in a random fashion which may cause knots
- By sequence
sequence = 'MTKSHSEEVIVPEFNSSAKELPRPLAEKCPSIIKKFISAYDAKPDFVARSPGRVNLIGEH'
mylattice.add_protein(sequence, type='straight', n_polymers=1)
Change the parameters as you see fit
mylattice.simulate(n_mcmc=200000,
interval=1000,
record_intervals = True,
anneal=True,
beta_lower_bound=0,
beta_upper_bound=2,
beta_interval=0.05)
mylattice.energy_variation_graph()
mylattice.visualize()
You can see the interactive 3-D lattice for this run here.
mylattice.native_contacts
20
mylattice.energy
-58.7
mylattice.non_covalent_hydrophobic_contacts
9