segmentmodel module#
- class mrdna.segmentmodel.Location(container, address, type_, on_fwd_strand=True)[source]#
Bases:
object
Site for connection within an object
- class mrdna.segmentmodel.Connection(A, B, type_=None)[source]#
Bases:
object
Abstract base class for connection between two elements
- class mrdna.segmentmodel.ConnectableElement(connection_locations=None, connections=None)[source]#
Bases:
object
Abstract base class
- class mrdna.segmentmodel.SegmentParticle(type_, position, name='A', **kwargs)[source]#
Bases:
PointParticle
- conceptual_get_position(context)[source]#
context: object
Q: does this function do too much? Danger of mixing return values
Q: does context describe the system or present an argument?
- get_nt_position(seg, near_address=None)[source]#
Returns the “address” of the nucleotide relative to seg in nucleotides, taking the shortest (intrahelical) contour length route to seg
- get_contour_position_legacy(seg, address=None)[source]#
(Deprecated) Get contour position of a bead relative to some segment (traveling through intrahelical and maybe sscrossover connections). For circular constructs, there may be multiple equidistant paths to the bead; in that case, whichever position is nearest to the optional address argument will be selected, if it is provided
- get_contour_position(seg, address=None)[source]#
Get contour position of a bead relative to some segment (traveling through intrahelical and maybe sscrossover connections). For circular constructs, there may be multiple equidistant paths to the bead; in that case, whichever position is nearest to the optional address argument will be selected, if it is provided
- class mrdna.segmentmodel.Segment(name, num_nt, start_position=None, end_position=None, segment_model=None, resolution=None, **kwargs)[source]#
Bases:
ConnectableElement
,Group
Base class that describes a segment of DNA. When built from cadnano models, should not span helices
- dsDNA_particle = <<class 'arbdmodel.ParticleType'> D>#
- orientation_particle = <<class 'arbdmodel.ParticleType'> O>#
- orientation_bond = <arbdmodel.interactions.HarmonicBond object>#
- ssDNA_particle = <<class 'arbdmodel.ParticleType'> S>#
- __init__(name, num_nt, start_position=None, end_position=None, segment_model=None, resolution=None, **kwargs)[source]#
- remove_dna(first_nt: int, last_nt: int, remove_locations: bool = False)[source]#
Removes nucleotides between first_nt and last_nt, inclusive
- class mrdna.segmentmodel.DoubleStrandedSegment(name, num_bp, start_position=array([0, 0, 0]), end_position=None, segment_model=None, local_twist=False, num_turns=None, start_orientation=None, twist_persistence_length=90, persistence_length=50, **kwargs)[source]#
Bases:
Segment
Class that describes a segment of ssDNA. When built from cadnano models, should not span helices
- class mrdna.segmentmodel.SingleStrandedSegment(name, num_nt, start_position=None, end_position=None, segment_model=None, **kwargs)[source]#
Bases:
Segment
Class that describes a segment of ssDNA. When built from cadnano models, should not span helices
- class mrdna.segmentmodel.StrandInSegment(segment, start, end, is_fwd)[source]#
Bases:
Group
Represents a piece of an ssDNA strand within a segment
- class mrdna.segmentmodel.Strand(segname=None, is_circular=False)[source]#
Bases:
Group
Represents an entire ssDNA strand from 5’ to 3’ as it routes through segments
- class mrdna.segmentmodel.SegmentModel(segments=[], local_twist=True, escapable_twist=True, max_basepairs_per_bead=7, max_nucleotides_per_bead=4, origin=None, dimensions=(5000, 5000, 5000), temperature=291, timestep=5e-05, cutoff=50, decomp_period=10000, pairlistDistance=None, integrator='Brown', debye_length=None, hj_equilibrium_angle=0)[source]#
Bases:
ArbdModel
- __init__(segments=[], local_twist=True, escapable_twist=True, max_basepairs_per_bead=7, max_nucleotides_per_bead=4, origin=None, dimensions=(5000, 5000, 5000), temperature=291, timestep=5e-05, cutoff=50, decomp_period=10000, pairlistDistance=None, integrator='Brown', debye_length=None, hj_equilibrium_angle=0)[source]#
- get_connections(type_=None, exclude=())[source]#
Find all connections in model, without double-counting
- update_splines(bead_coordinates)[source]#
Set new function for each segments functions contour_to_position and contour_to_orientation
- get_segments_matching(pattern)[source]#
Returns a list of all segments that match the regular expression ‘pattern’
- get_crossovers_at_ends()[source]#
Return a list of all “regular” crossovers where both sides of the crossover exist at the start or end of a segment
- generate_bead_model(max_basepairs_per_bead=7, max_nucleotides_per_bead=4, local_twist=False, escapable_twist=True, sequence_dependent=False, one_bead_per_monomer=None, version=None)[source]#
- walk_through_helices(direction=1, processed_segments=None)[source]#
First and last segment should be same for circular helices
- write_namd_configuration(output_name, minimization_steps=4800, num_steps=1000000.0, output_directory='output', update_dimensions=True, extrabonds=True)[source]#
- atomic_simulate(output_name, output_directory='output', dry_run=False, namd2=None, log_file=None, num_procs=None, gpu=None, minimization_steps=4800, num_steps=1000000.0, write_pqr=False, copy_ff_from=PosixPath('/usr/local/Caskroom/miniconda/base/envs/pybd/lib/python3.9/site-packages/arbdmodel-0.0.0-py3.9.egg/arbdmodel/resources/charmm36.nbfix'))[source]#