From f8eac9c4ba491b92db2a41b8c6fca46c06755c85 Mon Sep 17 00:00:00 2001 From: Daniel Bauer Date: Tue, 4 Sep 2018 14:45:05 +0200 Subject: [PATCH] update from laptop --- .pymol/license.lic | 11 + .pymol/recent.db | Bin 0 -> 12288 bytes .../startup/__pycache__/axes.cpython-36.pyc | Bin 0 -> 2237 bytes .../__pycache__/center_of_mass.cpython-36.pyc | Bin 0 -> 1957 bytes .../startup/__pycache__/propka.cpython-36.pyc | Bin 0 -> 27620 bytes .../show_contact_map.cpython-36.pyc | Bin 0 -> 1850 bytes .../spectrum_states.cpython-36.pyc | Bin 0 -> 2658 bytes .../visualize_dca_scores.cpython-36.pyc | Bin 0 -> 2962 bytes .pymol/startup/anglebetweenhelices.py | 316 +++++++++ .pymol/startup/anglebetweenhelices.pyc | Bin 0 -> 9884 bytes .pymol/startup/axes.py | 4 +- .pymol/startup/axes.pyc | Bin 2798 -> 2777 bytes .pymol/startup/tmalign.py | 257 -------- matplotlibrc | 617 +----------------- 14 files changed, 357 insertions(+), 848 deletions(-) create mode 100644 .pymol/license.lic create mode 100644 .pymol/recent.db create mode 100644 .pymol/startup/__pycache__/axes.cpython-36.pyc create mode 100644 .pymol/startup/__pycache__/center_of_mass.cpython-36.pyc create mode 100644 .pymol/startup/__pycache__/propka.cpython-36.pyc create mode 100644 .pymol/startup/__pycache__/show_contact_map.cpython-36.pyc create mode 100644 .pymol/startup/__pycache__/spectrum_states.cpython-36.pyc create mode 100644 .pymol/startup/__pycache__/visualize_dca_scores.cpython-36.pyc create mode 100644 .pymol/startup/anglebetweenhelices.py create mode 100644 .pymol/startup/anglebetweenhelices.pyc delete mode 100644 .pymol/startup/tmalign.py diff --git a/.pymol/license.lic b/.pymol/license.lic new file mode 100644 index 0000000..ed20f8f --- /dev/null +++ b/.pymol/license.lic @@ -0,0 +1,11 @@ +INCREMENT PYMOL_MAIN SCHROD 999 01-nov-2018 uncounted HOSTID=ANY \ + ISSUED=01-Mar-2018 NOTICE="PyMOL for educational use only" \ + START=01-Apr-2018 TS_OK SIGN="1105 4C2B 9FDB A342 EE69 01FA \ + FD52 45EB A96D A598 C83A 6ABC 4814 2B73 5EFD 093F 4558 99F3 \ + 1F13 4414 EFBA 39B6 8749 13AA 46D6 8417 AF3D D869 02DF ADCC" \ + SIGN2="04A4 3110 8811 34B4 D31E 093F F4CF 689F 8DAF 4090 F108 \ + 36D2 D171 7680 25AD 1055 506F 8D50 6616 18E3 EC15 22FD 87D1 \ + FD92 0F1F D069 4EB3 D748 2CB7 5D4C" + + + diff --git a/.pymol/recent.db b/.pymol/recent.db new file mode 100644 index 0000000000000000000000000000000000000000..965dc68a221ff582a53ab05f4197be7f42b3fac4 GIT binary patch literal 12288 zcmeI0J#X7a7{^J|ZIW6fofklskr$%q;G|W^g(7Ra^jFnE*rHLO?gVSf+D3a(&K|eBh6jR3iI5VPz(>f00e*l5O~W3T33~Q$7Dh7^B^?CAVDN9xX+_BVP;NQ(dCTr zFrrDolvO-4Du&7P5 zJbg?9&djGY=YGM0kS3;YTQ{@z?l2DI8CC;(F19>eQSLitn8wuH^$VJt8);C)qWEFv zr%nTHm_Zt6uTPG|IM?&)iJVnE{D;O%4hL~E zSlG4S6K9xSdLgM_=u7&x_N)G#wxY$Q7o|V6AN60&RxjXEHHb$D9+CJrxNzXqJ9or^3v=Pn3lc1lF<}em2@{TVW_IL?KzPD^!Xr=e zfiGO?%`EKj@3Kx~4nM5JwVe)yS;qS*i4KPi<|<}!9z?Q;3l>>|N498~kMPJ5uJE2P ze8v|6R!?v^4)w{~lX6RrN~yMzEZa`fy{_VLl9Edrv|5;3n8n*56|Y##DhrgC*1#5g zMiNIbIJCOjj??XqtDR9Yl-f&kHIhn^2ffmlWjq;83Mpcv_0w&`bZqSuGV3W1X37Wo zmZ>Ey|D4;{$%k@dJDEteadG^3m}eVBnW%Cy-bfzF0wNv6@$P81jAPnZkPF5=JO^i9 z%kAQ!X-YZLpp{ZI>74>ovH{Ym*uXN!Pf77^$F4J2&hkXW>EfhR1NI%RLM$fSnl$mM z9kL{@pwt;Zc=PpO$mA#xa?-*yfovlzguqHZz%|bJp07R`tf6sX;q|z% zzqSYd44KdkKpxE4)S~+tH1;fYlceUh8kHqb22ZUuHnpJ*zv0S*{SxdQ=q%xp4xA_a z1&3lGu5V9WLHolsw#q6;KxWpZHMY)PXhaj19{ConJx~2ydBSqp8WSf!!6{#+oI-I5 znm?dfGMYDPP1zhQS8j!xpZefWRCeWqx9e{%F|o4Fra=`TO7pzTRW?Ob1?vnPVp?#^ zH7Az(t!V?9uHgHuY8+kcYFGRD_CTg(VTvBmauU@q=5%rM6(Up{bE>I1U3UMH89!{! zsXFIWJbg?v=5*0>g8o8u0i)23a!1KT z?2h`{yJuMK37JXYl;Y5?0f7!^$NsK-sJ*e0`|-X3k8U1{$GIvMr2vO285O-;4Yi#J zp-&XpS?3;?W!VYqDt?D-`M&05WbKb5=T1CKBRB8$;>9x5{6O>JtK|+15-Q@D4z0KV z!gz}Z{0w)jfQQ`Sp49{w@N@h;-dkoidDA+U|<~RmTY3t)gq9S)g^Z06~UsU>hka0Da{Mmef-oU>aDq z5sBbv;b`Ymv~$z`r~y)=cBYnar?&76nEX{Xbq!PlH1+^xNz_6=rguYMXlp&R3k~Uy zYe{dkM|x=8g-@rlPc!44ej&&FgKv;s?HzPsS&`jw%Oks&Ef;n#EMeDwF!f3RT!b^L zZaO%Fpn}Al!4kS<^Wc7X?fTuVJ2!6MyK$=5R?Qw3i%E)EfDr~OlJ zoBh+j{P@@1=YJncj*$81rg{r^+U+#7YyK(f1H9HP-UcwDVC&19H@erZ--(>9TixrX zFib`1p#B5&^NwF5mv(CYQ1eXl9nFQdfvQ)_Z39MBi{=N)ye6>V022-mth1b+_wZZ* z7P=^RGVTQGLo9VjUb-WP;;GJcaJdG`6~d4ycEVii H-Ei$cr8@EQ literal 0 HcmV?d00001 diff --git a/.pymol/startup/__pycache__/center_of_mass.cpython-36.pyc b/.pymol/startup/__pycache__/center_of_mass.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed11f320e3bd92e481b8f3f922fdb3e2f8eb1332 GIT binary patch literal 1957 zcmaKtTW{P%6oBXEwb$9C5S1pqY7|kaE0t^|kdPvTh|-`|q}z%uN{K+0yED7%#Fx!@ z+)W~HCA59urM$vJ{{S!i0)EN7^3wbP9(dx6oiu4x@McEG=Q3wJ^PQ7V=jZ*;wtsu_ z%tPoebnamwe+47of=QqqB(NYcPRI_yR;Dpc*bW2P7Y*UQz&nm)yC6wtW8Qxbvzn( z`ZCp01=%1-!aVo=yPLg@Z|^^PeE(tB_c`Z};;=7s9`bQ63z3C7OL(Zc9!Xw@@@&BC zQ1D(a^e9tnyeGqyZ-o=P!h@(kiiYss)1j99yEJ+xRUYX>Ys}+t!f%DT&6B*~t6Yl0 z_j{Y0e0{6;u-d>`-rIaAbjMph){V%2LqKej>WZ7|eagI>F<^ zxB%lD82KGAX;iWqp0bh(v`5sv!y6j!k`jTAfUsHtsl||m(H)`m)h18F02gqojyM(wGZBNGl;v3evGHhlPpc)Ey0(F=1X=i*WZxK zFKb(!k-eSqG+*r_=3bGv^NLnUmypf9|K~Ok3S`Z9cUZ9T@PV@Dxu#v345RCdvhiYFe`shq>nM zmZ5OHirVM}d-t&%hH;RFi8L4Ndyy8o6t!YuU27FREwtQJDpRH*WGuBb?g=!;sbDew z8Bm7hqikXv6{bUJTK%j5n5tdoZQnF=SfJvn+Eo1!jqK?zD66k9jlD^zhPlB91|J%H zWN`F5QrBR+|J?43vP5>ChJ{p}y7)S2NG2z&4&*vA*~0?a<~ zKw@|iU&9Mz5nlm$8Lwb<1AP1TgzYm2!yfYnjQnCvIj}hemVtC42=KX5(iT!H8oEry zAaDyFSQB90%4F&Y_mriBpG#+#0ddc#&6D_7Wpme=p{WlHHK8Z5%c%4(qR-LPl4do| z8x62tX&P@dPzj|EzHI;AS^V3v@OCZ^-n{*L+fY%}?q5R`yNV!_onf`BXh3_YY-rc+ zbcU_%oa~*+)=v;1**p5l=kK;Sz7fX#A_h3~|LSY+ZEXMF+1}gQpyTl&+)(v&kFK9) zj?!V(L_e9xXgJbR@Y8auO6ZtC0MwDKzq6_BDcjrB2X?B8q-j}CG9ceD+o_FLDXK#4 zXPFX)#xiZsDGS>f)iuqo&U9VV)e36a`dqft6_^YT4NfY!>*>0+*uHuPMh&j-5eCS5 z0Bj4uZB-yI0=SC+@d8*D!E%XIQEk@kc2E0*h4|#fGj0%wtRDo%51_N_LdhUd_5h%Q w?LV>VQ!DsQLmp_EifX}gTeB6Y?EZ}R1$;{p%P;Ll^A=2uv~Y|1%P>Cv7h>k$KmY&$ literal 0 HcmV?d00001 diff --git a/.pymol/startup/__pycache__/propka.cpython-36.pyc b/.pymol/startup/__pycache__/propka.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..422cc01014a0f8be3141a84f209f0d429292bfb4 GIT binary patch literal 27620 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 literal 0 HcmV?d00001 diff --git a/.pymol/startup/__pycache__/show_contact_map.cpython-36.pyc b/.pymol/startup/__pycache__/show_contact_map.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..803342d02914e370791fa343b9f7281d2cacc084 GIT binary patch literal 1850 zcmZ8hOK%)S5bmD$KD=3+D6$QNB?5^>u#N;LWLb$5aY8F3OGJ!>R^#nnd+d3vdwPl4 z%%0ZbfaE`cxFB)lk8te+7f!iz@`Z6;+||Q9q99Y)?a@EOKjNZ#vSJZOQX_Cmj`8;jX7=Mqcs9N2UL%NYIe+y zx!}SPuJCF$;ldZeITzuDPjAD$(a;3nX0yYzFyXk&^P~{-*7LH^$yoRDWIFHeAC<3q z<6Fu9%sH^KPv*$3hQTF0meV_WgI z{Tl>Q>@4}h!RlglHGIbEo&8aJFW3*iEquX`o!S@9CIfai+0t1AsJ)eh zO`L~p5n3L5s7T@??H;2i>Tv0Z;KZqZw0u}cD_;GqeG%2*NqdQi)^7DHWR1IaZuT7Y zC(Z|?Pu+9+2wYgNcy#3Hqn8YlNcePI9QC2!jjJnf3l+X=J&CuOVTJx-J6uNLVP&i8p>C_gR&4` z^^~kqF_WZV)rS3s@u;oMnv!Us>tvc>QmQ=BifYgVWM-_5KUHa==|CY&BvQ0eF_tC} z*wzwPHCBpgS*ZIs7)MDpB4xbvbe2kOqH6;&`ro#_@ropu>Rs~ieL~c@w{4;xf?Wqx zJs{>rsG!Jc@&~-jyKawn9glASI?g(zR{N6o#Yl9FMLaTC^EhXY6nU8>);StNb}>DH2%URref_N zwbX#>l7DuaxqgJ+tI}c>GaDY`QG1yNMLtUlN%@>+sWvV}IY4(w#MvKbWhMKe+Q9QE z!qY@0x>SlLg7N5}dIB=`klbe$@4X$w53oM~R1bg{TCj<~18C!4M@SWE#I38G*g5K{ zO~{6}?5rDou0DmN-&S;s>FAUFG@ss#3*U~{Rl#^Doujxz6*ALlRt*R%7su>`vjf29 q%Gx!7JkxOX&Z}(^tj6R{UW!>Jcj(Gt zsk>=CGII$XSUv>UT#_HiB|y$WzGbk70J%iBoP_|Jsu@bM1q2zOi&foKUGHjsxVY%P z{N}4K{^Sz!Px97R1^j2Q^dA8T(kFrnE1;p(wa$zYe2ot(VBC#E;!mHhv@W3_xiDR$HpX^ zYir3-7zYRbp1&Ha(V8C#dAOR4lQo@4&!}lQ(1shSU3bOnvIpxM8|)e1<58@9wu6Xd zJQD2LI1agHzlZ}NmFqtBJsD}a$$sA3y8qz*lYmdPbWb55q)YQwqWs7VhSSJ1ejIhJ z-1b6|H=l%J`_PjKZss-*g0q&#m5JksDSvl2j?TWj8%!nhj(EgIO3H{G$smXiSgd$7 zl1xc)NO3S>y26DMgtr^5U17o4Vo_#Js*| zsaJqE#M1Aq+oafcmq@mdE|~hHF>&{*>d$Fo0yN&dKTa!p40@1;TG$^yhdfW3z`H0G zQ?f)vYY8;YXhvYKl>#m(==c}Nw9joz9Z}mOUla8o;AtaI=Af6Uy-Y+6<+EnmM4!H< z>I0DMoJ$`5-E`9CjDin;%@)nIba6(3v$jm$C#G_O+5o>vvKHJ|Ovh>$N>}pw6qW>ZT*Er&cbP6{QKobygPx4XTl#2rIL|Zb=}W;E12z+gj8v3e40uH|~@N?bApMCWCueNud_2xP*Zu|)t z2|Y5}WOJ(`9!kwt4q~;Z*@17yaDA8r(#Sc7W^oi8bqimABjk{SXPXRqC@b&2YT%^? zop4WrHwjnJ=z0%~1%4>z!0N%$w*ZVtN?x=wYRH79&;oz3_MIO23+PigZ1VOUpPH;A7W}S?~gXn4790Aj=y*A_k2>X zJ`7@y2l^2p=llwXU{3W;zgik~e1|>fDk@4WikY5bUr1wcUVjVyc%$1CukQ3Y4I;ToqM<*LEc`zsxt2WX!>DPg|Ft)_dwK5ZqT0+;C5!^;_2LXmYZ=YAnyihS^ zdJ6z~zhm8{b=rjGSS{P3Ex?gN2$a1HJ9y?&*XmHW5G3fE$bWW%Hu)*6s`Cj1h+U#tX}nIJ%+xW*s0TVSY>m2E_Zq!cY8j+)~j)!*Uqe7 zzyn^#yUrWDDSY8^HuQLlx6fFw!8?2nz9wJi@8R7N&Zy1b6Ro+;ETgwYgLKXgtnT|4 z*oC#^bXK=(Tdv;r8Tlfj5BU?hdZS;WZdQ68RP!B zN4v-DwSDcsNKTI9OxFf^nnoF)Hl7{qga?CMisGHQZA^JUbJHRUv(IUNjJ9?y$s^t` z%$Popqa;6ul@))rWF5iZ{$%@Qo{H_G=tRivt;uiGJlQT(B-P1e`*mELL`ggqeLjd5 zb09tT`)qNI2Pr3&iW+DoD%kw_nr=+#n@oji`D zZbqDw9xIVzQ*I%Wq1ja>D4{x7PTWGTpg(FcxemEX0D*#LHpxAMqE@Lrw`Z&bFvfwr zNl8`q$e~0lm%woD&g{}Q-unx$2XF++=k;@E=9G@{9j<%;jH(%*Te`+KF}|Q=rCmC( zwa(qe@wN9g+nP3?BKu*Lef;wVqt-4m4$htsvk(O`U(XCfRJgLLsv zFr>8@@;XXRgbva;GupKM430EPDmZkRypH&3=V_eADjejQiUz8fZaj-lP1Mp7syr-S z=5M;L_N#4azgkdx!z9n8Zl%#_e;MAb>y{et#ff-gpo1eT#`#2KLzr|&jSu2(a?py0xWvl(8dvL&mSSHsyqU5~yk`to&c&Nh!Nx)H3EpdC zTi#cW@w>`Z-XG|a1AS*e%iK1j$jV>^MO|9CKl4uiUa}|FSAU!NrB}LRSN;W_29jxFXUnpuokV2XO>p4a#}O*flQ)qR?E_wEq$H&RglJHw zgC#Vy&tXxb+tBqDIOPq*R*5pFMD)``g+2lCVP1n6?PgIblAb`#chb{l$!wd@9yG=!?zX zpSr;Ehd5{olRqV4R=gB+?z$~Sn!gr{@^%Q*^23I9BtL@ab|jT9`CSNrl|IWVkh*~D zOG&7aA&FZg=zGZ2G6M^= 1.2: + obj.append(cgo.CONE) + obj.extend(end) + obj.extend(coneend) + obj.extend([ + radius * 1.75, + 0.0, + ]) + obj.extend(color_list * 2) + obj.extend([ + 1.0, 1.0, # Caps + ]) + cmd.load_cgo(obj, get_unused_name('oriVec'), zoom=0) + + +def cafit_orientation(selection, visualize=1, quiet=0): + ''' +DESCRIPTION + + Get the center and direction of a peptide by least squares + linear fit on CA atoms. + +USAGE + + cafit_orientation selection [, visualize] + +NOTES + + Requires python module "numpy". + +SEE ALSO + + helix_orientation + ''' + visualize, quiet = int(visualize), int(quiet) + import numpy + stored.x = list() + cmd.iterate_state(STATE, '(%s) and name CA' % (selection), + 'stored.x.append([x,y,z])') + x = numpy.array(stored.x) + U, s, Vh = numpy.linalg.svd(x - x.mean(0)) + vec = cpv.normalize(Vh[0]) + if cpv.dot_product(vec, x[-1] - x[0]) < 0: + vec = cpv.negate(vec) + return _common_orientation(selection, vec, visualize, quiet) + + +def loop_orientation(selection, visualize=1, quiet=0): + ''' +DESCRIPTION + + Get the center and approximate direction of a peptide. Works for any + secondary structure. + Averages direction of N(i)->C(i) pseudo bonds. + +USAGE + + loop_orientation selection [, visualize] + +SEE ALSO + + helix_orientation + ''' + visualize, quiet = int(visualize), int(quiet) + stored.x = dict() + cmd.iterate_state(STATE, '(%s) and name N+C' % (selection), + 'stored.x.setdefault(chain + resi, dict())[name] = x,y,z') + vec = cpv.get_null() + count = 0 + for x in stored.x.values(): + if 'C' in x and 'N' in x: + vec = cpv.add(vec, cpv.sub(x['C'], x['N'])) + count += 1 + if count == 0: + print('warning: count == 0') + raise CmdException + vec = cpv.normalize(vec) + return _common_orientation(selection, vec, visualize, quiet) + + +def helix_orientation(selection, visualize=1, sigma_cutoff=1.5, quiet=0): + ''' +DESCRIPTION + + Get the center and direction of a helix as vectors. Will only work + for helices and gives slightly different results than loop_orientation. + Averages direction of C(i)->O(i) bonds. + +USAGE + + helix_orientation selection [, visualize [, sigma_cutoff]] + +ARGUMENTS + + selection = string: atom selection of helix + + visualize = 0 or 1: show fitted vector as arrow {default: 1} + + sigma_cutoff = float: drop outliers outside + (standard_deviation * sigma_cutoff) {default: 1.5} + +SEE ALSO + + angle_between_helices, helix_orientation_hbond, loop_orientation, cafit_orientation + ''' + visualize, quiet, sigma_cutoff = int(visualize), int(quiet), float(sigma_cutoff) + stored.x = dict() + cmd.iterate_state(STATE, '(%s) and name C+O' % (selection), + 'stored.x.setdefault(chain + resi, dict())[name] = x,y,z') + vec_list = [] + count = 0 + for x in stored.x.values(): + if 'C' in x and 'O' in x: + vec_list.append(cpv.sub(x['O'], x['C'])) + count += 1 + if count == 0: + print('warning: count == 0') + raise CmdException + vec = _vec_sum(vec_list) + if count > 2 and sigma_cutoff > 0: + angle_list = [cpv.get_angle(vec, x) for x in vec_list] + angle_mu, angle_sigma = _mean_and_std(angle_list) + vec_list = [vec_list[i] for i in range(len(vec_list)) + if abs(angle_list[i] - angle_mu) < angle_sigma * sigma_cutoff] + if not quiet: + print('Dropping %d outlier(s)' % (len(angle_list) - len(vec_list))) + vec = _vec_sum(vec_list) + vec = cpv.normalize(vec) + return _common_orientation(selection, vec, visualize, quiet) + + +def helix_orientation_hbond(selection, visualize=1, cutoff=3.5, quiet=0): + ''' +DESCRIPTION + + Get the center and direction of a helix as vectors. Will only work + for alpha helices and gives slightly different results than + helix_orientation. Averages direction of O(i)->N(i+4) hydrogen bonds. + +USAGE + + helix_orientation selection [, visualize [, cutoff]] + +ARGUMENTS + + cutoff = float: maximal hydrogen bond distance {default: 3.5} + +SEE ALSO + + helix_orientation + ''' + visualize, quiet, cutoff = int(visualize), int(quiet), float(cutoff) + stored.x = dict() + cmd.iterate_state(STATE, '(%s) and name N+O' % (selection), + 'stored.x.setdefault(resv, dict())[name] = x,y,z') + vec_list = [] + for resi in stored.x: + resi_other = resi + 4 + if 'O' in stored.x[resi] and resi_other in stored.x: + if 'N' in stored.x[resi_other]: + vec = cpv.sub(stored.x[resi_other]['N'], stored.x[resi]['O']) + if cpv.length(vec) < cutoff: + vec_list.append(vec) + if len(vec_list) == 0: + print('warning: count == 0') + raise CmdException + vec = _vec_sum(vec_list) + vec = cpv.normalize(vec) + return _common_orientation(selection, vec, visualize, quiet) + + +def angle_between_helices(selection1, selection2, method='helix_orientation', visualize=1, quiet=0): + ''' +DESCRIPTION + + Calculates the angle between two helices + +USAGE + + angle_between_helices selection1, selection2 [, method [, visualize]] + +ARGUMENTS + + selection1 = string: atom selection of first helix + + selection2 = string: atom selection of second helix + + method = string: function to calculate orientation {default: helix_orientation} + or int: 0: helix_orientation, 1: helix_orientation_hbond, + 2: loop_orientation, 3: cafit_orientation + + visualize = 0 or 1: show fitted vector as arrow {default: 1} + +SEE ALSO + + helix_orientation, helix_orientation_hbond, loop_orientation, cafit_orientation + ''' + visualize, quiet = int(visualize), int(quiet) + methods = { + '0': helix_orientation, + '1': helix_orientation_hbond, + '2': loop_orientation, + '3': cafit_orientation, + } + methods.update([(x.__name__, x) for x in list(methods.values())]) + try: + orientation = methods[str(method)] + except KeyError: + print('no such method: ' + str(method)) + raise CmdException + if not quiet: + print('Using method: ' + orientation.__name__) + cen1, dir1 = orientation(selection1, visualize, quiet=1) + cen2, dir2 = orientation(selection2, visualize, quiet=1) + angle = cpv.get_angle(dir1, dir2) + angle_deg = math.degrees(angle) + if not quiet: + print('Angle: %.2f deg' % (angle_deg)) + if visualize: + cmd.zoom('(%s) or (%s)' % (selection1, selection2), buffer=2) + return angle_deg + +cmd.extend('helix_orientation', helix_orientation) +cmd.extend('helix_orientation_hbond', helix_orientation_hbond) +cmd.extend('loop_orientation', loop_orientation) +cmd.extend('cafit_orientation', cafit_orientation) +cmd.extend('angle_between_helices', angle_between_helices) diff --git a/.pymol/startup/anglebetweenhelices.pyc b/.pymol/startup/anglebetweenhelices.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eb91ea9a1d9777caacb75cd5f987c9629a14fec7 GIT binary patch literal 9884 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 W({JA#(_?Q>+?gm%+!;p={{Amy-=)j| literal 0 HcmV?d00001 diff --git a/.pymol/startup/axes.py b/.pymol/startup/axes.py index bc2e0a4..b4d7dfb 100644 --- a/.pymol/startup/axes.py +++ b/.pymol/startup/axes.py @@ -37,8 +37,8 @@ class PutCenterCallback(object): t = cpv.add(t, off_m) z = -v[11] / 30.0 - m = [z, 0, 0, t[0] / z, 0, z, 0, t[1] / z, 0, 0, z, t[2] / z, 0, 0, 0, 1] - cmd.set_object_ttt(self.name, m, homogenous=1) + m = [z, 0, 0, 0, 0, z, 0, 0, 0, 0, z, 0, t[0] / z, t[1] / z, t[2] / z, 1] + cmd.set_object_ttt(self.name, m) def axes(name='axes'): ''' diff --git a/.pymol/startup/axes.pyc b/.pymol/startup/axes.pyc index 79df3208b2cfd6f6a4e7c033e6d5ba0149714629..5979d2d40df7f069827a6e55b9162be0b0f36903 100644 GIT binary patch delta 213 zcmaDSdQ+5x`7&w=qY?rLZvoQ4I%(gd+&I zh8ZLx3FL@^m^=t3AA|`MN*7?L>jQp09*_%#sB~S delta 223 zcmca9`c9OC`7P*cc>hI2c5M zG>`(3KrtS;7(^H(#)m8h6b33v7htI6WGG=|$P!?vVPME&V5s3_ND%}{H8U|XrZ6xB zYluwFWy$6*;bLH5$jHylPfyLuFD;&YgXJEhz~t?$S4D+@5= 2012/04/17 - if os.path.exists(matrix_filename): - lines += open(matrix_filename).readlines() - os.remove(matrix_filename) - - r = None - re_score = re.compile(r'TM-score\s*=\s*(\d*\.\d*)') - rowcount = 0 - matrix = [] - line_it = iter(lines) - alignment = [] - for line in line_it: - if 4 >= rowcount > 0: - if rowcount >= 2: - a = list(map(float, line.split())) - matrix.extend(a[2:5]) - matrix.append(a[1]) - rowcount += 1 - elif line.lower().startswith(' -------- rotation matrix'): - rowcount = 1 - elif line.startswith('(":" denotes'): - alignment = [line_it.next().rstrip() for i in range(3)] - else: - match = re_score.search(line) - if match is not None: - r = float(match.group(1)) - if not quiet: - print(line.rstrip()) - - if not quiet: - for i in range(0, len(alignment[0]) - 1, 78): - for line in alignment: - print(line[i:i + 78]) - print('') - - assert len(matrix) == 3 * 4 - matrix.extend([0, 0, 0, 1]) - - if int(transform): - cmd.transform_selection('byobject (%s)' % (mobile), matrix, homogenous=1) - - # alignment object - if object is not None: - mobile_idx, target_idx = [], [] - space = {'mobile_idx': mobile_idx, 'target_idx': target_idx} - cmd.iterate(mobile_ca_sele, 'mobile_idx.append("%s`%d" % (model, index))', space=space) - cmd.iterate(target_ca_sele, 'target_idx.append("%s`%d" % (model, index))', space=space) - for i, aa in enumerate(alignment[0]): - if aa == '-': - mobile_idx.insert(i, None) - for i, aa in enumerate(alignment[2]): - if aa == '-': - target_idx.insert(i, None) - if (len(mobile_idx) == len(target_idx) == len(alignment[2])): - cmd.rms_cur( - ' '.join(idx for (idx, m) in zip(mobile_idx, alignment[1]) if m in ':.'), - ' '.join(idx for (idx, m) in zip(target_idx, alignment[1]) if m in ':.'), - cycles=0, matchmaker=4, object=object) - else: - print('Could not load alignment object') - - if not quiet and r is not None: - print('Found in output TM-score = %.4f' % (r)) - - return r - - -def tmscore(mobile, target, args='', exe='TMscore', quiet=0, **kwargs): - ''' -DESCRIPTION - -TMscore wrapper - -Reference: Yang Zhang and Jeffrey Skolnick, Proteins 2004 57: 702-710 -http://zhanglab.ccmb.med.umich.edu/TM-score/ - -ARGUMENTS - -mobile, target = string: atom selections - -args = string: Extra arguments like -d 5 - -exe = string: Path to TMscore executable {default: TMscore} - -ter = 0/1: If ter=0, then ignore chain breaks because TMscore will stop -at first TER record {default: 0} - -SEE ALSO - -tmalign, mmalign - ''' - kwargs.pop('_self', None) - return tmalign(mobile, target, args, exe, quiet=quiet, **kwargs) - - -def mmalign(mobile, target, args='', exe='MMalign', ter=0, transform=1, quiet=0): - ''' -DESCRIPTION - -MMalign wrapper - -Reference: S. Mukherjee and Y. Zhang, Nucleic Acids Research 2009; 37: e83 -http://zhanglab.ccmb.med.umich.edu/MM-align/ - -SEE ALSO - -tmalign, tmscore - ''' - return tmalign(mobile, target, args, exe, ter, transform, quiet=quiet) - -# pymol commands -cmd.extend('alignwithanymethod', alignwithanymethod) -cmd.extend('tmalign', tmalign) -cmd.extend('tmscore', tmscore) -cmd.extend('mmalign', tmalign) - -# autocompletion -cmd.auto_arg[0].update({ - 'tmalign': cmd.auto_arg[0]['align'], - 'tmscore': cmd.auto_arg[0]['align'], - 'mmalign': cmd.auto_arg[0]['align'], -}) -cmd.auto_arg[1].update({ - 'tmalign': cmd.auto_arg[1]['align'], - 'tmscore': cmd.auto_arg[1]['align'], - 'mmalign': cmd.auto_arg[1]['align'], -}) diff --git a/matplotlibrc b/matplotlibrc index 51d911c..0431805 100644 --- a/matplotlibrc +++ b/matplotlibrc @@ -1,594 +1,33 @@ -#### CONFIGURATION BEGINS HERE - -# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo -# MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG -# Template. -# You can also deploy your own backend outside of matplotlib by -# referring to the module name (which must be in the PYTHONPATH) as -# 'module://my_backend'. backend : Qt5Agg - -# If you are using the Qt4Agg backend, you can choose here -# to use the PyQt4 bindings or the newer PySide bindings to -# the underlying Qt4 toolkit. -# backend.qt4 : PyQt4 # PyQt4 | PySide - -# Note that this can be overridden by the environment variable -# QT_API used by Enthought Tool Suite (ETS); valid values are -# "pyqt" and "pyside". The "pyqt" setting has the side effect of -# forcing the use of Version 2 API for QString and QVariant. - -# The port to use for the web server in the WebAgg backend. -# webagg.port : 8888 - -# If webagg.port is unavailable, a number of other random ports will -# be tried until one that is available is found. -# webagg.port_retries : 50 - -# When True, open the webbrowser to the plot that is shown -# webagg.open_in_browser : True - -# When True, the figures rendered in the nbagg backend are created with -# a transparent background. -# nbagg.transparent : False - -# if you are running pyplot inside a GUI and your backend choice -# conflicts, we will automatically try to find a compatible one for -# you if backend_fallback is True -#backend_fallback: True - -#interactive : False -#toolbar : toolbar2 # None | toolbar2 ("classic" is deprecated) -#timezone : UTC # a pytz timezone string, e.g., US/Central or Europe/Paris - -# Where your matplotlib data lives if you installed to a non-default -# location. This is where the matplotlib fonts, bitmaps, etc reside -#datapath : /home/jdhunter/mpldata - - -### LINES -# See http://matplotlib.org/api/artist_api.html#module-matplotlib.lines for more -# information on line properties. -lines.linewidth : 1 # line width in points -#lines.linestyle : - # solid line -#lines.color : C0 # has no affect on plot(); see axes.prop_cycle -#lines.marker : None # the default marker -#lines.markeredgewidth : 1.0 # the line width around the marker symbol -#lines.markersize : 6 # markersize, in points -#lines.dash_joinstyle : miter # miter|round|bevel -#lines.dash_capstyle : butt # butt|round|projecting -#lines.solid_joinstyle : miter # miter|round|bevel -#lines.solid_capstyle : projecting # butt|round|projecting -#lines.antialiased : True # render lines in antialiased (no jaggies) - -# The three standard dash patterns. These are scaled by the linewidth. -#lines.dashed_pattern : 2.8, 1.2 -#lines.dashdot_pattern : 4.8, 1.2, 0.8, 1.2 -#lines.dotted_pattern : 1.1, 1.1 -#lines.scale_dashes : True - -#markers.fillstyle: full # full|left|right|bottom|top|none - -### PATCHES -# Patches are graphical objects that fill 2D space, like polygons or -# circles. See -# http://matplotlib.org/api/artist_api.html#module-matplotlib.patches -# information on patch properties -#patch.linewidth : 1 # edge width in points. -#patch.facecolor : C0 -#patch.edgecolor : black # if forced, or patch is not filled -#patch.force_edgecolor : False # True to always use edgecolor -#patch.antialiased : True # render patches in antialiased (no jaggies) - -### HATCHES -#hatch.color : k -#hatch.linewidth : 1.0 - -### Boxplot -#boxplot.notch : False -#boxplot.vertical : True -#boxplot.whiskers : 1.5 -#boxplot.bootstrap : None -#boxplot.patchartist : False -#boxplot.showmeans : False -#boxplot.showcaps : True -#boxplot.showbox : True -#boxplot.showfliers : True -#boxplot.meanline : False - -#boxplot.flierprops.color : 'k' -#boxplot.flierprops.marker : 'o' -#boxplot.flierprops.markerfacecolor : 'none' -#boxplot.flierprops.markeredgecolor : 'k' -#boxplot.flierprops.markersize : 6 -#boxplot.flierprops.linestyle : 'none' -#boxplot.flierprops.linewidth : 1.0 - -#boxplot.boxprops.color : 'k' -#boxplot.boxprops.linewidth : 1.0 -#boxplot.boxprops.linestyle : '-' - -#boxplot.whiskerprops.color : 'k' -#boxplot.whiskerprops.linewidth : 1.0 -#boxplot.whiskerprops.linestyle : '-' - -#boxplot.capprops.color : 'k' -#boxplot.capprops.linewidth : 1.0 -#boxplot.capprops.linestyle : '-' - -#boxplot.medianprops.color : 'C1' -#boxplot.medianprops.linewidth : 1.0 -#boxplot.medianprops.linestyle : '-' - -#boxplot.meanprops.color : 'C2' -#boxplot.meanprops.marker : '^' -#boxplot.meanprops.markerfacecolor : 'C2' -#boxplot.meanprops.markeredgecolor : 'C2' -#boxplot.meanprops.markersize : 6 -#boxplot.meanprops.linestyle : 'none' -#boxplot.meanprops.linewidth : 1.0 - -### FONT -# -# font properties used by text.Text. See -# http://matplotlib.org/api/font_manager_api.html for more -# information on font properties. The 6 font properties used for font -# matching are given below with their default values. -# -# The font.family property has five values: 'serif' (e.g., Times), -# 'sans-serif' (e.g., Helvetica), 'cursive' (e.g., Zapf-Chancery), -# 'fantasy' (e.g., Western), and 'monospace' (e.g., Courier). Each of -# these font families has a default list of font names in decreasing -# order of priority associated with them. When text.usetex is False, -# font.family may also be one or more concrete font names. -# -# The font.style property has three values: normal (or roman), italic -# or oblique. The oblique style will be used for italic, if it is not -# present. -# -# The font.variant property has two values: normal or small-caps. For -# TrueType fonts, which are scalable fonts, small-caps is equivalent -# to using a font size of 'smaller', or about 83%% of the current font -# size. -# -# The font.weight property has effectively 13 values: normal, bold, -# bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as -# 400, and bold is 700. bolder and lighter are relative values with -# respect to the current weight. -# -# The font.stretch property has 11 values: ultra-condensed, -# extra-condensed, condensed, semi-condensed, normal, semi-expanded, -# expanded, extra-expanded, ultra-expanded, wider, and narrower. This -# property is not currently implemented. -# -# The font.size property is the default font size for text, given in pts. -# 10 pt is the standard value. -# -#font.family : sans-serif -#font.style : normal -#font.variant : normal -#font.weight : medium -#font.stretch : normal -# note that font.size controls default text sizes. To configure -# special text sizes tick labels, axes, labels, title, etc, see the rc -# settings for axes and ticks. Special text sizes can be defined -# relative to font.size, using the following values: xx-small, x-small, -# small, medium, large, x-large, xx-large, larger, or smaller -#font.size : 10.0 -#font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif -#font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif -#font.cursive : Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive -#font.fantasy : Comic Sans MS, Chicago, Charcoal, Impact, Western, Humor Sans, xkcd, fantasy -#font.monospace : DejaVu Sans Mono, Bitstream Vera Sans Mono, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace - -### TEXT -# text properties used by text.Text. See -# http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more -# information on text properties - -#text.color : black - -### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex -#text.usetex : False # use latex for all text handling. The following fonts - # are supported through the usual rc parameter settings: - # new century schoolbook, bookman, times, palatino, - # zapf chancery, charter, serif, sans-serif, helvetica, - # avant garde, courier, monospace, computer modern roman, - # computer modern sans serif, computer modern typewriter - # If another font is desired which can loaded using the - # LaTeX \usepackage command, please inquire at the - # matplotlib mailing list -#text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. -#text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES - # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP - # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. - # preamble is a comma separated list of LaTeX statements - # that are included in the LaTeX document preamble. - # An example: - # text.latex.preamble : \usepackage{bm},\usepackage{euler} - # The following packages are always loaded with usetex, so - # beware of package collisions: color, geometry, graphicx, - # type1cm, textcomp. Adobe Postscript (PSSNFS) font packages - # may also be loaded, depending on your font settings - -#text.dvipnghack : None # some versions of dvipng don't handle alpha - # channel properly. Use True to correct - # and flush ~/.matplotlib/tex.cache - # before testing and False to force - # correction off. None will try and - # guess based on your dvipng version - -#text.hinting : auto # May be one of the following: - # 'none': Perform no hinting - # 'auto': Use FreeType's autohinter - # 'native': Use the hinting information in the - # font file, if available, and if your - # FreeType library supports it - # 'either': Use the native hinting information, - # or the autohinter if none is available. - # For backward compatibility, this value may also be - # True === 'auto' or False === 'none'. -#text.hinting_factor : 8 # Specifies the amount of softness for hinting in the - # horizontal direction. A value of 1 will hint to full - # pixels. A value of 2 will hint to half pixels etc. - -#text.antialiased : True # If True (default), the text will be antialiased. - # This only affects the Agg backend. - -# The following settings allow you to select the fonts in math mode. -# They map from a TeX font name to a fontconfig font pattern. -# These settings are only used if mathtext.fontset is 'custom'. -# Note that this "custom" mode is unsupported and may go away in the -# future. -#mathtext.cal : cursive -#mathtext.rm : serif -#mathtext.tt : monospace -#mathtext.it : serif:italic -#mathtext.bf : serif:bold -#mathtext.sf : sans -#mathtext.fontset : dejavusans # Should be 'dejavusans' (default), - # 'dejavuserif', 'cm' (Computer Modern), 'stix', - # 'stixsans' or 'custom' -#mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern - # fonts when a symbol can not be found in one of - # the custom math fonts. - -#mathtext.default : it # The default font to use for math. - # Can be any of the LaTeX font names, including - # the special name "regular" for the same font - # used in regular text. - -### AXES -# default face and edge color, default tick sizes, -# default fontsizes for ticklabels, and so on. See -# http://matplotlib.org/api/axes_api.html#module-matplotlib.axes -#axes.facecolor : white # axes background color -#axes.edgecolor : black # axes edge color -#axes.linewidth : 0.8 # edge linewidth -#axes.grid : False # display grid or not -#axes.titlesize : large # fontsize of the axes title -#axes.titlepad : 6.0 # pad between axes and title in points -#axes.labelsize : medium # fontsize of the x any y labels -#axes.labelpad : 4.0 # space between label and axis -#axes.labelweight : normal # weight of the x and y labels -#axes.labelcolor : black -#axes.axisbelow : 'line' # draw axis gridlines and ticks below - # patches (True); above patches but below - # lines ('line'); or above all (False) - -#axes.formatter.limits : -7, 7 # use scientific notation if log10 - # of the axis range is smaller than the - # first or larger than the second -#axes.formatter.use_locale : False # When True, format tick labels - # according to the user's locale. - # For example, use ',' as a decimal - # separator in the fr_FR locale. -#axes.formatter.use_mathtext : False # When True, use mathtext for scientific - # notation. -#axes.formatter.useoffset : True # If True, the tick label formatter - # will default to labeling ticks relative - # to an offset when the data range is - # small compared to the minimum absolute - # value of the data. -#axes.formatter.offset_threshold : 4 # When useoffset is True, the offset - # will be used when it can remove - # at least this number of significant - # digits from tick labels. - -# axes.spines.left : True # display axis spines -# axes.spines.bottom : True -# axes.spines.top : True -# axes.spines.right : True - - -#axes.unicode_minus : True # use unicode for the minus symbol - # rather than hyphen. See - # http://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes -#axes.prop_cycle: cycler('color', ['0072B2', '009E73', 'D55E00', 'CC79A7', 'F0E442', '56B4E9']) +lines.linewidth : 1 # line width in points +font.size : 12 +text.usetex : False # use latex for all text handling. The following fonts +axes.edgecolor : black # axes edge color +axes.grid : True # display grid or not +axes.titlesize : 12 # fontsize of the axes title +axes.labelsize : 12 # fontsize of the x any y labels +axes.spines.top : False +axes.spines.right : False +axes.prop_cycle: cycler('color', ['348ABD', 'A60628', '7A68A6', '467821', 'D55E00', 'CC79A7', '56B4E9', '009E73', 'F0E442', '0072B2']) patch.facecolor: 0072B2 -#axes.autolimit_mode : data # How to scale axes limits to the data. - # Use "data" to use data limits, plus some margin - # Use "round_number" move to the nearest "round" number -#axes.xmargin : .05 # x margin. See `axes.Axes.margins` -#axes.ymargin : .05 # y margin See `axes.Axes.margins` - -#polaraxes.grid : True # display grid on polar axes -#axes3d.grid : True # display grid on 3d axes - -### DATES -# These control the default format strings used in AutoDateFormatter. -# Any valid format datetime format string can be used (see the python -# `datetime` for details). For example using '%%x' will use the locale date representation -# '%%X' will use the locale time representation and '%%c' will use the full locale datetime -# representation. -# These values map to the scales: -# {'year': 365, 'month': 30, 'day': 1, 'hour': 1/24, 'minute': 1 / (24 * 60)} - -# date.autoformatter.year : %Y -# date.autoformatter.month : %Y-%m -# date.autoformatter.day : %Y-%m-%d -# date.autoformatter.hour : %m-%d %H -# date.autoformatter.minute : %d %H:%M -# date.autoformatter.second : %H:%M:%S -# date.autoformatter.microsecond : %M:%S.%f - -### TICKS -# see http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick -#xtick.top : False # draw ticks on the top side -#xtick.bottom : True # draw ticks on the bottom side -#xtick.major.size : 3.5 # major tick size in points -#xtick.minor.size : 2 # minor tick size in points -#xtick.major.width : 0.8 # major tick width in points -#xtick.minor.width : 0.6 # minor tick width in points -#xtick.major.pad : 3.5 # distance to major tick label in points -#xtick.minor.pad : 3.4 # distance to the minor tick label in points -#xtick.color : k # color of the tick labels -#xtick.labelsize : medium # fontsize of the tick labels -#xtick.direction : out # direction: in, out, or inout -#xtick.minor.visible : False # visibility of minor ticks on x-axis -#xtick.major.top : True # draw x axis top major ticks -#xtick.major.bottom : True # draw x axis bottom major ticks -#xtick.minor.top : True # draw x axis top minor ticks -#xtick.minor.bottom : True # draw x axis bottom minor ticks - -#ytick.left : True # draw ticks on the left side -#ytick.right : False # draw ticks on the right side -#ytick.major.size : 3.5 # major tick size in points -#ytick.minor.size : 2 # minor tick size in points -#ytick.major.width : 0.8 # major tick width in points -#ytick.minor.width : 0.6 # minor tick width in points -#ytick.major.pad : 3.5 # distance to major tick label in points -#ytick.minor.pad : 3.4 # distance to the minor tick label in points -#ytick.color : k # color of the tick labels -#ytick.labelsize : medium # fontsize of the tick labels -#ytick.direction : out # direction: in, out, or inout -#ytick.minor.visible : False # visibility of minor ticks on y-axis -#ytick.major.left : True # draw y axis left major ticks -#ytick.major.right : True # draw y axis right major ticks -#ytick.minor.left : True # draw y axis left minor ticks -#ytick.minor.right : True # draw y axis right minor ticks - - -### GRIDS -#grid.color : b0b0b0 # grid color -#grid.linestyle : - # solid -#grid.linewidth : 0.8 # in points -#grid.alpha : 1.0 # transparency, between 0.0 and 1.0 - -### Legend -#legend.loc : best -#legend.frameon : True # if True, draw the legend on a background patch -#legend.framealpha : 0.8 # legend patch transparency -#legend.facecolor : inherit # inherit from axes.facecolor; or color spec -#legend.edgecolor : 0.8 # background patch boundary color -#legend.fancybox : True # if True, use a rounded box for the - # legend background, else a rectangle -#legend.shadow : False # if True, give background a shadow effect -#legend.numpoints : 1 # the number of marker points in the legend line -#legend.scatterpoints : 1 # number of scatter points -#legend.markerscale : 1.0 # the relative size of legend markers vs. original -#legend.fontsize : medium -# Dimensions as fraction of fontsize: -#legend.borderpad : 0.4 # border whitespace -#legend.labelspacing : 0.5 # the vertical space between the legend entries -#legend.handlelength : 2.0 # the length of the legend lines -#legend.handleheight : 0.7 # the height of the legend handle -#legend.handletextpad : 0.8 # the space between the legend line and legend text -#legend.borderaxespad : 0.5 # the border between the axes and legend edge -#legend.columnspacing : 2.0 # column separation - -### FIGURE -# See http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure -#figure.titlesize : large # size of the figure title (Figure.suptitle()) -#figure.titleweight : normal # weight of the figure title -figure.figsize : 11.69,8.27 # figure size in inches +axes.autolimit_mode : data # How to scale axes limits to the data. +axes.xmargin : .00 # x margin. See `axes.Axes.margins` +axes.ymargin : .00 # y margin See `axes.Axes.margins` +xtick.top : False # draw ticks on the top side +xtick.bottom : False # draw ticks on the bottom side +xtick.labelsize : 12 # fontsize of the tick labels +ytick.left : True # draw ticks on the left side +ytick.right : True # draw ticks on the right side +ytick.labelsize : 12 # fontsize of the tick labels +grid.linestyle : : # solid +grid.linewidth : 0.8 # in points +grid.alpha : 0.7 # transparency, between 0.0 and 1.0 +legend.loc : best +legend.frameon : True # if True, draw the legend on a background patch +legend.framealpha : 1 # legend patch transparency +legend.edgecolor : 1 # background patch boundary color +legend.fontsize : 10 +figure.figsize : 4.5,4.5 # figure size in inches figure.dpi : 100 # figure dots per inch -#figure.facecolor : white # figure facecolor; 0.75 is scalar gray -#figure.edgecolor : white # figure edgecolor figure.autolayout : True # When True, automatically adjust subplot - # parameters to make the plot fit the figure -#figure.max_open_warning : 20 # The maximum number of figures to open through - # the pyplot interface before emitting a warning. - # If less than one this feature is disabled. - -# The figure subplot parameters. All dimensions are a fraction of the -#figure.subplot.left : 0.125 # the left side of the subplots of the figure -#figure.subplot.right : 0.9 # the right side of the subplots of the figure -#figure.subplot.bottom : 0.11 # the bottom of the subplots of the figure -#figure.subplot.top : 0.88 # the top of the subplots of the figure -#figure.subplot.wspace : 0.2 # the amount of width reserved for blank space between subplots, - # expressed as a fraction of the average axis width -#figure.subplot.hspace : 0.2 # the amount of height reserved for white space between subplots, - # expressed as a fraction of the average axis height - - -### IMAGES -#image.aspect : equal # equal | auto | a number -#image.interpolation : nearest # see help(imshow) for options -#image.cmap : viridis # A colormap name, gray etc... -#image.lut : 256 # the size of the colormap lookup table -#image.origin : upper # lower | upper -#image.resample : True -#image.composite_image : True # When True, all the images on a set of axes are - # combined into a single composite image before - # saving a figure as a vector graphics file, - # such as a PDF. - -### CONTOUR PLOTS -#contour.negative_linestyle : dashed # dashed | solid -#contour.corner_mask : True # True | False | legacy - -### ERRORBAR PLOTS -#errorbar.capsize : 0 # length of end cap on error bars in pixels - -### HISTOGRAM PLOTS -#hist.bins : 10 # The default number of histogram bins. - # If Numpy 1.11 or later is - # installed, may also be `auto` - -### SCATTER PLOTS -#scatter.marker : o # The default marker type for scatter plots. - -### Agg rendering -### Warning: experimental, 2008/10/10 -#agg.path.chunksize : 0 # 0 to disable; values in the range - # 10000 to 100000 can improve speed slightly - # and prevent an Agg rendering failure - # when plotting very large data sets, - # especially if they are very gappy. - # It may cause minor artifacts, though. - # A value of 20000 is probably a good - # starting point. -### SAVING FIGURES -#path.simplify : True # When True, simplify paths by removing "invisible" - # points to reduce file size and increase rendering - # speed -#path.simplify_threshold : 0.1 # The threshold of similarity below which - # vertices will be removed in the simplification - # process -#path.snap : True # When True, rectilinear axis-aligned paths will be snapped to - # the nearest pixel when certain criteria are met. When False, - # paths will never be snapped. -#path.sketch : None # May be none, or a 3-tuple of the form (scale, length, - # randomness). - # *scale* is the amplitude of the wiggle - # perpendicular to the line (in pixels). *length* - # is the length of the wiggle along the line (in - # pixels). *randomness* is the factor by which - # the length is randomly scaled. - -# the default savefig params can be different from the display params -# e.g., you may want a higher resolution, or to make the figure -# background white -#savefig.dpi : figure # figure dots per inch or 'figure' -#savefig.facecolor : white # figure facecolor when saving -#savefig.edgecolor : white # figure edgecolor when saving -#savefig.format : png # png, ps, pdf, svg -#savefig.bbox : standard # 'tight' or 'standard'. - # 'tight' is incompatible with pipe-based animation - # backends but will workd with temporary file based ones: - # e.g. setting animation.writer to ffmpeg will not work, - # use ffmpeg_file instead -#savefig.pad_inches : 0.1 # Padding to be used when bbox is set to 'tight' -#savefig.jpeg_quality: 95 # when a jpeg is saved, the default quality parameter. -#savefig.directory : ~ # default directory in savefig dialog box, - # leave empty to always use current working directory -#savefig.transparent : False # setting that controls whether figures are saved with a - # transparent background by default - -# tk backend params -#tk.window_focus : False # Maintain shell focus for TkAgg - -# ps backend params -#ps.papersize : letter # auto, letter, legal, ledger, A0-A10, B0-B10 -#ps.useafm : False # use of afm fonts, results in small files -#ps.usedistiller : False # can be: None, ghostscript or xpdf - # Experimental: may produce smaller files. - # xpdf intended for production of publication quality files, - # but requires ghostscript, xpdf and ps2eps -#ps.distiller.res : 6000 # dpi -#ps.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) - -# pdf backend params -#pdf.compression : 6 # integer from 0 to 9 - # 0 disables compression (good for debugging) -#pdf.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) - -# svg backend params -#svg.image_inline : True # write raster image data directly into the svg file -#svg.fonttype : 'path' # How to handle SVG fonts: -# 'none': Assume fonts are installed on the machine where the SVG will be viewed. -# 'path': Embed characters as paths -- supported by most SVG renderers -# 'svgfont': Embed characters as SVG fonts -- supported only by Chrome, -# Opera and Safari -#svg.hashsalt : None # if not None, use this string as hash salt - # instead of uuid4 - -# docstring params -#docstring.hardcopy = False # set this when you want to generate hardcopy docstring - -# Set the verbose flags. This controls how much information -# matplotlib gives you at runtime and where it goes. The verbosity -# levels are: silent, helpful, debug, debug-annoying. Any level is -# inclusive of all the levels below it. If your setting is "debug", -# you'll get all the debug and helpful messages. When submitting -# problems to the mailing-list, please set verbose to "helpful" or "debug" -# and paste the output into your report. -# -# The "fileo" gives the destination for any calls to verbose.report. -# These objects can a filename, or a filehandle like sys.stdout. -# -# You can override the rc default verbosity from the command line by -# giving the flags --verbose-LEVEL where LEVEL is one of the legal -# levels, e.g., --verbose-helpful. -# -# You can access the verbose instance in your code -# from matplotlib import verbose. -#verbose.level : silent # one of silent, helpful, debug, debug-annoying -#verbose.fileo : sys.stdout # a log filename, sys.stdout or sys.stderr - -# Event keys to interact with figures/plots via keyboard. -# Customize these settings according to your needs. -# Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '') - -#keymap.fullscreen : f, ctrl+f # toggling -#keymap.home : h, r, home # home or reset mnemonic -#keymap.back : left, c, backspace # forward / backward keys to enable -#keymap.forward : right, v # left handed quick navigation -#keymap.pan : p # pan mnemonic -#keymap.zoom : o # zoom mnemonic -#keymap.save : s # saving current figure -#keymap.quit : ctrl+w, cmd+w # close the current figure -#keymap.grid : g # switching on/off a grid in current axes -#keymap.yscale : l # toggle scaling of y-axes ('log'/'linear') -#keymap.xscale : L, k # toggle scaling of x-axes ('log'/'linear') -#keymap.all_axes : a # enable all axes - -# Control location of examples data files -#examples.directory : '' # directory to look in for custom installation - -###ANIMATION settings -#animation.html : 'none' # How to display the animation as HTML in - # the IPython notebook. 'html5' uses - # HTML5 video tag. -#animation.writer : ffmpeg # MovieWriter 'backend' to use -#animation.codec : h264 # Codec to use for writing movie -#animation.bitrate: -1 # Controls size/quality tradeoff for movie. - # -1 implies let utility auto-determine -#animation.frame_format: 'png' # Controls frame format used by temp files -#animation.ffmpeg_path: 'ffmpeg' # Path to ffmpeg binary. Without full path - # $PATH is searched -#animation.ffmpeg_args: '' # Additional arguments to pass to ffmpeg -#animation.avconv_path: 'avconv' # Path to avconv binary. Without full path - # $PATH is searched -#animation.avconv_args: '' # Additional arguments to pass to avconv -#animation.mencoder_path: 'mencoder' - # Path to mencoder binary. Without full path - # $PATH is searched -#animation.mencoder_args: '' # Additional arguments to pass to mencoder -#animation.convert_path: 'convert' # Path to ImageMagick's convert binary. - # On Windows use the full path since convert - # is also the name of a system tool. -