Source code for Autocorrelation

# -*- coding: utf-8 -*-
#  Copyright (c) 2016-2017, Zhijiang Yao, Jie Dong and Dongsheng Cao
#  All rights reserved.
#  This file is part of the PyBioMed.
#  The contents are covered by the terms of the BSD license
#  which is included in the file license.txt, found at the root
#  of the PyBioMed source tree.
"""
##########################################################################################

This module is used for computing the Autocorrelation descriptors based different

 properties of AADs.You can also input your properties of AADs, then it can help you

to compute Autocorrelation descriptors based on the property of AADs. Currently, You 

can get 720 descriptors for a given protein sequence based on our provided physicochemical

properties of AADs. You can freely use and distribute it. If you hava  any problem, 

you could contact with us timely!

References:

[1]: http://www.genome.ad.jp/dbget/aaindex.html

[2]:Feng, Z.P. and Zhang, C.T. (2000) Prediction of membrane protein types based on

the hydrophobic index of amino acids. J Protein Chem, 19, 269-275.

[3]:Horne, D.S. (1988) Prediction of protein helix content from an autocorrelation

analysis of sequence hydrophobicities. Biopolymers, 27, 451-477.

[4]:Sokal, R.R. and Thomson, B.A. (2006) Population structure inferred by local

spatial autocorrelation: an Usage from an Amerindian tribal population. Am J

Phys Anthropol, 129, 121-131.

Authors: Zhijiang Yao and Dongsheng Cao.

Date: 2016.06.04

Email: gadsby@163.com

##########################################################################################
"""

import math, string

AALetter = ["A", "R", "N", "D", "C", "Q", "E", "G", "H", "I", "L", "K", "M", "F", "P", "S", "T", "W", "Y", "V"]

_Hydrophobicity = {"A": 0.02, "R": -0.42, "N": -0.77, "D": -1.04, "C": 0.77, "Q": -1.10, "E": -1.14, "G": -0.80,
                   "H": 0.26, "I": 1.81, "L": 1.14, "K": -0.41, "M": 1.00, "F": 1.35, "P": -0.09, "S": -0.97,
                   "T": -0.77, "W": 1.71, "Y": 1.11, "V": 1.13}

_AvFlexibility = {"A": 0.357, "R": 0.529, "N": 0.463, "D": 0.511, "C": 0.346, "Q": 0.493, "E": 0.497, "G": 0.544,
                  "H": 0.323, "I": 0.462, "L": 0.365, "K": 0.466, "M": 0.295, "F": 0.314, "P": 0.509, "S": 0.507,
                  "T": 0.444, "W": 0.305, "Y": 0.420, "V": 0.386}

_Polarizability = {"A": 0.046, "R": 0.291, "N": 0.134, "D": 0.105, "C": 0.128, "Q": 0.180, "E": 0.151, "G": 0.000,
                   "H": 0.230, "I": 0.186, "L": 0.186, "K": 0.219, "M": 0.221, "F": 0.290, "P": 0.131, "S": 0.062,
                   "T": 0.108, "W": 0.409, "Y": 0.298, "V": 0.140}

_FreeEnergy = {"A": -0.368, "R": -1.03, "N": 0.0, "D": 2.06, "C": 4.53, "Q": 0.731, "E": 1.77, "G": -0.525, "H": 0.0,
               "I": 0.791, "L": 1.07, "K": 0.0, "M": 0.656, "F": 1.06, "P": -2.24, "S": -0.524, "T": 0.0, "W": 1.60,
               "Y": 4.91, "V": 0.401}

_ResidueASA = {"A": 115.0, "R": 225.0, "N": 160.0, "D": 150.0, "C": 135.0, "Q": 180.0, "E": 190.0, "G": 75.0,
               "H": 195.0, "I": 175.0, "L": 170.0, "K": 200.0, "M": 185.0, "F": 210.0, "P": 145.0, "S": 115.0,
               "T": 140.0, "W": 255.0, "Y": 230.0, "V": 155.0}

_ResidueVol = {"A": 52.6, "R": 109.1, "N": 75.7, "D": 68.4, "C": 68.3, "Q": 89.7, "E": 84.7, "G": 36.3, "H": 91.9,
               "I": 102.0, "L": 102.0, "K": 105.1, "M": 97.7, "F": 113.9, "P": 73.6, "S": 54.9, "T": 71.2, "W": 135.4,
               "Y": 116.2, "V": 85.1}

_Steric = {"A": 0.52, "R": 0.68, "N": 0.76, "D": 0.76, "C": 0.62, "Q": 0.68, "E": 0.68, "G": 0.00, "H": 0.70, "I": 1.02,
           "L": 0.98, "K": 0.68, "M": 0.78, "F": 0.70, "P": 0.36, "S": 0.53, "T": 0.50, "W": 0.70, "Y": 0.70, "V": 0.76}

_Mutability = {"A": 100.0, "R": 65.0, "N": 134.0, "D": 106.0, "C": 20.0, "Q": 93.0, "E": 102.0, "G": 49.0, "H": 66.0,
               "I": 96.0, "L": 40.0, "K": -56.0, "M": 94.0, "F": 41.0, "P": 56.0, "S": 120.0, "T": 97.0, "W": 18.0,
               "Y": 41.0, "V": 74.0}


###You can continuely add other properties of AADs to compute the descriptors of protein sequence.


_AAProperty = (
_Hydrophobicity, _AvFlexibility, _Polarizability, _FreeEnergy, _ResidueASA, _ResidueVol, _Steric, _Mutability)

_AAPropertyName = (
'_Hydrophobicity', '_AvFlexibility', '_Polarizability', '_FreeEnergy', '_ResidueASA', '_ResidueVol', '_Steric',
'_Mutability')


##################################################################################################
def _mean(listvalue):
    """
    The mean value of the list data.
    """
    return sum(listvalue) / len(listvalue)


##################################################################################################
def _std(listvalue, ddof=1):
    """
    The standard deviation of the list data.
    """
    mean = _mean(listvalue)
    temp = [math.pow(i - mean, 2) for i in listvalue]
    res = math.sqrt(sum(temp) / (len(listvalue) - ddof))
    return res


##################################################################################################

[docs]def NormalizeEachAAP(AAP): """ #################################################################################### All of the amino acid indices are centralized and standardized before the calculation. Usage: result=NormalizeEachAAP(AAP) Input: AAP is a dict form containing the properties of 20 amino acids. Output: result is the a dict form containing the normalized properties of 20 amino acids. #################################################################################### """ if len(AAP.values()) != 20: print 'You can not input the correct number of properities of Amino acids!' else: Result = {} for i, j in AAP.items(): Result[i] = (j - _mean(AAP.values())) / _std(AAP.values(), ddof=0) return Result
[docs]def CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, AAP, AAPName): """ #################################################################################### you can use the function to compute MoreauBrotoAuto descriptors for different properties based on AADs. Usage: result=CalculateEachNormalizedMoreauBrotoAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAP is a dict form containing the properties of 20 amino acids (e.g., _AvFlexibility). AAPName is a string used for indicating the property (e.g., '_AvFlexibility'). Output: result is a dict form containing 30 Normalized Moreau-Broto autocorrelation descriptors based on the given property. #################################################################################### """ AAPdic = NormalizeEachAAP(AAP) Result = {} for i in range(1, 31): temp = 0 for j in range(len(ProteinSequence) - i): temp = temp + AAPdic[ProteinSequence[j]] * AAPdic[ProteinSequence[j + 1]] if len(ProteinSequence) - i == 0: Result['MoreauBrotoAuto' + AAPName + str(i)] = round(temp / (len(ProteinSequence)), 3) else: Result['MoreauBrotoAuto' + AAPName + str(i)] = round(temp / (len(ProteinSequence) - i), 3) return Result
[docs]def CalculateEachMoranAuto(ProteinSequence, AAP, AAPName): """ #################################################################################### you can use the function to compute MoranAuto descriptors for different properties based on AADs. Usage: result=CalculateEachMoranAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAP is a dict form containing the properties of 20 amino acids (e.g., _AvFlexibility). AAPName is a string used for indicating the property (e.g., '_AvFlexibility'). Output: result is a dict form containing 30 Moran autocorrelation descriptors based on the given property. #################################################################################### """ AAPdic = NormalizeEachAAP(AAP) cds = 0 for i in AALetter: cds = cds + (ProteinSequence.count(i)) * (AAPdic[i]) Pmean = cds / len(ProteinSequence) cc = [] for i in ProteinSequence: cc.append(AAPdic[i]) K = (_std(cc, ddof=0)) ** 2 Result = {} for i in range(1, 31): temp = 0 for j in range(len(ProteinSequence) - i): temp = temp + (AAPdic[ProteinSequence[j]] - Pmean) * (AAPdic[ProteinSequence[j + i]] - Pmean) if len(ProteinSequence) - i == 0: Result['MoranAuto' + AAPName + str(i)] = round(temp / (len(ProteinSequence)) / K, 3) else: Result['MoranAuto' + AAPName + str(i)] = round(temp / (len(ProteinSequence) - i) / K, 3) return Result
[docs]def CalculateEachGearyAuto(ProteinSequence, AAP, AAPName): """ #################################################################################### you can use the function to compute GearyAuto descriptors for different properties based on AADs. Usage: result=CalculateEachGearyAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAP is a dict form containing the properties of 20 amino acids (e.g., _AvFlexibility). AAPName is a string used for indicating the property (e.g., '_AvFlexibility'). Output: result is a dict form containing 30 Geary autocorrelation descriptors based on the given property. #################################################################################### """ AAPdic = NormalizeEachAAP(AAP) cc = [] for i in ProteinSequence: cc.append(AAPdic[i]) K = ((_std(cc)) ** 2) * len(ProteinSequence) / (len(ProteinSequence) - 1) Result = {} for i in range(1, 31): temp = 0 for j in range(len(ProteinSequence) - i): temp = temp + (AAPdic[ProteinSequence[j]] - AAPdic[ProteinSequence[j + i]]) ** 2 if len(ProteinSequence) - i == 0: Result['GearyAuto' + AAPName + str(i)] = round(temp / (2 * (len(ProteinSequence))) / K, 3) else: Result['GearyAuto' + AAPName + str(i)] = round(temp / (2 * (len(ProteinSequence) - i)) / K, 3) return Result
##################################################################################################
[docs]def CalculateNormalizedMoreauBrotoAuto(ProteinSequence, AAProperty, AAPropertyName): """ #################################################################################### A method used for computing MoreauBrotoAuto for all properties. Usage: result=CalculateNormalizedMoreauBrotoAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAProperty is a list or tuple form containing the properties of 20 amino acids (e.g., _AAProperty). AAPName is a list or tuple form used for indicating the property (e.g., '_AAPropertyName'). Output: result is a dict form containing 30*p Normalized Moreau-Broto autocorrelation descriptors based on the given properties. #################################################################################### """ Result = {} for i in range(len(AAProperty)): Result[AAPropertyName[i]] = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, AAProperty[i], AAPropertyName[i]) return Result
[docs]def CalculateMoranAuto(ProteinSequence, AAProperty, AAPropertyName): """ #################################################################################### A method used for computing MoranAuto for all properties Usage: result=CalculateMoranAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAProperty is a list or tuple form containing the properties of 20 amino acids (e.g., _AAProperty). AAPName is a list or tuple form used for indicating the property (e.g., '_AAPropertyName'). Output: result is a dict form containing 30*p Moran autocorrelation descriptors based on the given properties. #################################################################################### """ Result = {} for i in range(len(AAProperty)): Result[AAPropertyName[i]] = CalculateEachMoranAuto(ProteinSequence, AAProperty[i], AAPropertyName[i]) return Result
[docs]def CalculateGearyAuto(ProteinSequence, AAProperty, AAPropertyName): """ #################################################################################### A method used for computing GearyAuto for all properties Usage: result=CalculateGearyAuto(protein,AAP,AAPName) Input: protein is a pure protein sequence. AAProperty is a list or tuple form containing the properties of 20 amino acids (e.g., _AAProperty). AAPName is a list or tuple form used for indicating the property (e.g., '_AAPropertyName'). Output: result is a dict form containing 30*p Geary autocorrelation descriptors based on the given properties. #################################################################################### """ Result = {} for i in range(len(AAProperty)): Result[AAPropertyName[i]] = CalculateEachGearyAuto(ProteinSequence, AAProperty[i], AAPropertyName[i]) return Result
########################NormalizedMoreauBorto##################################
[docs]def CalculateNormalizedMoreauBrotoAutoHydrophobicity(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on hydrophobicity. Usage: result=CalculateNormalizedMoreauBrotoAutoHydrophobicity(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on Hydrophobicity. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _Hydrophobicity, '_Hydrophobicity') return result
[docs]def CalculateNormalizedMoreauBrotoAutoAvFlexibility(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on AvFlexibility. Usage: result=CalculateNormalizedMoreauBrotoAutoAvFlexibility(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on AvFlexibility. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _AvFlexibility, '_AvFlexibility') return result
[docs]def CalculateNormalizedMoreauBrotoAutoPolarizability(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on Polarizability. Usage: result=CalculateNormalizedMoreauBrotoAutoPolarizability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on Polarizability. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _Polarizability, '_Polarizability') return result
[docs]def CalculateNormalizedMoreauBrotoAutoFreeEnergy(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on FreeEnergy. Usage: result=CalculateNormalizedMoreauBrotoAutoFreeEnergy(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on FreeEnergy. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _FreeEnergy, '_FreeEnergy') return result
[docs]def CalculateNormalizedMoreauBrotoAutoResidueASA(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on ResidueASA. Usage: result=CalculateNormalizedMoreauBrotoAutoResidueASA(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on ResidueASA. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _ResidueASA, '_ResidueASA') return result
[docs]def CalculateNormalizedMoreauBrotoAutoResidueVol(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on ResidueVol. Usage: result=CalculateNormalizedMoreauBrotoAutoResidueVol(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on ResidueVol. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _ResidueVol, '_ResidueVol') return result
[docs]def CalculateNormalizedMoreauBrotoAutoSteric(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on Steric. Usage: result=CalculateNormalizedMoreauBrotoAutoSteric(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on Steric. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _Steric, '_Steric') return result
[docs]def CalculateNormalizedMoreauBrotoAutoMutability(ProteinSequence): """ #################################################################################### Calculte the NormalizedMoreauBorto Autocorrelation descriptors based on Mutability. Usage: result=CalculateNormalizedMoreauBrotoAutoMutability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Normalized Moreau-Broto Autocorrelation descriptors based on Mutability. #################################################################################### """ result = CalculateEachNormalizedMoreauBrotoAuto(ProteinSequence, _Mutability, '_Mutability') return result
############################################################################ ##############################MoranAuto######################################
[docs]def CalculateMoranAutoHydrophobicity(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on hydrophobicity. Usage: result=CalculateMoranAutoHydrophobicity(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on hydrophobicity. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _Hydrophobicity, '_Hydrophobicity') return result
[docs]def CalculateMoranAutoAvFlexibility(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on AvFlexibility. Usage: result=CalculateMoranAutoAvFlexibility(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on AvFlexibility. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _AvFlexibility, '_AvFlexibility') return result
[docs]def CalculateMoranAutoPolarizability(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on Polarizability. Usage: result=CalculateMoranAutoPolarizability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on Polarizability. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _Polarizability, '_Polarizability') return result
[docs]def CalculateMoranAutoFreeEnergy(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on FreeEnergy. Usage: result=CalculateMoranAutoFreeEnergy(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on FreeEnergy. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _FreeEnergy, '_FreeEnergy') return result
[docs]def CalculateMoranAutoResidueASA(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on ResidueASA. Usage: result=CalculateMoranAutoResidueASA(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on ResidueASA. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _ResidueASA, '_ResidueASA') return result
[docs]def CalculateMoranAutoResidueVol(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on ResidueVol. Usage: result=CalculateMoranAutoResidueVol(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on ResidueVol. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _ResidueVol, '_ResidueVol') return result
[docs]def CalculateMoranAutoSteric(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on AutoSteric. Usage: result=CalculateMoranAutoSteric(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on AutoSteric. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _Steric, '_Steric') return result
[docs]def CalculateMoranAutoMutability(ProteinSequence): """ #################################################################################### Calculte the MoranAuto Autocorrelation descriptors based on Mutability. Usage: result=CalculateMoranAutoMutability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Moran Autocorrelation descriptors based on Mutability. #################################################################################### """ result = CalculateEachMoranAuto(ProteinSequence, _Mutability, '_Mutability') return result
############################################################################ ################################GearyAuto#####################################
[docs]def CalculateGearyAutoHydrophobicity(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on hydrophobicity. Usage: result=CalculateGearyAutoHydrophobicity(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on hydrophobicity. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _Hydrophobicity, '_Hydrophobicity') return result
[docs]def CalculateGearyAutoAvFlexibility(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on AvFlexibility. Usage: result=CalculateGearyAutoAvFlexibility(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on AvFlexibility. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _AvFlexibility, '_AvFlexibility') return result
[docs]def CalculateGearyAutoPolarizability(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on Polarizability. Usage: result=CalculateGearyAutoPolarizability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on Polarizability. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _Polarizability, '_Polarizability') return result
[docs]def CalculateGearyAutoFreeEnergy(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on FreeEnergy. Usage: result=CalculateGearyAutoFreeEnergy(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on FreeEnergy. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _FreeEnergy, '_FreeEnergy') return result
[docs]def CalculateGearyAutoResidueASA(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on ResidueASA. Usage: result=CalculateGearyAutoResidueASA(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on ResidueASA. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _ResidueASA, '_ResidueASA') return result
[docs]def CalculateGearyAutoResidueVol(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on ResidueVol. Usage: result=CalculateGearyAutoResidueVol(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on ResidueVol. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _ResidueVol, '_ResidueVol') return result
[docs]def CalculateGearyAutoSteric(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on Steric. Usage: result=CalculateGearyAutoSteric(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on Steric. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _Steric, '_Steric') return result
[docs]def CalculateGearyAutoMutability(ProteinSequence): """ #################################################################################### Calculte the GearyAuto Autocorrelation descriptors based on Mutability. Usage: result=CalculateGearyAutoMutability(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30 Geary Autocorrelation descriptors based on Mutability. #################################################################################### """ result = CalculateEachGearyAuto(ProteinSequence, _Mutability, '_Mutability') return result
##################################################################################################
[docs]def CalculateNormalizedMoreauBrotoAutoTotal(ProteinSequence): """ #################################################################################### A method used for computing normalized Moreau Broto autocorrelation descriptors based on 8 proterties of AADs. Usage: result=CalculateNormalizedMoreauBrotoAutoTotal(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30*8=240 normalized Moreau Broto autocorrelation descriptors based on the given properties(i.e., _AAPropert). #################################################################################### """ result = {} result.update(CalculateNormalizedMoreauBrotoAutoHydrophobicity(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoAvFlexibility(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoPolarizability(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoFreeEnergy(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoResidueASA(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoResidueVol(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoSteric(ProteinSequence)) result.update(CalculateNormalizedMoreauBrotoAutoMutability(ProteinSequence)) return result
[docs]def CalculateMoranAutoTotal(ProteinSequence): """ #################################################################################### A method used for computing Moran autocorrelation descriptors based on 8 properties of AADs. Usage: result=CalculateMoranAutoTotal(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30*8=240 Moran autocorrelation descriptors based on the given properties(i.e., _AAPropert). #################################################################################### """ result = {} result.update(CalculateMoranAutoHydrophobicity(ProteinSequence)) result.update(CalculateMoranAutoAvFlexibility(ProteinSequence)) result.update(CalculateMoranAutoPolarizability(ProteinSequence)) result.update(CalculateMoranAutoFreeEnergy(ProteinSequence)) result.update(CalculateMoranAutoResidueASA(ProteinSequence)) result.update(CalculateMoranAutoResidueVol(ProteinSequence)) result.update(CalculateMoranAutoSteric(ProteinSequence)) result.update(CalculateMoranAutoMutability(ProteinSequence)) return result
[docs]def CalculateGearyAutoTotal(ProteinSequence): """ #################################################################################### A method used for computing Geary autocorrelation descriptors based on 8 properties of AADs. Usage: result=CalculateGearyAutoTotal(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30*8=240 Geary autocorrelation descriptors based on the given properties(i.e., _AAPropert). #################################################################################### """ result = {} result.update(CalculateGearyAutoHydrophobicity(ProteinSequence)) result.update(CalculateGearyAutoAvFlexibility(ProteinSequence)) result.update(CalculateGearyAutoPolarizability(ProteinSequence)) result.update(CalculateGearyAutoFreeEnergy(ProteinSequence)) result.update(CalculateGearyAutoResidueASA(ProteinSequence)) result.update(CalculateGearyAutoResidueVol(ProteinSequence)) result.update(CalculateGearyAutoSteric(ProteinSequence)) result.update(CalculateGearyAutoMutability(ProteinSequence)) return result
##################################################################################################
[docs]def CalculateAutoTotal(ProteinSequence): """ #################################################################################### A method used for computing all autocorrelation descriptors based on 8 properties of AADs. Usage: result=CalculateGearyAutoTotal(protein) Input: protein is a pure protein sequence. Output: result is a dict form containing 30*8*3=720 normalized Moreau Broto, Moran, and Geary autocorrelation descriptors based on the given properties(i.e., _AAPropert). #################################################################################### """ result = {} result.update(CalculateNormalizedMoreauBrotoAutoTotal(ProteinSequence)) result.update(CalculateMoranAutoTotal(ProteinSequence)) result.update(CalculateGearyAutoTotal(ProteinSequence)) return result
################################################################################################## if __name__ == "__main__": protein = "ADGCGVGEGTGQGPMCNCMCMKWVYADEDAADLESDSFADEDASLESDSFPWSNQRVFCSFADEDAS" temp1 = CalculateNormalizedMoreauBrotoAuto(protein, AAProperty=_AAProperty, AAPropertyName=_AAPropertyName) # print temp1 temp2 = CalculateMoranAutoMutability(protein) print temp2 print len(CalculateAutoTotal(protein))