0
|
1 NAME
|
|
2 MolecularVolumeDescriptors
|
|
3
|
|
4 SYNOPSIS
|
|
5 use MolecularDescriptors::MolecularVolumeDescriptors;
|
|
6
|
|
7 use MolecularDescriptors::MolecularVolumeDescriptors qw(:all);
|
|
8
|
|
9 DESCRIPTION
|
|
10 MolecularVolumeDescriptors class provides the following methods:
|
|
11
|
|
12 new, GenerateDescriptors, GetDescriptorNames,
|
|
13 GetVDWAtomRadiiAndVolumesData, StringifyMolecularVolumeDescriptors
|
|
14
|
|
15 MolecularVolumeDescriptors is derived from MolecularDescriptors class
|
|
16 which in turn is derived from ObjectProperty base class that provides
|
|
17 methods not explicitly defined in MolecularVolumeDescriptors,
|
|
18 MolecularDescriptors or ObjectProperty classes using Perl's AUTOLOAD
|
|
19 functionality. These methods are generated on-the-fly for a specified
|
|
20 object property:
|
|
21
|
|
22 Set<PropertyName>(<PropertyValue>);
|
|
23 $PropertyValue = Get<PropertyName>();
|
|
24 Delete<PropertyName>();
|
|
25
|
|
26 van der Waals molecular volume [ Ref 93 ] (A**3/molecule) of a molecule
|
|
27 is calculated using atomic and bonds contributions along with
|
|
28 adjustments for aromatic and non-aromatic rings using the following
|
|
29 equation:
|
|
30
|
|
31 vdwMolecularVolume = SumOfAtomicVDWVolumeContributions
|
|
32 - 5.92 * NumOfBonds
|
|
33 - 14.7 * NumOfAromaticRings
|
|
34 - 3.8 * NumOfNonAromaticRings
|
|
35
|
|
36 van der Waals atomic volume for atoms is taken from data file
|
|
37 VDWAtomRadiiAndVolumes.csv distributed with MayaChemTools. It contains
|
|
38 van der Waals atom radii and atom and volumes data for 38 elements;
|
|
39 Table 2 [ Ref 93 ] contains data for only 15 elements. After converting
|
|
40 valid van der Waals atom radius data from pm (picometer) to A (Angstrom)
|
|
41 available under column name VanderWaalsRadius in
|
|
42 PeriodicTableElementsData.csv data file, van der Waals atom volume is
|
|
43 calculated using: 4/3 * PI * (Radius ** 3). For elements specified in
|
|
44 Table 2 [ Ref 93 ] - H, B, C, N, O, F, Si, P, S, Cl, As, Se, Br, Te, I -
|
|
45 the van der Waals atom radii and calculated atom volumes match the
|
|
46 values in the table.
|
|
47
|
|
48 METHODS
|
|
49 new
|
|
50 $NewMolecularVolumeDescriptors = new MolecularDescriptors::
|
|
51 MolecularVolumeDescriptors(
|
|
52 %NamesAndValues);
|
|
53
|
|
54 Using specified *MolecularVolumeDescriptors* property names and
|
|
55 values hash, new method creates a new object and returns a reference
|
|
56 to newly created MolecularVolumeDescriptors object. By default, the
|
|
57 following properties are initialized:
|
|
58
|
|
59 Molecule = ''
|
|
60 Type = 'MolecularVolume'
|
|
61 @DescriptorNames = ('MolecularVolume')
|
|
62 @DescriptorValues = ('None')
|
|
63
|
|
64 Examples:
|
|
65
|
|
66 $MolecularVolumeDescriptors = new MolecularDescriptors::
|
|
67 MolecularVolumeDescriptors();
|
|
68
|
|
69 $MolecularVolumeDescriptors->SetMolecule($Molecule);
|
|
70 $MolecularVolumeDescriptors->GenerateDescriptors();
|
|
71 print "MolecularVolumeDescriptors: $MolecularVolumeDescriptors\n";
|
|
72
|
|
73 GenerateDescriptors
|
|
74 $MolecularVolumeDescriptors->GenerateDescriptors();
|
|
75
|
|
76 Calculate van der Waals molecular volume descriptor for a molecule
|
|
77 and returns *MolecularVolumeDescriptors*.
|
|
78
|
|
79 GetDescriptorNames
|
|
80 @DescriptorNames = $MolecularVolumeDescriptors->GetDescriptorNames();
|
|
81 @DescriptorNames = MolecularDescriptors::MolecularVolumeDescriptors::
|
|
82 GetDescriptorNames();
|
|
83
|
|
84 Returns all available descriptor names as an array.
|
|
85
|
|
86 GetVDWAtomRadiiAndVolumesData
|
|
87 $VDWVolumeDataMapRef = $MolecularVolumeDescriptors->
|
|
88 GetVDWAtomRadiiAndVolumesData();
|
|
89 $VDWVolumeDataMapRef = MolecularDescriptors::MolecularVolumeDescriptors::
|
|
90 GetVDWAtomRadiiAndVolumesData();
|
|
91
|
|
92 Returns a hash reference to van der Waals atom symbols corresponding
|
|
93 to atom types and associated data loaded from
|
|
94 VDWAtomRadiiAndVolumes.csv data file as a reference to hash with the
|
|
95 following hash data format:
|
|
96
|
|
97 @{$VDWVolumeDataMap{AtomTypes}} - Array of all possible atom
|
|
98 types for all atom symbols
|
|
99 @{$VDWVolumeDataMap->{ColLabels}} - Array of column labels
|
|
100 %{$VDWVolumeDataMap->{DataCol<Num>}} - Hash keys pair:
|
|
101 DataCol<Num>, AtomType
|
|
102
|
|
103 StringifyMolecularVolumeDescriptors
|
|
104 $String = $MolecularVolumeDescriptors->
|
|
105 StringifyMolecularVolumeDescriptors();
|
|
106
|
|
107 Returns a string containing information about
|
|
108 *MolecularVolumeDescriptors* object.
|
|
109
|
|
110 AUTHOR
|
|
111 Manish Sud <msud@san.rr.com>
|
|
112
|
|
113 SEE ALSO
|
|
114 MolecularDescriptors.pm, MolecularDescriptorsGenerator.pm
|
|
115
|
|
116 COPYRIGHT
|
|
117 Copyright (C) 2015 Manish Sud. All rights reserved.
|
|
118
|
|
119 This file is part of MayaChemTools.
|
|
120
|
|
121 MayaChemTools is free software; you can redistribute it and/or modify it
|
|
122 under the terms of the GNU Lesser General Public License as published by
|
|
123 the Free Software Foundation; either version 3 of the License, or (at
|
|
124 your option) any later version.
|
|
125
|