# Python script to calculate properties of amino acids and storing them in matrix

I want to make a python script that can get as input sequence of N amino acids, and the output is a matrix of Nx6 containing 6 features. The features are: Computed volume Hydrophobicity Polarity Relative surface accessibility (RSA) Secondary structure (SS) Type I have developed this script :

#Importing Libraries
import numpy as np
import pandas as pd
from Bio.SeqUtils.ProtParam import ProteinAnalysis
from Bio.SeqUtils.ProtParam import ProtParamData
from quantiprot.metrics.aaindex import get_aa2volume, get_aa2hydropathy
from quantiprot.metrics.basic import average

#Input amino acid
my_seq = input("Enter Your Sequence : ")
SEQ = my_seq.upper()

#Analysis
analysed_seq = ProteinAnalysis(SEQ)
MW=  analysed_seq.molecular_weight()
Gravity = analysed_seq.gravy()
aa_composition = analysed_seq.count_amino_acids()
aa_percentage=analysed_seq.get_amino_acids_percent()
HP = analysed_seq.protein_scale(window=7, param_dict=ProtParamData.kd)
Sec_Str = analysed_seq.secondary_structure_fraction()

#Amino Acid Compsoition Calculation
print("\n" ,"AA count:",aa_composition,"\n")

#Molecular Weight Calculation
print("Molecular Weight : ",MW)

#Gravity Calculation
print("\n","Gravity:","\n\n",Gravity)
#Hydrophobicty Calculation by using kd scale
print("\n","Hydrophobicity:","\n\n",HP)
#kd → Kyte & Doolittle Index of Hydrophobicity
#Flex → Normalized average flexibility parameters (B-values)
#hw → Hopp & Wood Index of Hydrophilicity
#em → Emini Surface fractional probability

#Amino Acid Percent Calculation

print("\n","Percentage of Amino Acids in Protein:","\n\n",aa_composition)

#Volume Calculation by using quantiprot library
vol =  get_aa2volume(analysed_seq)
print("\n","Volume of amino acids in protein:","\n\n",str(vol))


I have calculated volume, Hydrophobicity, and SS but I don't know how can I find the type, polarity, and Relative surface accessibility?

plz help me

• Type and polarity are static, right? So just import from some db. Surface accessibility changes based on folding doesn't it? So unless U do something really fancy with alphafold that might be hard... Jul 19 at 1:27
• RSA can be computed with NACCESS which I think also has a BioPython interface Jul 19 at 4:09
• RSA requires a structure. Predicted SS does not, but assigned SS does and is is folds better (bad pun intended). You have also Normalized average flexibility parameters (B-values), which requires both a structure and metadata on that structure as the B-factors depend on the resolution (unless you have a protocol for it, it is not a rabbit hole worth going down, not due to the maths, but due the isotropic and anisotropic business). Jul 19 at 9:03
• Which dB I can use to import type and polarity? Jul 19 at 10:45
• If by "Polarity", you mean global charge, then that's isoelectric point (pI), which is actually useful for the protein engeering folk (pI close to pH is less soluble). If you mean some sort of per-residue value based on charged and polar residues in a window, then that would be something nearly similar to a Kyte & Doolittle Index. The per-voxel surface charge on a protein, requires a structure (and the Advance Poison-Boltzmann Solver). Jul 19 at 13:37