Linear chains

Overview

hoobas.LinearChain.LinearChain

This is a class for linear chains in the model.

hoobas.LinearChain.GenericPolymer

Creates a Kremer-Grest linear chain

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.BeadMonomer(Bead, units=None)[source]
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]
swap_ends()[source]

swaps ends of the chain to bind to the three prime end instead of 5 prime :return:

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]

Creates a Kremer-Grest linear chain

Args:

n_mono: Number of monomers in the chain kuhn_length: segment size used for construction beadname: beadname used, defaults to ‘GenericPolymer’ rigid: whether to add angular potentials along the chain units: unit system

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 provide building implementation and/or force-fields

Properties:

number_monomers: Set at building time to the number of monomers in the chain dir: direction of the chain, [0., 0., 1.] is expected kuhn_length: segment length of the polymer (for KG-like models), otherwise child-defined zero_pos: position of the initial monomer

property thickness

Performs an approximate calculation of the thickness a layer of this chain would have by calculating max(z) - min(z)

Returns

thickness

class hoobas.LinearChain.PolyStyreneSulfonateChain(n_monomers, tacticity_distribution=None)[source]
class hoobas.LinearChain.Polyaniline(n_monomer=None)[source]
class hoobas.LinearChain.PolymerBySequence(sequence, units=None)[source]
class hoobas.LinearChain.PolystyreneSulfonateMonomer(tact)[source]
class hoobas.LinearChain.RandomPolymer(n_mono, monomers=None, distribution=None, units=None)[source]

General random polymers comprised of arbitrary hoobas.Composite.CompositeObject monomers

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