-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
A summary of the question or discussion topic.
Topology is a pretty bulky object with lots of methods. This is a mix of forward facing methods, deprecated methods, and just can be difficult to parse through. This list of Topology attributes provides a place for some discussion of ways to trim this down and only present information that would be useful. Also, parsing a topology would be much easier if we included a default bond_graph with the topology, which will enable fast searching of attributes by bond neighbors and would perhaps simplify some of the many parsing methods in Topology.
Keep
- '_name'
- 'name'
- 'angle_types'
- 'atom_types'
- 'bond_types'
- 'dihedral_types'
- 'improper_types'
- '_pairpotential_types'
- 'pairpotential_types'
- '_sites'
- 'sites'
- '_virtual_sites'
- 'virtual_sites'
- '_bonds'
- 'bonds'
- '_box'
- 'box'
- '_scaling_factors'
- 'scaling_factors'
- '_combining_rule'
- 'combining_rule'
- 'connection_types'
- 'connections'
- 'identify_connections'
- 'positions'
- 'unique_site_labels'
- '_unit_system'
- 'unit_system'
Conversions
- 'to_dataframe'
- 'load'
- 'save'
- 'write_forcefield'
Garbage Handlers
- 'remove_connection'
- 'remove_pairpotentialtype'
- 'remove_site'
Adders
- 'add_connection'
- 'add_pairpotentialtype'
- 'add_site'
- '_add_virtual_site'
Getters
- 'get_lj_scale'
- 'get_scaling_factors'
- 'get_electrostatics_scale'
- 'get_forcefield'
- 'get_index`
- '_get_untyped_sites'
- '_get_scaling_factor'
Setters
- 'set_electrostatics_scale'
- 'set_lj_scale'
- 'set_rigid'
- 'set_scaling_factors'
- '_set_scaling_factor'
iter methods
- 'iter_connections_by_site'
- 'iter_sites'
- 'iter_sites_by_molecule'
- 'iter_sites_by_residue'
Methods we can remove
- '_bookkeep_potentials'
- '_potentials_count'
- 'is_updated'
- 'update_angle_types'
- 'update_atom_types'
- 'update_bond_types'
- 'update_connection_types'
- 'update_dihedral_types'
- 'update_improper_types'
- 'update_topology'
- 'n_angles'
- 'n_bonds'
- 'n_connections'
- 'n_dihedrals'
- 'n_impropers'
- 'n_sites'
- 'n_virtual_sites'
Discuss
- '_angles'
- 'angles'
- '_dihedrals'
- 'dihedrals'
- '_impropers'
- 'impropers'
- '_unique_connections' # uncertain if this is used enough
- 'create_subtop' # not sure this is useful for anything
Condense
- '_get_angles_for' # replace if we have implement bond_graph
- '_get_bonds_for' # replace if we have implement bond_graph
- '_get_dihedrals_for' # replace if we have implement bond_graph
- '_get_untyped_angles' # condense into get_untyped_connections
- '_get_untyped_bonds' # condense into get_untyped_connections
- '_get_untyped_dihedrals' # condense into get_untyped_connections
- '_get_untyped_impropers' # condense into get_untyped_connections
- 'angle_type_expressions' # topology expressions
- 'atom_type_expressions'
- 'bond_type_expressions'
- 'connection_type_expressions'
- 'dihedral_type_expressions'
- 'improper_type_expressions'
- 'pairpotential_type_expressions'
- 'is_fully_typed' # some get_istyped method
- 'is_typed' # some get_istyped method
- 'get_untyped' # some get_istyped method
- '_typed' # some get_istyped method
- 'typed' # some get_istyped method
Extract into other modules
- '_molecule_scaling_factors' # can we condense molecule information into a single class that has this information
- 'molecule_scaling_factors'
- '_pandas_from_parameters' # This should just be a function that takes a topology
- '_parse_dataframe_attrs' # This should just be a function that takes a topology
- '_parse_parameter_expression' # move to some sort of topology parser utils or the units module
- 'convert_potential_styles' # move to conversions.py
- 'convert_unit_styles' # move to conversions.py
Metadata
Metadata
Assignees
Labels
No labels