Back to index

python-biopython  1.60
test_ProtParam.py
Go to the documentation of this file.
00001 from Bio.SeqUtils import ProtParam, ProtParamData
00002 
00003 def PrintDictionary(MyDict):
00004     for i in sorted(MyDict):
00005         print "%s\t%.2f" %(i, MyDict[i])
00006     print ""
00007 
00008 X = ProtParam.ProteinAnalysis("MAEGEITTFTALTEKFNLPPGNYKKPKLLYCSNGGHFLRILPDGTVDGTRDRSDQHIQLQLSAESVGEVYIKSTETGQYLAMDTSGLLYGSQTPSEECLFLERLEENHYNTYTSKKHAEKNWFVGLKKNGSCKRGPRTHYGQKAILFLPLPV")
00009 
00010 print "Amino acid\tCount"
00011 PrintDictionary(X.count_amino_acids())
00012 
00013 print "Amino acid\tFraction"
00014 PrintDictionary(X.get_amino_acids_percent())
00015 
00016 print "Molecular weight of test protein: %.2f" % X.molecular_weight()
00017 print "Aromaticity of test protein: %.2f" % X.aromaticity()
00018 print "Instability index of test protein: %.2f" % X.instability_index()
00019 
00020 flexibility = X.flexibility()
00021 expected_flexibility = [0.9825119047619049, 1.0166904761904763, 0.9947857142857144, 0.9660238095238095, 0.9890714285714285, 0.9737261904761906, 0.9789166666666669, 1.004547619047619, 1.0235357142857144, 1.0163214285714286, 0.981297619047619, 1.0388809523809523, 0.9956309523809524, 1.0379047619047619, 1.014654761904762, 1.015154761904762, 1.0317619047619049, 1.0100833333333334, 1.0738333333333334, 1.0460952380952382, 1.0333571428571429, 1.0429761904761905, 0.9842738095238095, 0.9984404761904762, 0.9814404761904763, 0.9715357142857144, 1.0063690476190477, 0.988952380952381, 0.9930952380952381, 0.9962619047619047, 0.9774523809523811, 0.9747857142857144, 0.9701547619047618, 0.9759404761904762, 0.9515119047619047, 0.9745714285714286, 1.007642857142857, 1.0024523809523809, 1.0019761904761904, 1.0053571428571428, 1.000595238095238, 1.0385238095238094, 1.0090357142857143, 1.0095, 1.0207142857142857, 1.0371071428571428, 1.0223690476190477, 1.0373809523809523, 1.030095238095238, 1.0166190476190475, 0.9939404761904762, 0.9935833333333335, 1.009547619047619, 0.9678095238095237, 1.0027380952380953, 0.9720595238095241, 1.0215952380952382, 0.996904761904762, 1.0330238095238098, 1.0140714285714285, 0.9977976190476192, 1.0319285714285715, 1.016714285714286, 0.9713928571428571, 0.9921666666666669, 0.9904404761904763, 1.0350238095238096, 1.0021904761904763, 1.0092738095238096, 1.0462380952380952, 1.012392857142857, 1.0289761904761903, 1.0108095238095236, 0.9762619047619049, 0.9885357142857144, 0.9901428571428571, 0.9795119047619048, 1.014059523809524, 0.9857976190476189, 1.0114404761904763, 0.9970357142857144, 0.9755238095238097, 0.9871428571428573, 0.9820952380952382, 1.006095238095238, 0.9997023809523811, 1.0065238095238094, 1.0149047619047618, 1.0451071428571428, 1.0396785714285717, 1.0452142857142857, 1.0262619047619048, 0.9735952380952381, 0.998404761904762, 0.9777976190476191, 0.9773809523809524, 1.008214285714286, 0.9772619047619048, 0.9955000000000002, 1.0482261904761907, 1.0262499999999999, 1.0189404761904763, 0.9988452380952382, 1.0009285714285714, 1.0204404761904762, 0.9839880952380953, 0.9809166666666669, 1.01475, 1.0234166666666669, 1.0355476190476192, 1.033107142857143, 1.011154761904762, 1.0480714285714288, 1.0591190476190477, 1.033809523809524, 1.008107142857143, 0.9757261904761906, 0.9885714285714287, 0.9831428571428572, 1.000595238095238, 0.9739761904761908, 1.0377619047619049, 1.0295357142857142, 1.0269642857142858, 1.0371904761904762, 1.0385476190476193, 1.0057023809523808, 1.06075, 1.006714285714286, 1.0269642857142858, 1.0229761904761905, 1.0046309523809522, 1.0053690476190476, 0.9886666666666667, 0.9931666666666669, 1.01775, 1.003297619047619, 1.0161666666666667, 0.977440476190476, 0.9762738095238096, 0.9785833333333332, 0.9609642857142857, 0.9650833333333334]
00022 print "length of flexibility list: %i" % len(flexibility)
00023 for f, e in zip(flexibility, expected_flexibility):
00024     assert abs(f - e) < 0.01
00025 
00026 print "The isoelectric point of the test protein is: %.2f" \
00027       % X.isoelectric_point()
00028 Helix, Turn, Sheet = X.secondary_structure_fraction()
00029 print "Fraction of amino acids in Helix: %.2f" % Helix
00030 print "Fraction of amino acids in Turn: %.2f" % Turn
00031 print "Fraction of amino acids in Sheet: %.2f" % Sheet
00032 print "\nKyte and Doolittle protein scale:"
00033 expected = [-0.0783,+0.0358,+0.1258,+0.6950,+0.8775,+0.8350,+0.2925,+0.3383,
00034             -0.1733,-0.4142,-0.5292,-0.6108,-0.8308,-0.8100,-0.8208,-1.0283,
00035             -1.6300,-1.8233,-2.4267,-2.2292,-1.7817,-1.4742,-0.7467,-0.1608,
00036             +0.1108,+0.2142,+0.1792,-0.1217,-0.4808,-0.4333,-0.5167,-0.2833,
00037             +0.3758,+0.7225,+0.4958,+0.6033,+0.5625,+0.3108,-0.2408,-0.0575,
00038             -0.3717,-0.7800,-1.1242,-1.4083,-1.7550,-2.2642,-2.8575,-2.9175,
00039             -2.5358,-2.5325,-1.8142,-1.4667,-0.6058,-0.4483,+0.1300,+0.1225,
00040             +0.2825,+0.1650,+0.3317,-0.2000,+0.2683,+0.1233,+0.4092,+0.1392,
00041             +0.4192,+0.2758,-0.2350,-0.5750,-0.5983,-1.2067,-1.3867,-1.3583,
00042             -0.8708,-0.5383,-0.3675,+0.0667,+0.0825,-0.0150,+0.1817,+0.4692,
00043             +0.3017,+0.3800,+0.4825,+0.4675,+0.1575,-0.1783,-0.5175,-1.2017,
00044             -1.7033,-1.5500,-1.2375,-0.8500,-0.0583,+0.3125,+0.4242,+0.7133,
00045             +0.5633,+0.0483,-0.7167,-1.3158,-1.9217,-2.5033,-2.4117,-2.2483,
00046             -2.3758,-2.0633,-1.8900,-1.8667,-1.9292,-1.8625,-2.0050,-2.2708,
00047             -2.4050,-2.3508,-2.1758,-1.5533,-1.0350,-0.1983,-0.0233,+0.1800,
00048             +0.0317,-0.0917,-0.6375,-0.9650,-1.4500,-1.6008,-1.7558,-1.5450,
00049             -1.7900,-1.8133,-2.0125,-2.1383,-2.3142,-2.1525,-2.1425,-1.9733,
00050             -1.4742,-0.8083,-0.2100,+0.8067,+1.3092,+1.8367,+2.0283,+2.3558]
00051 for i,e in zip(X.protein_scale(ProtParamData.kd, 9, 0.4), expected):
00052     assert abs(i-e)<0.01
00053 print "ok"
00054 print "\nGRAVY:"
00055 print "%0.4f" % X.gravy()
00056