Author: bugman Date: Wed Nov 25 18:37:55 2015 New Revision: 28098 URL: http://svn.gna.org/viewcvs/relax?rev=28098&view=rev Log: Created the structure.pca user function front end. This is currently modelled on the structure.rmsd user function framework. Modified: trunk/user_functions/structure.py Modified: trunk/user_functions/structure.py URL: http://svn.gna.org/viewcvs/relax/trunk/user_functions/structure.py?rev=28098&r1=28097&r2=28098&view=diff ============================================================================== --- trunk/user_functions/structure.py (original) +++ trunk/user_functions/structure.py Wed Nov 25 18:37:55 2015 @@ -863,6 +863,56 @@ uf.menu_text = "&mean" uf.gui_icon = "oxygen.categories.applications-education" uf.wizard_size = (800, 600) +uf.wizard_image = WIZARD_IMAGE_PATH + 'structure' + sep + '2JK4.png' + + +# The structure.pca user function. +uf = uf_info.add_uf('structure.pca') +uf.title = "Principle component analysis (PCA) of the motions in an ensemble of structures." +uf.title_short = "PCA analysis of structures." +uf.add_keyarg( + name = "pipes", + py_type = "str_list", + desc_short = "data pipes", + desc = "The data pipes to determine the RMSD for.", + wiz_combo_iter = pipe_names, + wiz_read_only = False, + can_be_none = True +) +uf.add_keyarg( + name = "models", + py_type = "int_list_of_lists", + desc_short = "model list for each data pipe", + desc = "The list of models for each data pipe to determine the RMSD for. The number of elements must match the pipes argument. If no models are given, then all will be used.", + can_be_none = True +) +uf.add_keyarg( + name = "molecules", + py_type = "str_list_of_lists", + desc_short = "molecule list for each data pipe", + desc = "The list of molecules for each data pipe to determine the RMSD for. The RMSD will only be calculated for atoms with identical residue name and number and atom name. The number of elements must match the pipes argument. If no molecules are given, then all will be used.", + can_be_none = True +) +uf.add_keyarg( + name = "atom_id", + py_type = "str", + desc_short = "atom identification string", + desc = "The atom identification string of the coordinates of interest.", + can_be_none = True +) +# Description. +uf.desc.append(Desc_container()) +uf.desc[-1].add_paragraph("Perform a principle component analysis (PCA) for all the chosen structures.") +uf.desc[-1].add_paragraph(paragraph_multi_struct) +uf.desc[-1].add_paragraph(paragraph_atom_id) +# Prompt examples. +uf.desc.append(Desc_container("Prompt examples")) +uf.desc[-1].add_paragraph("To determine the PCA modes of all models in the current data pipe, simply type:") +uf.desc[-1].add_prompt("relax> structure.pcs()") +uf.backend = pipe_control.structure.main.pcs +uf.menu_text = "&pcs" +uf.wizard_height_desc = 400 +uf.wizard_size = (900, 700) uf.wizard_image = WIZARD_IMAGE_PATH + 'structure' + sep + '2JK4.png'