ITADN

Topology Status

#926OpenCalCraven 创建于 2025-09-16
C
CalCravencommented
**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 1. '_name' 1. 'name' 1. 'angle_types' 1. 'atom_types' 1. 'bond_types' 1. 'dihedral_types' 1. 'improper_types' 1. '_pairpotential_types' 1. 'pairpotential_types' 1. '_sites' 1. 'sites' 1. '_virtual_sites' 1. 'virtual_sites' 1. '_bonds' 1. 'bonds' 1. '_box' 1. 'box' 1. '_scaling_factors' 1. 'scaling_factors' 1. '_combining_rule' 1. 'combining_rule' 1. 'connection_types' 1. 'connections' 1. 'identify_connections' 1. 'positions' 1. 'unique_site_labels' 1. '_unit_system' 1. 'unit_system' #### Conversions 1. 'to_dataframe' 1. 'load' 1. 'save' 1. 'write_forcefield' #### Garbage Handlers 1. 'remove_connection' 1. 'remove_pairpotentialtype' 1. 'remove_site' #### Adders 1. 'add_connection' 1. 'add_pairpotentialtype' 1. 'add_site' 1. '_add_virtual_site' #### Getters 1. 'get_lj_scale' 1. 'get_scaling_factors' 1. 'get_electrostatics_scale' 1. 'get_forcefield' 1. 'get_index` 1. '_get_untyped_sites' 1. '_get_scaling_factor' #### Setters 1. 'set_electrostatics_scale' 1. 'set_lj_scale' 1. 'set_rigid' 1. 'set_scaling_factors' 1. '_set_scaling_factor' #### iter methods 1. 'iter_connections_by_site' 1. 'iter_sites' 1. 'iter_sites_by_molecule' 1. 'iter_sites_by_residue' #### Methods we can remove 1. '_bookkeep_potentials' 1. '_potentials_count' 1. 'is_updated' 1. 'update_angle_types' 1. 'update_atom_types' 1. 'update_bond_types' 1. 'update_connection_types' 1. 'update_dihedral_types' 1. 'update_improper_types' 1. 'update_topology' 1. 'n_angles' 1. 'n_bonds' 1. 'n_connections' 1. 'n_dihedrals' 1. 'n_impropers' 1. 'n_sites' 1. 'n_virtual_sites' ## Discuss 1. '_angles' 1. 'angles' 1. '_dihedrals' 1. 'dihedrals' 1. '_impropers' 1. 'impropers' 1. '_unique_connections' # uncertain if this is used enough 1. 'create_subtop' # not sure this is useful for anything #### Condense 1. '_get_angles_for' # replace if we have implement bond_graph 1. '_get_bonds_for' # replace if we have implement bond_graph 1. '_get_dihedrals_for' # replace if we have implement bond_graph 1. '_get_untyped_angles' # condense into get_untyped_connections 1. '_get_untyped_bonds' # condense into get_untyped_connections 1. '_get_untyped_dihedrals' # condense into get_untyped_connections 1. '_get_untyped_impropers' # condense into get_untyped_connections 1. 'angle_type_expressions' # topology expressions 1. 'atom_type_expressions' 1. 'bond_type_expressions' 1. 'connection_type_expressions' 1. 'dihedral_type_expressions' 1. 'improper_type_expressions' 1. 'pairpotential_type_expressions' 1. 'is_fully_typed' # some get_istyped method 1. 'is_typed' # some get_istyped method 1. 'get_untyped' # some get_istyped method 1. '_typed' # some get_istyped method 1. 'typed' # some get_istyped method #### Extract into other modules 1. '_molecule_scaling_factors' # can we condense molecule information into a single class that has this information 1. 'molecule_scaling_factors' 1. '_pandas_from_parameters' # This should just be a function that takes a topology 1. '_parse_dataframe_attrs' # This should just be a function that takes a topology 1. '_parse_parameter_expression' # move to some sort of topology parser utils or the units module 1. 'convert_potential_styles' # move to conversions.py 1. 'convert_unit_styles' # move to conversions.py
0 条评论