NAME
GeometricalCalculations
VERSION
Version 0.01
SYNOPSIS
This module consists of subroutines that carry out geometrical calculations using the atomic coordinates obtained from a protein structure.
calc_geom
subroutine to calculate delta, theta, and rho angles for an smotif
Input 1: $lvec - vector between the anchor points of the bracing secondary structures
Input 2: $e1 - axis vector for 1st secondary structure
Input 3: $e2 - axis vector for 2nd secondary structure
_getReadingFileHandle subroutine to get a reading file handle for a file.
input: file path name to the file
exist_pdb_code_on_obsoletes check if a four-letters pdb code exist in PDB obsoletes folder it will return the full path name if a match is found. return undef if not file was found
exist_pdb_code_on_obsoletes
input : pdb_code (4fab), chain_id
return : full path name
exist_pdb_code_on_uncompressed
check if a four-letters pdb code exist in uncompressed PDB folder
it will return the full path name if a match is found.
Return undef if not file was found
input : pdb_code (4fab), chain_id
return : full path name
exist_pdb_code_on_alternate
check if a four-letters pdb code exist in user defined alternate
PDB folder
it will return the full path name if a match is found.
Return undef if not file was found
input : pdb_code (4fab), chain_id
return : full path name
get_full_path_name_for_pdb_code_alternate Return a fullpath name for a given four-letter PDB code It will look in USER_SPECIFIC PDB directory
die if not match found
get_full_path_name_for_pdb_code Return a fullpath name for a given four-letter PDB code It will look in obsoletes and uncompressed directories
die if not match found
get_from_file
subroutine to read PDB file and obtain coordinates of backbone atoms.
Input 1: @$data - smotif info (pdb ID, chain ID, start residue, ss1 length, ss2 length, loop length)
Input/Output 2: @$landmarks - output array with smotif landmarks (0, loop start, ss2 start, ss2 end)
Input 3: $string - backbone atom (CA, CB, C, N, or O)
Input/Output 4: $seq - smotif sequence
$VAR1 = [
'/usr/local/databases/pdb//uncompressed/pdb2kl8.ent.gz',
'A',
2,
7,
17,
3,
0,
'EH'
];
translate
subroutine to convert from 3-letter codes to 1-letter codes
convert
subroutine to convert from 1-letter codes to 3-letter codes
COM
subroutine to find the centre of mass of a set of points, presented in 3 vectors
COM2
subroutine to find the centre of mass of a set of points, presented as a single vector
calculate_axis
subroutine to calculate the principal axis of a set of points
(corresponds to the principal eigenvector for the moment matrix)
get_axis subroutine to find the axis vector of a secondary structure, using at least 4 residues for a helix or 2 for a strand
Input 1: Type of secondary structure (H=Helix, E=strand)
Input 2: Option to indicate whether the secondary structure is the first (1) or second (2) part of the smotif
Input 3: Initial residue number of the secondary structure
Input 4: Final residue number of the secondar structure
Input 5-7: Vectors containing the coordinates of C-alpha atoms, N atoms, and C atoms of the smotif
calc_I
subroutine to calculate the matrix of moments from a set of backbone coordinates
Input 1: Secondary structure type
Input 2: Number of backbone atoms;
Input 3: 3-D vector containing the coordinates of C-alpha, N, and C-atoms
calc_evec
subroutine to calculate the eigenvector of a 3x3 matrix for a given eigenvalue
Input 1: Eigenvalue
Input 2: 3x3 matrix
subroutine to project a point onto an axis, given a point on the line
Input 1: Cooridnates of the point
Input 2: Vector representing the axis
Input 3: A point on the line
det
subroutine to find the determinant of a 3x3 matrix
find_eigs
subroutine to find the eigenvalues (ordered) of a 3x3 matrix
matmul
subroutine to multiply two matrices
Input 1: Matrix 1
Input 2: Matrix 2
Input 3: Number of rows in matrix 1
Input 4: Number of columns in matrix 1, also the number of rows in matrix 2
Input 5: Numer of columns in matrix 2
matvec
subroutine to multiply a vector by a matrix
Input 1: Matrix
Input 2: Vector
Input 3: Number of rows in the matrix
Input 4: Number of columns in the matrix, also the number of elements in the vector
vecvec
subroutine to find the outer product of two vectors of the same length
Input 1: Vector 1
Input 2: Vector 2
Input 3: Dimension of vector 1, also dimension of vector 2
find_roots
subroutine to find the roots of a cubic equation of the form x^3+ax^2+bx+cx=0
rotateaxis
subroutine to rotate a point (pt) around an axis (vec) by a given angle (ang)
rotate
subroutine to rotate a point (pt) such that one axis (u) aligns with another (v)
cross
subroutine to find the cross product of two 3-d vectors
Input 1: Concatenated vector whose first three elements represent vector 1 and whose last three represent vector 2
dot2
subroutine to find the dot product of two vectors
Input 1: Concatenated vector whose first half represents vector 1 and whose second half represents vector 2
unit
subroutine to return the unit vector corresponding to a given vector
norm
subroutine to return the 2-norm of a given vector
vecadd
subroutine to add two vectors
Input 1: Scalar factor to multiply the second vector
Input 2: Concatenated vector whose first half represents the first vector
and whose second half represents the second vector
max
subroutine to find the maximum of an array
min
subroutine to find the minimum of an array
dbin
subroutine to Fbin a value from 0-40 using a given binsize
angbin
subroutine to bin a value using a given bin size
pearson
subroutine to find the Pearson correlation coefficient between two data sets
find_rmsd
subroutine to find the RMSD between two sets of points,
using the method described by Theobald
Input 1: Number of points to consider
Input 2: Vector with the first set of coordinates
Input 3: Vector with the second set of coordinates
superpose
subroutine to superpose one set of points onto another
Input 1: Number of points to superpose
Input 2: Vector of points to be used as the superposition template
Input 3: Vector of points to be aligned and superposed
Input 4: Vector of extra points to be superposed (not aligned, since they are "carried along")
dihedral
subroutine to calculate the dihedral angle generated by four atoms
findcb
subroutine to calculate the coordinates of a beta-carbon, given statistically observed tetrahedral geometry######
Input 1: C-alpha coordinates
Input 2: C coordinates
Input 3: N coordinates
findo
pointsonsphere
subroutine to distribute points evenly on a sphere
Input 1: Number of points to distribute
Input 2: Radius of sphere
norm2
subroutine to find the square of the 2-norm of a vector
AUTHORS
Fiserlab Members , <andras at fiserlab.org>
BUGS
Please report any bugs or feature requests to bug-. at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=..
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc GeometricalCalculations
RT: CPAN's request tracker (report bugs here)
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
LICENSE AND COPYRIGHT
Copyright 2015 Fiserlab Members .
This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at:
http://www.perlfoundation.org/artistic_license_2_0
Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.