Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/MolecularDescriptorsGenerator.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/modules/txt/MolecularDescriptorsGenerator.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,334 @@ +NAME + MolecularDescriptorsGenerator + +SYNOPSIS + use MolecularDescriptors::MolecularDescriptorsGenerator; + + use MolecularDescriptors::MolecularDescriptorsGenerator qw(:all); + +DESCRIPTION + MolecularDescriptorsGenerator class provides the following methods: + + new, GenerateDescriptors, GetAvailableClassAndDescriptorNames, + GetAvailableClassNameForDescriptorName, + GetAvailableDescriptorClassNames, GetAvailableDescriptorNames, + GetAvailableDescriptorNamesForDescriptorClass, + GetDescriptorClassParameters, GetDescriptorNames, + GetDescriptorNamesAndValues, GetDescriptorValueByName, + GetDescriptorValues, GetRuleOf3DescriptorNames, + GetRuleOf5DescriptorNames, IsDescriptorClassNameAvailable, + IsDescriptorNameAvailable, IsDescriptorsGenerationSuccessful, + SetDescriptorClassParameters, SetDescriptorNames, SetMode, SetMolecule, + StringifyMolecularDescriptorsGenerator + + MolecularDescriptorsGenerator is derived from is derived from + ObjectProperty base class that provides methods not explicitly defined + in MolecularDescriptorsGenerator 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>(); + + MolecularDescriptorsGenerator is designed to provide a plug-in + environment for molecular descriptors development. The molecular + descriptor class modules available in MolecularDescriptors directory + under MayaChemTools/lib directory are automatically detected and loaded + into the system. The descriptor names provided by each descriptor class + module through its GetDescriptorNames function are retrieved and are + made available for calculations of their values for a specified + molecule. + + Any combination of available descriptor names can be specified during + calculation of descriptor values using GenerateDescriptors method. The + current release of MayaChemTools supports generation of four sets of + descriptors: All available descriptors, rule of 5 or 3 descriptors, or a + specified set of descriptor names. + + RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, + HydrogenBondDonors, HydrogenBondAcceptors, SLogP. RuleOf5 states: + MolecularWeight <= 500, HydrogenBondDonors <= 5, HydrogenBondAcceptors + <= 10, and logP <= 5. + + RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, + RotatableBonds, HydrogenBondDonors, HydrogenBondAcceptors, SLogP, TPSA. + RuleOf3 states: MolecularWeight <= 300, RotatableBonds <= 3, + HydrogenBondDonors <= 3, HydrogenBondAcceptors <= 3, logP <= 3, and TPSA + <= 60. + + Before calculation of a specified set of descriptors by + GenerateDescriptors method, a set of descriptor calculation control + parameters for a specific descriptor class name can be set using + SetDescriptorClassParameters method. The specified control parameter + names and values are simply passed on to specified descriptor class + during instantiation of descriptor class object without performing any + validation of parameter names and associated values. It's up to the + appropriate descriptor class methods to validate these parameters and + values. In addition to specified parameter names and values, the + parameter hash must also contain descriptor class name as key and value + pair with DescriptorClassName as key with class name as value. + + METHODS + new + $NewMolecularDescriptorsGenerator = new MolecularDescriptors:: + MolecularDescriptorsGenerator( + %NamesAndValues); + + Using specified *MolecularDescriptorsGenerator* property names and + values hash, new method creates a new object and returns a reference + to newly created MolecularDescriptorsGenerator object. By default, + the following properties are initialized: + + Mode = 'All' + @{$This->{DescriptorNames}} = () + %{$This->{DescriptorClassParameters}} = () + @{$This->{DescriptorClassNames}} = () + %{$This->{DescriptorClassObjects}} = () + @{$This->{DescriptorValues}} = () + + Examples: + + $MolecularDescriptorsGenerator = new MolecularDescriptors:: + MolecularDescriptorsGenerator( + 'Molecule' => $Molecule); + + @DescriptorNames = qw(MolecularWeight HydrogenBondDonors Fsp3Carbons) + $MolecularDescriptorsGenerator = new MolecularDescriptors:: + MolecularDescriptorsGenerator( + 'Mode' => 'Specify', + 'DescriptorNames' => \@DescriptorNames); + + $MolecularDescriptorsGenerator->SetDescriptorClassParameters( + 'DescriptorClassName' => 'WeightAndMassDescriptors', + 'WeightPrecision' => 2, + 'MassPrecision' => 2); + + $MolecularDescriptorsGenerator->SetDescriptorClassParameters( + 'DescriptorClassName' => 'HydrogenBondsDescriptors', + 'HydrogenBondsType' => 'HBondsType1'); + + $MolecularDescriptorsGenerator->SetMolecule($Molecule); + $MolecularDescriptorsGenerator->GenerateDescriptors(); + print "MolecularDescriptorsGenerator: $MolecularDescriptorsGenerator\n"; + + GenerateDescriptors + $MolecularDescriptorsGenerator->GenerateDescriptors(); + + Calculates descriptor values for specified descriptors and returns + *MolecularDescriptorsGenerator*. + + Descriptor class objects are instantiated only once at first + invocation. During subsequent calls to GenerateDescriptors method, + descriptor values are initialized and GenerateDescriptors method + provided by descriptor class is used to calculate descriptor values + for specified descriptors. + + GetAvailableClassAndDescriptorNames + %ClassAndDescriptorNames = $MolecularDescriptorsGenerator-> + GetAvailableClassAndDescriptorNames(); + %ClassAndDescriptorNames = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetAvailableClassAndDescriptorNames(); + + Returns available descriptors class and descriptors names as a hash + containing key and value pairs corresponding to class name and an + array of descriptor names available for the class. + + GetAvailableClassNameForDescriptorName + $DescriptorClassName = $MolecularDescriptorsGenerator-> + GetAvailableClassNameForDescriptorName($DescriptorName); + + $DescriptorClassName = MolecularDescriptors::MolecularDescriptorsGenerator:: + GetAvailableClassNameForDescriptorName($DescriptorName); + + Returns available descriptor class name for a descriptor name. + + GetAvailableDescriptorClassNames + $Return = $MolecularDescriptorsGenerator->GetAvailableDescriptorClassNames(); + + @DescriptorClassNames = $MolecularDescriptorsGenerator-> + GetAvailableDescriptorClassNames(); + @DescriptorClassNames = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetAvailableDescriptorClassNames(); + + Returns available descriptor class names as an array or number of + available descriptor class names in scalar context. + + GetAvailableDescriptorNames + @DescriptorNames = $MolecularDescriptorsGenerator-> + GetAvailableDescriptorNames(); + @DescriptorNames = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetAvailableDescriptorNames(); + + Returns available descriptor names as an array or number of + available descriptor names in scalar context. + + GetAvailableDescriptorNamesForDescriptorClass + @DescriptorNames = $MolecularDescriptorsGenerator-> + GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName); + @DescriptorNames = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetAvailableDescriptorNamesForDescriptorClass($DescriptorClassName); + + Returns available descriptors names for a descriptor class as an + array or number of available descriptor names in scalar context. + + GetDescriptorClassParameters + $DescriptorClassParametersRef = $MolecularDescriptorsGenerator-> + GetDescriptorClassParameters(); + $DescriptorClassParametersRef = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetDescriptorClassParameters(); + + Returns descriptor name parameters as a reference to hash of hashes + with hash keys corresponding to class name and class parameter name + with hash value as class parameter value. + + GetDescriptorNames + @DescriptorNames = $MolecularDescriptorsGenerator->GetDescriptorNames(); + @DescriptorNames = MolecularDescriptors::MolecularDescriptorsGenerator:: + GetDescriptorNames(); + + Returns all available descriptor names as an array or number of + available descriptors in scalar context. + + GetDescriptorNamesAndValues + %NamesAndValues = $MolecularDescriptorsGenerator-> + GetDescriptorNamesAndValues(); + + Returns calculated molecular descriptor names and values as a hash + with descriptor names and values as hash key and value pairs. + + GetDescriptorValueByName + $Value = $MolecularDescriptorsGenerator-> + GetDescriptorValueByName($Name); + + Returns calculated descriptor values for a specified descriptor + name. + + GetDescriptorValues + @DescriptorValues = $MolecularDescriptorsGenerator->GetDescriptorValues(); + + Returns all calculated descriptor values as an array corresponding + to specified descriptor names. + + GetRuleOf3DescriptorNames + @DescriptorNames = $MolecularDescriptorsGenerator-> + GetRuleOf3DescriptorNames(); + @DescriptorNames = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + GetRuleOf3DescriptorNames(); + + Returns rule of 3 descriptor names as an array or number of rule of + 3 descriptors in scalar context. + + RuleOf3 [ Ref 92 ] descriptor names are: MolecularWeight, + RotatableBonds, HydrogenBondDonors, HydrogenBondAcceptors, SLogP, + TPSA. RuleOf3 states: MolecularWeight <= 300, RotatableBonds <= 3, + HydrogenBondDonors <= 3, HydrogenBondAcceptors <= 3, logP <= 3, and + TPSA <= 60. + + GetRuleOf5DescriptorNames + @DescriptorNames = $MolecularDescriptorsGenerator-> + GetRuleOf5DescriptorNames(); + @DescriptorNames = $MolecularDescriptorsGenerator:: + GetRuleOf5DescriptorNames(); + + Returns rule of 5 descriptor names as an array or number of rule of + 4 descriptors in scalar context. + + RuleOf5 [ Ref 91 ] descriptor names are: MolecularWeight, + HydrogenBondDonors, HydrogenBondAcceptors, SLogP. RuleOf5 states: + MolecularWeight <= 500, HydrogenBondDonors <= 5, + HydrogenBondAcceptors <= 10, and logP <= 5. + + IsDescriptorClassNameAvailable + $Status = $MolecularDescriptorsGenerator-> + IsDescriptorClassNameAvailable($ClassName); + $Status = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + IsDescriptorClassNameAvailable($ClassName); + + Returns 1 or 0 based on whether specified descriptor class name is + available. + + IsDescriptorNameAvailable + $Status = $MolecularDescriptorsGenerator-> + IsDescriptorNameAvailable($DescriptorName); + $Status = MolecularDescriptors:: + MolecularDescriptorsGenerator:: + IsDescriptorNameAvailable($DescriptorName); + + Returns 1 or 0 based on whether specified descriptor name is + available. + + IsDescriptorsGenerationSuccessful + $Status = $MolecularDescriptorsGenerator-> + IsDescriptorsGenerationSuccessful(); + + Returns 1 or 0 based on whether descriptors generation is + successful. + + SetDescriptorClassParameters + $MolecularDescriptorsGenerator->SetDescriptorClassParameters( + %NamesAndValues); + + Sets descriptor calculation control parameters for a specified + descriptor class name and returns *MolecularDescriptorsGenerator*. + + The specified parameter names and values are simply passed on to + specified descriptor class during instantiation of descriptor class + object without any performing any validation of parameter names and + associated values. It's up to the appropriate descriptor class + methods to validate these parameters and values. + + In addition to specified parameter names and values, the parameter + hash must also contain descriptor class name as key and value pair + with DescriptorClassName as key with class name as value. + + SetDescriptorNames + $MolecularDescriptorsGenerator->SetDescriptorNames(@Names); + $MolecularDescriptorsGenerator->SetDescriptorNames(\@Names); + + Sets descriptor names to use for generating descriptor values using + an array or reference to an array and returns + *MolecularDescriptorsGenerator*. + + SetMode + $MolecularDescriptorsGenerator->SetMode($Mode); + + Sets descriptors generation mode and returns + *MolecularDescriptorsGenerator*. Possible *Mode* values: *All, + RuleOf5, RuleOf3, Specify*. + + SetMolecule + $MolecularDescriptorsGenerator->SetMolecule($Molecule); + + Sets molecule to use during calculation of molecular descriptors and + returns *MolecularDescriptorsGenerator*. + + StringifyMolecularDescriptorsGenerator + $String = $MolecularDescriptorsGenerator->StringifyMolecularDescriptorsGenerator(); + + Returns a string containing information about + *MolecularDescriptorsGenerator* object. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + MolecularDescriptors.pm + +COPYRIGHT + Copyright (C) 2015 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. +