Linear chains¶
Overview
hoobas.LinearChain.LinearChain |
This is a class for linear chains in the model. |
hoobas.LinearChain.GenericPolymer |
|
hoobas.LinearChain.GenericRingPolymer |
|
hoobas.LinearChain.GenericBlockRingPolymer |
|
hoobas.LinearChain.PolymerBySequence |
|
hoobas.LinearChain.DNAChain |
DNA chain based on works published: C. |
hoobas.LinearChain.DNA3SPNChain |
|
hoobas.LinearChain.RandomPolymer |
General random polymers comprised of arbitrary hoobas.Composite.CompositeObject monomers |
hoobas.LinearChain.PolyStyreneSulfonateChain |
Details
-
class
hoobas.LinearChain.DNA3SPNChain(ss_dna_sequence=None, ds_dna_sequence=None, sticky_sequence=None, flexor=None, mpi_rank=None, mpi_sync_method=None, intermediate_files_dir=None, **kwargs)[source]¶
-
class
hoobas.LinearChain.DNAChain(n_ss, n_ds, sticky_end, flexor=None, **kwargs)[source]¶ DNA chain based on works published: C. Knorowski, S. Burleigh, A. Travesset, “Dynamics and statics of DNA-programmable nanoparticle self-assembly and crystallization”, Phys. Rev. Lett. 106, 2011 T. I. N. G. Li, R. Sknepnek, R. J. MacFarlane, C. A. Mirkin, M. Olvera de la Cruz, “Modeling the crystallization of spherical nucleic acid nanoparticle conjugates with molecular dynamics simulations”, J. Am. Chem. Soc. 135, 2013
-
sticky_end= None¶ Bead types: S: ssDNA A: dsDNA B: sticky-end NP: nanoparticle Fl: flanking bead C:
-
-
class
hoobas.LinearChain.GenericBlockRingPolymer(n_mono=(100, ), kuhn_length=1.0, rigid=None, units=None, randomize_blocks=False)[source]¶
-
class
hoobas.LinearChain.GenericPolymer(n_mono=100, kuhn_length=1.0, beadname=None, rigid=False, units=None)[source]¶
-
class
hoobas.LinearChain.GenericRingPolymer(n_mono=100, kuhn_length=1.0, beadname=None, rigid=False, units=None)[source]¶
-
class
hoobas.LinearChain.LinearChain(n_monomer=None, kuhn_length=None, units=None)[source]¶ This is a class for linear chains in the model. Subclasses are expected to give constants for angles and other funct ions. initial chain is expected to run along Z, while DNA is added on x-y plane
Properties :
zero_pos : position of the first bead in the chain
center_position : position of the center of the chain, calculated by arithmetic average
bond_types : returns the bond types in the chain in the form [[‘name’, k, r0], … ]
angle_types : returns the angle types in the chain in the form [[‘name’, k, t0], …]
- dihedral_types : returns the dihedral types in the form [[‘name’, params0, params1, … ], …], parameter number
- depends on the potential type, OPLS has 4
pnum_offset : shifts all bead numbers in potentials by this constant
Methods :
add_dna(#, n_ss, n_ds, sticky_end) : adds DNA defined by the parameters to the linear chain. DNA are grafted to remaining sites
randomize_dirs : randomizes the chain directions
change_remaining_att_sites(key_search, max_num_bindings = 1) : changes the remaining attachment sites in the chain by using a key search in the beads. the key is a dictionary (e.g. {‘beadtype’:’P’}). max_num_bindings is the maximum number of grafts a site can have, including all previous bindings
graft_N_ext_obj(N, obj, connecting_bond = None, add_attachment_sites = False) : grafts N copies (N<remaining sites) of obj to the chain, connecting the newly added chain by connecting_bond[0]. If add_attachment_sites is true, the grafted object attachment sites will be appended to the remaining sites
random_roration(): Rotates the chain by a random matrix
-
class
hoobas.LinearChain.PolyStyreneSulfonateChain(n_monomers, tacticity_distribution=None)[source]¶
-
class
hoobas.LinearChain.RandomPolymer(n_mono, monomers=None, distribution=None, units=None)[source]¶ General random polymers comprised of arbitrary
hoobas.Composite.CompositeObjectmonomers- Args:
n_mono: Number of monomers to assemble. This parameter can be an integer or function. The function should not take any arguments
monomers (dict): list of monomers that will be used for building the chain. If any of the monomers are beads, they will be converted to BeadMonomer objects
distribution (function): function that determines the next monomer to be added. Extra and superseding behavior
-None: Entirely random distribution
-foo(**kwargs): queries kwargs from self and passes them in foo
-foo() returns a CompositeObject: use the composite object as the next monomer
-foo() returns None: terminate building for this chain