Main Page | File List | File Members

c-interface.h File Reference

Coot Scripting Interface. More...

Go to the source code of this file.

The Virtual Trackball

void vt_surface (int mode)
 How should the mouse move the view?
int vt_surface_status ()
 return the mouse view status mode

File System Functions

int make_directory_maybe (const char *dir)
 make a directory dir (if it doesn't exist) and return error code
void set_show_paths_in_display_manager (int i)
 Show Paths in Display Manager?
int show_paths_in_display_manager_state ()
 return the internal state
void add_coordinates_glob_extension (const char *ext)
 add an extension to be treated as coordinate files
void add_data_glob_extension (const char *ext)
 add an extension to be treated as data (reflection) files
void add_dictionary_glob_extension (const char *ext)
 add an extension to be treated as geometry dictionary files
void add_map_glob_extension (const char *ext)
 add an extension to be treated as geometry map files
void remove_coordinates_glob_extension (const char *ext)
 remove an extension to be treated as coordinate files
void remove_data_glob_extension (const char *ext)
 remove an extension to be treated as data (reflection) files
void remove_dictionary_glob_extension (const char *ext)
 remove an extension to be treated as geometry dictionary files
void remove_map_glob_extension (const char *ext)
 remove an extension to be treated as geometry map files
void set_sticky_sort_by_date ()
 sort files in the file selection by date?
void unset_sticky_sort_by_date ()
 do not sort files in the file selection by date?
void set_filter_fileselection_filenames (int istate)
 on opening a file selection dialog, pre-filter the files.
int filter_fileselection_filenames_state ()
 , return the state of the above variable

Widget Utilities

this flag set chooser as default for windows, otherwise use selector 0 is selector 1 is chooser

float get_positive_float_from_entry (GtkEntry *w)
void handle_filename_filter_gtk1 (GtkWidget *widget)
void set_transient_and_position (int window_type, GtkWidget *window)
void info_dialog (const char *txt)
 create a dialog with information
GtkWidget * main_menubar ()
GtkWidget * main_statusbar ()
GtkWidget * main_toolbar ()

Widget Utilities

void manage_column_selector (const char *filename)
 given a filename, try to read it as a data file

Molecule Info Functions

int chain_n_residues (const char *chain_id, int imol)
 the number of residues in chain chain_id and molecule number imol
char * resname_from_serial_number (int imol, const char *chain_id, int serial_num)
 return the rename from a residue serial number
int seqnum_from_serial_number (int imol, const char *chain_id, int serial_num)
 a residue seqnum (normal residue number) from a residue serial number
char * insertion_code_from_serial_number (int imol, const char *chain_id, int serial_num)
 the insertion code of the residue.
char * chain_id (int imol, int ichain)
 the chain_id (string) of the ichain-th chain molecule number imol
int n_chains (int imol)
 number of chains in molecule number imol
int is_solvent_chain_p (int imol, const char *chain_id)
 is this a solvent chain? [Raw function]
int copy_molecule (int imol)
 copy molecule imol
int exchange_chain_ids_for_seg_ids (int imol)
 Experimental interface for Ribosome People.

Library and Utility Functions

char * coot_version ()
 the coot version string
const char * molecule_name (int imol)
 return the name of molecule number imol
void set_molecule_name (int imol, const char *new_name)
 set the molecule name of the imol-th molecule
void coot_real_exit (int retval)
 exit from coot, give return value retval back to invoking process.
int first_coords_imol ()
 What is the molecule number of first coordinates molecule?

Graphics Utility Functions

void set_do_anti_aliasing (int state)
 set the bond lines to be antialiased
int do_anti_aliasing_state ()
 return the flag for antialiasing the bond lines
void set_do_GL_lighting (int state)
 turn the GL lighting on (state = 1) or off (state = 0)
int do_GL_lighting_state ()
 return the flag for GL lighting
short int use_graphics_interface_state ()
 shall we start up the Gtk and the graphics window?
void start_graphics_interface ()
 start Gtk (and graphics)
int reset_view ()
 "Reset" the view
int graphics_n_molecules ()
 return the number of molecules (coordinates molecules and map molecules combined) that are currently in coot
void toggle_idle_spin_function ()
 Spin spin spin (or not).
void set_idle_function_rotate_angle (float f)
 how far should we rotate when (auto) spinning? Fast computer? set this to 0.1
int handle_read_draw_molecule (const char *filename)
 a synonym for read-pdb. Read the coordinates from filename (can be pdb, cif or shelx format)
int handle_read_draw_molecule_with_recentre (const char *filename, int recentre_on_read_pdb_flag)
 read coordinates from filename with option to not recentre.
int read_pdb (const char *filename)
 read coordinates from filename
int replace_fragment (int imol_target, int imol_fragment, const char *atom_selection)
 replace the parts of molecule number imol that are duplicated in molecule number imol_frag
int clear_and_update_model_molecule_from_file (int molecule_number, const char *file_name)
 replace pdb. Fail if molecule_number is not a valid model molecule. Return -1 on failure. Else return molecule_number
void screendump_image (const char *filename)
 dump the current screen image to a file. Format ppm

Interface Preferences

void set_scroll_by_wheel_mouse (int istate)
 Some people (like Phil Evans) don't want to scroll their map with the mouse-wheel.
int scroll_by_wheel_mouse_state ()
 return the internal state of the scroll-wheel map contouring
void set_default_initial_contour_level_for_map (float n_sigma)
 set the default inital contour for 2FoFc-style map
void set_default_initial_contour_level_for_difference_map (float n_sigma)
 set the default inital contour for FoFc-style map
void print_view_matrix ()
 print the view matrix to the console, useful for molscript, perhaps
float get_view_quaternion_internal (int element)
 internal function to get an element of the view quaternion. The whole quaternion is returned by the scheme function view-quaternion
void set_view_quaternion (float i, float j, float k, float l)
 Set the view quaternion.
void apply_ncs_to_view_orientation (int imol, const char *current_chain, const char *next_ncs_chain)
 Given that we are in chain current_chain, apply the NCS operator that maps current_chain on to next_ncs_chain, so that the relative view is preserved. For NCS skipping.
void set_show_origin_marker (int istate)
 set a flag: is the origin marker to be shown? 1 for yes, 0 for no.
int show_origin_marker_state ()
 return the origin marker shown? state
void hide_modelling_toolbar ()
 hide the vertical modelling toolbar in the GTK2 version
void show_modelling_toolbar ()
 show the vertical modelling toolbar in the GTK2 version (the toolbar is shown by default)
int suck_model_fit_dialog ()
 reparent the Model/Fit/Refine dialog so that it becomes part of the main window, next to the GL graphics context
void add_status_bar_text (const char *s)
 Put text s into the status bar.

Mouse Buttons

void set_control_key_for_rotate (int state)
 Alternate mode for rotation.
int control_key_for_rotate_state ()
 return the control key rotate state

Cursor Function

void set_pick_cursor_index (int icursor_index)
 let the user have a different pick cursor

Model/Fit/Refine Functions

void post_model_fit_refine_dialog ()
 display the Model/Fit/Refine dialog
void show_select_map_dialog ()
 display the Display Manager dialog
void set_model_fit_refine_rotate_translate_zone_label (const char *txt)
 Allow the changing of Model/Fit/Refine button label from "Rotate/Translate Zone".
void set_model_fit_refine_place_atom_at_pointer_label (const char *txt)
 Allow the changing of Model/Fit/Refine button label from "Place Atom at Pointer".
void post_other_modelling_tools_dialog ()
 display the Other Modelling Tools dialog

Backup Functions

void make_backup (int imol)
 make backup for molecule number imol
void turn_off_backup (int imol)
 turn off backups for molecule number imol
void turn_on_backup (int imol)
 turn on backups for molecule number imol
int backup_state (int imol)
 return the backup state for molecule number imol
void set_have_unsaved_changes (int imol)
 set the molecule number imol to be marked as having unsaved changes
void set_undo_molecule (int imol)
 set the molecule to which undo operations are done to molecule number imol
void show_set_undo_molecule_chooser ()
 show the Undo Molecule chooser - i.e. choose the molecule to which the "Undo" button applies.
void set_unpathed_backup_file_names (int state)
 set the state for adding paths to backup file names
int unpathed_backup_file_names_state ()
 return the state for adding paths to backup file names

Recover Session Function

void recover_session ()
 recover session

Map Functions

void calc_phases_generic (const char *mtz_file_name)
 fire up a GUI, which asks us which model molecule we want to calc phases from. On "OK" button there, we call map_from_mtz_by_refmac_calc_phases()
int map_from_mtz_by_refmac_calc_phases (const char *mtz_file_name, const char *f_col, const char *sigf_col, int imol_coords)
 Calculate SFs (using refmac optionally) from an MTZ file and generate a map. Get F and SIGF automatically (first of their type) from the mtz file.
int map_from_mtz_by_calc_phases (const char *mtz_file_name, const char *f_col, const char *sigf_col, int imol_coords)
 Calculate SFs from an MTZ file and generate a map.
void set_scroll_wheel_map (int imap)
 set the map that is moved by changing the scroll wheel and change_contour_level().
int scroll_wheel_map ()
 return the molecule number to which the mouse scroll wheel is attached
void save_previous_map_colour (int imol)
 save previous colour map for molecule number imol
void restore_previous_map_colour (int imol)
 restore previous colour map for molecule number imol
void set_active_map_drag_flag (int t)
 set the state of immediate map upate on map drag.
short int get_active_map_drag_flag ()
 return the state of the dragged map flag
void set_last_map_colour (double f1, double f2, double f3)
 set the colour of the last (highest molecule number) map
void set_map_colour (int imol, float red, float green, float blue)
 set the colour of the imolth map
void set_last_map_sigma_step (float f)
 set the sigma step of the last map to f sigma
void set_contour_by_sigma_step_by_mol (float f, short int state, int imol)
 set the contour level step
float data_resolution (int imol)
 return the resolution of the data for molecule number imol. Return negative number on error, otherwise resolution in A (eg. 2.0)
int export_map (int imol, const char *filename)
 export (write to disk) the map of molecule number imol to filename.
int difference_map (int imol1, int imol2, float map_scale)
 make a difference map, taking map_scale * imap2 from imap1, on the grid of imap1. Return the new molecule number. Return -1 on failure.

Density Increment

void set_iso_level_increment (float val)
 set the contour scroll step (in absolute e/A3) for 2Fo-Fc-style maps to val
void set_diff_map_iso_level_increment (float val)
 set the contour scroll step for difference map (in absolute e/A3) to val
void set_map_sampling_rate (float r)
 set the map sampling rate (default 1.5)
float get_map_sampling_rate ()
 return the map sampling rate
void set_scrollable_map (int imol)
 set the map that has its contour level changed by the scrolling the mouse wheel to molecule number imol
void change_contour_level (short int is_increment)
 change the contour level of the current map by a step
void set_last_map_contour_level (float level)
 set the contour level of the map with the highest molecule number to level
void set_last_map_contour_level_by_sigma (float n_sigma)
 set the contour level of the map with the highest molecule number to n_sigma sigma
void set_stop_scroll_diff_map (int i)
 create a lower limit to the "2Fo-Fc-style" map contour level changing
void set_stop_scroll_iso_map (int i)
 create a lower limit to the difference map contour level changing
void set_stop_scroll_iso_map_level (float f)
 set the actual map level changing limit
void set_stop_scroll_diff_map_level (float f)
 set the actual difference map level changing limit
void set_residue_density_fit_scale_factor (float f)
 set the scale factor for the Residue Density fit analysis

Density Functions

void set_map_line_width (int w)
 draw the lines of the chickenwire density in width w
int map_line_width_state ()
 return the width in which density contours are drawn
int make_and_draw_map (const char *mtz_file_name, const char *f_col, const char *phi_col, const char *weight, int use_weights, int is_diff_map)
 make a map from an mtz file (simple interface)
int make_and_draw_map_with_refmac_params (const char *mtz_file_name, const char *a, const char *b, const char *weight, int use_weights, int is_diff_map, short int have_refmac_params, const char *fobs_col, const char *sigfobs_col, const char *r_free_col, short int sensible_f_free_col)
 as the above function, execpt set refmac parameters too
int make_and_draw_map_with_reso_with_refmac_params (const char *mtz_file_name, const char *a, const char *b, const char *weight, int use_weights, int is_diff_map, short int have_refmac_params, const char *fobs_col, const char *sigfobs_col, const char *r_free_col, short int sensible_f_free_col, short int is_anomalous, short int use_reso_limits, float low_reso_limit, float high_reso_lim)
 as the above function, except set expert options too.
int valid_labels (const char *mtz_file_name, const char *f_col, const char *phi_col, const char *weight_col, int use_weights)
 does the mtz file have the columms that we want it to have?
int auto_read_make_and_draw_maps (const char *filename)
 read MTZ file filename and from it try to make maps
void set_auto_read_do_difference_map_too (int i)
 set the flag to do a difference map (too) on auto-read MTZ
int auto_read_do_difference_map_too_state ()
 return the flag to do a difference map (too) on auto-read MTZ
void set_auto_read_column_labels (const char *fwt, const char *phwt, int is_for_diff_map_flag)
 set the exected MTZ columns for Auto-reading MTZ file.
void set_map_radius (float f)
 set the extent of the box/radius of electron density contours
void set_density_size (float f)
 another (old) way of setting the radius of the map
void set_display_intro_string (const char *str)
 Give me this nice message str when I start coot.
float get_map_radius ()
 return the extent of the box/radius of electron density contours
void set_esoteric_depth_cue (int istate)
 not everone likes coot's esoteric depth cueing system
int esoteric_depth_cue_state ()
 native depth cueing system
void set_swap_difference_map_colours (int i)
 not everone lies coot's default difference map colouring.
int set_map_is_difference_map (int imol)
 post-hoc set the map of molecule number imol to be a difference map
int another_level ()
 Add another contour level for the last added map.
int another_level_from_map_molecule_number (int imap)
 Add another contour level for the given map.
float residue_density_fit_scale_factor ()
 return the scale factor for the Residue Density fit analysis
float density_at_point (int imol, float x, float y, float z)
 return the density at the given point for the given map. Return 0 for bad imol

Parameters from map

const char * mtz_hklin_for_map (int imol_map)
 return the mtz file that was use to generate the map
const char * mtz_fp_for_map (int imol_map)
 return the FP column in the file that was use to generate the map
const char * mtz_phi_for_map (int imol_map)
 return the phases column in mtz file that was use to generate the map
const char * mtz_weight_for_map (int imol_map)
 return the weight column in the mtz file that was use to generate the map
short int mtz_use_weight_for_map (int imol_map)
 return flag for whether weights were used that was use to generate the map

PDB Functions

int write_pdb_file (int imol, const char *file_name)
 write molecule number imol as a PDB to file file_name
int write_residue_range_to_pdb_file (int imol, const char *chainid, int resno_start, int resno_end, const char *filename)
 write molecule number imol's residue range as a PDB to file file_name

Refmac Functions

void set_refmac_counter (int imol, int refmac_count)
 set counter for runs of refmac so that this can be used to construct a unique filename for new output
const char * refmac_name (int imol)
 the name for refmac
void swap_map_colours (int imol1, int imol2)
 swap the colours of maps
void set_keep_map_colour_after_refmac (int istate)
 flag to enable above
int keep_map_colour_after_refmac_state ()
 the keep-map-colour-after-refmac internal state

Symmetry Functions

void set_symmetry_size (float f)
 set the size of the displayed symmetry
short int get_show_symmetry ()
 is symmetry master display control on?
void set_show_symmetry_master (short int state)
 set display symmetry, master controller
void set_show_symmetry_molecule (int mol_no, short int state)
 set display symmetry for molecule number mol_no
void symmetry_as_calphas (int mol_no, short int state)
 display symmetry as CAs?
short int get_symmetry_as_calphas_state (int imol)
 what is state of display CAs for molecule number mol_no?
void set_symmetry_molecule_rotate_colour_map (int imol, int state)
 set the colour map rotation (i.e. the hue) for the symmetry atoms of molecule number imol
int symmetry_molecule_rotate_colour_map_state (int imol)
 should there be colour map rotation (i.e. the hue) change for the symmetry atoms of molecule number imol?
int has_unit_cell_state (int imol)
 molecule number imol has a unit cell?
void save_symmetry_coords (int imol, const char *filename, int symop_no, int shift_a, int shift_b, int shift_c, int pre_shift_to_origin_na, int pre_shift_to_origin_nb, int pre_shift_to_origin_nc)
 save the symmetry coordinates of molecule number imol to filename
void set_space_group (int imol, const char *spg)
 set the space group for a coordinates molecule
void set_symmetry_shift_search_size (int shift)
 set the cell shift search size for symmetry searching.

History Functions

void print_all_history_in_scheme ()
 print the history in scheme format
void print_all_history_in_python ()
 print the history in python format
void set_console_display_commands_state (short int istate)
 set a flag to show the text command equivalent of gui commands in the console as they happen.

State Functions

void save_state ()
 save the current state to the default filename
void save_state_file (const char *filename)
 save the current state to file filename
void set_save_state_file_name (const char *filename)
 set the default state file name (default 0-coot.state.scm)
void set_run_state_file_status (short int istat)
 set run state file status
void run_state_file ()
 run the state file (reading from default filenname)
void run_state_file_maybe ()
 run the state file depending on the state variables

Unit Cell

short int get_show_unit_cell (int imol)
 return the stage of show unit cell for molecule number imol
void set_show_unit_cells_all (short int istate)
 set the state of show unit cell for all molecules
void set_show_unit_cell (int imol, short int istate)
 set the state of show unit cell for the particular molecule number imol

Colour

void set_colour_map_rotation_on_read_pdb (float f)
 set the hue change step on reading a new molecule
void set_colour_map_rotation_on_read_pdb_flag (short int i)
 shall the hue change step be used?
void set_colour_map_rotation_on_read_pdb_c_only_flag (short int i)
 shall the colour map rotation apply only to C atoms?
void set_colour_by_chain (int imol)
 colour molecule number imol by chain type
void set_colour_by_molecule (int imol)
 colour molecule number imol by molecule
void set_symmetry_colour (float r, float g, float b)
 set the symmetry colour base

Map colour

void set_colour_map_rotation_for_map (float f)
 set the colour map rotation (hue change) for maps
void set_molecule_bonds_colour_map_rotation (int imol, float theta)
 set the colour map rotation for molecule number imol
float get_molecule_bonds_colour_map_rotation (int imol)
 Get the colour map rotation for molecule number imol.

Display Functions

void set_graphics_window_size (int x_size, int y_size)
 set the window size
void set_graphics_window_position (int x_pos, int y_pos)
 set the window position
void graphics_draw ()
 draw a frame
void hardware_stereo_mode ()
 try to turn on stereo mode
int stereo_mode_state ()
 what is the stero state?
void mono_mode ()
 try to turn on mono mode
void side_by_side_stereo_mode (short int use_wall_eye_mode)
 turn on side bye side stereo mode
void set_hardware_stereo_angle_factor (float f)
 how much should the eyes be separated in stereo mode?
float hardware_stereo_angle_factor_state ()
 return the hardware stereo angle factor
void set_model_fit_refine_dialog_position (int x_pos, int y_pos)
 set position of Model/Fit/Refine dialog
void set_display_control_dialog_position (int x_pos, int y_pos)
 set position of Display Control dialog
void set_go_to_atom_window_position (int x_pos, int y_pos)
 set position of Go To Atom dialog
void set_delete_dialog_position (int x_pos, int y_pos)
 set position of Delete dialog
void set_rotate_translate_dialog_position (int x_pos, int y_pos)
 set position of the Rotate/Translate Residue Range dialog
void set_accept_reject_dialog_position (int x_pos, int y_pos)
 set position of the Accept/Reject dialog
void set_ramachandran_plot_dialog_position (int x_pos, int y_pos)
 set position of the Ramachadran Plot dialog

Smooth Scrolling

void set_smooth_scroll_flag (int v)
 set smooth scrolling
int get_smooth_scroll ()
 return the smooth scrolling state
void set_smooth_scroll_steps (int i)
 set the number of steps in the smooth scroll
void set_smooth_scroll_limit (float lim)
 do not scroll for distances greater this limit

Font Size

void set_font_size (int i)
 set the font size
int get_font_size ()
 return the font size
void set_font_colour (float red, float green, float blue)
 set the colour of the atom label font - the arguments are in the range 0->1

Atom Selection Utilities

void set_default_temperature_factor_for_new_atoms (float new_b)
 set the default temperature factor for newly created atoms (initial default 20)
float default_new_atoms_b_factor ()
 return the default temperature factor for newly created atoms
int set_atom_attribute (int imol, const char *chain_id, int resno, const char *ins_code, const char *atom_name, const char *alt_conf, const char *attribute_name, float val)
 set a numberical attibute to the atom with the given specifier.
int set_atom_string_attribute (int imol, const char *chain_id, int resno, const char *ins_code, const char *atom_name, const char *alt_conf, const char *attribute_name, const char *attribute_value)
 set a string attibute to the atom with the given specifier.

Skeletonization

set lots of atom attributes at once by-passing the rebonding and redrawing of the above 2 functions

void skel_greer_on ()
void skel_greer_off ()
void skel_foadi_on ()
void skel_foadi_off ()
void skeletonize_map_by_optionmenu (GtkWidget *optionmenu)
void skeletonize_map_single_map_maybe (GtkWidget *window, int imol)
int skeletonize_map (int prune_flag, int imol)
 skeletonize molecule number imol
int unskeletonize_map (int imol)
 undisplay the skeleton on molecule number imol
void fill_option_menu_with_skeleton_options (GtkWidget *option_menu)
void set_initial_map_for_skeletonize ()
void set_max_skeleton_search_depth (int v)
 set the skeleton search depth, used in baton building
void set_on_off_skeleton_radio_buttons (GtkWidget *skeleton_frame)
void set_on_off_single_map_skeleton_radio_buttons (GtkWidget *skeleton_frame, int imol)
gchar * get_text_for_skeletonization_level_entry ()
void set_skeletonization_level_from_widget (const char *txt)
gchar * get_text_for_skeleton_box_size_entry ()
void set_skeleton_box_size_from_widget (const char *txt)
void set_skeleton_box_size (float f)
 the box size (in Angstroms) for which the skeleton is displayed

Read Maps

int handle_read_ccp4_map (const char *filename, int is_diff_map_flag)
 read a CCP4 map or a CNS map (despite the name).

Save Coordinates

int save_coordinates (int imol, const char *filename)
 save coordinates of molecule number imol in filename

Read Phases File Functions

void read_phs_and_coords_and_make_map (const char *pdb_filename)
 read phs file use coords to get cell and symm to make map
int read_phs_and_make_map_using_cell_symm_from_previous_mol (const char *phs_filename)
 read a phs file, the cell and symm information is from previously read (most recently read) coordinates file
int read_phs_and_make_map_using_cell_symm_from_mol (const char *phs_filename, int imol)
 read phs file and use a previously read molecule to provide the cell and symmetry information
int read_phs_and_make_map_using_cell_symm (const char *phs_file_name, const char *hm_spacegroup, float a, float b, float c, float alpha, float beta, float gamma)
 read phs file use coords to use cell and symm to make map
int read_phs_and_make_map_with_reso_limits (int imol, const char *phs_file_name, float reso_lim_low, float reso_lim_high)
 read a phs file and use the cell and symm in molecule number imol and use the resolution limits reso_lim_high (in Angstroems).

Graphics Move

void undo_last_move ()
 undo last move
void translate_molecule_by (int imol, float x, float y, float z)
 translate molecule number imol by (x,y,z) in Angstroms
void transform_molecule_by (int imol, float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33, float x, float y, float z)
 transform molecule number imol by the given rotation matrix, then translate by (x,y,z) in Angstroms

Go To Atom Widget Functions

void post_go_to_atom_window ()
 Post the Go To Atom Window.
int set_go_to_atom_chain_residue_atom_name (const char *t1_chain_id, int iresno, const char *t3_atom_name)
 set the go to atom specification
void update_go_to_atom_from_current_position ()
 update the Go To Atom widget entries to atom closest to screen centre.
int atom_spec_to_atom_index (int mol, char *chain, int resno, char *atom_name)
 what is the atom index of the given atom?
int full_atom_spec_to_atom_index (int imol, const char *chain, int resno, const char *inscode, const char *atom_name, const char *altloc)
 what is the atom index of the given atom?
void update_go_to_atom_window_on_changed_mol (int imol)
 update the Go To Atom window
void update_go_to_atom_window_on_new_mol ()
 update the Go To Atom window. This updates the option menu for the molecules.
void set_go_to_atom_molecule (int imol)
 set the molecule for the Go To Atom

Map and Molecule Control

void post_display_control_window ()
 display the Display Constrol window
void set_map_displayed (int imol, int state)
 make the map displayed/undisplayed, 0 for off, 1 for on
void set_mol_displayed (int imol, int state)
 make the coordinates molecule displayed/undisplayed, 0 for off, 1 for on
void set_mol_active (int imol, int state)
 make the coordinates molecule active/inactve (clickable), 0 for off, 1 for on
int mol_is_displayed (int imol)
 return the display state of molecule number imol
int mol_is_active (int imol)
 return the active state of molecule number imol
int map_is_displayed (int imol)
 return the display state of molecule number imol
void set_all_maps_displayed (int on_or_off)
 if on_or_off is 0 turn off all maps displayed, for other values of on_or_off turn on all maps
void set_all_models_displayed_and_active (int on_or_off)
 if on_or_off is 0 turn off all models displayed and active, for other values of on_or_off turn on all models.
char * show_spacegroup (int imol)
 return the spacegroup of molecule number imol

Renumber Residue Range

int renumber_residue_range (int imol, const char *chain_id, int start_res, int last_res, int offset)
 renumber the given residue range by offset residues
int change_residue_number (int imol, const char *chain_id, int current_resno, const char *current_inscode, int new_resno, const char *new_inscode)
 change chain id, residue number or insertion code for given residue

Scripting

void post_scripting_window ()
 do nothing - compatibility function
void post_scheme_scripting_window ()
 pop-up a scripting window for scheming
void post_python_scripting_window ()
 pop-up a scripting window for pythoning
int get_monomer (const char *three_letter_code)
 import libcheck monomer give the 3-letter code.
void run_script (const char *filename)
 run script file

Regularization and Refinement

void add_planar_peptide_restraints ()
 add a restraint on peptides to make them planar
void remove_planar_peptide_restraints ()
 remove restraints on peptides to make them planar.
void add_omega_torsion_restriants ()
 add restraints on the omega angle of the peptides
void remove_omega_torsion_restriants ()
 remove omega restraints on CIS and TRANS linked residues.
void set_refinement_immediate_replacement (int istate)
 set immediate replacement mode for refinement and regularization. You need this (call with istate=1) if you are scripting refinement/regularization
int refinement_immediate_replacement_state ()
 query the state of the immediate replacement mode
void set_residue_selection_flash_frames_number (int i)
 set the number of frames for which the selected residue range flashes
void accept_regularizement ()
 accept the new positions of the regularized or refined residues
void set_refine_with_torsion_restraints (int istate)
 turn on (or off) torsion restraints
int refine_with_torsion_restraints_state ()
 return the state of above
void set_matrix (float f)
 set the relative weight of the geometric terms to the map terms
float matrix_state ()
 return the relative weight of the geometric terms to the map terms.
void set_refine_auto_range_step (int i)
 change the +/- step for autoranging (default is 1)
void set_refine_max_residues (int n)
 set the heuristic fencepost for the maximum number of residues in the refinement/regularization residue range
void refine_zone_atom_index_define (int imol, int ind1, int ind2)
 refine a zone based on atom indexing
void refine_zone (int imol, const char *chain_id, int resno1, int resno2, const char *altconf)
 refine a zone
void refine_zone_with_full_residue_spec (int imol, const char *chain_id, int resno1, const char *inscode_1, int resno2, const char *inscode_2, const char *altconf)
 refine a zone, allowing the specification of insertion codes for the residues too.
void refine_auto_range (int imol, const char *chain_id, int resno1, const char *altconf)
 refine a zone using auto-range
void regularize_zone (int imol, const char *chain_id, int resno1, int resno2, const char *altconf)
 regularize a zone
void set_dragged_refinement_steps_per_frame (int v)
 set the number of refinement steps applied to the intermediate atoms each frame of graphics.
int dragged_refinement_steps_per_frame ()
 return the number of steps per frame in dragged refinement
void set_refinement_refine_per_frame (int istate)
 allow refinement of intermediate atoms after dragging, before displaying (default: 0, off).
int refinement_refine_per_frame_state ()
 query the state of the above option
void set_fix_chiral_volumes_before_refinement (int istate)
 correct the sign of chiral volumes before commencing refinement?
void check_chiral_volumes (int imol)
 query the state of the above option
void set_show_chiral_volume_errors_dialog (short int istate)
 For experienced Cooters who don't like Coot nannying about chiral volumes during refinement.
void set_secondary_structure_restraints_type (int itype)
 set the type of secondary structure restraints
int secondary_structure_restraints_type ()
 return the secondary structure restraints type
int imol_refinement_map ()
 the molecule number of the map used for refinement
int set_imol_refinement_map (int imol)
 set the molecule number of the map to be used for refinement/fitting.
int does_residue_exist_p (int imol, char *chain_id, int resno, char *inscode)
 Does the residue exist? (Raw function).

Simplex Refinement

void fit_residue_range_to_map_by_simplex (int res1, int res2, char *altloc, char *chain_id, int imol, int imol_for_map)
 refine residue range using simplex optimization
float score_residue_range_fit_to_map (int res1, int res2, char *altloc, char *chain_id, int imol, int imol_for_map)
 simply score the residue range fit to map

Nomenclature Errors

int fix_nomenclature_errors (int imol)
 fix nomenclature errors in molecule number imol

Atom Info

void output_atom_info_as_text (int imol, const char *chain_id, int resno, const char *ins_code, const char *atname, const char *altconf)
 output Atom Info for the give atom specs

Zoom Functions

void scale_zoom (float f)
 scale the view by f
float zoom_factor ()
 return the current zoom factor
void set_smooth_scroll_do_zoom (int i)
 set smooth scroll with zoom
int smooth_scroll_do_zoom ()
 return the state of the above system

CNS Data Functions

int handle_cns_data_file (const char *filename, int imol)
 read CNS data (currently only a placeholder)
int handle_cns_data_file_with_cell (const char *filename, int imol, float a, float b, float c, float alpha, float beta, float gamma, const char *spg_info)
 read CNS data (currently only a placeholder)

SHELXL Functions

int read_shelx_ins_file (const char *filename)
 read a SHELXL .ins file
int write_shelx_ins_file (int imol, const char *filename)
 write a SHELXL .ins file for molecule number imol

Validation Functions

void difference_map_peaks (int imol, int imol_coords, float level, int do_positive_level_flag, int do_negative_level_flag)
 generate a list of difference map peaks
void gln_asn_b_factor_outliers (int imol)
 Make a gui for GLN adn ASN B-factor outiers, compairing the O and N temperature factore idfference to the distribution of temperature factors from the other atoms.

Ramachandran Plot Functions

void do_ramachandran_plot (int imol)
 Ramachandran plot for molecule number imol.
void set_ramachandran_plot_contour_levels (float level_prefered, float level_allowed)
 set the contour levels for theremachandran plot, default values are 0.02 (prefered) 0.002 (allowed)
void set_ramachandran_plot_background_block_size (float blocksize)
 set the ramachandran plot background block size. Smaller is smoother but slower. Should be divisible exactly into 360. Default value is 10.

Atom Labelling

void set_brief_atom_labels (int istat)
 use brief atom names for on-screen labels
int brief_atom_labels_state ()
 the brief atom label state

Screen Rotation

void rotate_y_scene (int nsteps, float stepsize)
 rotate view round y axis stepsize degrees for nstep such steps
void rotate_x_scene (int nsteps, float stepsize)
 rotate view round x axis stepsize degrees for nstep such steps
void rotate_z_scene (int nsteps, float stepsize)
 rotate view round z axis stepsize degrees for nstep such steps
void spin_zoom_trans (int axis, int nstep, float stepsize, float zoom_by, float x_rel, float y_rel, float z_rel)
 Bells and whistles rotation.

Background Colour

void set_background_colour (double red, double green, double blue)
 set the background colour
int background_is_black_p ()
 is the background black (or nearly black)?

Ligand Fitting Functions

void set_ligand_acceptable_fit_fraction (float f)
 set the fraction of atoms which must be in positive density after a ligand fit
void set_ligand_cluster_sigma_level (float f)
 set the default sigma level that the map is searched to find potential ligand sites
void set_ligand_flexible_ligand_n_samples (int i)
 set the number of conformation samples
void set_find_ligand_n_top_ligands (int n)
 search the top n sites for ligands.
void set_find_ligand_mask_waters (int istate)
 how shall we treat the waters during ligand fitting?
void set_ligand_search_protein_molecule (int imol)
 set the protein molecule for ligand searching
void set_ligand_search_map_molecule (int imol_map)
 set the map molecule for ligand searching
void add_ligand_search_ligand_molecule (int imol_ligand)
 add a rigid ligand molecule to the list of ligands to search for in ligand searching
void add_ligand_search_wiggly_ligand_molecule (int imol_ligand)
 add a flexible ligand molecule to the list of ligands to search for in ligand searching
void ligand_expert ()
 this sets the flag to have expert option ligand entries in the Ligand Searching dialog
void do_find_ligands_dialog ()
 display the find ligands dialog, if maps, coords and ligands are available
void execute_get_mols_ligand_search (GtkWidget *button)
 "Template"-based matching. Overlap the first residue in imol_ligand onto the residue specified by the reference parameters. Use graph matching, not atom names.

Water Fitting Functions

void renumber_waters (int imol)
void execute_find_waters_real (int imol_for_map, int imol_for_protein, short int new_waters_mol_flag, float sigma_cut_off)
 find waters
void set_ligand_water_to_protein_distance_limits (float f1, float f2)
 set ligand to protein distance limits
void set_ligand_water_n_cycles (int i)
 set the number of cycles of water searching
void execute_find_blobs (int imol_model, int imol_for_map, float cut_off, short int interactive_flag)
 find blobs

Bond Representation

void set_default_bond_thickness (int t)
 set the default thickness for bonds (e.g. in ~/.coot)
void set_bond_thickness (int imol, float t)
 set the thickness of the bonds in molecule number imol to t pixels
void set_bond_thickness_intermediate_atoms (float t)
 set the thickness of the bonds of the intermediate atoms to t pixels
void set_draw_zero_occ_markers (int status)
 set status of drawing zero occupancy markers.
void set_draw_hydrogens (int imol, int istat)
 set the hydrogen drawing state. istat = 0 is hydrogens off, istat = 1: show hydrogens
int draw_hydrogens_state (int imol)
 the state of draw hydrogens for molecule number imol.
void graphics_to_ca_representation (int imol)
 draw molecule number imol as CAs
void graphics_to_ca_plus_ligands_representation (int imol)
 draw molecule number imol as CA + ligands
void graphics_to_bonds_no_waters_representation (int imol)
 draw molecule number imol with no waters
void graphics_to_bonds_representation (int mol)
 draw molecule number imol with normal bonds
void graphics_to_ca_plus_ligands_sec_struct_representation (int imol)
 draw molecule number imol with CA bonds in secondary structure representation and ligands
void graphics_to_sec_struct_bonds_representation (int imol)
 draw molecule number imol with bonds in secondary structure representation
void graphics_to_rainbow_representation (int imol)
 draw molecule number imol in Jones' Rainbow
void graphics_to_b_factor_representation (int imol)
 draw molecule number imol coloured by B-factor
void graphics_to_occupancy_representation (int imol)
 draw molecule number imol coloured by occupancy
int graphics_molecule_bond_type (int imol)
 what is the bond drawing state of molecule number imol
int set_b_factor_bonds_scale_factor (int imol, float f)
 scale the colours for colour by b factor representation
int make_ball_and_stick (int imol, const char *atom_selection_str, float bond_thickness, float sphere_size, int do_spheres_flag)
 make a ball and stick representation of imol given atom selection
int clear_ball_and_stick (int imol)
 clear ball and stick representation of molecule number imol

Dots Representation

int dots (int imol, const char *atom_selection_str, float dot_density, float sphere_size_scale)
 display dotted surface
void clear_dots (int imol, int dots_handle)
 clear dots in imol with dots_handle
int n_dots_sets (int imol)
 return the number of dots sets for molecule number imol

Pep-flip

void pepflip (int imol, const char *chain_id, int resno, const char *inscode)
 pepflip the given residue

Rigid Body Refinement

void rigid_body_refine_zone (int reso_start, int resno_end, const char *chain_id, int imol)
 setup rigid body refine zone
void execute_rigid_body_refine (short int auto_range_flag)
 actually do the rigid body refinement
void set_rigid_body_fit_acceptable_fit_fraction (float f)
 set rigid body fraction of atoms in positive density

Add Terminal Residue Functions

void set_add_terminal_residue_immediate_addition (int i)
 set immediate addition of terminal residue
int add_terminal_residue (int imol, char *chain_id, int residue_number, char *residue_type, int immediate_add)
 Add a terminal residue.
void set_add_terminal_residue_default_residue_type (const char *type)
 set the residue type of an added terminal residue.
void set_add_terminal_residue_do_post_refine (short int istat)
 set a flag to run refine zone on terminal residues after an addition.
int add_terminal_residue_do_post_refine_state ()
 what is the value of the previous flag?

Delete Residues

void delete_residue_range (int imol, const char *chain_id, int resno_start, int end_resno)
 delete residue range
void delete_residue (int imol, const char *chain_id, int resno, const char *inscode)
 delete residue
void delete_residue_with_altconf (int imol, const char *chain_id, int resno, const char *inscode, const char *altloc)
 delete residue with altconf
void delete_residue_hydrogens (int imol, const char *chain_id, int resno, const char *inscode, const char *altloc)
 delete hydrogen atoms in residue
void delete_atom (int imol, const char *chain_id, int resno, const char *ins_code, const char *at_name, const char *altloc)
 delete atom in residue
void delete_residue_sidechain (int imol, const char *chain_id, int resno, const char *ins_code, short int do_delete_dialog)
 delete all atoms in residue that are not main chain or CB

Mainchain Building Functions

void db_mainchain (int imol, const char *chain_id, int iresno_start, int iresno_end, const char *direction_string)
 CA -> mainchain conversion.

Rotatmer Functions

void set_rotamer_check_clashes (int i)
 set a flag: 0 is off, 1 is on
float auto_fit_best_rotamer (int resno, const char *altloc, const char *insertion_code, const char *chain_id, int imol_coords, int imol_map, int clash_flag, float lowest_probability)
 auto fit by rotamer search.
void set_auto_fit_best_rotamer_clash_flag (int i)
 set the clash flag for rotamer search
int n_rotamers (int imol, const char *chain_id, int resno, const char *ins_code)
 return the number of rotamers for this residue - return -1 on no residue found.
int set_residue_to_rotamer_number (int imol, const char *chain_id, int resno, const char *ins_code, int rotamer_number)
 set the residue specified to the rotamer number specifed.
void fill_partial_residues (int imol)
 fill all the residues of molecule number imol that have missing atoms.

180 Flip Side chain

void do_180_degree_side_chain_flip (int imol, const char *chain_id, int resno, const char *inscode, const char *altconf)
 rotate 180 degrees round the last chi angle

Mutate Functions

void setup_mutate_auto_fit (short int state)
 Mutate then fit to map.
int mutate (int imol, const char *chain_id, int ires, const char *inscode, const char *target_res_type)
 mutate a given residue
void set_mutate_auto_fit_do_post_refine (short int istate)
 Do you want Coot to automatically run a refinement after every mutate and autofit?
int mutate_auto_fit_do_post_refine_state ()
 what is the value of the previous flag?
void set_rotamer_auto_fit_do_post_refine (short int istate)
 Do you want Coot to automatically run a refinement after every rotamer autofit?
int rotamer_auto_fit_do_post_refine_state ()
 what is the value of the previous flag?
int mutate_single_residue_by_serial_number (int ires_ser, const char *chain_id, int imol, char target_res_type)
 an alternate interface to mutation of a singe residue.
void set_residue_type_chooser_stub_state (short int istat)
 set a flag saying that the residue chosen by mutate or auto-fit mutate should only be added as a stub (mainchain + CB)

Edit Chi Angles

int edit_chi_angles (int imol, const char *chain_id, int resno, const char *ins_code, const char *altconf)
 fire up the edit chi angles gui for the given residue
void setup_torsion_general (short int state)
 beloved torsion general at last makes an entrance onto the Coot scene...

Masks

int mask_map_by_molecule (int map_mol_no, int coord_mol_no, short int invert_flag)
 generate a new map that has been masked by some coordinates
void set_map_mask_atom_radius (float rad)
 set the atom radius for map masking
float map_mask_atom_radius ()
 get the atom radius for map masking

check Waters Interface

void delete_checked_waters_baddies (int imol, float b_factor_lim, float map_sigma_lim, float min_dist, float max_dist, short int part_occ_contact_flag, short int zero_occ_flag, short int logical_operator_and_or_flag)
 Delete waters that are fail to meet the given criteria.

External Ray-Tracing

void raster3d (const char *rd3_filename)
 create a r3d file for the current view
void set_raster3d_bond_thickness (float f)
 set the bond thickness for the Raster3D representation
void set_raster3d_density_thickness (float f)
 set the density line thickness for the Raster3D representation
void set_renderer_show_atoms (int istate)
 set the flag to show atoms for the Raster3D representation
void set_raster3d_bone_thickness (float f)
 set the bone (skeleton) thickness for the Raster3D representation
void raster_screen_shot ()
 run raster3d and display the resulting image.

Superposition (SSM)

void superpose (int imol1, int imol2, short int move_imol2_flag)
 simple interface to superposition.
void superpose_with_chain_selection (int imol1, int imol2, const char *chain_imol1, const char *chain_imol2, int chain_used_flag_imol1, int chain_used_flag_imol2, short int move_imol2_copy_flag)
 chain-based interface to superposition.
void superpose_with_atom_selection (int imol1, int imol2, const char *mmdb_atom_sel_str_1, const char *mmdb_atom_sel_str_2, short int move_imol2_copy_flag)
 detailed interface to superposition.

NCS

void set_draw_ncs_ghosts (int imol, int istate)
 set drawing state of NCS ghosts for molecule number imol
int draw_ncs_ghosts_state (int imol)
 return the drawing state of NCS ghosts for molecule number imol. Return -1 on imol is a bad molecule or no ghosts.
void set_ncs_ghost_bond_thickness (int imol, float f)
 set bond thickness of NCS ghosts for molecule number imol
void ncs_update_ghosts (int imol)
 update ghosts for molecule number imol
int make_dynamically_transformed_ncs_maps (int imol_model, int imol_map)
 make NCS map
void add_ncs_matrix (int imol, const char *this_chain_id, const char *target_chain_id, float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33, float t1, float t2, float t3)
 Add NCS matrix.
int add_strict_ncs_matrix (int imol, const char *this_chain_id, const char *target_chain_id, float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33, float t1, float t2, float t3)
 add an NCS matrix for strict NCS molecule representation
int show_strict_ncs_state (int imol)
 return the state of NCS ghost molecules for molecule number imol
void set_show_strict_ncs (int imol, int state)
 set display state of NCS ghost molecules for molecule number imol
void set_ncs_homology_level (float flev)
 At what level of homology should we say that we can't see homology for NCS calculation? (default 0.8).
void copy_chain (int imol, const char *from_chain, const char *to_chain)
 Copy single NCS chain.
void copy_from_ncs_master_to_others (int imol, const char *chain_id)
 Copy chain from master to all related NCS chains.
void copy_residue_range_from_ncs_master_to_others (int imol, const char *master_chain_id, int residue_range_start, int residue_range_end)
 Copy residue range to all related NCS chains. If the target residues do not exist in the peer chains, then create them.
void ncs_control_change_ncs_master_to_chain (int imol, int ichain)
 change the NCS master chain (by number)
void ncs_control_change_ncs_master_to_chain_id (int imol, const char *chain_id)
 change the NCS master chain (by chain_id)
void ncs_control_display_chain (int imol, int ichain, int state)
 display the NCS master chain

Helices and Strands

int place_helix_here ()
 add a helix
int place_strand_here (int n_residues, int n_sample_strands)
 add a strands

RNA/DNA

int ideal_nucleic_acid (const char *RNA_or_DNA, const char *form, short int single_stranged_flag, const char *sequence)
 create a molecule of idea nucleotides

Sequence (Assignment)

void print_sequence_chain (int imol, const char *chain_id)
 Print the sequence to the console of the given molecule.
void assign_fasta_sequence (int imol, const char *chain_id_in, const char *seq)
 Assign a FASTA sequence to a given chain in the molecule.
void assign_pir_sequence (int imol, const char *chain_id_in, const char *seq)
 Assign a PIR sequence to a given chain in the molecule.
void assign_sequence_from_file (int imol, const char *file)
 Assign a sequence to a given molecule from (whatever) sequence file.
void assign_sequence_from_string (int imol, const char *chain_id_in, const char *seq)
 Assign a sequence to a given molecule from a simple string.
void delete_all_sequences_from_molecule (int imol)
 Delete all the sequences from a given molecule.
void delete_sequence_by_chain_id (int imol, const char *chain_id_in)
 Delete the sequence for a given chain_id from a given molecule.

Surfaces

void do_surface (int imol, int istate)
 draw surface of molecule number imol

FFFearing

int fffear_search (int imol_model, int imol_map)
 fffear search model in molecule number imol_model in map number imol_map
void set_fffear_angular_resolution (float f)
 set and return the fffear angular resolution in degrees
float fffear_angular_resolution ()
 return the fffear angular resolution in degrees

Remote Control

void make_socket_listener_maybe ()
 try to make socket listener

Browser Interface

void browser_url (const char *url)
 try to open given url in Web browser
void set_browser_interface (const char *browser)
 set command to open the web browser,
void handle_online_coot_search_request (const char *entry_text)
 the search interface

Generic Objects

int new_generic_object_number (const char *objname)
 create a new generic object with name objname and return the index of the object
void to_generic_object_add_line (int object_number, const char *colour, int line_width, float from_x1, float from_y1, float from_z1, float to_x2, float to_y2, float to_z2)
 add line to generic object object_number
void to_generic_object_add_point (int object_number, const char *colour, int point_width, float from_x1, float from_y1, float from_z1)
 add point to generic object object_number
void to_generic_object_add_display_list_handle (int object_number, int display_list_id)
 add a display list handle generic object
void set_display_generic_object (int object_number, short int istate)
 set the display status of object number object_number,
int generic_object_is_displayed_p (int object_number)
 is generic display object displayed?
int generic_object_index (const char *name)
 return the index of the object with name name, if not, return -1;
int number_of_generic_objects ()
 what is the name of generic object number obj_number? return the number of generic display objects
void generic_object_info ()
 print to the console the name and display status of the generic display objects
short int generic_object_has_objects_p (int obj_no)
 does generic display object number obj_no have things to display? (predicate name)
void close_generic_object (int object_number)
 close generic object, clear the lines/points etc, not available for buttons/displaying etc
short int is_closed_generic_object_p (int object_number)
 has the generic object been closed?
void generic_objects_gui_wrapper ()
 a kludgey thing, so that the generic objects gui can be called from a callback.

Molprobity Interface

void handle_read_draw_probe_dots (const char *dots_file)
 pass a filename that contains molprobity's probe output in XtalView format
void handle_read_draw_probe_dots_unformatted (const char *dots_file, int imol, int show_clash_gui_flag)
 pass a filename that contains molprobity's probe output in unformatted format
void set_do_probe_dots_on_rotamers_and_chis (short int state)
 shall we run molprobity for on edit chi angles intermediate atoms?
short int do_probe_dots_on_rotamers_and_chis_state ()
 return the state of if run molprobity for on edit chi angles intermediate atoms?
void set_do_probe_dots_post_refine (short int state)
 shall we run molprobity after a refinement has happened?
short int do_probe_dots_post_refine_state ()
 show the state of shall we run molprobity after a refinement has happened?
char * unmangle_hydrogen_name (const char *pdb_hydrogen_name)
 make an attempt to convert pdb hydrogen name to the name used in Coot (and the refmac dictionary, perhaps).
void set_interactive_probe_dots_molprobity_radius (float r)
 set the radius over which we can run interactive probe, bigger is better but slower.
float interactive_probe_dots_molprobity_radius ()
 return the radius over which we can run interactive probe.
int probe_available_p ()
 Can we run probe (was the executable variable set properly?) (predicate).

SMILES

void do_smiles_gui ()
 display the SMILES string dialog

PHENIX Support

void set_button_label_for_external_refinement (const char *button_label)
 set the button label of the external Refinement program

Graphics Text

int place_text (const char *text, float x, float y, float z, int size)
 Put text at x,y,z.
void remove_text (int text_handle)
 Remove text.

Functions

void set_show_environment_distances (int state)
 show environment distances. If state is 0, distances are turned off, otherwise distances are turned on.
void set_environment_distances_distance_limits (float min_dist, float max_dist)
 min and max distances for the environment distances
int add_view_here (const char *view_name)
 return the view number
int add_view_raw (float rcx, float rcy, float rcz, float quat1, float quat2, float quat3, float quat4, float zoom, const char *view_name)
 return the view number
int remove_named_view (const char *view_name)
 the view with the given name
void remove_view (int view_number)
 the given view number
void add_view_description (int view_number, const char *description)
 return the number of views
int add_action_view (const char *view_name, const char *action_function)
 add a view (not add to an existing view) that *does* something (e.g. displays or undisplays a molecule) rather than move the graphics.
int insert_action_view_after_view (int view_number, const char *view_name, const char *action_function)
 add an action view after the view of the given view number
void save_views (const char *view_file_name)
 return the name of the given view, if view_number does not specify a view return f save views to view_file_name
void clear_all_views ()
 Clear the view list.
int new_molecule_by_residue_type_selection (int imol, const char *residue_type)
 create a new molecule that consists of only the residue of type residue_type in molecule number imol
int new_molecule_by_atom_selection (int imol, const char *atom_selection)
 create a new molecule that consists of only the atoms specified by the mmdb atoms selection string in molecule number imol
int new_molecule_by_sphere_selection (int imol, float x, float y, float z, float r)
 create a new molecule that consists of only the atoms within the given radius (r) of the given position.
void set_display_lists_for_maps (int i)
 Should display lists be used for maps? It may speed things up if these are turned on (or off) - depends on graphics card and drivers. Pass 1 for on, 0 for off.
int display_lists_for_maps_state ()
 return the state of display_lists_for_maps.
void clear_all_fixed_atoms (int imol)
 clear all fixed atoms


Detailed Description

Coot Scripting Interface.

Here is a list of all the scripting interface functions. They are described/formatted in c/python format.

Usually coot is compiled with the guile interpreter, and in this case these function names and usage are changed a little, e.g.:

c-format: chain_n_residues("A", 1)

scheme format: (chain-n-residues "A" 1)

Note the prefix usage of the parenthesis and the lack of comma to separate the arguments.


Function Documentation

void accept_regularizement  ) 
 

accept the new positions of the regularized or refined residues

If you are scripting refinement and/or regularization, this is the function that you need to call after refine-zone or regularize-zone.

int add_action_view const char *  view_name,
const char *  action_function
 

add a view (not add to an existing view) that *does* something (e.g. displays or undisplays a molecule) rather than move the graphics.

Returns:
the view number for this (new) view.

void add_omega_torsion_restriants  ) 
 

add restraints on the omega angle of the peptides

(that is the torsion round the peptide bond). Omega angles that are closer to 0 than to 180 will be refined as cis peptides (and of course if omega is greater than 90 then the peptide will be refined as a trans peptide (this is the normal case).

void add_planar_peptide_restraints  ) 
 

add a restraint on peptides to make them planar

This adds a 5 atom restraint that includes both CA atoms of the peptide. Use this rather than editting the mon_lib_list.cif file.

void add_status_bar_text const char *  s  ) 
 

Put text s into the status bar.

use this to put info for the user in the statusbar (less intrusive than popup).

int add_strict_ncs_matrix int  imol,
const char *  this_chain_id,
const char *  target_chain_id,
float  m11,
float  m12,
float  m13,
float  m21,
float  m22,
float  m23,
float  m31,
float  m32,
float  m33,
float  t1,
float  t2,
float  t3
 

add an NCS matrix for strict NCS molecule representation

for CNS strict NCS usage: expand like normal symmetry does

int add_terminal_residue int  imol,
char *  chain_id,
int  residue_number,
char *  residue_type,
int  immediate_add
 

Add a terminal residue.

return 0 on failure, 1 on success

int another_level  ) 
 

Add another contour level for the last added map.

Currently, the map must have been generated from an MTZ file.

Returns:
the molecule number of the new molecule or -1 on failure

int another_level_from_map_molecule_number int  imap  ) 
 

Add another contour level for the given map.

Currently, the map must have been generated from an MTZ file.

Returns:
the molecule number of the new molecule or -1 on failure

float auto_fit_best_rotamer int  resno,
const char *  altloc,
const char *  insertion_code,
const char *  chain_id,
int  imol_coords,
int  imol_map,
int  clash_flag,
float  lowest_probability
 

auto fit by rotamer search.

return the score, for some not very good reason. clash_flag determines if we use clashes with other residues in the score for this rotamer (or not). It would be cool to call this from a script that went residue by residue along a (newly-built) chain (now available).

int auto_read_do_difference_map_too_state  ) 
 

return the flag to do a difference map (too) on auto-read MTZ

Returns:
0 means no, 1 means yes.

int auto_read_make_and_draw_maps const char *  filename  ) 
 

read MTZ file filename and from it try to make maps

Useful for reading the output of refmac. The default labels (FWT/PHWT and DELFWT/PHDELFWT) can be changed using ...[something]

Returns:
the molecule number for the new map

int background_is_black_p  ) 
 

is the background black (or nearly black)?

Returns:
1 if the background is black (or nearly black), else return 0.

int backup_state int  imol  ) 
 

return the backup state for molecule number imol

return 0 for backups off, 1 for backups on, -1 for unknown

char* chain_id int  imol,
int  ichain
 

the chain_id (string) of the ichain-th chain molecule number imol

Returns:
the chain-id

int chain_n_residues const char *  chain_id,
int  imol
 

the number of residues in chain chain_id and molecule number imol

Returns:
the number of residues

void change_contour_level short int  is_increment  ) 
 

change the contour level of the current map by a step

if is_increment=1 the contour level is increased. If is_increment=0 the map contour level is decreased.

char* coot_version  ) 
 

the coot version string

Returns:
something like "coot-0.1.3". New versions of coot will always be lexographically greater than previous versions.

int copy_molecule int  imol  ) 
 

copy molecule imol

Returns:
the new molecule number. Return -1 on failure to copy molecule (out of range, or molecule is closed)

void do_surface int  imol,
int  istate
 

draw surface of molecule number imol

if state = 1 draw the surface (normal representation goes away)

if state = 0 don't draw surface

int does_residue_exist_p int  imol,
char *  chain_id,
int  resno,
char *  inscode
 

Does the residue exist? (Raw function).

Returns:
0 on not-exist, 1 on does exist.

int dots int  imol,
const char *  atom_selection_str,
float  dot_density,
float  sphere_size_scale
 

display dotted surface

return a generic objects handle (which can be used to remove later)

int draw_hydrogens_state int  imol  ) 
 

the state of draw hydrogens for molecule number imol.

return -1 on bad imol.

int edit_chi_angles int  imol,
const char *  chain_id,
int  resno,
const char *  ins_code,
const char *  altconf
 

fire up the edit chi angles gui for the given residue

return a status of 0 if it failed to fined the residue, return a value of 1 if it worked.

int esoteric_depth_cue_state  ) 
 

native depth cueing system

return the state of the esoteric depth cueing flag

int exchange_chain_ids_for_seg_ids int  imol  ) 
 

Experimental interface for Ribosome People.

Ribosome People have many chains in their pdb file, they prefer segids to chainids (chainids are only 1 character). But coot uses the concept of chain ids and not seg-ids. mmdb allow us to use more than one char in the chainid, so after we read in a pdb, let's replace the chain ids with the segids. Will that help?

void execute_get_mols_ligand_search GtkWidget *  button  ) 
 

"Template"-based matching. Overlap the first residue in imol_ligand onto the residue specified by the reference parameters. Use graph matching, not atom names.

Returns:
success status, f = failed to find residue in either imol_ligand or imo_ref,
otherwise return the RT operator

void execute_rigid_body_refine short int  auto_range_flag  ) 
 

actually do the rigid body refinement

various atom selection holders in graphics-info have been set, actually do it.

int export_map int  imol,
const char *  filename
 

export (write to disk) the map of molecule number imol to filename.

Return 0 on failure, 1 on success.

void fill_partial_residues int  imol  ) 
 

fill all the residues of molecule number imol that have missing atoms.

To be used to remove the effects of chainsaw.

int first_coords_imol  ) 
 

What is the molecule number of first coordinates molecule?

return -1 when there is none.

int fix_nomenclature_errors int  imol  ) 
 

fix nomenclature errors in molecule number imol

Returns:
the number of resides altered.

short int generic_object_has_objects_p int  obj_no  ) 
 

does generic display object number obj_no have things to display? (predicate name)

Returns:
0 for no things, 1 for things.

int generic_object_is_displayed_p int  object_number  ) 
 

is generic display object displayed?

Returns:
1 for yes, otherwise 0

int get_font_size  ) 
 

return the font size

Returns:
1 (small) 2 (medium, default) 3 (large)

int get_monomer const char *  three_letter_code  ) 
 

import libcheck monomer give the 3-letter code.

Returns:
the new molecule number, if not -1 (error).

short int get_symmetry_as_calphas_state int  imol  ) 
 

what is state of display CAs for molecule number mol_no?

return state=0 for off, state=1 for on

int graphics_n_molecules  ) 
 

return the number of molecules (coordinates molecules and map molecules combined) that are currently in coot

Returns:
the number of molecules (closed molecules are not counted)

int handle_cns_data_file_with_cell const char *  filename,
int  imol,
float  a,
float  b,
float  c,
float  alpha,
float  beta,
float  gamma,
const char *  spg_info
 

read CNS data (currently only a placeholder)

a, b,c are in Angstroems. alpha, beta, gamma are in degrees. spg is the space group info, either ;-delimited symmetry operators or the space group name

void handle_online_coot_search_request const char *  entry_text  ) 
 

the search interface

find words, construct a url and open it.

int handle_read_draw_molecule_with_recentre const char *  filename,
int  recentre_on_read_pdb_flag
 

read coordinates from filename with option to not recentre.

set recentre_on_read_pdb_flag to 0 if you don't want the view to recentre on the new coordinates.

int has_unit_cell_state int  imol  ) 
 

molecule number imol has a unit cell?

Returns:
1 on "yes, it has a cell", 0 for "no"

int ideal_nucleic_acid const char *  RNA_or_DNA,
const char *  form,
short int  single_stranged_flag,
const char *  sequence
 

create a molecule of idea nucleotides

use the given sequence (single letter code)

RNA_or_DNA is either "RNA" or "DNA"

form is either "A" or "B"

Returns:
the new molecule number or -1 if a problem

int imol_refinement_map  ) 
 

the molecule number of the map used for refinement

Returns:
the map number, if it has been set or there is only one map, return -1 on no map set (ambiguous) or no maps.

void info_dialog const char *  txt  ) 
 

create a dialog with information

create a dialog with information string txt. User has to click to dismiss it, but it is not modal (nothing in coot is modal).

int insert_action_view_after_view int  view_number,
const char *  view_name,
const char *  action_function
 

add an action view after the view of the given view number

Returns:
the view number for this (new) view.

char* insertion_code_from_serial_number int  imol,
const char *  chain_id,
int  serial_num
 

the insertion code of the residue.

Returns:
NULL (f) on failure.

short int is_closed_generic_object_p int  object_number  ) 
 

has the generic object been closed?

Returns:
1 for yes, 0 othersize

int is_solvent_chain_p int  imol,
const char *  chain_id
 

is this a solvent chain? [Raw function]

This is a raw interface function, you should generally not use this, but instead use (is-solvent-chain? imol chain-id)

Returns:
-1 on error, 0 for no, 1 for is "a solvent chain". We wouldn't want to be doing rotamer searches and the like on such a chain.

int keep_map_colour_after_refmac_state  ) 
 

the keep-map-colour-after-refmac internal state

Returns:
1 for "yes", 0 for "no"

int make_and_draw_map const char *  mtz_file_name,
const char *  f_col,
const char *  phi_col,
const char *  weight,
int  use_weights,
int  is_diff_map
 

make a map from an mtz file (simple interface)

given mtz file mtz_file_name and F column f_col and phases column phi_col and optional weight column weight_col (pass use_weights=0 if weights are not to be used). Also mark the map as a difference map (is_diff_map=1) or not (is_diff_map=0) because they are handled differently inside coot.

Returns:
-1 on error, else return the new molecule number

int make_and_draw_map_with_refmac_params const char *  mtz_file_name,
const char *  a,
const char *  b,
const char *  weight,
int  use_weights,
int  is_diff_map,
short int  have_refmac_params,
const char *  fobs_col,
const char *  sigfobs_col,
const char *  r_free_col,
short int  sensible_f_free_col
 

as the above function, execpt set refmac parameters too

pass along the refmac column labels for storage (not used in the creation of the map)

Returns:
-1 on error, else return imol

int make_ball_and_stick int  imol,
const char *  atom_selection_str,
float  bond_thickness,
float  sphere_size,
int  do_spheres_flag
 

make a ball and stick representation of imol given atom selection

e.g. (make-ball-and-stick 0 "/1" 0.15 0.25 1)

int make_directory_maybe const char *  dir  ) 
 

make a directory dir (if it doesn't exist) and return error code

If it can be created, create the directory dir, return the success status like mkdir: mkdir

Returns:
zero on success, or -1 if an error occurred. If dir already exists as a directory, return 0 of course.

void manage_column_selector const char *  filename  ) 
 

given a filename, try to read it as a data file

We try as .phs and .cif files first

int map_from_mtz_by_calc_phases const char *  mtz_file_name,
const char *  f_col,
const char *  sigf_col,
int  imol_coords
 

Calculate SFs from an MTZ file and generate a map.

Returns:
the new molecule number.

int map_from_mtz_by_refmac_calc_phases const char *  mtz_file_name,
const char *  f_col,
const char *  sigf_col,
int  imol_coords
 

Calculate SFs (using refmac optionally) from an MTZ file and generate a map. Get F and SIGF automatically (first of their type) from the mtz file.

Returns:
the new molecule number, -1 on a problem.

int map_is_displayed int  imol  ) 
 

return the display state of molecule number imol

Returns:
1 for on, 0 for off

int mask_map_by_molecule int  map_mol_no,
int  coord_mol_no,
short int  invert_flag
 

generate a new map that has been masked by some coordinates

(mask-map-by-molecule map-no mol-no invert?) creates and displays a masked map, cuts down density where the coordinates are (invert is 0). If invert? is 1, cut the density down where there are no atoms atoms.

int mol_is_active int  imol  ) 
 

return the active state of molecule number imol

Returns:
1 for on, 0 for off

int mol_is_displayed int  imol  ) 
 

return the display state of molecule number imol

Returns:
1 for on, 0 for off

const char* molecule_name int  imol  ) 
 

return the name of molecule number imol

Returns:
0 if not a valid name ( -> f in scheme) e.g. "/a/b/c.pdb" for "d/e/f.mtz FWT PHWT"

const char* mtz_fp_for_map int  imol_map  ) 
 

return the FP column in the file that was use to generate the map

return 0 when there is no mtz file associated with that map (it was generated from a CCP4 map file say).

const char* mtz_hklin_for_map int  imol_map  ) 
 

return the mtz file that was use to generate the map

return 0 when there is no mtz file associated with that map (it was generated from a CCP4 map file say).

const char* mtz_phi_for_map int  imol_map  ) 
 

return the phases column in mtz file that was use to generate the map

return 0 when there is no mtz file associated with that map (it was generated from a CCP4 map file say).

short int mtz_use_weight_for_map int  imol_map  ) 
 

return flag for whether weights were used that was use to generate the map

return 0 when no weights were used or there is no mtz file associated with that map.

const char* mtz_weight_for_map int  imol_map  ) 
 

return the weight column in the mtz file that was use to generate the map

return 0 when there is no mtz file associated with that map (it was generated from a CCP4 map file say) or no weights were used.

int mutate int  imol,
const char *  chain_id,
int  ires,
const char *  inscode,
const char *  target_res_type
 

mutate a given residue

target_res_type is a three-letter-code.

Return 1 on a good mutate.

int mutate_single_residue_by_serial_number int  ires_ser,
const char *  chain_id,
int  imol,
char  target_res_type
 

an alternate interface to mutation of a singe residue.

Returns:
1 on success, 0 on failure
ires-ser is the serial number of the residue, not the seqnum There 2 functions don't make backups, but mutate() does - CHECKME Hence mutate() is for use as a "one-by-one" type and the following 2 by wrappers that muate either a residue range or a whole chain

Note that the target_res_type is a char, not a string (or a char *). So from the scheme interface you'd use (for example) #{hash backslash A} for ALA.

int n_chains int  imol  ) 
 

number of chains in molecule number imol

Returns:
the number of chains

int new_molecule_by_atom_selection int  imol,
const char *  atom_selection
 

create a new molecule that consists of only the atoms specified by the mmdb atoms selection string in molecule number imol

Returns:
the new molecule number, -1 means an error.

int new_molecule_by_residue_type_selection int  imol,
const char *  residue_type
 

create a new molecule that consists of only the residue of type residue_type in molecule number imol

Returns:
the new molecule number, -1 means an error.

int new_molecule_by_sphere_selection int  imol,
float  x,
float  y,
float  z,
float  r
 

create a new molecule that consists of only the atoms within the given radius (r) of the given position.

Returns:
the new molecule number, -1 means an error.

void output_atom_info_as_text int  imol,
const char *  chain_id,
int  resno,
const char *  ins_code,
const char *  atname,
const char *  altconf
 

output Atom Info for the give atom specs

Actually I want to return a scheme object with occ, pos, b-factor info

int place_helix_here  ) 
 

add a helix

Add a helix somewhere close to this point in the map, try to fit the orientation. Add to a molecule called "Helix", create it if needed. Create another moecule called "Reverse Helix" if the helix orientation isn't completely unequivocal.

Returns:
the index of the new molecule.

int place_strand_here int  n_residues,
int  n_sample_strands
 

add a strands

Add a strand close to this point in the map, try to fit the orientation. Add to a molecule called "Strand", create it if needed. n_residues is the estimated number of residues in the strand.

n_sample_strands is the number of strands from the database tested to fit into this strand density. 8 is a suggested number. 20 for a more rigourous search, but it will be slower.

Returns:
the index of the new molecule.

int place_text const char *  text,
float  x,
float  y,
float  z,
int  size
 

Put text at x,y,z.

Returns:
a text handle
size variable is currently ignored.

int probe_available_p  ) 
 

Can we run probe (was the executable variable set properly?) (predicate).

Returns:
1 for yes, 2 for no

void read_phs_and_coords_and_make_map const char *  pdb_filename  ) 
 

read phs file use coords to get cell and symm to make map

uses pending data to make the map.

int read_phs_and_make_map_using_cell_symm const char *  phs_file_name,
const char *  hm_spacegroup,
float  a,
float  b,
float  c,
float  alpha,
float  beta,
float  gamma
 

read phs file use coords to use cell and symm to make map

in degrees

int read_phs_and_make_map_using_cell_symm_from_mol const char *  phs_filename,
int  imol
 

read phs file and use a previously read molecule to provide the cell and symmetry information

Returns:
the new molecule number, return -1 if problem creating the map (e.g. not phs data, file not found etc).

int read_phs_and_make_map_using_cell_symm_from_previous_mol const char *  phs_filename  ) 
 

read a phs file, the cell and symm information is from previously read (most recently read) coordinates file

For use with phs data filename provided on the command line

int read_phs_and_make_map_with_reso_limits int  imol,
const char *  phs_file_name,
float  reso_lim_low,
float  reso_lim_high
 

read a phs file and use the cell and symm in molecule number imol and use the resolution limits reso_lim_high (in Angstroems).

Parameters:
imol is the molecule number of the reference (coordinates) molecule from which the cell and symmetry can be obtained.
phs_file_name is the name of the phs data file.
reso_lim_high is the high resolution limit in Angstroems.
reso_lim_low the low resoluion limit (currently ignored).

void recover_session  ) 
 

recover session

After a crash (shock horror!) we provide this convenient interface to restore the session. It runs through all the molecules with models and looks at the coot backup directory looking for related backup files that are more recent that the read file.

void refine_auto_range int  imol,
const char *  chain_id,
int  resno1,
const char *  altconf
 

refine a zone using auto-range

presumes that imol_Refinement_Map has been set

void refine_zone int  imol,
const char *  chain_id,
int  resno1,
int  resno2,
const char *  altconf
 

refine a zone

presumes that imol_Refinement_Map has been set

void refine_zone_with_full_residue_spec int  imol,
const char *  chain_id,
int  resno1,
const char *  inscode_1,
int  resno2,
const char *  inscode_2,
const char *  altconf
 

refine a zone, allowing the specification of insertion codes for the residues too.

presumes that imol_Refinement_Map has been set

const char* refmac_name int  imol  ) 
 

the name for refmac

Returns:
a stub name used in the construction of filename for refmac output

void renumber_waters int  imol  ) 
 

Renumber the waters of molecule number imol with consecutive numbering

int reset_view  ) 
 

"Reset" the view

return 1 if we moved, else return 0.

centre on last-read molecule with zoom 100. If we are there, then go to the previous molecule, if we are there, then go to the origin.

char* resname_from_serial_number int  imol,
const char *  chain_id,
int  serial_num
 

return the rename from a residue serial number

Returns:
NULL (f) on failure.

void rigid_body_refine_zone int  reso_start,
int  resno_end,
const char *  chain_id,
int  imol
 

setup rigid body refine zone

where we set the atom selection holders according to the arguments and then call execute_rigid_body_refine()

int save_coordinates int  imol,
const char *  filename
 

save coordinates of molecule number imol in filename

Returns:
status 1 is good (success), 0 is fail.

void save_symmetry_coords int  imol,
const char *  filename,
int  symop_no,
int  shift_a,
int  shift_b,
int  shift_c,
int  pre_shift_to_origin_na,
int  pre_shift_to_origin_nb,
int  pre_shift_to_origin_nc
 

save the symmetry coordinates of molecule number imol to filename

Allow a shift of the coordinates to the origin before symmetry expansion is apllied (this is how symmetry works in Coot internals).

void scale_zoom float  f  ) 
 

scale the view by f

external (scripting) interface (with redraw)

Parameters:
f the smaller f, the bigger the zoom, typical value 1.3

void screendump_image const char *  filename  ) 
 

dump the current screen image to a file. Format ppm

You can use this, in conjunction with spinning and view moving functions to make movies

int seqnum_from_serial_number int  imol,
const char *  chain_id,
int  serial_num
 

a residue seqnum (normal residue number) from a residue serial number

Returns:
< -9999 on failure

void set_active_map_drag_flag int  t  ) 
 

set the state of immediate map upate on map drag.

By default, it is on (t=1). On slower computers it might be better to set t=0.

void set_add_terminal_residue_immediate_addition int  i  ) 
 

set immediate addition of terminal residue

call with i=1 for immediate addtion

int set_atom_attribute int  imol,
const char *  chain_id,
int  resno,
const char *  ins_code,
const char *  atom_name,
const char *  alt_conf,
const char *  attribute_name,
float  val
 

set a numberical attibute to the atom with the given specifier.

Attributes can be "x", "y","z", "B", "occ" and the attribute val is a floating point number

int set_atom_string_attribute int  imol,
const char *  chain_id,
int  resno,
const char *  ins_code,
const char *  atom_name,
const char *  alt_conf,
const char *  attribute_name,
const char *  attribute_value
 

set a string attibute to the atom with the given specifier.

Attributes can be "atom-name", "alt-conf" or "element".

void set_auto_fit_best_rotamer_clash_flag int  i  ) 
 

set the clash flag for rotamer search

And this functions for [pre-setting] the variables for auto_fit_best_rotamer called interactively (using a graphics_info_t function). 0 off, 1 on.

void set_auto_read_column_labels const char *  fwt,
const char *  phwt,
int  is_for_diff_map_flag
 

set the exected MTZ columns for Auto-reading MTZ file.

Not every program uses the default refmac labels (FWT/PHWT) for its MTZ file. Here we can tell coot to expect other labels,

e.g. (set-auto-read-column-labels "2FOFCWT" "PH2FOFCWT" 0)

void set_background_colour double  red,
double  green,
double  blue
 

set the background colour

red, green and blue are numbers between 0.0 and 1.0

void set_brief_atom_labels int  istat  ) 
 

use brief atom names for on-screen labels

call with istat=1 to use brief labels, istat=0 for normal labels

void set_browser_interface const char *  browser  ) 
 

set command to open the web browser,

examples are "open" or "mozilla"

void set_colour_map_rotation_for_map float  f  ) 
 

set the colour map rotation (hue change) for maps

default: for maps is 14 degrees.

void set_colour_map_rotation_on_read_pdb_c_only_flag short int  i  ) 
 

shall the colour map rotation apply only to C atoms?

Parameters:
i 0 for no, 1 for yes

void set_colour_map_rotation_on_read_pdb_flag short int  i  ) 
 

shall the hue change step be used?

Parameters:
i 0 for no, 1 for yes

void set_console_display_commands_state short int  istate  ) 
 

set a flag to show the text command equivalent of gui commands in the console as they happen.

1 for on, 0 for off.

void set_contour_by_sigma_step_by_mol float  f,
short int  state,
int  imol
 

set the contour level step

set the contour level step of molecule number imol to f and variable state (setting state to 0 turns off contouring by sigma level)

void set_control_key_for_rotate int  state  ) 
 

Alternate mode for rotation.

Prefered by some, including Dirk Kostrewa. I don't think this mode works properly yet

void set_default_initial_contour_level_for_difference_map float  n_sigma  ) 
 

set the default inital contour for FoFc-style map

in sigma

void set_default_initial_contour_level_for_map float  n_sigma  ) 
 

set the default inital contour for 2FoFc-style map

in sigma

void set_diff_map_iso_level_increment float  val  ) 
 

set the contour scroll step for difference map (in absolute e/A3) to val

The is only activated when scrolling by sigma is turned off

void set_display_generic_object int  object_number,
short int  istate
 

set the display status of object number object_number,

when they are created, by default objects are not displayed, so we generally need this function.

void set_do_GL_lighting int  state  ) 
 

turn the GL lighting on (state = 1) or off (state = 0)

slows down the display of simple lines

void set_dragged_refinement_steps_per_frame int  v  ) 
 

set the number of refinement steps applied to the intermediate atoms each frame of graphics.

smaller numbers make the movement of the intermediate atoms slower, smoother, more elegant.

Default: 50.

void set_draw_zero_occ_markers int  status  ) 
 

set status of drawing zero occupancy markers.

default status is 1.

void set_esoteric_depth_cue int  istate  ) 
 

not everone likes coot's esoteric depth cueing system

Pass an argument istate=1 to turn it off

(this function is currently disabled).

void set_filter_fileselection_filenames int  istate  ) 
 

on opening a file selection dialog, pre-filter the files.

set to 1 to pre-filter, [0 (off, non-pre-filtering) is the default

void set_find_ligand_mask_waters int  istate  ) 
 

how shall we treat the waters during ligand fitting?

pass with istate=1 for waters to mask the map in the same way that protein atoms do.

void set_find_ligand_n_top_ligands int  n  ) 
 

search the top n sites for ligands.

Default 10.

void set_fix_chiral_volumes_before_refinement int  istate  ) 
 

correct the sign of chiral volumes before commencing refinement?

Do we want to fix chiral volumes (by moving the chiral atom to the other side of the chiral plane if necessary). Default yes (1). Note: doesn't work currently.

void set_font_size int  i  ) 
 

set the font size

Parameters:
i 1 (small) 2 (medium, default) 3 (large)

int set_go_to_atom_chain_residue_atom_name const char *  t1_chain_id,
int  iresno,
const char *  t3_atom_name
 

set the go to atom specification

It seems important for swig that the char * arguments are const char *, not const gchar * (or else we get wrong type of argument error on (say) "A"

void set_go_to_atom_molecule int  imol  ) 
 

set the molecule for the Go To Atom

For dynarama callback sake. The widget/class knows which mapview molecule that it was generated from, so in order to go to the molecule from dynarama, we first need to the the molecule - because set_go_to_atom_chain_residue_atom_name() does not mention the molecule (see "Next/Previous Residue" for reasons for that). This function simply calls the graphics_info_t function of the same name.

Also used in scripting, where go-to-atom-chain-residue-atom-name does not mention the molecule number.

void set_hardware_stereo_angle_factor float  f  ) 
 

how much should the eyes be separated in stereo mode?

Parameters:
f the angular difference (in multiples of 4.5 degrees)

int set_imol_refinement_map int  imol  ) 
 

set the molecule number of the map to be used for refinement/fitting.

Returns:
imol on success, -1 on failure

void set_interactive_probe_dots_molprobity_radius float  r  ) 
 

set the radius over which we can run interactive probe, bigger is better but slower.

default is 6.0

void set_iso_level_increment float  val  ) 
 

set the contour scroll step (in absolute e/A3) for 2Fo-Fc-style maps to val

The is only activated when scrolling by sigma is turned off

void set_keep_map_colour_after_refmac int  istate  ) 
 

flag to enable above

call this with istate=1

void set_ligand_flexible_ligand_n_samples int  i  ) 
 

set the number of conformation samples

big ligands require more samples. Default 10.

void set_ligand_water_to_protein_distance_limits float  f1,
float  f2
 

set ligand to protein distance limits

f1 is the minimum distance, f2 is the maximum distance

int set_map_is_difference_map int  imol  ) 
 

post-hoc set the map of molecule number imol to be a difference map

Returns:
success status, 0 -> failure (imol does not have a map)

void set_map_sampling_rate float  r  ) 
 

set the map sampling rate (default 1.5)

Set to something like 2.0 or 2.5 for more finely sampled maps. Useful for baton-building low resolution maps.

void set_matrix float  f  ) 
 

set the relative weight of the geometric terms to the map terms

The default is 60.

The higher the number the more weight that is given to the map terms but the resulting {^2} values are higher). This will be needed for maps generated from data not on (or close to) the absolute scale or maps that have been scaled (for example so that the sigma level has been scaled to 1.0).

void set_max_skeleton_search_depth int  v  ) 
 

set the skeleton search depth, used in baton building

For high resolution maps, you need to search deeper down the skeleton tree. This limit needs to be increased to 20 or so for high res maps (it is 10 by default)

void set_molecule_bonds_colour_map_rotation int  imol,
float  theta
 

set the colour map rotation for molecule number imol

theta is in degrees

void set_mutate_auto_fit_do_post_refine short int  istate  ) 
 

Do you want Coot to automatically run a refinement after every mutate and autofit?

1 for yes, 0 for no.

void set_pick_cursor_index int  icursor_index  ) 
 

let the user have a different pick cursor

sometimes (the default) GDK_CROSSHAIR is hard to see, let the user set their own

void set_refine_auto_range_step int  i  ) 
 

change the +/- step for autoranging (default is 1)

Auto-ranging alow you to select a range from one button press, this allows you to set the number of residues either side of the clicked residue that becomes the selected zone

void set_refine_max_residues int  n  ) 
 

set the heuristic fencepost for the maximum number of residues in the refinement/regularization residue range

Default is 20

void set_refine_with_torsion_restraints int  istate  ) 
 

turn on (or off) torsion restraints

Pass with istate=1 for on, istate=0 for off.

void set_refinement_refine_per_frame int  istate  ) 
 

allow refinement of intermediate atoms after dragging, before displaying (default: 0, off).

An attempt to do something like xfit does, at the request of Frank von Delft.

Pass with istate=1 to enable this option.

void set_residue_selection_flash_frames_number int  i  ) 
 

set the number of frames for which the selected residue range flashes

On fast computers, this can be set to higher than the default for more aesthetic appeal.

void set_rigid_body_fit_acceptable_fit_fraction float  f  ) 
 

set rigid body fraction of atoms in positive density

Parameters:
f in the range 0.0 -> 1.0 (default 0.75)

void set_rotamer_auto_fit_do_post_refine short int  istate  ) 
 

Do you want Coot to automatically run a refinement after every rotamer autofit?

1 for yes, 0 for no.

void set_run_state_file_status short int  istat  ) 
 

set run state file status

0: never run it 1: ask to run it 2: run it, no questions

void set_scroll_by_wheel_mouse int  istate  ) 
 

Some people (like Phil Evans) don't want to scroll their map with the mouse-wheel.

To turn off mouse wheel recontouring call this with istate value of 0

void set_secondary_structure_restraints_type int  itype  ) 
 

set the type of secondary structure restraints

0 no sec str restraints

1 alpha helix restraints

2 beta strand restraints

void set_show_paths_in_display_manager int  i  ) 
 

Show Paths in Display Manager?

Some people don't like to see the full path names in the display manager here is the way to turn them off, with an argument of 1.

void set_show_symmetry_molecule int  mol_no,
short int  state
 

set display symmetry for molecule number mol_no

pass with state=0 for off, state=1 for on

void set_show_unit_cell int  imol,
short int  istate
 

set the state of show unit cell for the particular molecule number imol

1 for displayed 0 for undisplayed

void set_show_unit_cells_all short int  istate  ) 
 

set the state of show unit cell for all molecules

1 for displayed 0 for undisplayed

void set_smooth_scroll_do_zoom int  i  ) 
 

set smooth scroll with zoom

Parameters:
i 0 means no, 1 means yes: (default 0)

void set_smooth_scroll_flag int  v  ) 
 

set smooth scrolling

Parameters:
v use v=1 to turn on smooth scrolling, v=0 for off (default on).

void set_smooth_scroll_steps int  i  ) 
 

set the number of steps in the smooth scroll

Set more steps (e.g. 50) for more smoothness (default 10).

void set_space_group int  imol,
const char *  spg
 

set the space group for a coordinates molecule

for shelx FA pdb files, there is no space group. So allow the user to set it. This can be initted with a HM symbol or a symm list for clipper

void set_sticky_sort_by_date  ) 
 

sort files in the file selection by date?

some people like to have their files sorted by date by default

void set_stop_scroll_diff_map int  i  ) 
 

create a lower limit to the "2Fo-Fc-style" map contour level changing

(default 1 on)

void set_stop_scroll_diff_map_level float  f  ) 
 

set the actual difference map level changing limit

(default 0.0)

void set_stop_scroll_iso_map int  i  ) 
 

create a lower limit to the difference map contour level changing

(default 1 on)

void set_stop_scroll_iso_map_level float  f  ) 
 

set the actual map level changing limit

(default 0.0)

void set_swap_difference_map_colours int  i  ) 
 

not everone lies coot's default difference map colouring.

Pass an argument i=1 to swap the difference map colouring so that red is positve and green is negative.

void set_symmetry_shift_search_size int  shift  ) 
 

set the cell shift search size for symmetry searching.

When the coordinates for one (or some) symmetry operator are missing (which happens sometimes, but rarely), try changing setting this to 2 (default is 1). It slows symmetry searching, which is why it is not set to 2 by default.

void set_unpathed_backup_file_names int  state  ) 
 

set the state for adding paths to backup file names

by default directories names are added into the filename for backup (with / to _ mapping). call this with state=1 to turn off directory names

void setup_mutate_auto_fit short int  state  ) 
 

Mutate then fit to map.

that we have a map define is checked first

int show_paths_in_display_manager_state  ) 
 

return the internal state

What is the internal flag?

Returns:
1 for "yes, display paths" , 0 for not

char* show_spacegroup int  imol  ) 
 

return the spacegroup of molecule number imol

Returns:
"No Spacegroup" when the spacegroup of a molecule has not been set.

int skeletonize_map int  prune_flag,
int  imol
 

skeletonize molecule number imol

the prune_flag should almost always be 0.

void spin_zoom_trans int  axis,
int  nstep,
float  stepsize,
float  zoom_by,
float  x_rel,
float  y_rel,
float  z_rel
 

Bells and whistles rotation.

spin, zoom and translate.

where axis is either x,y or z, stepsize is in degrees, zoom_by and x_rel etc are how much zoom, x,y,z should have changed by after nstep steps.

void start_graphics_interface  ) 
 

start Gtk (and graphics)

This function is useful if it was not started already (which can be achieved by using the command line argument --no-graphics).

An interface for Ralf

int stereo_mode_state  ) 
 

what is the stero state?

Returns:
1 for in hardware stereo, 2 for side by side stereo, else return 0.

void superpose int  imol1,
int  imol2,
short int  move_imol2_flag
 

simple interface to superposition.

Superpose all residues of imol2 onto imol1. imol1 is reference, we can either move imol2 or copy it to generate a new molecule depending on the vaule of move_imol2_flag (1 for move 0 for copy).

void superpose_with_atom_selection int  imol1,
int  imol2,
const char *  mmdb_atom_sel_str_1,
const char *  mmdb_atom_sel_str_2,
short int  move_imol2_copy_flag
 

detailed interface to superposition.

Superpose the given atom selection (specified by the mmdb atom selection strings) of imol2 onto imol1. imol1 is reference, we can either move imol2 or copy it to generate a new molecule depending on the vaule of move_imol2_flag (1 for move 0 for copy).

void superpose_with_chain_selection int  imol1,
int  imol2,
const char *  chain_imol1,
const char *  chain_imol2,
int  chain_used_flag_imol1,
int  chain_used_flag_imol2,
short int  move_imol2_copy_flag
 

chain-based interface to superposition.

Superpose the given chains of imol2 onto imol1. imol1 is reference, we can either move imol2 or copy it to generate a new molecule depending on the vaule of move_imol2_flag (1 for move 0 for copy).

void swap_map_colours int  imol1,
int  imol2
 

swap the colours of maps

swap the colour of maps imol1 and imol2. Useful to some after running refmac, so that the map to be build into is always the same colour

void symmetry_as_calphas int  mol_no,
short int  state
 

display symmetry as CAs?

pass with state=0 for off, state=1 for on

int symmetry_molecule_rotate_colour_map_state int  imol  ) 
 

should there be colour map rotation (i.e. the hue) change for the symmetry atoms of molecule number imol?

return state=0 for off, state=1 for on

void unset_sticky_sort_by_date  ) 
 

do not sort files in the file selection by date?

removes the sorting of files by date

short int use_graphics_interface_state  ) 
 

shall we start up the Gtk and the graphics window?

if passed the command line argument --no-graphics, coot will not start up gtk itself.

An interface function for Ralf.

void vt_surface int  mode  ) 
 

How should the mouse move the view?

mode=1 for "Flat", mode=2 for "Spherical Surface"

int vt_surface_status  ) 
 

return the mouse view status mode

mode=1 for "Flat", mode=2 for "Spherical Surface"


Generated on Thu Jul 31 17:38:17 2008 for Coot Scripting Interface by  doxygen 1.4.4