## T OP to Python correspondence

Please use the tables below to see which Python commands and variables correspond to old TOP commands and variables. Variables which are not listed in these tables have the same names as the old TOP equivalents (albeit in lower case).

Table C.1: Correspondence between TOP and Python commands.
TOP command | Python equivalent
ADD_RESTRAINT | Restraints.add()
ALIGN | alignment.align()
ALIGN2D | alignment.align2d()
ALIGN3D | alignment.align3d()
ALIGN_CONSENSUS | alignment.consensus()
ALN_TO_PROF | alignment.to_profile()
BUILD_MODEL | model.build()
BUILD_PROFILE | profile.build()
CALL | use Python subroutines
CHECK_ALIGNMENT | alignment.check()
CLOSE | use Python file object
COLOR_ALN_MODEL | model.color()
COMPARE | alignment.compare_structures()
COMPARE_ALIGNMENTS | alignment.compare_with()
CONDENSE_RESTRAINTS | Restraints.condense()
DEBUG_FUNCTION | selection.debug_function()
DEFINE_INTEGER | use Python 'int' variables
DEFINE_LOGICAL | use Python 'bool' variables
DEFINE_REAL | use Python 'float' variables
DEFINE_STRING | use Python 'str' variables
DEFINE_SYMMETRY | Restraints.add()
DELETE_ALIGNMENT | del(alignment)
DELETE_FILE | modfile.delete()
DELETE_RESTRAINT | Restraints.unpick()
DENDROGRAM | environ.dendrogram()
DESCRIBE | alignment.describe()
DO | use Python while or for loops
EDIT_ALIGNMENT | alignment.edit()
EM_GRID_SEARCH | density.grid_search()
END_SUBROUTINE | use Python subroutines
ENERGY | selection.energy()
EXIT | use Python while or for loops
EXPAND_ALIGNMENT | use alignment.append_model() in a loop
GENERATE_TOPOLOGY | model.generate_topology()
ID_TABLE | alignment.id_table()
IF | use Python if statement
INCLUDE | use Python import statement
INQUIRE | modfile.inquire()
IUPAC_MODEL | model.to_iupac()
MAKE_CHAINS | model.make_chains()
MAKE_REGION | model.make_region()
MAKE_RESTRAINTS | Restraints.make()
MAKE_SCHEDULE | schedule.make_for_model()
MAKE_TOPOLOGY_MODEL | Topology.make()
MALIGN | alignment.malign()
MALIGN3D | alignment.malign3d()
MUTATE_MODEL | selection.mutate()
OPEN | use Python file object
OPERATE | use Python arithmetic
OPTIMIZE | conjugate_gradients() or molecular_dynamics(), or `<schedule>` objects
ORIENT_MODEL | model.orient()
PATCH | model.patch()
PATCH_SS_MODEL | model.patch_ss()
PATCH_SS_TEMPLATES | model.patch_ss_templates()
PICK_ATOMS | Use `<selection>` objects
PICK_HOT_ATOMS | selection.hot_atoms()
PICK_RESTRAINTS | Restraints.pick()
PRINCIPAL_COMPONENTS | environ.principal_components()
PROFILE_PROFILE_SCAN | profile.scan()
PROF_TO_ALN | alignment.append_profile() or profile.to_alignment()
RANDOMIZE_XYZ | selection.randomize_xyz()
READ | use Python file object
READ_ALIGNMENT | alignment.append()
READ_ALIGNMENT2 | alignment.append()
READ_ATOM_CLASSES | group_restraints()
READ_DENSITY | density.read()
READ_MODEL | model.read()
READ_MODEL2 | model.read()
READ_PARAMETERS | Parameters.read() or group_restraints.append()
READ_PROFILE | profile.read()
READ_RESTRAINTS | Restraints.append()
READ_RESTYP_LIB | environ()
READ_SCHEDULE | Use `<schedule>` objects
READ_SEQUENCE_DB | sequence_db.read()
READ_TOPOLOGY | Topology.read() or Topology.append()
REINDEX_RESTRAINTS | Restraints.reindex()
RENAME_SEGMENTS | model.rename_segments()
REORDER_ATOMS | model.reorder_atoms()
RESET | do not use
RETURN | use Python subroutines
ROTATE_DIHEDRALS | selection.rotate_dihedrals()
ROTATE_MODEL | selection.translate(), selection.transform(), or selection.rotate_origin()
SALIGN | alignment.salign()
SEGMENT_MATCHING | alignment.segment_matching()
SEQFILTER | sequence_db.filter()
SEQUENCE_COMPARISON | alignment.compare_sequences()
SEQUENCE_SEARCH | sequence_db.search()
SEQUENCE_TO_ALI | alignment.append_model()
SET | use Python variables
SPLINE_RESTRAINTS | Restraints.spline()
STOP | do not use
STRING_IF | use Python if statement
STRING_OPERATE | use Python arithmetic
SUBROUTINE | use Python subroutines
SUPERPOSE | selection.superpose()
SWITCH_TRACE | actions.trace()
SYSTEM | environ.system()
TIME_MARK | info.time_mark()
TRANSFER_RES_NUMB | model.res_num_from()
TRANSFER_XYZ | model.transfer_xyz()
UNBUILD_MODEL | selection.unbuild()
WRITE | use Python file object
WRITE_ALIGNMENT | alignment.write()
WRITE_DATA | model.write_data()
WRITE_MODEL | model.write()
WRITE_MODEL2 | model.write()
WRITE_PDB_XREF | use `<residue>` objects
WRITE_PROFILE | profile.write()
WRITE_RESTRAINTS | Restraints.write()
WRITE_SCHEDULE | schedule.write()
WRITE_SEQUENCE_DB | sequence_db.write()
WRITE_TOP | do not use
WRITE_TOPOLOGY_MODEL | Topology.write()

Table C.2: Correspondence between TOP and Python variables.
TOP variable | Python equivalent
ALIGN_CODES | Sequence.code
ATOM_FILES | Sequence.atom_file
ATOM_FILES_DIRECTORY | io_data.atom_files_directory
CONTACT_SHELL | energy_data.contact_shell
COULOMB_SWITCH | energy_data.coulomb_switch
COVALENT_CYS | energy_data.covalent_cys
DYNAMIC_ACCESS | do not use
DYNAMIC_COULOMB | energy_data.dynamic_coulomb
DYNAMIC_LENNARD | energy_data.dynamic_lennard
DYNAMIC_MODELLER | energy_data.dynamic_modeller
DYNAMIC_PAIRS | set automatically; do not use
DYNAMIC_SPHERE | energy_data.dynamic_sphere
EXCL_LOCAL | energy_data.excl_local
HETATM_IO | io_data.hetatm
HYDROGEN_IO | io_data.hydrogen
LENNARD_JONES_SWITCH | energy_data.lennard_jones_switch
MOLPDF | return value from selection.energy()
NLOGN_USE | energy_data.nlogn_use
NONBONDED_SEL_ATOMS | energy_data.nonbonded_sel_atoms
NUMB_OF_SEQUENCES | len(alignment)
N_SCHEDULE | len(schedule)
OUTPUT_CONTROL | use log.level()
RADII_FACTOR | energy_data.radii_factor
RELATIVE_DIELECTRIC | energy_data.relative_dielectric
SCHEDULE_STEP | do not use
SPHERE_STDV | energy_data.sphere_stdv
TOPOLOGY_MODEL | Topology.submodel
UPDATE_DYNAMIC | energy_data.update_dynamic
WATER_IO | io_data.water