From abb5602532108e320b7f9592a14b9d37f8754ada Mon Sep 17 00:00:00 2001 From: Matthijs Berends Date: Sat, 22 Feb 2025 21:26:38 +0100 Subject: [PATCH] (v2.1.1.9153) mic plot fix --- DESCRIPTION | 4 +- NEWS.md | 2 +- PythonPackage/AMR/AMR.egg-info/PKG-INFO | 2 +- ...ny.whl => AMR-2.1.1.9153-py3-none-any.whl} | Bin 10252 -> 10254 bytes PythonPackage/AMR/dist/amr-2.1.1.9152.tar.gz | Bin 10063 -> 0 bytes PythonPackage/AMR/dist/amr-2.1.1.9153.tar.gz | Bin 0 -> 10082 bytes PythonPackage/AMR/setup.py | 2 +- R/mic.R | 2 +- R/plotting.R | 247 +++++++++--------- ....txt => gpt_training_text_v2.1.1.9153.txt} | 6 +- man/as.mic.Rd | 2 +- man/plot.Rd | 2 +- 12 files changed, 140 insertions(+), 129 deletions(-) rename PythonPackage/AMR/dist/{AMR-2.1.1.9152-py3-none-any.whl => AMR-2.1.1.9153-py3-none-any.whl} (85%) delete mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9152.tar.gz create mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9153.tar.gz rename data-raw/{gpt_training_text_v2.1.1.9152.txt => gpt_training_text_v2.1.1.9153.txt} (99%) diff --git a/DESCRIPTION b/DESCRIPTION index f1a26672e..dfa3c71b7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 2.1.1.9152 -Date: 2025-02-18 +Version: 2.1.1.9153 +Date: 2025-02-22 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) data analysis and to work with microbial and antimicrobial properties by diff --git a/NEWS.md b/NEWS.md index 09a85a9ee..4485f3c8c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 2.1.1.9152 +# AMR 2.1.1.9153 *(this beta version will eventually become v3.0. We're happy to reach a new major milestone soon, which will be all about the new One Health support! Install this beta using [the instructions here](https://msberends.github.io/AMR/#latest-development-version).)* diff --git a/PythonPackage/AMR/AMR.egg-info/PKG-INFO b/PythonPackage/AMR/AMR.egg-info/PKG-INFO index ca7676eda..bc1c0e2c2 100644 --- a/PythonPackage/AMR/AMR.egg-info/PKG-INFO +++ b/PythonPackage/AMR/AMR.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.2 Name: AMR -Version: 2.1.1.9152 +Version: 2.1.1.9153 Summary: A Python wrapper for the AMR R package Home-page: https://github.com/msberends/AMR Author: Matthijs Berends diff --git a/PythonPackage/AMR/dist/AMR-2.1.1.9152-py3-none-any.whl b/PythonPackage/AMR/dist/AMR-2.1.1.9153-py3-none-any.whl similarity index 85% rename from PythonPackage/AMR/dist/AMR-2.1.1.9152-py3-none-any.whl rename to PythonPackage/AMR/dist/AMR-2.1.1.9153-py3-none-any.whl index 075ac9996d9ba8f42a90bb5b218879284dc1a9c6..1481339c51c5c629666c828cfb7c138574df5f8b 100644 GIT binary patch delta 674 zcmeAP=nLQt@MdNaVPIh3V8~n?wvo4-l^IBHZf6x?0W;=t-sI-US{xQtw7ll(^D2R4*7f~(90N2V8i?h9*wHsg*GSJ02rUgwjVEtZE@K8No2;cG z2h=-JU827D3-2Q)286{RLk|41XiH!OI)jOUK_0^py_C%265Y(aw0!*_S7-kqm)diu zi&hyhG(4=GuNuK5bY>CvlSp zq|{o~=zp(O{GIP-@WP@i=Y|TGBByCVaI0qip+mBY*Rm$v+9k8>Qu$HF43ED>r@X5t zEXv;Ry#39d#DikbKF>0+U(~vN-g>4fE1#N)yXcjA`T3;fAG}r19=zoB=Kqrx`94UO zkowiq9jCQOcX#@uC)0ADUTgkV5pwp<1>u{L?+)oM^{U*OWzA`y(DubH?8W@wt3I3Y zdNYQE7XLEd8*AnFrQomF?w_ysdQ6boR{8esndshG3O5UnT@HP^$8^eh%g7(6coKdX zYwZ@c7Q6n)Vq*Ev17`&$8ZS20i7S%o*ED1k&AnFbw>s8VEJH#+m1XD23x65vB+t!p zopY1H<}Y)AHzSh>GdyWb7F4qWrHILXP`X>q8j�si^}a_nVqLII1Pobrg(|;w;?5 l)zt^tJWzT_QP%;d2Nh0u{7>Get_Bo)s;wMa=oY| zqtWD-v5?jscnw4a9Ol?C2Y$YouoggqDV;Mw2%xmoWpCP1aJ8 z1M2lu(WnP$(mld|EsharEfWKSJccH{l+5B1-ORkSeElF-Xa69V+H=17O$H1N4}aHr z7m6&oahUJK@h6L!1-HJrB)}c*c%ap)HQs*u(Uj@B@Bg06p7>>=;YH4qH{O^uJ=}YN z=ZnauRZ%nCkH2eAeWJ?CS8wHf@^SgCi%Y`F#8(Uc2sY;b`i0G>{!YPOK z)g?-0T={Z@TPL(g?O1!*H2?6W*$UUBHkFlFo?H69llj7gUynnczf*9%|F=!=KVGyhyHX-JAeDBn#0Pdx5kc7yp}&XlJZL`r`EuI*S;UqL~_~k6EiZ5_1IR{cdUCQ z-#I(7Z)#-uu8kim>bg&|J@>s7_DxeyW@5lMqn6wAu1vhEm1a>{aPJwzs#TW%XWv^N zW4>#5UHjfQPova4cz3U<+&5!7+g8U(#mBDCzEzv68DEt2`xH~c4|A>G!q(H~KP^;S z|EX`bqLO^iri!DPHfuW#S7mJ1wOIQ(P3xkv#oW~#MUxl4X8dD3XII%AD+Zey#sF_d zCJ|$pKKhSIruc3@)gt1EcbXnmjmSrPOs4jF4h1+{4w?2iZJO?5C;g d0JTh3SK)-m{^SGdYCy5)>WXYkYQQAG002R_35x&# diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9152.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9152.tar.gz deleted file mode 100644 index 095f843fffb6f2e7d5d2d383d2bdffe46dc21ae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10063 zcmch7RZtv2uq{r|#oe9Y8rk_sX2Y-RL^Hu_Y8IXyLWv&O?C({OBYWLUQV8WOPEK1m-DlwC)|0EpVw+z!{uwW zX76r$D|?x?XhQLUNzFFue%~_#wdJumIH$-Ksm3?L@{Lv zG%P*?H#8;qVH{&QIaH%A??L8wr9Ln8i`!63A zYg%;`e(6X>$;X0P6+OQ=pA+ARcn3sGR5Gx+4&6lWCJ8;nnksnqBZOzzJoDd?n(E}~ z9#e&e*(<%>pu2#J8xf>!+?sQCr>ehhqfBJn5i;De{Kd5m6;4Hm$2)9@8aRl0E+2rq z0IExr(bk8={q0N%S?fbSdO|Rg?yHl2Wrf%HA?Nj@l_rzC2Y^;3|GtYlLR1Hv!b@?i z2+X$6VsfS=%vtf>F!i((BsVjkd78n7Xh59oU!-Pj;oQjx>R23Gk#?a05a48}=@br% z`BZ#!K?qt;(`mytkc_no6^5)E?xlOq@PHm-RD&CUqsr+kMN^<# zUr){CP+eWZ>eY|<%a~pC!XIMS!~2zp{0L}NbCRYO=*b%3$?Eq9*xS5kXecO#6`sFm zsmvLJco6?lA#AX-;m`Wb6lyvlVmUt2-ZU_e;2SctdwGPFLN>BL0~ZogKQ}fCJW%P# zy?cw>4jV9WTpe*4@`N|U=Jmy~UKsJ5{XALhE7N+cb3%(ejeXPn`YC+e^Ts}E+T&aj2yISIRu2WBQ=Qm@Vl2|HW)t!kxImMEHz zNS?V$#qGEwrJ+nMovv-Y=QjubC3R}3UE6(zu!;J3g^KH5#Dan#6Gm}Q53boCS*yOP zxHICL*Pmyqe!=pB^(w|asmn2s4qp1-s9*T_d6nSk5`TFLbR#CBrPq3HMsMs;uk)0v zp#qq<;)%=Bl@4S>t!zrZk0891U&@K1hHFc-qU4^;kmvbp#Tl9ntuOy4T&+N8G|5xUm)?O2} zVF*S#fE49xwFd+L^~YtctQFY2s|qh{qt6JB$;ymL=;I8pgXE}9(PNDN2a<%D;E?;Hmu zxC$0kGRfcn3OvDA3QB9EvqPb$O+s0VHp>KzkBGd=!=61+zY&Y#o=bT(7e$*OS%tDGSeQLBt<|tv}lObJ0Pje17GyE&iG(1Ka1bC_QYo1Y#@ zQ`)QpBMSMZG1ec;p**NYB6rrDdfFdL>L_D8%)pk&@>AU1ZxaqJ3xixPPk*>PVG+dRi3!l&d%0sX05EZPDuRs$aqdpNYh*z zps7o>6#ZUA>x_>%CU6Yn6Wh0qzB77zXnzQe$7F%G z$9@{?O(0eN!Xp%TfN(mA79p9tb6QS7IUhmpXz0gL*hm_JVBXS$!cSE*v`6M%-7?j= z5x{;h8b-E6mV4dM!{8_bk~VGrXuhq{=?tH`8|5eNdfAWvg8GS1V{9t^tM`-iGrbR&b03?H!`(zWN%W(p~8sV@M!6 z74!*8huO7tcElp!YYOA`l+u?N=_^$&e5JSIpSZiQLdLF7?~_)s_n*w8ozg$5MbiA9 zu&bstH7Bt`sLYeC!Di+%-oUlfXWqH(bu}x$2b(59GKi{O1y%d&+h16(O7U2;}kG3oF8WD(HVpAF_|tCoabiAV#`ms7Zvup z6PlnUj^1%}_Jhz|g|E(JHeougS@$fVDI%WP6`1q8Rc-_zJ|{7w>Evr1$y{SUvYaG_ z<24oMm0H67r*aHscSa_87C}n&d-3 zT4|*`N6g~-p`R;^ani_bze#1U5CACDP3hkl%&j7ZVPCr{xVupvx!e$#MPj>?f7oMA zG~!MI%C&lUp6V(}A#0(oY=&XtVf3J*S{{nyG=-FD*vVpF-q#mBY?g>kxE`H6;;$!q zlQL#qe!Db&HDomA{If$Zyk+d^^_>RL{x&A6_qD{lmN~0gf3$^TT6Cf1ycgowI{Rw@ z`~`2u_!6XP8eQYVzRz2E37&sWHiBs{Ep|mGh~Ul67D22)xgVy5c3lryktp-pAkXsr*czmvGs1!(b@wNw;cj znYK$97>*7O;S!i^`;hX0>p5Dc(HDQm2%ODxD;hsIG_bWwZnOE51BZLUt(UYu&{Er} zeI#G>Noa&aqt2aL%7%AgCCf;pcFAhg2hTv7T}uc>T~%y^>Kw?KtJ(j~He5(=;^Y7_ zG~+H1#sKBiDVnC-!hrepV6cYfxVg!Z1u*r+H;v&O6m;;7AW?SP<;l)Dp10{t7OP%) zi{Q0sl&6xt=FTZsWBo+Z$b#p1-_#iwd+&XI@v2u@5eWa2G?UFGuxlI)G@ZEa&|=P<*_Q8dBSM;;A7Iw);Dn7< z7JcqA>D!X^qFkQGDwv{=fApgqb?W!BGK|)(ld9$@^PEc$G+Ygqdli0+Po^^6+{%M% zY;E_Y&ILnd z8gZ3Be9hilmB$;8C~X?eX-b}TA|v%qH9`;yU~!z(BwWehSaXf3(u3GmVA_mD^-er{ zX(RBSvRUDOdJ|5iRbL+M&aIS`_58)E8W?T**3KH4!z&|G0(H&^nc$=CW91JcMq5RBvTYHEvhh;e2re z4<0l>h#&HT`LM1(f;btZkogSxe|C7$E0Q(#TU#xBPt{4_!6>`#TJZ=w|2F?qApBuZ ziUo*Q{VQ){!I;CRH@7~sMrf!A%W>L>aU-Hx#<#8I^b^~)bOGTqw(C!SY+0ddVeo?u z9dm@q_n#=L+rcJ4*|?bVB`vhI_|SwWtNFfzv8|23f#Q)t6X$Zwi{T!WTPJvCa<2H7 zTl&}U>A*YKym1>EAq7rK|L{Y!676aja0xX=F)?g2XwAW%Ww$WWAtA7@`&YIgQ9HHd5Xg^H4*pQ?PNamZ?Hg}TfFzwnP0)J&ReS8K>@I5Bt$nmvoQ`x}@;B^6a2iV!>T5Wd$S6`?i25YQBRr(Fm61j_eEinQ*27xOFXlM3Nr3nf+kP<4@fg0tr6#!9 zNVvN1z5l=g8rVgR&!q7{mD&fPyZ6`QM76^&{k{zg0?9i!vMkSu)lUTQaAYI)jGnz0 z4ce(?nVkxmMuKz=^9}F+0qvha_z#J(?9FS8{{-p(bjbg6(Ekf~|CeJj#<1yEf?<=h z%tWz`{6BbE5pnp${S)N=1$zI0|4(512Xg#I`*zidVn$1%*y-Oc(YjR!6ndeA)H4cR z>v!9rC@0Mv*&TYFlXW9eYa;3o+m^%a#H(MR!IcP(`9*g)w(*MvjHG|XbPXVO`zljC z@hI+BGGj7`LO(3F8sI5RR1EFmP(4v%Y!(V4U1$cexw^T{4^54Y;SY>^zBlvOgSx;= zU+D?Y26!&*fhlk(!y`W*0;Wy3h7t&sPQ>?rh8bCmd`3(-Q!H1vP)5+_{t}P6bd#7oNg?iqeKnytrh2<@hkMYVw;2f{iqIum!lldLS$QaI-Qps1xEc|yvQQ*STW*| zp<#!m4TUpoBW}`JxYn<`Q&8Jay_C2Z{kVAXr0j+MO0K5E%?9U>I92|}DeKzAe_tC@ zouTcbxk-q-o0ptkf(ZUgxwD;HM6?P=?9Mb5KB0MmW@6_2sdJ*+M10dD4P+z7rWWz0 z!Sl9Qz&p;m#+k+ z?DK**ve~FhU6NxKOt`}}rx*8`(gf79+1;xN!5>4L>aY`=p2e(~1}A@DeTuDtW50)g z^p;)uiBPE}4!Yo%gX}5I<(Ed!4c##cFD5Yd+lHHgW+=LU!V{ZC%oukc_kM{fvwp`( zJl*9wGQZQ!9~!wTzRM>mj25J=+{qt znPmOb*b@_#_yQqcb+X%W-~}7?vA7Y-gmm>yHcNxwg#VQd46G2;zYF=PI@zrB8&)>* z-v89$oCZ&>(DX)J+REi- zmDD#oJ7eEjChk`H3+H10PK0p8NW*!zzTzdBW;#_QQh~P7vy1 zRgZ(d%E^;yMYNF&G(7mO%@E;qB>OSUzr!ePH8w1|g6v%OJ!d~KZCZjSla0J<$m={g zq`#?~RQ!T}>%z3LZ6=$g3)XWgB{w>~Y*tCJ?YH79Cex#tT->0eK5^>#t&6~aSl^La zu{s~+m|JILiu@thYEjZV9?6DCxc$D~cud;%RD3dKT_^M-g|+?*pr+K^NP1GR`i1#; zpJp&vfwxSbCW#=nr%&LRys9%?lm3!fRON*73mCKP?|Q+2TPz~_f}bpy!htA_1U;K4 zeMgXl>e@%yk+R;(V5Dy&RQ_`i6}WA&NUl`q!zaI40yDF-J~dt6O56RPtiMgp|C^Vg z(OP(i=8~Q>xibv1+9D6|c-Tqst-!ye3tA#HvF#y*zt&Ymd3;K2@1dLWAs@12+=EoI z34NLeDtv-9mUzQ`Cr!6?*9-kDPM|2;wt`h>U*+V#JF{~6J-wH}_4ny9){C>R!ARw3 zVG%arac2B*+rrx6S8MgDFeZ%@f zdDF~IXzYTgYm@vAbk_YCE7X9Q5%1%`;FwFVBndm1BvtY*IQ`Mht#0uU;|;`5`p`W$^lt_^ zM_UnrJ@T)v!@x2B#~4%nWm7lPd>K>+BZj?RUk#ofx=AR)3KA3;??K!Y0923+#g<%zQRwtK)3j_+*#0+is;$)V_;JP<&2`)Tn(=PT9yH)de4fjI@I6)6zs< z;7bM31!3n;{QkYDS)&dRZyTo&+g>EC$$Rqu5m-GOhQLALl!dwy$|RL!>&P{um}? zC5zji>e~Q`Sc^ak>jAEr9L|nM$9Y3eK1(T zaJLZu5iMeQng+$?xoQXO@=i5@3jm$zi@Iba61%ue*adAG?@FU3YsI!O08(NIqvp96 ziRt3d4CL*cgMg}D|8Mxq8;;_$^hwHLi*sLPoo&B6T<5PtHtP!;Khp1WsPgfZ8sh`7 z;HklA<19q6B0y#Rway(xC!HRjKcS?jR`c1bNZ)OS9OF9GYF&?MUKVa zhGaIK+W++zG?|&@PqEI^Q|__S<_+z#{V7AIq(vC=QNeQQ<|6zyZ9P$%Xw6{R0}yoD z_?q1K-+%e8b z>Ha!I=UD^EriD^&kk-T_)yTIa8G+yKS5eI|>`DAk$-FSxcs&MRo_4bgrm@}2-Z%8Y z;oa9~j;zAw@fKtlL#I?>0N)NQy>%RFz^F#S(2D6eommJYH1H{2slmk_q_q43y$s0a zwZ6T;;_F8)rSutA{u5?Jp{zvSD)O#z;hCyK<*3sZ=nipw!_?pZfV1Nk*<7NUh)gys z_7L^lI1;As!I7{1E+x~rb!kOQ0kt8vIjpJXo=(oxm{-dftAp5{)>vjaBf?irl*5w#i04&e4xpXE%}QnD40P6?}Jkw=NK*n zQ@%RGs7-dZ`(|QDJ2#<^<52srVz`JtzS#|6V($m@5UpxG14P7wZAa=f;S3o|*9n@Y zOvFhG!+9|!ZmH1VLehb4&q4+%cn`nzkS_;_XmR>{MbYH6dyyDYLgoz9yN0dnpG1Y`*Cpz5J310mW?l*oUnH@63@PUdod zrCu3)`1E;z><&dXyP$W&Y#5x4$RsEk^R7f$oo{xg6oh}Fp)IhplhO1KT-VqK zsGOQ;m_5C>o74l-;>e}1z08=Uv2vPbCR+ut6NtI^1(q+m?K-a=Ea+5s{JV5n{&Eod zg5(3wA54T}nhx_YU$TFXIua2`ow4uY0$X7xiBqf(o3htOc#IxVI};YLpy)aAeZ>nx zmQnta0cQqees0JOd&5pKF`^3w3KBDt49`x`d?ApdUBdD4vu6R^pC*AY_9yGpT}$Zm zCr|Tl?~v__d*zT#=6CX2Gp7@f>Cs|ovJEddcr4U*k*{nuaAZ!)?0wkbn(3{zn_lv8 zN*%u*gtwfTz{LdrYH}NdmTT?u6^e7?+DM1FY$-!p>S?jl9im4XuD?I_NrI^EFwKGOJzB7fg4p0Y| zH$2(RqybpH6(rDOPZ>A3f zM?3WMU(;_kmbrAwr3&6Y^@4l7Zz3jVXWi2ZGl=|=~CMk&QjYxNyV?4!#MJ~?A z9*yFM6K5|0Nn7BldzD28PkGnl^SRE4dqikGt1G032P=#G&kybZr%VeYTQqMTB%dZE z(JwFPs#o;fp4kH-+j$gvF5KA^>QOSa8rr%{;n3MVAj4gl&)zjKke?Ltp@V~qH?}iu zzJ&Ht(|RV%(q!+N2h{EJSxhN@4^rGrlDHJ-+-xRvJs_138E9HE@mJHpNQxsnX^T6e zk@f>R9>SGcxG#`M0*8K-xKc-ZpYeRE7xY;P#W1X%w3Fl=;&|IZY= zD|fhGXr7>!1?dyevQ*9V2=Tmi2U@d9!-$FtA}fSDQas(#NpqS;rtJUxJ^!^ug0bhb zq}lOkCbb3C_MGs9M4Egr$s*=@b|E*WC!jQhdDe23<8u>3$PfMCp!uCP{a1Y?t$yQI z2JxbvfOY!7A*SG7@eHRE?$+lYy%es>?5{_*x~GgMzrP;sa#E?vE6S8XrD4}M*Hues z80RDHC?2ANP<(=f6*XYwnioCcFQ_JD#HkR~n1>2O>?v2}IwkSI9w%WQ`I%efIxZX}V8 zmGbNJX02J*BG<-me}r~$jWh9(`yJ3Emn36`gC-_)F7T=XJ?-crNwGv576FhCmj=yK zpKVaU?d()A5KH@F*vf}ad>RbJWSI025utiuP8SWE;mZHr#U6I01gtBIZ;TNQZ)>y~ zqTwu%1eqdjr!Qk3cArXh!^IrJ?JU8dJWffH23|{Mr2H&yNhX)RRKi{@W`q+IL(Fe^ z(!UZt+HnO*w?+u4d9!oatWMvd?h-_OWI@FK)AV_cKYew?lKUAn|5vB9FHs4fer4D+ zsyW$*df!u0f+)IfxRz=c=*%mk4nzWD$4&;(#*?x=0{j{IByS=^gs76Pe&2rkgG%}k zp?1UTt8P}?j9v>FWxFs+2BKsuly>V7X8Hkuq7&2sx- z`}AkYsHlT*li7zEriFd7<9g9iQ*WZOgXP~kNDJEEwYG@J9sSxk&s1d3wQ>5tZGQ`(^T2-q89E#Xj)w$Ukg zc^*Q!WQ4zCw+C4w)@%>=Mu@UvV0dL?QQe6SE;1^RoRq{*CYfRD6&A$sXE&5;bEMv*9x5AQK@Kmj3U88h#nCK;Q5xz!7HA8Rg5xs`jqV0lD^@cYr`3G=}8rW$>j3E4!h zVpLRCy9Ld<1Opmyp>FX?hm%VGqRY~I%g&@fU_j+x^|~O!Pu9Jmw!sICe>`T2?i;V? zIDIBlp>6ffFG9I|i`IMQ{0^Ra5hd#Vg)wv8v;n4c41CmjJZt+B^~F__`?wb!(h7w|c#VEDph>FWV%w zcVV(7Kdb)d++Y_>23s12{XT>+zQHyu-d-+udzFGg~!?< z(3haoUD%1-E_O85@GM5haW_sZpkn|e_jzi@9kA`n54l- zt7rmjbq9>aT+&Sjqu$ZE-u(Fbfe@xX2-5xkKsP}GZ!fi}&(PD=by!{$;>+3_%vX$a z6()Yf{GUI9ARk{_qub{fKQ#;JyCmuvTQB@SqTs&j`uEVrIM{3A5GWsWXgFv=9o+Q> zzNYONa)!EJ7hFF^L*8H|+ocuvFo^+3($t|y{{3|~VOqOHVz!OrAsNha=hv>uX>$gn z)-L!Nsu%<-sd2M@eb6uHf~gL{pzck<(0+Sv{XO|yy3oI9DS>Ew)=8BZ z%#!xazK*$WN<+;_w?Xa~54%`n|B`AMul>hdHj(dr?zrlvO#n)4dKM{!mca=WcVMTj_b6C%CQ?oOrqC>%{=de6%S^ zVDUI*Og*Ul{L+^pisddngsNc0y?Yw4hU2#^jT_mrw*8tAIId4!pzREK)H5uXe|crc lDm?yCuV#9plhrX_#`&dE_5V)IuOTpa%~mFVxGi|N{{RXB)8YUC diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9153.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9153.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e8aca67a727aed29311e2ead3e132ac9ebd921f6 GIT binary patch literal 10082 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 Z` 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 lims[2]) { + if (!is.null(mic_range) && !is.na(mic_range[2]) && !is.na(lims[2]) && mic_range[2] > lims[2]) { lims[2] <- mic_range[2] } ind_min <- which(COMMON_MIC_VALUES <= lims[1])[which.min(abs(COMMON_MIC_VALUES[COMMON_MIC_VALUES <= lims[1]] - lims[1]))] # Closest index where COMMON_MIC_VALUES <= lims[1] ind_max <- which(COMMON_MIC_VALUES >= lims[2])[which.min(abs(COMMON_MIC_VALUES[COMMON_MIC_VALUES >= lims[2]] - lims[2]))] # Closest index where COMMON_MIC_VALUES >= lims[2] - self$`.values_levels` <- as.mic(COMMON_MIC_VALUES[ind_min:ind_max]) - if (keep_operators %in% c("edges", "all") && length(self$`.values_levels`) > 1) { - self$`.values_levels`[1] <- paste0("<=", self$`.values_levels`[1]) - self$`.values_levels`[length(self$`.values_levels`)] <- paste0(">=", self$`.values_levels`[length(self$`.values_levels`)]) + self$mic_values_levels <- as.mic(COMMON_MIC_VALUES[ind_min:ind_max]) + + if (keep_operators %in% c("edges", "all") && length(self$mic_values_levels) > 1) { + self$mic_values_levels[1] <- paste0("<=", self$mic_values_levels[1]) + self$mic_values_levels[length(self$mic_values_levels)] <- paste0(">=", self$mic_values_levels[length(self$mic_values_levels)]) } - - self$`.values_log` <- log2(as.double(self$`.values_rescaled`)) + + self$mic_values_log <- log2(as.double(self$mic_values_rescaled)) if (aest == "y" && "group" %in% colnames(df)) { df$group <- as.integer(factor(df$x)) } - df[[aest]] <- self$`.values_log` + df[[aest]] <- self$mic_values_log df } + scale$breaks <- function(..., self) { - if (!is.null(breaks_set)) { - if (is.function(breaks_set)) { - breaks_set(...) + if (!is.null(self$mic_breaks_set)) { + if (is.function(self$mic_breaks_set)) { + self$mic_breaks_set(...) } else { - log2(as.mic(breaks_set)) + log2(as.mic(self$mic_breaks_set)) } } else { - log2(as.mic(self$`.values_levels`)) + log2(as.mic(self$mic_values_levels)) } } scale$labels <- function(..., self) { - if (is.null(breaks_set)) { - self$`.values_levels` + if (is.null(self$mic_breaks_set)) { + self$mic_values_levels } else { breaks <- tryCatch(scale$breaks(), error = function(e) NULL) if (!is.null(breaks)) { # for when breaks are set by the user 2 ^ breaks } else { - self$`.values_levels` + self$mic_values_levels } } } + scale$limits <- function(x, ..., self) { - rng <- range(log2(as.mic(self$`.values_levels`))) - # add 0.5 extra space - rng <- c(rng[1] - 0.5, rng[2] + 0.5) - if (!is.na(x[1]) && x[1] == 0) { - # scale that start at 0 must remain so, e.g. in case of geom_col() - rng[1] <- 0 + if (!is.null(self$mic_limits_set)) { + if (is.function(self$mic_limits_set)) { + self$mic_limits_set(...) + } else { + log2(as.mic(self$mic_limits_set)) + } + } else { + rng <- range(log2(as.mic(self$mic_values_levels))) + # add 0.5 extra space + rng <- c(rng[1] - 0.5, rng[2] + 0.5) + if (!is.na(x[1]) && x[1] == 0) { + # scale that start at 0 must remain so, e.g. in case of geom_col() + rng[1] <- 0 + } + rng } - rng } + scale } #' @export -#' @inheritParams as.mic #' @rdname plot scale_x_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { meet_criteria(keep_operators, allow_class = c("character", "logical"), is_in = c("all", "none", "edges", FALSE, TRUE), has_length = 1) @@ -318,7 +332,6 @@ scale_x_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { } #' @export -#' @inheritParams as.mic #' @rdname plot scale_y_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { meet_criteria(keep_operators, allow_class = c("character", "logical"), is_in = c("all", "none", "edges", FALSE, TRUE), has_length = 1) @@ -327,7 +340,6 @@ scale_y_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { } #' @export -#' @inheritParams as.mic #' @rdname plot scale_colour_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { meet_criteria(keep_operators, allow_class = c("character", "logical"), is_in = c("all", "none", "edges", FALSE, TRUE), has_length = 1) @@ -341,7 +353,6 @@ scale_colour_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { scale_color_mic <- scale_colour_mic #' @export -#' @inheritParams as.mic #' @rdname plot scale_fill_mic <- function(keep_operators = "edges", mic_range = NULL, ...) { meet_criteria(keep_operators, allow_class = c("character", "logical"), is_in = c("all", "none", "edges", FALSE, TRUE), has_length = 1) @@ -475,14 +486,14 @@ plot.mic <- function(x, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + x <- as.mic(x) # make sure that currently implemented MIC levels are used if (length(colours_SIR) == 1) { colours_SIR <- rep(colours_SIR, 3) } main <- gsub(" +", " ", paste0(main, collapse = " ")) - + x <- plotrange_as_table(x, expand = expand) cols_sub <- plot_colours_subtitle_guideline( x = x, @@ -498,18 +509,18 @@ plot.mic <- function(x, ... ) barplot(x, - col = cols_sub$cols, - main = main, - ylim = c(0, max(x) * ifelse(any(colours_SIR %in% cols_sub$cols), 1.1, 1)), - ylab = ylab, - xlab = xlab, - axes = FALSE + col = cols_sub$cols, + main = main, + ylim = c(0, max(x) * ifelse(any(colours_SIR %in% cols_sub$cols), 1.1, 1)), + ylab = ylab, + xlab = xlab, + axes = FALSE ) axis(2, seq(0, max(x))) if (!is.null(cols_sub$sub)) { mtext(side = 3, line = 0.5, adj = 0.5, cex = 0.75, cols_sub$sub) } - + if (any(colours_SIR %in% cols_sub$cols)) { legend_txt <- character(0) legend_col <- character(0) @@ -525,16 +536,16 @@ plot.mic <- function(x, legend_txt <- c(legend_txt, "(R) Resistant") legend_col <- c(legend_col, colours_SIR[3]) } - + legend("top", - x.intersp = 0.5, - legend = translate_into_language(legend_txt, language = language), - fill = legend_col, - horiz = TRUE, - cex = 0.75, - box.lwd = 0, - box.col = "#FFFFFF55", - bg = "#FFFFFF55" + x.intersp = 0.5, + legend = translate_into_language(legend_txt, language = language), + fill = legend_col, + horiz = TRUE, + cex = 0.75, + box.lwd = 0, + box.col = "#FFFFFF55", + bg = "#FFFFFF55" ) } } @@ -562,11 +573,11 @@ barplot.mic <- function(height, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + main <- gsub(" +", " ", paste0(main, collapse = " ")) height <- as.mic(height) # make sure that currently implemented MIC levels are used - + plot( x = height, main = main, @@ -606,14 +617,14 @@ autoplot.mic <- function(object, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + if ("main" %in% names(list(...))) { title <- list(...)$main } if (!is.null(title)) { title <- gsub(" +", " ", paste0(title, collapse = " ")) } - + object <- as.mic(object) # make sure that currently implemented MIC levels are used x <- plotrange_as_table(object, expand = expand) cols_sub <- plot_colours_subtitle_guideline( @@ -636,18 +647,18 @@ autoplot.mic <- function(object, df$cols[df$cols == colours_SIR[2]] <- paste("(I)", plot_name_of_I(cols_sub$guideline)) df$cols[df$cols == colours_SIR[3]] <- "(R) Resistant" df$cols <- factor(translate_into_language(df$cols, language = language), - levels = translate_into_language( - c( - "(S) Susceptible", - paste("(I)", plot_name_of_I(cols_sub$guideline)), - "(R) Resistant" - ), - language = language - ), - ordered = TRUE + levels = translate_into_language( + c( + "(S) Susceptible", + paste("(I)", plot_name_of_I(cols_sub$guideline)), + "(R) Resistant" + ), + language = language + ), + ordered = TRUE ) p <- ggplot2::ggplot(df) - + if (any(colours_SIR %in% cols_sub$cols)) { vals <- c( "(S) Susceptible" = colours_SIR[1], @@ -669,7 +680,7 @@ autoplot.mic <- function(object, p <- p + ggplot2::geom_col(ggplot2::aes(x = mic, y = count)) } - + p + ggplot2::labs(title = title, x = xlab, y = ylab, subtitle = cols_sub$sub) } @@ -712,12 +723,12 @@ plot.disk <- function(x, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + if (length(colours_SIR) == 1) { colours_SIR <- rep(colours_SIR, 3) } main <- gsub(" +", " ", paste0(main, collapse = " ")) - + x <- plotrange_as_table(x, expand = expand) cols_sub <- plot_colours_subtitle_guideline( x = x, @@ -732,20 +743,20 @@ plot.disk <- function(x, breakpoint_type = breakpoint_type, ... ) - + barplot(x, - col = cols_sub$cols, - main = main, - ylim = c(0, max(x) * ifelse(any(colours_SIR %in% cols_sub$cols), 1.1, 1)), - ylab = ylab, - xlab = xlab, - axes = FALSE + col = cols_sub$cols, + main = main, + ylim = c(0, max(x) * ifelse(any(colours_SIR %in% cols_sub$cols), 1.1, 1)), + ylab = ylab, + xlab = xlab, + axes = FALSE ) axis(2, seq(0, max(x))) if (!is.null(cols_sub$sub)) { mtext(side = 3, line = 0.5, adj = 0.5, cex = 0.75, cols_sub$sub) } - + if (any(colours_SIR %in% cols_sub$cols)) { legend_txt <- character(0) legend_col <- character(0) @@ -762,14 +773,14 @@ plot.disk <- function(x, legend_col <- c(legend_col, colours_SIR[1]) } legend("top", - x.intersp = 0.5, - legend = translate_into_language(legend_txt, language = language), - fill = legend_col, - horiz = TRUE, - cex = 0.75, - box.lwd = 0, - box.col = "#FFFFFF55", - bg = "#FFFFFF55" + x.intersp = 0.5, + legend = translate_into_language(legend_txt, language = language), + fill = legend_col, + horiz = TRUE, + cex = 0.75, + box.lwd = 0, + box.col = "#FFFFFF55", + bg = "#FFFFFF55" ) } } @@ -797,9 +808,9 @@ barplot.disk <- function(height, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + main <- gsub(" +", " ", paste0(main, collapse = " ")) - + plot( x = height, main = main, @@ -839,14 +850,14 @@ autoplot.disk <- function(object, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + if ("main" %in% names(list(...))) { title <- list(...)$main } if (!is.null(title)) { title <- gsub(" +", " ", paste0(title, collapse = " ")) } - + x <- plotrange_as_table(object, expand = expand) cols_sub <- plot_colours_subtitle_guideline( x = x, @@ -864,23 +875,23 @@ autoplot.disk <- function(object, df <- as.data.frame(x, stringsAsFactors = TRUE) colnames(df) <- c("disk", "count") df$cols <- cols_sub$cols - + df$cols[df$cols == colours_SIR[1]] <- "(S) Susceptible" df$cols[df$cols == colours_SIR[2]] <- paste("(I)", plot_name_of_I(cols_sub$guideline)) df$cols[df$cols == colours_SIR[3]] <- "(R) Resistant" df$cols <- factor(translate_into_language(df$cols, language = language), - levels = translate_into_language( - c( - "(S) Susceptible", - paste("(I)", plot_name_of_I(cols_sub$guideline)), - "(R) Resistant" - ), - language = language - ), - ordered = TRUE + levels = translate_into_language( + c( + "(S) Susceptible", + paste("(I)", plot_name_of_I(cols_sub$guideline)), + "(R) Resistant" + ), + language = language + ), + ordered = TRUE ) p <- ggplot2::ggplot(df) - + if (any(colours_SIR %in% cols_sub$cols)) { vals <- c( "(S) Susceptible" = colours_SIR[1], @@ -902,7 +913,7 @@ autoplot.disk <- function(object, p <- p + ggplot2::geom_col(ggplot2::aes(x = disk, y = count)) } - + p + ggplot2::labs(title = title, x = xlab, y = ylab, subtitle = cols_sub$sub) } @@ -930,11 +941,11 @@ plot.sir <- function(x, meet_criteria(ylab, allow_class = "character", has_length = 1) meet_criteria(xlab, allow_class = "character", has_length = 1) meet_criteria(main, allow_class = "character", has_length = 1, allow_NULL = TRUE) - + data <- as.data.frame(table(x), stringsAsFactors = FALSE) colnames(data) <- c("x", "n") data$s <- round((data$n / sum(data$n)) * 100, 1) - + if (!"S" %in% data$x) { data <- rbind_AMR(data, data.frame(x = "S", n = 0, s = 0, stringsAsFactors = FALSE)) } @@ -953,9 +964,9 @@ plot.sir <- function(x, data <- data[!(data$n == 0 & data$x %in% c("SDD", "I", "NI")), , drop = FALSE] data$x <- factor(data$x, levels = intersect(unique(data$x), c("S", "SDD", "I", "R", "NI")), ordered = TRUE) - + ymax <- pm_if_else(max(data$s) > 95, 105, 100) - + plot( x = data$x, y = data$s, @@ -970,7 +981,7 @@ plot.sir <- function(x, axis(side = 1, at = 1:pm_n_distinct(data$x), labels = levels(data$x), lwd = 0) # y axis, 0-100% axis(side = 2, at = seq(0, 100, 5)) - + text( x = data$x, y = data$s + 4, @@ -997,25 +1008,25 @@ barplot.sir <- function(height, meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) language <- validate_language(language) meet_criteria(expand, allow_class = "logical", has_length = 1) - + if (length(colours_SIR) == 1) { colours_SIR <- rep(colours_SIR, 3) } # add SDD and N to colours colours_SIR <- c(colours_SIR[1:2], colours_SIR[2], colours_SIR[3], "#888888") main <- gsub(" +", " ", paste0(main, collapse = " ")) - + x <- table(height) # remove missing I, SDD, and N colours_SIR <- colours_SIR[!(names(x) %in% c("SDD", "I", "NI") & x == 0)] x <- x[!(names(x) %in% c("SDD", "I", "NI") & x == 0)] # plot it barplot(x, - col = colours_SIR, - xlab = xlab, - main = main, - ylab = ylab, - axes = FALSE + col = colours_SIR, + xlab = xlab, + main = main, + ylab = ylab, + axes = FALSE ) axis(2, seq(0, max(x))) } @@ -1035,18 +1046,18 @@ autoplot.sir <- function(object, meet_criteria(ylab, allow_class = "character", has_length = 1) meet_criteria(xlab, allow_class = "character", has_length = 1) meet_criteria(colours_SIR, allow_class = "character", has_length = c(1, 3)) - + if ("main" %in% names(list(...))) { title <- list(...)$main } if (!is.null(title)) { title <- gsub(" +", " ", paste0(title, collapse = " ")) } - + if (length(colours_SIR) == 1) { colours_SIR <- rep(colours_SIR, 3) } - + df <- as.data.frame(table(object), stringsAsFactors = TRUE) colnames(df) <- c("x", "n") df <- df[!(df$n == 0 & df$x %in% c("SDD", "I", "NI")), , drop = FALSE] diff --git a/data-raw/gpt_training_text_v2.1.1.9152.txt b/data-raw/gpt_training_text_v2.1.1.9153.txt similarity index 99% rename from data-raw/gpt_training_text_v2.1.1.9152.txt rename to data-raw/gpt_training_text_v2.1.1.9153.txt index 6458fb78c..d7a283974 100644 --- a/data-raw/gpt_training_text_v2.1.1.9152.txt +++ b/data-raw/gpt_training_text_v2.1.1.9153.txt @@ -1,6 +1,6 @@ This knowledge base contains all context you must know about the AMR package for R. You are a GPT trained to be an assistant for the AMR package in R. You are an incredible R specialist, especially trained in this package and in the tidyverse. -First and foremost, you are trained on version 2.1.1.9152. Remember this whenever someone asks which AMR package version you’re at. +First and foremost, you are trained on version 2.1.1.9153. Remember this whenever someone asks which AMR package version you’re at. Below are the contents of the file, the file, and all the files (documentation) in the package. Every file content is split using 100 hypens. ---------------------------------------------------------------------------------------------------- @@ -2893,7 +2893,7 @@ rescale_mic(x, mic_range, keep_operators = "edges", as.mic = TRUE) \item{keep_operators}{a \link{character} specifying how to handle operators (such as \code{>} and \code{<=}) in the input. Accepts one of three values: \code{"all"} (or \code{TRUE}) to keep all operators, \code{"none"} (or \code{FALSE}) to remove all operators, or \code{"edges"} to keep operators only at both ends of the range.} -\item{mic_range}{a manual range to limit the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent a limit on one side, e.g., \code{mic_range = c(NA, 32)}.} +\item{mic_range}{a manual range to rescale the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent rescaling on one side, e.g., \code{mic_range = c(NA, 32)}.} \item{as.mic}{a \link{logical} to indicate whether the \code{mic} class should be kept - the default is \code{TRUE} for \code{\link[=rescale_mic]{rescale_mic()}} and \code{FALSE} for \code{\link[=droplevels]{droplevels()}}. When setting this to \code{FALSE} in \code{\link[=rescale_mic]{rescale_mic()}}, the output will have factor levels that acknowledge \code{mic_range}.} @@ -7455,7 +7455,7 @@ labels_sir_count(position = NULL, x = "antibiotic", \arguments{ \item{keep_operators}{a \link{character} specifying how to handle operators (such as \code{>} and \code{<=}) in the input. Accepts one of three values: \code{"all"} (or \code{TRUE}) to keep all operators, \code{"none"} (or \code{FALSE}) to remove all operators, or \code{"edges"} to keep operators only at both ends of the range.} -\item{mic_range}{a manual range to limit the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent a limit on one side, e.g., \code{mic_range = c(NA, 32)}.} +\item{mic_range}{A manual range to rescale the MIC values (using \code{\link[=rescale_mic]{rescale_mic()}}), e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent rescaling on one side, e.g., \code{mic_range = c(NA, 32)}. \strong{Note:} This rescales values but does not filter them - use the ggplot2 \code{limits} argument separately to exclude values from the plot.} \item{...}{arguments passed on to methods} diff --git a/man/as.mic.Rd b/man/as.mic.Rd index 4567b1757..5d8c6dbe2 100644 --- a/man/as.mic.Rd +++ b/man/as.mic.Rd @@ -27,7 +27,7 @@ rescale_mic(x, mic_range, keep_operators = "edges", as.mic = TRUE) \item{keep_operators}{a \link{character} specifying how to handle operators (such as \code{>} and \code{<=}) in the input. Accepts one of three values: \code{"all"} (or \code{TRUE}) to keep all operators, \code{"none"} (or \code{FALSE}) to remove all operators, or \code{"edges"} to keep operators only at both ends of the range.} -\item{mic_range}{a manual range to limit the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent a limit on one side, e.g., \code{mic_range = c(NA, 32)}.} +\item{mic_range}{a manual range to rescale the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent rescaling on one side, e.g., \code{mic_range = c(NA, 32)}.} \item{as.mic}{a \link{logical} to indicate whether the \code{mic} class should be kept - the default is \code{TRUE} for \code{\link[=rescale_mic]{rescale_mic()}} and \code{FALSE} for \code{\link[=droplevels]{droplevels()}}. When setting this to \code{FALSE} in \code{\link[=rescale_mic]{rescale_mic()}}, the output will have factor levels that acknowledge \code{mic_range}.} diff --git a/man/plot.Rd b/man/plot.Rd index a661cdadb..bdeac271d 100644 --- a/man/plot.Rd +++ b/man/plot.Rd @@ -111,7 +111,7 @@ labels_sir_count(position = NULL, x = "antibiotic", \arguments{ \item{keep_operators}{a \link{character} specifying how to handle operators (such as \code{>} and \code{<=}) in the input. Accepts one of three values: \code{"all"} (or \code{TRUE}) to keep all operators, \code{"none"} (or \code{FALSE}) to remove all operators, or \code{"edges"} to keep operators only at both ends of the range.} -\item{mic_range}{a manual range to limit the MIC values, e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent a limit on one side, e.g., \code{mic_range = c(NA, 32)}.} +\item{mic_range}{A manual range to rescale the MIC values (using \code{\link[=rescale_mic]{rescale_mic()}}), e.g., \code{mic_range = c(0.001, 32)}. Use \code{NA} to prevent rescaling on one side, e.g., \code{mic_range = c(NA, 32)}. \strong{Note:} This rescales values but does not filter them - use the ggplot2 \code{limits} argument separately to exclude values from the plot.} \item{...}{arguments passed on to methods}