Author: bugman Date: Sun Nov 4 14:01:46 2007 New Revision: 3404 URL: http://svn.gna.org/viewcvs/relax?rev=3404&view=rev Log: Created the residue.renumber() user function. Modified: 1.3/generic_fns/residue.py 1.3/prompt/residue.py Modified: 1.3/generic_fns/residue.py URL: http://svn.gna.org/viewcvs/relax/1.3/generic_fns/residue.py?rev=3404&r1=3403&r2=3404&view=diff ============================================================================== --- 1.3/generic_fns/residue.py (original) +++ 1.3/generic_fns/residue.py Sun Nov 4 14:01:46 2007 @@ -189,7 +189,7 @@ def renumber(res_id, new_number=None): """Function for renumbering residues. - @param res_id: The identifier string for the residue(s) to renumber. + @param res_id: The identifier string for the residue to renumber. @type res_id: str @param new_number: The new residue number. @type new_number: str Modified: 1.3/prompt/residue.py URL: http://svn.gna.org/viewcvs/relax/1.3/prompt/residue.py?rev=3404&r1=3403&r2=3404&view=diff ============================================================================== --- 1.3/prompt/residue.py (original) +++ 1.3/prompt/residue.py Sun Nov 4 14:01:46 2007 @@ -272,6 +272,55 @@ residue.create(res_num=res_num, new_name=new_name) + def renumber(self, res_id=None, new_number=None): + """Function for renumbering an existent residue. + + Keyword Arguments + ~~~~~~~~~~~~~~~~~ + + res_id: The residue identification string corresponding to a single residue. + + new_number: The new residue number. + + + Description + ~~~~~~~~~~~ + + This function simply allows residues to be renumbered. The new number cannot correspond to + an existing residue. + + + Examples + ~~~~~~~~ + + The following sequence of commands will renumber the sequence {1 ALA, 2 GLY, 3 LYS} to + {101 ALA, 102 GLY, 103 LYS}: + + relax> residue.renumber(':1', 101) + relax> residue.renumber(':2', 102) + relax> residue.renumber(':3', 103) + + """ + + # Function intro text. + if self.__relax__.interpreter.intro: + text = sys.ps3 + "residue.renumber(" + text = text + ", res_id=" + `res_id` + text = text + ", new_number=" + `new_number` + ")" + print text + + # Residue identification string. + if type(res_id) != int: + raise RelaxIntError, ('residue identification string', res_id) + + # New residue number. + if type(new_number) != str: + raise RelaxStrError, ('new residue number', new_number) + + # Execute the functional code. + residue.create(res_num=res_num, new_number=new_number) + + # Docstring modification. ######################### @@ -280,3 +329,4 @@ copy.__doc__ = copy.__doc__ + "\n\n" + id_string_doc + "\n" delete.__doc__ = delete.__doc__ + "\n\n" + id_string_doc + "\n" rename.__doc__ = rename.__doc__ + "\n\n" + id_string_doc + "\n" + renumber.__doc__ = renumber.__doc__ + "\n\n" + id_string_doc + "\n"