Hi Hendrik,

the easiest is to patch the mutagenesis wizard. Check the attached
patch, it shows two different methods to activate a new amino acid. The
first method registers rotamers in the rotamer library, the second
method just adds the name. For the second method, you can also use
rotamer angles from some already known amino adic.

Cheers,
  Thomas

Hendrik Mohrmann wrote, On 08/05/13 17:32:
> Hello.
> I would like to use the mutagenesis tool for artificial amino acids,
> that are actually not in the list. I already added a pkl file to
> /usr/share/chempy/fragments
> 
> What other changes would be necessary to find the artificial aa in the
> list? Or would it be easier to write a script? Maybe there are already
> some solution which I could modify?
> 
> All help is appreciated.
> 
> Best, Hendrik

-- 
Thomas Holder
PyMOL Developer
Schrödinger Contractor
diff --git a/modules/pymol/wizard/mutagenesis.py b/modules/pymol/wizard/mutagenesis.py
index c074430..0a8bb5d 100644
--- a/modules/pymol/wizard/mutagenesis.py
+++ b/modules/pymol/wizard/mutagenesis.py
@@ -29,6 +29,8 @@ default_n_cap = 'none'
 default_c_cap = 'none'
 
 _rot_type_xref = {
+    # method 2: rotamers from other known amino acid (optional)
+    'PTR' : 'TYR',
     'GLUH' : 'GLU',
     'ASPH' : 'ASP',
     'ARGN' : 'ARG',
@@ -54,6 +56,13 @@ class Mutagenesis(Wizard):
 
         self.ind_library = io.pkl.fromFile(os.environ['PYMOL_PATH']+
                                            "/data/chempy/sidechains/sc_bb_ind.pkl")
+        # method 1: register rotamers
+        self.ind_library.update([
+            ('SEP': [
+                {('N', 'CA', 'CB', 'OG'): 65.3},
+                {('N', 'CA', 'CB', 'OG'): 179.0},
+            ]),
+        ])
         self.load_library()
         self.status = 0 # 0 no selection, 1 mutagenizing
         self.bump_check = 1
@@ -73,6 +82,8 @@ class Mutagenesis(Wizard):
         residues.extend(['GLY','ALA'])
         residues.extend(['HID','HIE','HIP'])
         residues.extend(['ARGN','LYSN','ASPH','GLUH'])
+        # method 2: just register name
+        residues.extend(['PTR'])
         residues.sort()
         res_copy = deepcopy(residues)
         for a in res_copy:
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
PyMOL-users mailing list ([email protected])
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/[email protected]

Reply via email to