MayaChemTools

Previous  TOC  NextAtomTypes/UFFAtomTypes.pmCode | PDF | PDFA4

NAME

UFFAtomTypes

SYNOPSIS

use AtomTypes::UFFAtomTypes;

use AtomTypes::UFFAtomTypes qw(:all);

DESCRIPTION

UFFAtomTypes class provides the following methods:

new, AssignAtomTypes, GetAllPossibleUFFAtomTypes, GetAllPossibleUFFNonHydrogenAtomTypes, GetUFFAtomTypesData, StringifyUFFAtomTypes

The following functions are available:

GetAllPossibleUFFAtomTypes, GetAllPossibleUFFNonHydrogenAtomTypes, GetUFFAtomTypesData

UFFAtomTypes is derived from AtomTypes class which in turn is derived from ObjectProperty base class that provides methods not explicitly defined in UFFAtomTypes, AtomTypes or ObjectProperty classes using Perl's AUTOLOAD functionality. These methods are generated on-the-fly for a specified object property:

Set<PropertyName>(<PropertyValue>);
$PropertyValue = Get<PropertyName>();
Delete<PropertyName>();

The data file UFFAomTypes.csv distributed with MayaChemTools release contains all possible UFF [ Ref 81-82 ] atom types.

Format of a Five-character mnemonic label used for UFF atom types:

o First two characters correspond to chemical symbol with an underscore as second character for elements with one character symbol
o Third character describes hybridization or geometry: 1 - linear; 2 - trigonal; R - resonant; 3 = tetrahedral; 4 - square planar; 5 - trigonal bipyramidal; 6 - octahedral
o Fourth and fifth characters are used as indicators of alternate parameters: formal oxidation state, bridging hydrogens and so on.

Examples of UFF atom types:

C_3, C_2, C_R, N_3, N_R, O_3, O_2, and so on

METHODS

new
$NewUFFAtomTypes = new AtomTypes::UFFAtomTypes(%NamesAndValues);

Using specified UFFAtomTypes property names and values hash, new method creates a new object and returns a reference to newly created UFFAtomTypes object. By default, the following properties are initialized:

Molecule = ''
Type = 'UFF'
IgnoreHydrogens = 0

Examples:

$UFFAtomTypes = new AtomTypes::UFFAtomTypes( 'Molecule' => $Molecule, 'IgnoreHydrogens' => 0);
AssignAtomTypes
$UFFAtomTypes->AssignAtomTypes();

Assigns UFF atom types to all the atoms in a molecule and returns UFFAtomTypes.

GetAllPossibleUFFAtomTypes
$AllAtomTypesDataRef = $UFFAtomTypes-> GetAllPossibleUFFAtomTypes();
$AllAtomTypesDataRef = AtomTypes::UFFAtomTypes:: GetAllPossibleUFFAtomTypes();

Returns all possible UFF atom types corresponding to hydrogen and non-hydrogen atoms as an array reference.

GetAllPossibleUFFNonHydrogenAtomTypes
$AtomTypesDataRef = $UFFAtomTypes->
                     GetAllPossibleUFFNonHydrogenAtomTypes();
$AtomTypesDataRef = AtomTypes::UFFAtomTypes::
                     GetAllPossibleUFFNonHydrogenAtomTypes();

Returns all possible UFF atom types corresponding to non-hydrogen atoms as an array reference.

GetUFFAtomTypesData
$AtomTypesDataMapRef = $UFFAtomTypes->GetUFFAtomTypesData();
$AtomTypesDataMapRef = AtomTypes::UFFAtomTypes::GetUFFAtomTypesData();

Returns UFF atom types and associated data loaded from UFF data file as a reference to hash with the following hash data format:

@{$UFFAtomTypesDataMap{AtomTypes}} - Array of all possible atom types for all atoms
@{$UFFAtomTypesDataMap{NonHydrogenAtomTypes}} - Array of all possible atom types for non-hydrogen atoms
@{$UFFAtomTypesDataMap->{ColLabels}} - Array of column labels
%{$UFFAtomTypesDataMap->{DataCol<Num>}} - Hash keys pair: DataCol<Num>, AtomType
StringifyUFFAtomTypes
$String = $UFFAtomTypes->StringifyUFFAtomTypes();

Returns a string containing information about UFFAtomTypes object.

AUTHOR

Manish Sud

SEE ALSO

AtomTypes.pm, AtomicInvariantsAtomTypes.pm, DREIDINGAtomTypes.pm, EStateAtomTypes.pm, FunctionalClassAtomTypes.pm, MMFF94AtomTypes.pm, SLogPAtomTypes.pm, SYBYLAtomTypes.pm, TPSAAtomTypes.pm

COPYRIGHT

Copyright (C) 2024 Manish Sud. All rights reserved.

This file is part of MayaChemTools.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

 

 

Previous  TOC  NextAugust 7, 2024AtomTypes/UFFAtomTypes.pm