The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

HackaMol::Roles::SymopRole - Fill your coordinates using symmetry operations

VERSION

version 0.000_02

DESCRIPTION

The goal of HackaMol::Roles::SymopRole is to simplify the application of symmetry operations. This role is not loaded with the core; it must be applied as done in the synopsis. This role is envisioned for instances of the HackaMol class, which provides builder.

METHODS

apply_pdbstr_symops

takes two arguments:

      1. a string with one or more symmetry operations.  As the name of the method suggests, the method works for strings formatted as in a
         typical protein databank file.  It will filter for lines containing the SMTRY or BIOMT pattern.

      2. the molecule with the initial coordinates

The method applies the symmetry operators and adds the coordinates to each atom of the molecule.

SYNOPSIS

       ## Symmetry operations using copy and pasted from the PDB 

       my $symops = '
         REMARK 350 APPLY THE FOLLOWING TO CHAINS: A, B                                  
         REMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            
         REMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            
         REMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            
         REMARK 350   BIOMT1   2 -1.000000  0.000000  0.000000     -125.59400            
         REMARK 350   BIOMT2   2  0.000000 -1.000000  0.000000     -125.48300            
         REMARK 350   BIOMT3   2  0.000000  0.000000  1.000000        0.00000    
       '; # from pdb

       say $mol->tmax ; # says 0

       $bldr->apply_pdbstr_symops($symops,$mol);  # will add coordinates for each, even the identity op (the first three)

       $mol->tmax ;     # says 2


       my $enzyme = $mol->select_group("chain E");
       my $inhib  = $mol->select_group("chain I");

WARNING

This is still under active development and may change or just not work. I still need to add warnings to help with bad selections. Let me know if you have problems or suggestions!

AUTHOR

Demian Riccardi <demianriccardi@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Demian Riccardi.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.