From 3595ac6cb9646bb7eaebdb9e6a33fe7ca8c9cb34 Mon Sep 17 00:00:00 2001 From: Qing <44231502+byemaxx@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:41:56 -0400 Subject: [PATCH] - Change: Optimized the UI of plot settings. --- Docs/ChangeLog.md | 6 + Docs/MetaX_Cookbook.assets/anova_test.png | Bin 31138 -> 32332 bytes Docs/MetaX_Cookbook.assets/basic_setting.png | Bin 43234 -> 14216 bytes .../basic_stats_heatmap.png | Bin 40235 -> 40310 bytes .../basic_stats_heatmap_seeting.png | Bin 15748 -> 16026 bytes .../MetaX_Cookbook.assets/basic_stats_pca.png | Bin 38369 -> 38011 bytes .../MetaX_Cookbook.assets/co_network_page.png | Bin 40174 -> 40755 bytes .../co_network_setting.png | Bin 14057 -> 16990 bytes Docs/MetaX_Cookbook.assets/deseq2.png | Bin 32532 -> 29095 bytes .../group_control_test.png | Bin 34892 -> 36003 bytes Docs/MetaX_Cookbook.assets/t_test.png | Bin 30009 -> 30871 bytes .../taxa_func_link_net_settings.png | Bin 8693 -> 11076 bytes .../taxa_func_link_page.png | Bin 57109 -> 56793 bytes .../taxa_func_link_page2.png | Bin 40008 -> 41036 bytes Docs/MetaX_Cookbook.assets/trends_page.png | Bin 44079 -> 42983 bytes Docs/MetaX_Cookbook.md | 4 +- metax/gui/main_gui.py | 69 +- metax/gui/metax_gui/main_window.ui | 13103 ++++++++-------- metax/gui/metax_gui/ui_main_window.py | 5397 +++---- metax/utils/version.py | 2 +- 20 files changed, 9585 insertions(+), 8996 deletions(-) diff --git a/Docs/ChangeLog.md b/Docs/ChangeLog.md index 0af3676..ed07d0e 100644 --- a/Docs/ChangeLog.md +++ b/Docs/ChangeLog.md @@ -1,3 +1,9 @@ +# Version: 1.109.3 +## Date: 2024-07-24 +### Changes: +- Change: Optimized the UI of plot settings. + + # Version: 1.109.2 ## Date: 2024-07-23 ### Changes: diff --git a/Docs/MetaX_Cookbook.assets/anova_test.png b/Docs/MetaX_Cookbook.assets/anova_test.png index 231976aedcfc07068ee8c20d51586ec062917781..81ef499874b5a4c2999f1eb220080806aa12a614 100644 GIT binary patch literal 32332 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 B-rE2G literal 31138 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 Dx6k?< literal 43234 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

vJBu%=8Ev$|VIAKDD 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 rh3;?mkS30CPxPUUzlZ1Bl|mZq5mJr) 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 VoH?g0FBs@U22WQ%mvv4FO#lmiaKZop literal 40235 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

bpRn8Dj{QDj$;VYHdo;P1Sf&oW9JM#U}R# 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 BaCHCx diff --git a/Docs/MetaX_Cookbook.assets/basic_stats_heatmap_seeting.png b/Docs/MetaX_Cookbook.assets/basic_stats_heatmap_seeting.png index 5b6f8a8ef32d794e664e578879949ac5d1c22fcf..b31c45a25692e1e3793b685d94dfae21fa46cbc7 100644 GIT binary patch literal 16026 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 WZcBU6et3m_#!C?yXvqt`H~$CLL#E3B literal 15748 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 z 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 Zq>okda!8Cyp|O9eFCR~dv2o? zow3h5Ns|lNpPbVHEqV32!d*<4#zu!tbCBvY%x+xd+x_L%@^xn^p6Z`KqCHg7XVVBd zN+PGju%v<@9L|P5Ttsh5lJ1oKb;`w?Wx1_NTc*G4Syr59o?BX9{Cf3D<`qRLo0N1; z!TMLMUs(iN=2P@(=B3dw(Z-|5594MW1#g2*UCXH3k1{HnpO@$CpX&DO<2RfCmI_Xp z|MP5X%*gbY0YjRP`v|E*Gq0z$zACezFEiJ)E{@G*@;O`q2U2;bCNlziBrxw*o&XBwt!DN zT0h#DvHrgMrmS!q`+ zH8S!BO8C&QBRWx{q^KcA#yHV#ok}uHKPBZ(EqpPG6E36p{Y4%VBLuSEm}8B(eLk6c zEoQg;{rmUNN19u#hi+D5(mv}SL6uvIGpXjE<;%PiaM`j{T$UG_G>VW(v}kG?9P;Ah z?J#fs;sJMgfE_k;4&F9s;YM$Ik8pkPM;k+#k{wE@Ipo6DH1Bc#=10Bw*Ao?FSdxo4 zhJrXGz`5=ds%0Zx2#<(pW7qCl`nF0A8>GhZPG>uj=;LR;Y2|>x{tEOvl`pmycy&w(P7REXTDv$-P+jbRWu;`Yl2{xEPKu(;^8Wx!_Kt+)mYBvO+DAnRm3)S z`pa+y5k7yYwa1W~TRFJWZ%A%##BGDO0uIIXzEXA0_aw(X}F^q0+W`bN~w&FJ|WjF5-s|%lME~)w`#uM#1Y&8%?V9 zU-7ifjEy)%%&1K(Pp#Iy1c$q4BhfhPT9U60=waU84+&A(poE+mxbxSDmk?5WIRi|ZC-Y?7>%`>OcCsoSp=u_ao%>=_sl5o#p zt6%gH%$N{PQaz&H8{^NZTGXlt%iL?3I}HNkpbHGft!b>aP+!}A?vl)FM5K9%E5Llg)`{o@c-%(^M7(h z{A4Ni??8;d6{3H}9{;Zez8YU(I5-x61)Q^QzmCvp|G$GI{`O_RqADt~{swZckyL9v zX-ypZw8De`+Q9PYLp?)T*D$JktKV!02k;^qjHdPZyk&IoMLx4$t*Wc-PGGe@&)LTd zc?a0!A%Sc6$$}G4+k)QcIXVa7pY@VAqmLziNKg*?yw%$i+`X`snwn}RM<0Dz%jRUg z&dChkgW6OnG;Gbf%N{I!n4m)2 z+Y-m@N#OeXE5M`u%FBE40rZbm*HS-6p;SM4&hvqTDhIEcn$iCLIPtS5QP2tVyLYQc zZ-a*X_SmahZj*YmRpnP^@Wi&dy1J*=eP0SwN%Fr=B)~r`-hw27*DuDj7X@&5yuqGzoD literal 38369 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 z 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 TmsSak9Z2z+>eJFEChz|T>gd^2 diff --git a/Docs/MetaX_Cookbook.assets/co_network_page.png b/Docs/MetaX_Cookbook.assets/co_network_page.png index 5282a049cbb5d0d2024aaf154a510a0512bf9b0f..e034b93fe0ce831d9ebd4391fa14147e816f1039 100644 GIT binary patch literal 40755 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 literal 14057 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�Poo!+whH^T3vusa9mWNU_s%VGnd{S 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 diff --git a/Docs/MetaX_Cookbook.assets/deseq2.png b/Docs/MetaX_Cookbook.assets/deseq2.png index 19b3c0a63a72e8907492b663691f59967909dafa..05f6d3890c8fd2f80d013fd776d878918159217f 100644 GIT binary patch literal 29095 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 literal 32532 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

F2pPu5Nq@f9G=+o@nD6w1G8X?*=) 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 literal 57109 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%0Db zI*%NiO5@%PL=&@fkD~0Ahs#a6BN&z9P4j>e0mtpBa{B)eR&*{;cc#yExk|!prTR=x zxli+I3H(Sw?YO|BdDVv8uqI*lq+61DleU}fi--gFx@BQWiOoqkgz=v&)MJREONjf& zNUa>f4=d-K4Q8&XE2UdbDl^?p#{~^C^GRGRYJK-k*ZZE(nr%-vu&-_ohhrd_4A*GChEoVaAMBLQ02XHUpGc{FM=E1rUiIzC zZoTHIDbpJ9QT2JJMh8`ailnZUqi7n8=r6ZxpBsSbEzFwS3)iM9YJgmh3On~FNMd8$ZgMJ0*GSAoQh3s66 z=ATGKo3}F5Yi*|Ivf6B4oE(xhi(folqpFrWqDfdp;gXy6234c%si{W>vdW8Ygi2{! z_jeqw9{A)0#$Z@fJI$^4*1L-P^$5J7e0nQ^0oXqvThx;lL62?#K$EF0w_w7roWEFl z$HxDlX18<&>x#>v%Qq-bnzQq!ljn5@AHK&8F6g7+Vm?1}Q8)Ui)ib-h{O=(--Z(sS zk@4YQKp^=2a; zIa-dU{(Lp1TM@|EfpL#{KtS3rBdv3eIvp@KV3>9?)KOg^nm zLXNXG7or%v00+^ab=x`IS-J5Fu^OKKjiIQhi?w%l7v~0Sf;HP#)2l8X z?>C733r88$^9I8HCZERnjjGve1J~E;pBJxog^7bTCM}ES=SDVTCRE4Xn((=a6FO$5VEdkp-JAnE~c(Wn1Z7mUs&K%*#_uVzoxh5+yuZBjyc3qG-D*;Q;+rBWV zq)D2(brk7q9cH?b9f_A*jHy^ttF|hbU zcc%RBJLimzriO*iWt%P6u;ZWA3WRc9-txa+IU5rDh&&hSb|)-&KYT}_q35p`L`C#F zM>gB>a=-PxoyF5WlwN(e_151b*bK`7ySMfO}UgIhj2 zuoIN^VE&~-CDv9@S#DE(!1mD=e^xqgXdUm&%&9QS)Y-%y1A}4K#6>oD z${L&Jxu%P#v@E?MzsALyW<`Ao!>1M}CId$L(~@h+(b3u$%+9UwTJrxgilVSGW06vU z`5>7UHpedB79!|;XDSj_HwzvN#x&FtWc)DUxY@1XF^ux?@N!SBfqo@p?1Sd?&v*x%ugZHHIO}&TwUZ(NjbNWU&Ey6 zRT$8zvirTF@!IFKE6?vO5VjP_o_2p_Z~;QU(P;kBQ^e|w-!;9D$qPWMIOD&w9lq{*IB4Dv$L~73-f9xvrdFcqUWDT1E78B{|h}0oWy9yswsM zTQTTM><15&odtDnRdRrDHf8Bt=r}mEJCTx3^XSCy;4j#GgT<#+nb0Y^$mhVUI3`c} z8M0r?eg0L@xF!ln)OG80&2qlIT#d9S`|m6Hgxzb0k}#>N9M4+uXkTAp;axVF4Ax4? zfVF(GA(nAwuE`_lFU<2a6DlCG>gssgbVo04j7Dc0B0xi4F=H%1(*T6VCya{XUT?&hJ9D%`-rH#>-LATyC%ULJ4kNwGnwmHk`3AL`*C;d>qSc$IH>D&bL zchABlFDE$IwO+qeiTka%Gd5G)jq9>>;I*ZP>~og6VbC)nAigLVK&{Hde^Dj=kREfS z5^?yocS^X#6Qji4Jid2IE8@TaC%*CK{8D?35>2{&w@lU`OoUj=;{$Zw+g>|od(r*w zY(cENwpc(TU}^aqM^s5DlH_-}6>tCbMdVHJZTXMi7?m;p5heAi+v&V3(tRy0l)FV( z?#5*V+{eA9qoKyVmXxiKn?b#>HDwz(s4yfY+Ok#(tmqa_wHd|g^q7{aTJ9t@Y+4Lq zchLIV^f$4#{=s4>_i6*l%|lU?Nw|(Y=N1O!yiY96&CNA6HFpdB9|2zM=Jxi0Gv`g4 zXF_}=t5ex=Vefk>0f*PqbWRZp-8)$7?(gq+)TK97bay`ot~@ZI%{oJf>r0>TS*-NMl{FnI{>$kViHhdI28$fNt9mWx z>x%)Z`5nR3rtf@j=|9@=FcKz79yR#XF%goRENbazmDxdt79q#iOtSF}j7pk^yFW6R@aGC*RV9LKS^MVzpHQ3J@nf}yJoPj7!PeIxsz z#LH5F$)U60L+kCW0Zw&-*c#+JR$<}3&U{z8b$b_NSNJOPar6JjlhwCV{eLAD z&&voW7T!q}wx=TkiU%_FweN$XB!DVnfYkHeu(Gi9ID>)S2f`3k(}cJI4*sV z++e!>_JbmN7Z5zKeg^(>G#&1ZVXkk$@*C4(Arf^zG`&?CBf!{K1d(Bb{E$FM<`+gc z5G|oUa~E`WquMbR9? zb4Ei5ken}qPE`O-a7|4wVOWCXx+O&t6>GUSI%pWZe^g`db6arna~YV8!|@9p0OLn2 zd~JFNxKc0)AEPjtA)!h$*a+e7WS^A4zn0_?7e*G@kH=4FFjXUJh!P<*%I-~oDqo1(bcixt>{R!Dr$XyVkGJ)Z852+tai&?Sw9=AH44v9bSy*OP&Dk#LY)ganHRkj^o(1R~uvjKL6D} zeb1~Ug3bBDE8V56lI}vTTrFkZ0REe#y3LHb1`vOJrIn4|4JoBb%xVsqXbutkx=qcK zM-jQTQ<{h1&B6d#O3m>Xa?4#2+W>qIt5t{H6*C~4x2NBI1rqjt&k=9dA5UJEz->5G zd{d)(PH%3EuS2crAk?T?JHzWWJ-Ke0UDEO;21-U?{!)5Eh^Dc8ErJ_h+|_O^5i|r( zPsiOtGVCZ2Zk}Z;>xUjMOD&V#y#5T?_v7GacpF$?ED*;FdCl^;~ zaq+;dW#GyAvnGW(FVrlmc%KDm^!#K+n^`!9@1{a!`$VZij8bS^i~&GHlbZ`6(|;-+ zNR&{{10mv&sNT<#WT29PtaBxLsXKD50T<*~bw0o6!@L3Pjx>8AV|j1;UjWs?pl>#_ zHD*!+_7`+O(e2}#Y9_z1=^7io-3KMWuK?u`|7VHQe+TJqEnN8V4SWRjFn8G_CkfkP z1D;AGF^&!cP-@{j7U};P zpzyzHvHtr&{|^eb{`YV6rq{v!61CIs5PZwhXWEL2iWNHgH62ts2=Uunb{9q?|M2^N zz0Nv|hX{A2;UB;jl+Q+lJDT#}is1hD=js1*6?t!Zow1%$2p6=_!!*Q|WX|;l)mMDw z_NZx*Z05=_*K-5ow?Ud;FUQ^@c3Eo)v*GAN==#p<*AJ!KYT|t~;QDz=l8KGUxw9=D zx~E@!8eQqOe2U+kdK)lSj)C)gP3-J$B|^gE|M{ylj__0zmkEtEvvTTR0k5c_fY)$8 ztUsMqJ&&ROtT##=*YQ4qWrw=Q$4K0VPC7|i1MvDvhK)3O53{m4u@j85Ri~E#m~(5o zz7!%_?D@*m9 zZwowD^!Y)~8bM|j~lUcplu220R)t|QsJS7O-G1^8Yf zpIonF*|;mT&{U6aK)HKlILEp%5k8IDhK*{qrHMV8*qE#m?taYBhOkG#EXec~3sH#Y zT2f5k&$&flmMZDXZh-c!0&bIXy10n*=D0OUGO2o$OLGAw?btD$O});Rc4x4?Jm8r_ zeYEs!C#woB`b;j$gendCtN2!z$e>aY-<70fGJWU-N!}LCKsD zSahh@7xFQcq5UP=I_|ONiBEA`{;}g3Wjl}xDHd+g4RIX%G#X9UzfGqQFQOIt+^!DuPVqV<%KY%a2vD+~M8E|tD=K2& zl>Prpo92GDUbyb8rty90 z&*^!AFW%}kzXp(KE|Gf%^p;D33QxHYswZ8hH^(z1dYl(SiHHPqqLyAK5Sy8Ua9j%gp! zNQxUJfpgIQZLihW-j~E@ed@sWzpnU|!%>GnbH%ppQ>TNZ{71;b7LJQ0KzzI$6KC#1!}UwL=XFBB+Y^boY#Rf*-lp6~BSf z{yvE5)&A>jM>8Tb9Y-supV()MV9H8&1_1gGs|D*c$8Mc!de_%(elm9rG>dHj=ijo* zJtZc8fE}S+f-ur(^gjC@jqpR-vQvBP+1X4z#uxnsjUUwkYHH_dy5ehUYN`d@gW|Tn zLm>r~{nJx|P5$zmN#+r}pI^wR_YfHVXDvWz2!J5<)DcQ}*5t~ojc%)+vIFX~DJA-h zzK@q56)12X(&3l{woWt2NwvgD2z5#nU>~ASUgR1`&YG^|T(D=qzP^s1mKGVHBOnk2 z*32Uy{yW^10QwxJBcBiK5d(?5^e(+&E ztOW4KCR0I3PX4C}(MeNUUIz#IbeRI7{&#(kOw->oD>L9o5DivY{8=CUB&-^-4EX#~ zZaLsp_Yb3AB3~U6RcL6e0R>7rDp2vZ0{)Fb*Ve{Z zewltfU+swkSAsEqwpf>#TsyQsR9$!LvwQ`x*#^?Qrp%bII&zJ;UXRMOC2uoQRDtq7 zqTJ@y3Evi4IC?Ha6A1IDeDlq)|Ng9a3M zA$u#;Wd+K6a+h-0FBiFf6|it{gduEnIpUiVAN~GNeoQMaAKT&dFDpS7+W9ms*yQ|h z#ofm_rJuc$Tt;+{qq#!p3iY%|(LAzTal?8r^7xLMSy{0;WQJ`13pKGakdI=f+W70@ zF8WNN=HfH#b4!VBYi0Z21>+>-3QvxmyNZ{0C=^9LNj^I7-Ym5DNTH96#`Bn&FLZcM zD4-->&ME;$+%I@q3KKsnt{5m!_g*ymk)NLreYX2NOGZ6kHt(3sv-3s)nekD8n|_S< zCY+;cK+@C77ih-p_MSD;@nv6F`MvCJqUDIr4>%a?nBLY~iTmH=dL>Th78e)$`ugv>Zz?tOR%dj3cb&Qhgcda5T{9nB4|3v~>V%}s zA}->)_EAbM=1aOJ6(e zA=bv0jR+es)rcM9GiO=Le7gER8^^r6pE&>9w{Jh)zH6cff=rXtB{x|{_B-%n)c&Pc zj$P#DUZ~0p0fXfRE)$lsVa(Mqq_mz%yR)@I+gWNH^PR$jYr9pvM9zm=>Hsfe1askZ zb^>Jcm&8tDQmT21#zcRKo1w;=Xf$^2U7(O#Gp%Von|f#^`%&3nMX~D>r2;AYhNex(UT}byOtJO(TK`4Yl&vrLvgON>FL0pfke^ zt)pssxw6nUd7zL{^{PmdZGA{=Pf=E^H~>z#ILt*-`owUa+02uL)F=0JNMv7bL=<3H}~5 zxxQ`>zWla}c0W@nr$4411(;J!usP-DQzaWm`ms6Q(s}i{g6Mt%PN{9N+ecKF&@Jr5 zgR|^25|X+3sv4Q)S-WwNc7d60#C#Jxy83xUs}OIzlWtn^FrAW}uU%&T`)pG0ap^>+ zSt!$d-R0&3^8@ZclV2%LWb}0NUcs1|xBCI^;aw+-?0}YPxi>HyuvdzM_;mEzy>^1oM zrF#pq3~jCGGr`u{prqLPjP7t>{ro_pK3iUxuB_!5H75H##=WHj%&!;RRHuYCRinAm zZ@K6%nmx^zO4##Q=>&gZpHBRPOG$WQ>~B3=!)b;?N-5ZL7;5wJBNKP@4g37&ZHLXA z17NFf{GPAJ!ziBi{bFPK~q2=hwNv0&;G%J-;4eJ=ZoAI%<}&V(bJv{ z-pUN*)J_&GeMtRJ-1k#ghVIFKd{OmZO+G*Wr-o<*=ij{N|8L~goVN(H#u`6JoZIJ$m5Z_QR~7#J??Ssqi7o;6df^O1p0~rBtlEbW4kpk7Gux*Gp+r z^o^RIAJO)Px5kjV_U=)~8kR4MP3AuhmL8{)Yq@u;1xEJ@pr@pyq=O$FBlxNHaC0Uk zuGP;cqpl345-!W*s>w%AsTo8`02rB-gLnyk^njN->@pSjeM+pL&Jml|iX4qSc*6_h3a|A9Y($}h% zl8fA;5I^}DPw^J6Fu(iEA0C!qyaTA@=8nY7mXZAlKC0-1)+pMcRk|i;>Ezqq_TRXZ zj8S3ETl=mvdVMcy0j^fepp{ymVK$HRX zcl7#s+Tmb==|%n_snpO12*%CR)BBbhJ;l$eqVqWC!F#AO*Ua0;|FAB*+eW0gn(;EU zp7a&EdR6KI#sqyR=fHBLpVM}LlFX>|J#La=Sa+?huIJ1yNwHA_O7Q@4*sC0tOi51u zt*@!0a}I!kE5hm4%OZmdI6Y;$0zTSiG5|-)bULNzGbCZ$MES_w7Cwk$x|*-wMI+Kn{BGw-)sx>J* zOkg0YxBjQLE@cq4Gb@EYTS`hwid_MytQnmF`1W{f^ zB?*W~mI4I?L2}N8Bms#KfCtc>j`VEd);e28MM?$G2_D{xS~cng~m0aw(>&@+0nBojr);? z+iG71LFZHBe$Ia?KM9z=dO|=WZ1L)erk)o6Uh--%czGdTwfwAv>IIyzqgj~?x?+J8 zTZ)I-ZjMluIm^rzTxkYLgINjkZ8d9XXD3#}*@~P)V5*m1`8@AGPDr*dyiO&4BWwEC zB|>|=3=oCZW@Js`(T$|v4NuiL|3vD0&lwfcdN?y<~QqvuYMOs zhN+Hbm7{cy^YgxCwyv79zYf(``d%DMvkv;rK+IaFAv+PpmD8k);B-jKtvQu~4aG4w*h-R6BDV1Oi01)Wdd z3FhqFpP{OA>xkMBSwV;)7@uQwQ=Tnr7T$4$bWow}z)q^7ywbNYO_hANF4{*iU;S*{ z$E@T!EVZbV$Z6Efm+zg;mUW8XNM+*Si;}sVoSdcQMmKxommMw5=rswJQCE+1_LYTv z*i~6VP(~NEw82yw+FTQymeTBlHu9M-3ZAfuFjpGY2D1iH=Cf6e5{C7TTEL65bduf_ zm`>`M_c7wjmyM(eE+Hl~#aK7xYcaqx7NAT_IH`r*-(J$smlZYHFSSL~*4BD!T<@xR zG$=WE4{QoMnXSYiViq+u!^UlRLmj5`bBI zdkgn})CBZ(dm86n_1>VBZ}M{X`QGLAb5g_D`IECi>6_&ci#Js`UjV#Z?Wga1nzXFz z_d@K_Lv#B2U~R8hjFjk<@LK1M0RH@7ZD7eCMffgzMXVRC7jx16{M1{5;>u!0l$v%n zDNrmn<4SA~r;+ZuD=}>M=24o=Vy?M^g5#4qj(v5jQkGNw7)1QYFLNgz0n1@}V?6XK z=3@Ao1xlM>>Gyl_?^ylefRdwP17g>Is8SdLwG)obOol5$SL9c0y=)r6gm)9e`KFizWb?doMY z%5Ix9@2+wcR4P9T*&~}zv7N2unWwwC_gC{f@vCoSR2-Tuci=qLEMn9ct- z#<2e15P^{b;*X>)&ewgHr7le7+jB8Ng>p9*^QnyW5qZ3#(C+lo z-ijff-!UKU$_u76>E=`ION;QL~oqG_0&=e!otGLDw5ye zl( CBq9D+kgva&xiK5_Hqri^k0fy)?9SvT=WHdm#%C`-NAa=2sjcRN6VcgI;^z^ zC+MYO-RhDb+6=@Vd&?n{HhmJZ1Gmzj^#8C)e**X{*3O*54gD<=32!qDR3R>oKL2Qi&`H zfaaC!L(9uKSxh?(#|FHVPWVr~^j`j^06ZbCAu4}SCPd6!Vq%Jc;V(`@sDk3np)h1* zQ;8`frAk5tTs7D4dsN{agbhCRv{r?OGf_~!pl2o|iHKDlJNF!pPtgCM{r0s^mPV0` zCDxwxocEFA;D9%x8A~%@%XR;qU8LS#-PU>i{cG1Wa@$#fxw%!Rqm0rDj8T@5T}*I4 zvbvhN{k1N&vTjN61jTv(xb_&c-6LT`Xm_+aBq^VDJB3+{kN`8hFDISGj*${Kof_s>~LlKhYL&!?A^d4W%>~tf6N=F z^2J!-2VMMAg4+(1hY8Q)-ql~U7+s>yU}Kerp5^nL3X^2SV)t0sM(RBF(YKtQzL!7_ z_V?0@4UAwIXtY) zXfpKUXtlQ;r$_a2J?(PgQ$X34W;R=~WVBe0fTNAaStjbjVwM8er7|+Is!Q zyxm_7Opew|4r5nC^{T782^NElW+D0xty^36v1=W`3ocRS@TSXO+$X1kLhJbZmRK3% zW9HIX`0}M+5PVtRw)lSLXc@q=wXeOlYo&i056I7*&K}zN4T(($ngiD3yeJJ|kIl~-7y`$9 zi5)5MdTw>oTiGzKdy(zO;kKJ@<8`y0D-zZ5H5(`MWBM!PRewE*Y+a}fk+rWEx$-}# zgZOU0KlEERCLU(8E5Q^)cwf#V!5eC7aL!b$TTOPrB>pwCn5a+TP<Ka?EFxl&?WF#=^|a zFmsI`Yyt$Eftru#VpCDTO+ZdpuL;%i=meE=-*-DxwJekQP|E<E zO$sw|y49__A6GTZPDjqaz1FU;t~=R|SZtV;jypYn$i$kv@WShx)wQIui&o14->n!^ zNMx|X-fQ$+&NJre90RXpR{d(`){?x3%YRu$N-kMYBcYWcTRrQif?-kuexC>_yUm_Td1U~*X7TEVQ(!KHfMh)u_)u8jo zQJpGpuN9yEgAaLkVZmCIDFiKJ)=18m$B(3`i(*|n^o9E~>vv)lV^$u1{As`YTLSRY z7k~BcSR#h_U+7nK`4ACZ$3wD?uYF9%G&TmA##D+RpIU5g(Vy7 zl*`h|BiP9I6;dRJd^S{1XKkCuxGsT)`9-mu9ZxtiD_-KlLFMKPXA7<6;)6s{a!0HN z-w5uYQiPx|{Krcz`USHjeR>bmMcQhDUdQaBhyl6w%^-{OcPOl*L~DJyU0>$fk;v5^ zmBSph%aqmb@jkMQq)Mf>gGF_LIv*aKo9VZ2vVx2XgdU%Z`KAt+ExP$!$B&P>PrN50 z3R|)_F3NnmSg5D-?Jp0m2VebL(xYvCLJxc12Tj46g;vP!pZQ288XL#&gg(O=IyhII zgQ}PVr6W0u;l3L2HI_A#q-j|2t-PL@;l5OUp}YMd`T5#uQUX49&r;SVgtZBXV$y`% z1gYfWxatpv6aXiz2O_L&ZHyS&t}Nth@RPT+ab{NYjd}N0uEWtHctt$PkpVWz`S_#j zrwU@cyQ8HhfKCc`5ZW&L}+cb%M;CpPo$Hk9^+R+su(s)}yC*dx|dD542#eW5c?WS(#i z;-)<4($OTk)~(^A-|O*(|5`2M<_nsqPD^cGsKi%3CDip<6mDIzlIodJYq2Di+t1lO zboD62f#PdP$HyeD!d+Y8i5lu(*59N{NS({574=2lG7r+R?(g_5p0XiRd|t>>f_JDc z>#}Cn=@=Ybk8Y!ML(O;`tj7dDA|q?OI@>ypTxYiFfly!u{hg1#(q)=enmW@Tf4&=F z98=qRxVuSjV+*+C2=_8uch_8x7%smJ9i8)S`Om5JyM|@v^xa^eexrUmZA9;vqS~;xlUMOZ8z$=Z zvQCdG(==0y(dt7D|#V-f}9+<_*CCQm?lsfu(O~`ID~XfSH$^2=CiBo`t;Z zZKgjL9H~(Z%2ja^59J&h+AfGxVoIq|vX&bDz@pE^$g7bk1-RT-Q`V&o=cqc6s+wBG zsribQ_L!k1fI);uC^C9ovw7YdEOQH)Uk$-4kH|GC z3d>6inV-}S5bs>jCW@o)wtP}lN=uarCmDZ}1f_%>!4%?3zHo9R*3j@!bN1cokts=z zl3mVe$eJuoFkI7aeO^Fd1MLi_@U%Z&NJj?(8#t7nn&s3^QYfUosMgAn= z9MMx#8y03@ygSMm0MFcLdIM4H4hAjS2&oCOsCR+55(q3`L6cY7@Eq+f2CR*^yJ zxX#AIm^4jtnxoa#^RB&nAD55{aY<%Behv9<=v29Sht>#a?%H>oh^G`vg7Suq^J+Yr zy^M8*u(`FO(=X+UWt)uC<9GL1%uz>U^w_OZw_;+y>w_6$k2XDjm^z*&91U=j2Ve2= zHCDQ7m&F!5T*ht?co3b7`V4C*MKl1lhxKO*xKLrXhs_`(r!)a*%)7+lKtY{z%2~4M z&2z9#N!!&4du5%;CI;ZpnW;FeK%SY~KKTK+kx22K6Q@g|)}(do>@Nm}X0LprF|~k@ z-LqwpVti_BeClpq@*ks_We5q_r<`Z^VZ<47A$Oi%r1>V9>OQketnB0SmM+BM(@&Io z^L+T{N1RcyJ!&9ByReiyQa*{vDo72OZIo4PsX$f8iEV5xfr zoBu1PE8TM?K0z3B3x_4=q$>4W=>{ohqIa=y_ zNI8Gf7Fzd+l+@P#ZEDiIzTaqV3NzM01mkOBL#X0-Zz##f&N!cS!&Sz%Yx4NBYo_Z3 z!)`u5q~(L_tNE_#YrWUk=BK1~wO_mzj#oZbi}t%c>VN~LfT*|7@Ljzp6ZM+)^?bi3 zCMFVP8Dh7rZi$b7QCcJP-Teq~f@~(sP3I9lrv&C)`xvvks_jZMMR#BsFo#*-i~teN zy^X_SC3(?;I+qdW`-1OAlJ7Xc&aFKgAP6*1_w;((^}LJnmN3Ut5Q_+h&9glquoEZe zvFmiY$zEEroN=Xx*h(OC3n?~HB)W|iEdw}l!b<^S{@dslao(%%629i(HeV)VF}*_s z#$Q{m?zn}ON{;b*TzBTub{=BcPzZBGN3i>;AjUyAu^>PHlN!*O0~Qvq$W3TQ5d7;l z)~*fUSOISVP(ev@FjRm4i}Mr>UuZaOjYn0bAmX2q1vn{w)!+lJwflVJ z3hj1#+L2be6MEn~9PL5LbA8xIW3ZwpB#vk;cW2RCp!{$X2a5Isut}lDw4JBX)-2Un zoqq4*x}JwsOZ*8fiGKiH2Pm?L2@t%u`@<~!N_q1Tz+)%@Zs*M*DDelu$6EgjkTd4^ z$CLhd8sPx&&i{@@{S(Csd3pLrdj348|Aa53eI-s(c=nEnno-oJ1!;f8_0H-1=!f?y zS@Zm5ugodIUm#GUm(Lb$crs$#s6zp{Tzk_Asncm0Pdo`k`rIA`pZ&ojGN^+7tob8HHO~z$|eL3L*m< z`L9?oV{LVGP{StycQBDcL!nf8P-|{TD68m)&#y7j&L3|d&C5a+6ciV;xN$4)iMp@@ z7=TeFEH~Vu<$DNW3}@_H1aYZq#Mrnlz?6(LRkKfwVWNM@qn$x)nv-i*pam>vLnVkg zisBAyt5^{Fa4d(0KjLF_z(hevhMsB8vzn>g-@q+^JE(5g2zOW>8~85!G+2gtcWqXd zazv0UZxzdl@N9C}lB;Oyq^kD6Ksg{Q8bebZPCFGJup_t&vT})W&pEZ4k>u=5rYdLC zn)?rPUz(dviV4RNG}h+*RtA_kA*;RS>}2@8YeM1XS|~3k09lZmx#D^JgbEr(N=yYU zh0+q1h;;l~*|J5&=KTcLC;+Fcu#L!Yg`CdE|_v6Axh8L+0ii!$DNdtIZ#rcZf!SONaEQ4=}>6PC)NaAzP zp1~`4@n$G2zMEAPa1J?{3YtzHB)mtKUZ6Xmv$Za;W^zN+{@kOQ4gD$RVTlgsb)8zX z!ci`I$VgfdKDL4eLHf6E-{$gt*$kmh<9cf5j!!8v?It9~DnscT?^+TG{?ba6_lx z1TiTJBxhVtiV92D@Wt5+ur}yg1E;1&;Il!jJIHRrRP)cbq0B+P(Q#Up!;lJ-4T8$tfe3Ox*;Ph80upkOic2ot{ zOt*T~g^|QQZ_Di7WR$-sb??$o_^*E99;yps@w`2d{*dzW@T;|7JGFs+) zM|ZO?D!sI#$nZnJYjW~hkKcMhYL{82wibeP>Bpo*Xpgu=xAbV1W>J^(P?8ArO2nE{ zd`OmWSdk`~?y&~s+q`Ci7nfrbsUg3UG7*u3D;}OR_cn_{sFYLYH`~-q0f_nbxuv;U zay8@C8Oy9enZB;4*V4}4OQl34hJWR=9UP8v8zv{F>W7qW@S*8cA2CM-U=Wy0kFQz8 zV=UdZ964+XB5&_o`*aid{_2)1j!ilV6j=cXT{7A#Dh_I}&d-VcUi(coPB@7aZ#D=e z+h7XGsiFfT??{QPrHr?~Fy8T!&eA3@HL+N2dAF_FVX{O}zDk&+YaQz}=@5FS(0rC51f2*;N z`zU@a3w2FUI4~Gff1C6(#jby)I`u`bZR*uS%cQtdg5IkI=B^p%(-NDZ`*&Qd%0nc$ zH}ySa1jDdWn}MVrSC$A2%9F;@tr%zS>dtDI9OCkbNzk$P(FBp8hx5WRP4e!ewQmk~ zh9|#^`}?Q(z8&ncXyB4Xvgv&zn3M+0D0V9SANJ1ZgjjgIB~`7S_eRNxCOdGlQ-43E zo1BaKPN}%#tNY}L+&*$&w+1ionH$7so<Yz#Th5OWi|4c=6ZZ zDcMexwVA3jy-51zPoRuExRJK1o*l4A6`iyZcB$#i))e(T1Mf(I33k9^^egQ53T_&8 z^<8E4jt@@vODA~u>BbYVC-Trb3~9>JHJt%y7I};opve`U=IropIi~K*kUB z}sbx|LdS6`vHb)QyWqfmJ zw?o*EHZZs)!QKjZdu3>AOR|F!X#ID={sB24Kx4tv3#%0NEe7x>bLe5IOby|I??3r4M%Y+Rtbbjxy z8gDUg#1z=X%HtmM^quzU=~>j#+1U~Lx1h^VMk-(MCuJG~i}Iipf|p~cd)-n}m4{aY z-bZ_XkS$*6>hvhKNlHp6r-$+M94bpr<(&Q7?6WuKb=Am*_d`W?a`laE^``(5R>7Ag zBA>Vk6g;XI(rKMRPVkncKPr3H`jIy8v7s5E#-xjA8?>XYVvPaz6;h@@>$JW^I`^h9k4z*otHHk$Ji>ks5SgUpn;t$eSRA;;aIQn}Cfp3YIY))Ks7 z-|~-feyAzvJXRiRksAt~;7ZdO8t84&JU&o#aCxmuL!liTA=Z)1zS;uEFTo~%(4#k7 zIivOn4r^%3jrWXr_T_5}<2X(;c9C`Dx6 z3vefA(7Hq>qg@r8rmd(!NJmZK3YfdQj{aJo3&BjSi}kKvjpk70D`iDZ4vW!LyY|Xs zA^%?{|Drzpm>a6HyFkI@jr{;t#ZPpYPw14t;|rfbx8{FAdW)m16CRu43M_+VMo$3x zKtld&HL1N&o~pMm)#+cv+@P8V-f5<3o<;EqU~qU+TWH|z*D(W=e6$TtOgV`1`@-?F z8n|#FhTj}A`()Uw_wT0(*J`m~AnQ1gMt=|(uVUY-w&etJE4zm>U)m~zu=quINYLKd zU`wrfTPBB-H~@V;F1#%*Bm8`_!aY;)(GP1>y=}aQQ+_+JZr0j!GZ2 zuzwm|%BFdIj!TEMJ3oz1;%?uz*G=Sdn)pHhFgaXxYyoT(0MGfh3X3X&gIfoIfy&<- zOm+h~YR!&2{1{wK+p{M71{vf_Q&9A9N%{Ndh-i--fR(3juFKkJAD+{%%)P1UW?rO3 zsLsWYSbR^E3#3_?N}M}vrIfXNELwb96b!@>oRR*y5*v!dl<_6?^I6X=Qj!7}8ISbJ zo>%|=gG<^DxX$*B=o`XJh+Is>;hNoVS8RmKgngo4jfsw#Gc2TC?*&5kB(%^2+LVII z@m?v`R#u+%ss=G5PBI?z^l}l1+`HkLp3nGj1om6&xAomtZ}W@^{((4aUVEjqt&D$O zHMz%i{K(t}FSsq3>bmk%64bnqm!9)-RUFMhgK2+ZsZI}h}vnc zCFFBUJKYGW9R0p7b5~MAW!Nw|<<5wEmeHvS%ZOT>G~U!9+q46zvL#l4$y#3;fsE?( z@*g(L+Fb~2wzfuW&Q~L{z~gU>m<98AzXJRjvxIXw+uT}tNJ?Oc@p36qHB%*PB~0Q-uL9&W)U0`1LzOG7bRrz|Y+8TMtdi z!3YU(PzXk1EQ{SpQju&8_&X4@eZv95%V>p@C!k*7jH-da=5~)A2 z5~RU1jlX6};n%+=rl3PCu&fMLJO+|fOuon5jJ`@pDVpiv zWUwdj{wp-9ixv(cZw(vt+P06WX1&iLT9lI4`a5S?ar}oR`=!yUu%$@jEvgJhL)Px> zu1W>_`UYEfO|TvS1wdJwyPx}g2M%(5&6w=h8k+J2OdG>1y7K z?Wf{BXDaox0^b2rGqu5M@Tp%Y?)~qQlE0F=$@5^YfRDtSuEkBb&`;}^{)OP{Nu zJ)n8@D&g0C0WOAcJ@UxN-%l(pm9B^aKEbn2JS$Em+FItv-^Q=w8XVeMZO$;2$x{d_ zcT}#P1hhyJe$l0<^JF_R;%}DFI^9(Drhlm)LVcu$Q}oU0ua>szB5s!EyVT1)WKN4y zG3z+JdcXJJa*aOZUS!2Z_U^;qQLsc7eF)eqK6Z6#UE-(}v>B=#kyT#f1_a=*83D6I6Vpy37 zJ55fWoJCfEWM_J^IC|*waI#2f7@R;Cy+4>ys--C1)=AmgJ}So~FR2J+8wveOl-ttv z{o9~w@bvC}+eGQtPX@E}x1u~GK~bDXL!966zty#2QTc__h~qxg(47eyt#IW7pbpUc+v6Jdx5*}Oy_zAOJ|Yj>cWE~Q|9!R(cF zO3-r4?-yR-y4@y9L`3;p7+ha5YMk_??KjrT-N1v4y-#PB#GpYv3&7`mHB5RL5WSjC zWU59Bn%_;>Xb~Vz>?bBRBrgT(FjE%|a^OS(Ph5 z{s9EN3oMdt1PbHfV~GJCR^?$5*>gQYX1>6P0xRWL+M7x|UE4O>8Ix60iD;#W_Ea;?Flm;;Lozm&geL6ajqcS> zf6Mhi4@m~w*k4yUnkGi&7EJF1g=)A}q_u%+#IZWQBdE zAgkMwlNAHB;sA}&g#PARlhb*f)6!`)+1pw+eTzv(g+{~iMXre02(urahntwvGg{d< zxV-m3==|*5S{i9tjh<$ydSsO#aW&q*F;YMhjps(r-EC^cE{PL}p$R_(3Q^}YeCA@wLGCb{qXx164 zsKksJHP#{6=}6vNZ;RzsD(2d<0bUk+S3$gK+1>aFfLSUtEx*YW{izM2nh=6t_1oPm zwV(XbZB;Y%ge29t>@E<05PQbf3PX`ah^uDH2MgCi{k96tHr@Zk7L>L5$(T0l^IWYS zo~H+-OJ$a0*e@08VxB;}7Uha2iYhx=Uo%I7_E#&6S3__>LXwPx?A!%XuK?CUY4QmE zsvQ|Ex}!5uMlmFt>xTF8;nN+sjF=cpS%ZA#W^67eBh*I7htIowWsv0q5SL+o3j78c z0lRua$BeCu+z(e}lf@D`_?*_L)dDE5A}MU-H`3@q$Kp<6N~06zG8MIu4I8(?mdMsE zXdq5pbrrMrEC}`TAJBfzWhRUvATT=$(9m55K#R%@pyG&x&hf-4RN?T-hH?= z?v%0W?z$n;ON4|P_?A@A3ubAnwA2n^ZMmH9)e0c)tQ|fq))$rXNRdivxGmU0$TJ; zziBgORf~Rzs^&4%lvnQ~>IXS+(J0Hv`irluH#qY|pz;?*g2?qTm zUXePDqTcI+t_j^^?NpAGYW@1B@Wp>FRPiVB^52PP{O?BpPM9{GZhtybI5!F34h5U$2)h0Dy<; z$fciDI5(3cpl?UXk`-7dxwtd_UP8jGbupx~>vCy19#-7<3EYJp5jEn2Xp}ABk|B|7 zqF&QXAWo?0Tm$k1>0));I*}Lp#r@qGgMJGA+sbOM=}GY_o}O8@xoQ0`@!ZLL?V{=j zjoS*{e><$dF4NgYQ?AzFQQi$bDp`t|!K%5E(3aU+w}4^NP9VjXYg?=WC760mSYyKg z)QTw!SW{SDzE`uBu3MeL>ar%YHC9~dY!=jh;ZhulUuuqhCp1!zt21(-vygEw<}^0n zU5BQ@c>cr_39JEdbi%f__x|bkGdJx{&jhO*tX1MimFI%Sq~oNq=-%6s#u}|EgVr_8 zl3}W;zkQEeMR$sVdq>?1;eD~6@BWi*sgsJ4l(>QIJmPXGN-RA&Sxy_sLB>!!imf$# z-7eKvEMQWASedN>3%j8L!w|^$lCTTJl$YNCuuSa0r%>BR09%hT{YG~d3)=9eR`=@* zq{OZVLtfrjtc-u9q@k2M_8g>!IvRPXn)M*E+EBe{@lf9Qnz?3T)u{v-aWYdc!Qc(> zCe=cM^+i1_(tRyHs|`~T0`Z*G=QP0$o(pN0bVM;8`;#2|E!Z*CbS_Dql+#M{`1*ip z`QmNmams>8cXl4}@FXfLLVat?Kjz;B7@eii1CTIDy(EX-6mQ9WQ{aJ$ioPR| zUH_$vYg!#9D3a%Y!?ww6<&3FWkF`fea>Fr(_jkz3X{`ab6ONvmipxvk_OJPJqp0#)^XD;Y!MQ`1CSJ>C{}Xd zyB5hw{x`s|R#i7&=i-K|Zg~)>O~F`N>Q=Vw`gUs6oWLX1)cFrV<#kq>u0ekZuV#7x zq$TQC%ChUrgRMFo`V>qlj|x0R8H_%sL580JSV8ZHN3B>`v}JN&3H2wYbNnw=&%N8I z+Br!GR}Qm7TnfUaj92|XDOa(o1EbmfO}RN*(uK)>e8yv%X@3>40lw2aFIdRZ6v5%? z6ylC9GIpOAb(MTgi0?Pjbf?EpO1Z{tco?@45__x!eE0l1vSjQ>r+!a>fH|ByC>N!U zfdxU2gNAuwGf`|d>St5z1PV*TH_M!6~swCK$U3TjC4sT;g%NC>HneX$jB1-4_Jo* zl1l+N+5ZA|4BdSGBe2uY{oe0=StpH^FCDAVg^2;fcT>rnDyz&+gnQKs2BTWz;@u^C6BiRlv6i@tyYD{6D#sI)0Ls)K_?3LTc#w6fQ%{lklxG;J={RiQW5r8wA(D z)i`Qh-TZD=c1zj$ZbU;8SKrq%R{xewHuWGYg=hOH04lY;SMNKrA6$q_TpyIgJUXt@+nEd|UUP}>tfROgr2kD8J+1Pw956AZ( zwruZel*!q!cKv&-LAAxI6O{Iwf5sh-T>P;#A=sWjL)N|bjT1>sX-v=NlGx6gFiAG& zpNNApQpQ-;l>svcq$O`Qoz_XXi) zkJab2O$LFC1ZNvwA{b8o?vOu?|5PIY(mqaq1%PB#xqg8F>rlP8GOEG(bcc%3FFMvf zpra)y?^r$pL^oZl_^4bH@Yr_i&bwe-oQ)zB%XfLmq%fbcYnaGmo^z@?DS8wMDgtT;H=AWCQAL%PzBq7Wi8w7v$o=C0DND|mLJ)~|`fe?Ho ztjz(9OJ~x?Ww7Z|zy~6Z775_us$&JsnLraDjj3+d<7GFq_l@ z+egOK2X3D?0vU}NL+PpXU8-({Dn>pV(g3C~$K0qhQkY^qSAhN+{MV&% zbH$C{=koaf?Dv7?o2TR+oW}uRcV||n|Hk(6(8VLu-1kKA4H{3Es9@LeyD>p|o#F?L zHO`InsYOSp>+7F~`S27sY5zrad+nkc4qV>p?=cXkZ`}Y4qWj(!>3E-U#Cj?fM)&E6 zhF2(WT)pv7CBOJr4&grNWrF+eRp|}3DfRjz8ysDct*flQsd+DW4LhwE*(TotgT$W7 zuJUXO*w&-Q&e2clg!zO-9HDQ?mln4sv3WN z?Q>c`3d==}kfY(FM5V&G6P)Y zFt|~zbFqb_Bt``#1cSXiz^N!eesWxB@b8k-132ig@#pps6$o?`fa?WDr3A@8E`hW! z#&@J1eUE27QV-fDe3M_AY@+NM@-enGee?Ubx_GmhR)l?nAcI>NuzyLpImhYePpNa> z&W=%U+>NX&E_xpU{Y4Zr024TAm@6VLF=+5SSReEbLcal04Lfe~?6DrG00%;9qR8OH z=M)GB?^CyO0eg7WoTwHYDI-zHxub>Y8iMsHxHYhd{Ye(Gd9mNtIjzes!c;`WqWa_? z`)xGk0X7$s19)Wg zlWH=pM!$E%Ai&K0X9WN(taWn0T%2t1a{J>GVTt#D{>KyiN8VKG=y=hdm$5X)+?^^V z_3?o)uxoJr*;nITh39#&^Xw}maxM{LE^pO=8s@o|bFKcQ^ZWN&9TRx0Rqs>(#l6hf zP6sgBZXW#K5q|z}v9$hw(GnO{6vGuXkMen)AH_Y+}%;%zY5@6#vHh{IUhe>vyWhZ#}~ zk~jOK|BrrTS%tI%+idt&x6osp<%GRoxa_Pe_6pQatmqX?pDGiEVRqH^2M6EK0{=%p zOxoMqS@bb4(3Hd@Dr(1zag3txar}SaBiQD7T!AydrozH9)O;StaWijZKizEd`(OV6 zYe>JoJWN2-I!F2K>C)k1F|1o3F74QK*6Rt)3)tPodiox>hFpswAwlNqJj)d+!Z2Lad^(aofL(yukNzc5@MF zXszJI8-@B7!n8W>y!wFB4$+7ZhE&Y_tlk%a$%svi(drP@ts*GM&Cd!7I1#fL?UjJ%NHh1e57L9q-Zr}SX7=G?A z`;ubV*&aO$k$Yh>ru|xXZ-6Sez{A>A(HvEw&BsDNic?qU6$te+<~p414!B5x8Rxr2 z7S|dcC-tw+Z}*bYKY+FS{;;&s0MAdZFnU(B27h}=J$c&NpYP&+F*<{qLyJ&yA{!=y z_tJ}vGY(h00_m+7+fyc8D?N-J%h@sqI<+!Y+x&2`NA1L5`O7R5%?Z45A%$ev)PRvR5-s&wVZv{QGNgN{u{Jjk^!2g)inm5O0;TDM)tszRipyXW;S|6KGsimDtN zLT^-`xoWU;IGK(+SU$x^-t_m4)NxOF$ntzksJ*fuI(QA*mK8E)<$5^F(1FTD(rQS| zD|)vW4fR~cZ%-NR?C~^kMIKxVlBrD9SQZJCd$Fxfv9Gf2P+hJUcR~z9m<)OiN|@(S zyN+P+>9nG8FVEzMDLsz1IW0pSp4gXq9R?JgZD(~;ufgDj(K70QJ#YZ+;|ifS>sbD+ z`@loyxoFr;3QkcG1psn{q(=eWpwH(vQG>1Zgab$T(5gL>JBc1-C0|i>RVy4D!qh12 z@I6m2c;-TcR5J>B(FJaa78%sm5ASIj4F(9|m)j%Elie|wtvKCN?7}nZ<=bBSmHOfV zz~XWU+zli0Jaljmd+i<|L}&xgl<>8eNYm|Lf!_suHLR`#Fsn9t$BYQ@2sqp%j40sT zS;LC$O<&H*Xz-H!7k?K5n3ScdLb}seu$>5u>c(rn}Sb@+3gcjiV#+%Ct zURcWSD>U*W2u1z-b8cBH>UN!KlP;6xN|#s3tQ^AE+P{(SXB$LGQag7~wrikn}-liJqA+5wlD!G?|x zJ1nOVl#Qr(cD3Yy~eTAN%DRQR6YRW!#%TKyAhM*YhI2FVyOW$JoKR8*gPNuc1 z)!2A}cvD=#FOK$|lGbBi zipI0v=E}=91$6dK8!ij2i{d}e11HH!T1pxt{jPUtiWYXnqWq9yJD1$P<<<@_Fp52$ zJ0V=)?(0QJV~D;VP`YEdnVa@XxYm~(n_jaNIFCh?F#ET&kys>7TD!wEB1*w{pa1C>5Is0bIL%XVGmQCgA8 zGE@xSs}Y}f^PL~28+o~r^L2F&M)CXBLauysb)&zlLXz??g)!%ATnM$N8(wI04zmMw zs=K-n$3M%Da3_O35AgHgN*C@RW7%CG3-vF+j4*X1J3HHk67 zDFFwGK07UYM+@3G-CnM_XP1Yv>YE(xZ;wATuZ>Y7 z`PIodM*O_z5lb#%dvx`d*Cy3cm$U5zv|GOGc)4~i#c0FGku!i2rk;=zx^(6#5j@#Nb=q~ zQu6LAwVtW>^Mc?h)^kp{Tr?$fVFNO|9x&PE81cE7=;Xq7%kz1Ydgx$o)po)4c$0#1 zoaYNwJu!!f-sf4TYxG#NIcU*->-W*Mrr%z>niwErbk~SDAnyKgXp|G9Ihg>5adu`w z!PT1?ud0q7`M|R%S|Q=fA){~SO=UmN_?@0t-E<3z#Ek5_8}hV(D=##8%;Gw8mIIk( z=2CM#fNGnh7oDMfgykQ=q*+ZU^S-(G<5o9O?rO@#mQQj9S$56C|3aS^TtJ~~UZ6!u z-`>%(VWD=-+1XLq!>t|7#`0R{4at%xDig2HuFm-RD>Qo6ooq&_6y=E~5rm0w{f;)| zaOf#dT1{ec_Mk^yHT#vd`epyZ5Jqn^J`W$6E3neYtb74_UC!v~g!V3|c^eswsOSbv ziO2L=Rn8{B&g@QQXNPlo99=Ktu5Y{PrE6?1Uf%bAAm;;(Y=bLeGe%MGWOVRuQt&Cg zTzvARXx{rQP>Etr_iSMn-0Hg%!>F zRRVX|nd0ZVhR+w6d^?|5=)66KpDsKml6-)NHwG1&ap3O0=)mP-IBxRg=0Fe8Ei5f?k_;yiTE2IL@#5F|xe%0w75r#l*VC!YbGsu@ z6)ky~YTizWqOc7K9?j0@>pxCzT(k1_+OklvedGn3r)2K6;Hm51)>B;En>4j0D}SjA zO`j87stn#}n4LPY5&&_%BIbx~c%8U<6Gj3krC^imQ(3{4o>1^iUaIVUC zn+$IdL#e!ojvX;~0xzMm&+F=xkk%qp_=?ljwsZXCPTWPQCz%em!wdTm(B@fxhUJ8B zWf>a?kUA7P;fC;YTM9eGH}5;%u?ye-I9<(`CNxhQ!A^kBTRbb`^_eS3H(xR+Fz?dK z+&eO(V(re$FUhRssMa%pKfprdA|>?^fBIO-6<)>MH$Q7uBEQLt5}|M*DbDNVvD6yp zKP`2LBC#VI_)*1dgzPcOx}Fgqu96}F)_p;bEBTf*XY+Lwgfc(s9#+#(hhkrSFq6%X zntdy_tV*Y0Ehm#>y&kw>kA8Z}_N(j7s9!K+p$9A7^egEhvmAL!1{x$j=BUkzSCF{- z^kr6;>oRraN!DE|Uj+G!tC`{-G>iiF(|kBE{Jb9Qqw+XxC%ajQT49sj!-Ww{ht8{_ zsgIowE{d{C%e}&X;N- zfoGYP9PN6gx3Rt-$m6)pdK>3>Dwwl@xa@gAjxE3XmOT<A6%9zkvB%7nPxgC zO#LZONa<@>*w472y60}IpRK3Eg(${(@xOfGclp-1wLEe~33QTq-4O7jMVaAb$C<{o~10V>YSFwY!L!`#?so9vNfZ^P`z3n_{By>(0Lo?qI!h zAZUX$g-YHZ7qnxhQQ8339kl!TWJ__ zpeEPeB=xgR@1gdNLrLOTQKP!Npp-_=Q?1FwQr2Zl_~et$!?faBZsc3E(VR*OrqZBeQNom2e-tfpAzoe2-8{!K?9yrOIFq8zWwJLB!= zBk%xNuHqjwkJ_f49zB`YW|E1Yn|K?!pr>ny+QU8&D;}lt>3ctVru%=)Jygb{h_`8^3tA3P{lGpuN)_gPXJ&*9t{qp76Z9TUu_blTo?Cjp0`OY&PXvZzX z+MA~jd9lvRnAz9Y2W+&86Zv4G$UKuxo|D5puigs16&re;)RAG~P-+JSozdwOZ58V_q_75|nK7ZRR zen0Y+qyJp1sXy+?aK3tPwe9^Ghch2tfRoh~k9t#ncb&e~zIbWmF-996!{frs@*cl) zmVRF~PZxLued3Z`Yt5r0Y=0g58@7hwj3;QU$i|FovHaf9mr@Ptk*eDjVkh=@{P_Ev z|7Ojihc4h2*wi^^F9rzTuh9IrRlm)?fBnC!&0GKeeg5&W@yFijixxin2khDd2ZWlr z^rL=WEPq^W-@7i}?Yh4Fj<@Dp8Rq$j_F2Y7NZQ{NWmYb%{c=!h-HF-9 zK|@JrK1Ad=YHa|r820V)$^+d(%`=%H0avPhf^?ObJ>EAyYl9B-&H40$Vzkcj@ee_EuU=K5BW{N;Q8{<00fzO7FJ?Sxej44tY6GW&tz-}}wUm+MWz<9-!~YX1H2c_{3Pfny5iLC`0=-;;c`l>T^m%Pko z?*-n4DKrhV>GcD{yWL@`N_ls7Og#N`)9LB@{~yc$-?0Te)T(pk$B)1LF}urj=bujp z9ym4M_Wz&Htxk!V;BHmLldhwWuC5N>tR1#yN6E`ez*Sw^v7i$}56H&-K&+r42Nx<{fZ7N9D7bUeiJO+Mr$9Jnzp#{`wujyGTLK zSr-E|{}k{zao{3}pFbY=pMLrYIPkbLMow1t@8$XbN5Zv7@xa;70 zH+=td-mQCHojUK`bE|GwQnO*Yd#|;6^^#w&CRj;9`Z?N5G!O{%TvkRx1q6Ef1q4Eh zKz$7S2FEoq5BPZYNk-cd1j1~+|NkhK8IuI~1(l&FE|{IclKs<(I#eG&l0(#7f-wn{zmaT_B(^uQ?{=!d!51b>n&KKF?blra5((# za-xY`)aQDoD>^kb)qEgr?C(>*=2tBKhNE+Hse4o(TbJJ=gFr1*^z`&|lD~uEw{#>} z$p!~`mG$-KYweeh5D50h^QAK5jy0eWiCiDF?CtG+**&xc67tv3%0AA$b9#Z{JGsDRQ2{4cy6;lPA0bZzPVmH}{h6AotOwdY3-hTg- zfdT?qnpT0`ceFb4Rdc1tM1AT%9^vV{O{uA6m&~CAefba>yWV=wBZwm-luXcWIOflC zN5p!XkUN*?-5;lTl+9*uMy{uiP))uT3DKLazJCPz{DJ}aN;Ov@Y-?wS6ejvA@#)t& zSjzmb3ll_XoyhseuglfXLNu8mHU)CQql=AriC;laxWwxEgZcA?o|FSzfZig@eIn%W z`SUHBUNKz2^VDWO;fq1b)J;yVcS}LUg4fNlW!TGX%>CPXb6!R8O=;%cIDb8D06*$m zO4WlOkFz#{Q*nhsCSNJ(S6;MSV|#FYKT>n7UX z7=CvS5q(bXTk4BeQ379^IV;`ZF6;f3*Za%jH_q8aIb@#}xBYy2Iy7P?`6YWI$0v3i z*@Z@5$$HW&FH;lyu5X+}xaMHjFiuXWGc?$oat}F*u@;9K*JPUCUaLDgmiZ}2`*Sh{ z&3YG1Wat{MIscq=7qNd<+IYC42;-=rc^+}&HU)M)eJ1WE#Lfoa?w7y2Iy6xUawm*r zKz@ONj6j^+mhGjapxf1XukAe5Z1OzVn1PV*UH|QrhL91R^!viP$AT+7?z9dvg82_I z3t++*633bF(&F8VIXI4q&YIq6IRw&M`hKnVW*&>&a#9Q8bsfL&d&UR%Nv34UDG!o&b<^Il&bZd zIx?S|p{9U2Lz;kRnvj`=?kz~u!F5TTwIAvfC|`-%<4P+-X&GHnCR| zSgd{h>RAmvmi!}%J*S(F0b1cE&k10toQ|HxD@K7dDCHqW>-{#?G%)#ESy}O6I1)Xs z%Q~ja6bTe+Sw6yA{x4PrL?AZe7y(0m$CK)*x2iJ zBag_-+X>gEro|!Wg{%G~idzd+Cn?seQ>g*o?Ku!t0aiuYX%ZPV##kY*ZaZz%kL$xF0xvuC8?XtCrRe zqoUYAtgZoV3HGXL$Uhu}@B17dZUVZnd%h$Oh&Fjv&@Qp*FQ7s2yAwWIo?os+3-eAr zk2B4`{n>qyF~SL~2uW9->B4-zrau2i=3tXqF5l+%ONy74bbFG}vNtx7jI~QtxS=tQ zOFz03A7~Fv&Ild#C6ZZ&9m3t}gGC2FUQuuB zDOLm_hFp@_k`GqmS8G-dE!nhY{vo8_GOfkRYy7u|n{IcZFOcMMch1i-| ze0z!dQ10E1XV`yu@DnKo0WbMXG@KHtT?6!2sFhXKtcP>^C^k9ysu_ji7&bpYpO&0F z>K5LTeMcG7f)gNfZr5*5sCWqzWjdcdj!=BUIzAi1wpW#kKsbun_T8-D%Cp^ExAja| zfAIO5rJ>;quXVG6Nj(YaVX~_;ZKhqs<4CezereMMej364-F1{`Ygm^$H4(-d##!{O$N)t8 zxsc}GQ)38NU#^KKueC#0Myl`m&(cYfO)(xj8gi5pP!f#|VQ%((YaSUYWW&z8(QM`|2;5!Pmd}sKG;%lo#86bMW z2AtsVEic6%Y--7AY7NHdSmy&$S3=I9D0(@pfucBXdUDWjj*!Os-0kvaR^-peuP`_> zQhN5f$@;%io|GT|?zNh7?e0pa3jZ*riT?;h9ezPby{9V`xznK8)h+O5Wlj>qh^DK% zE_t;9=|nbSz)ZS;E4WVzS)LHx==cvWFC=82-vyc6Ph z3RBXtdk@@b(T%NQuRAXM`uyoYY}un0Sb)}Ly2<6yj(#DDu?kaLX+upiRP=t*AEgqU zLE1evHri~7m&dgO4a=w6Ll>kztE=LN=6v!r$PR9I;T?R%`h`vsxB(@3y$t({Emyu5 z=UdrdUQ0Rk;xwI-+bJ5C-Ou$`C=Lj~78c0>Vk-9|voiRZ_rN07-JlT^9k!ypyp6%0 zQd0d^HynNvI@878mgIca&ZeFSk{)1STfv!bhvV?|r?2u_!hD+Dm8%376tj?Cx zPdwrYT-HMkrtGDd@mx~wMnz^Td>3PK$$y4I6K0I=aOL>&i&zHn>@Hq#-#9Yd#Ax^I zv!WNxAAb{8``);D=3}I&eatxIvFmG;Kciyi&R_0K{$A{NmiHa*o(MjjM*gK{$qdA8 zHNHJOgh|_B?Bk^7!)i#yrH7)F-35=yf0^2@wwWq7o!j}HGq%`xa+o8{PQPBqs#{&8 z%PIJC^N=j?D#ylNV4c+CA~tRFs^RK;cS=R3%4C)dro1r!j`h*>{#?0fPaRiJV-C@? zT$$dZR;|7VsdGw8nr>HrGopG{J=U1>d&hZuoD~-P(R-jRMzWtDt&$=fe9Oq!%l3We zYfEXpSDwY`^OoBKp}!tvRvuGJdNshL_@>h}mb(Z0gIf4>`uV2~v-8~hTVoN-$Ff(v z#1%BU&;MB)zH_41MY26_Nz=2Jq9+R4P7v)Ok+blY!`w5LNphtq({4QCuxA=?ARF;6 zKfJ$t_owF=>_v1lZM|@7ay3w%+Fc|~ajYC5NpkE*TQ*-~4B2sXVu#a zv{l~~D}49x&km3dMZ>L8ldOPjB=YH%=PC6^7Cvl_6m#SS!sSnYm4X zYu}7`=CC;QyStBURk05w3eWhoWN4SoObpaD6j@Zc-W_RIyleWiAShY-&A|?9W3Um> z7LTxXvbOH z?&*tpg~c70BJhpFSFh!u3j2V$$ePo^e?pZU$@LcQxM5RW({rLG~>x!SKdKUgl4cb`3MTNZ!SOND*f{4r9!#+H&!E=jA1 zRG&Af>5k}PG+uftNg;I*hAt{cS4cFb_2E1fR#`{;3yg~D*sw|RS{YjNR-XAXG=@Z9DKj}(h z80?3nJ>L7Yulgn&hx=ifrq{jyz}fMQ#Ta}VIcX=~wAgj(dRmO#YY?cPTRcb%kUIb9 zanDU)_TXPs$CQwqR@i*zTm!HL()SJAFCsH$aF4lqMAns5M;bHAXFUBWLmN+%(@@RJ zTx|a|qvhi1R1U!JerB~?xz?Vw!5le4$Gp5c7He07o06iwFd@%th-)pFkj^(P2X`c6 z-s_S^#&PZ}2i#(zQO%zcs$F_O?K!$Z!pOT)EWBa$K-hX=`f*!Al^1vlH=fr#N7d>XCuHBn zVuUZT>M7Q>9!Ic)U;6N^|7?2sdQ*iK-=F9M&po}L z5nBBaA4D>{*CP5R8!|RvVzQHCGVD1Xn6W%s3Sq}=WCyS)p#A>);@_MF$H`pETO2di zg>u?C(}yoHM5q4?F6BS^rhr)hh1lbInBy}GAqKJ~%Kz$z3}dnmmpgLdL=T-Pdxrko zJ>7pK>;I?A{69NU=coAqz*BukhSc?ZLEwyGX|uExxc&y~Dl02*V`A8qVd#b+hLd=b z8l~825;Db2tzUZ=TGGC>J7ikNX5Qt`=tm+tl**=``3$d~UJdc8on^V2@LV?CN? ziZqtFFeSJ~wb$G5!w$raNf#!-9m<%i+!XuXY`MdXM55%-#T6Q;C6yw+gziSdJ1&WN zX`;ZoZcdyitrkxcbOP^b+m$ z3aDw6j;opD^{9DM&^5drqt%j$P91I_S{t%NxBoWlN_EYD^Ct_f^0CCQJ z((n1?{b9ff@94`2D&Ayy5!isL=C0yYSZ;%rx3M}Cj)E{m+&NVm+P8?h8)nrM@G}*y z7&A~DdJW8Az5|vmC%`l|q|V3m?6$tH;X?SIRQ>I$eGM zMr?Ae@lv8+_zr7e_6QW z?Q6^JW3+#P-=(T)D74?6#EJI;w_j4IpRZ8gQ>g zia(+9c$avwRy0FIGe7Uj<8~W-+ICCZ;_f*;dK;GEU_f{&J>%(D(vf z*LmRu*jY}o@X3N$v4_B@jp5}7TP>>Om6=Rk*Z16Gby;T%WoF^)jkFEA3`DGiblbo1 z%VkApvYty<7U;OjnVwjs=Bp0}AgMTI24faq_|Hnybp29_=#{fFohXW$v7i`wA-Wpm zmvmc+S0U`LjqIuZ907skow#`&GHdRLm)FSHwVP7mREM}~M#`T_g0P{)%VJt7tC+HB z1dxpm37AbRPb_A#S6W@z-e;4t_zAUXnl24(RlAzjMAjFujxm z3ZgcH;Kc3P;f)RNg;0rAW@)N@#cstEDQ0rty1lxz>ovknPehgwJdx{0OodOv>r}eQ z@XX*R>nToPD6EO)R3-T^KI`po_AU)836fAXvUaJW!tkvQqNxD;xG(}{GHO-D5I#L# z>gUwY3V(@qo~T$<$sXA_dLlth>`NdvHW+hUt@=^T;~8%Rnd@h2ejzPNceI_pBIOEp z)9Z_(&a;DSB9Ss!5)>$oziXSbNZ;g@HkHqA8F##vriHpaUEbZJ!76)GLCX-47z&ab zePme{FF+dJsd%}Vsb$Zn+B-(PCD1McYn8D*=!p4cL{ShxM3^~vER!3aRU^)oEN~cG zvT!(WZV0JRbQm3#V0-f(Sow9TqNHiqrS!nlv4sv$ zpmu7H5m_2(F!)yWoF5Jw)zs9;h-kCAz$MFD(^!?s!;?+`dmtfoUAyi#u)s$A{J6ICeR06`p-~0TtwZd}EKI0~UBlU6_L3*O zS5&Wp2owjZ(X^}!!R^&NP&7!(XCu}b@>uH~rvjGoL4of5=ul=4%E6tG@R+PGZQ6Sl zC5Ur9=dltIvW?{;8JIUGrDuJrsezs)qSmWqOF-5kMi6DbBCYQGC%!QgADU-mjE@SN zrdJUtkC|SdYP&g<8n_PAS!J6P>TOms>`9?7%(J>ovocl2Nc2B5{PIYHV{cF42z#4b z_qX6%_hHJ*{;G9z30Y<5_8Fz!5c@xRq}B*bXEI|75&yFCpIXT7AF?&>GFiscU!wL6 z?i=AX{Gi!C&8lhnojgsl{(fS+d(yG~Y(60!TOxRlEl^0xk~(+(wx?a#{sa~L9x%`5 z1NZAqbimM$%02pWvxY+!GFEtEu`yCZ(A}U)vPCP)?dGJStr${M(7L~k|21+z9lW>|YX!3slvSx1Dl#N{%RC`z%s*OCYWW9dZM-eNZUJw;7S5^wx~aHoU?zC8>d<;G?Qg5{Uz(3 zr1_^A!_Q&3kPg}t42tgtF_W~cC6(?tqHeNXq>qKgP$kpqS&)j`Wb%+y_8W}VW7gB3B%tKF&`)chT#;py^2d|KeNRJC>@Sqi#$D8)C0rRuPpw{_a*|_qvRalm z^6X?fV8TrL2gIp@pp)cW|D4SUoVLjP>%G&zFh_b<9<`|gUl*P>m=iY}KR#s>cZAh_C zg!K%s?pK-*IH*rd$|h6QUCh<<{3^_oJaFRdX{9JND9_8`; zsS7>*tx^|M z>qn0!sE{I(ZZWsUbF;fVb_$t9#swQG8@y?brF8@Cn1VzRSxSm1`I@!q`)=5Yn?V}8 z$|Lnogw#2XO*N$F-Q>hPv-HyLrOLEMtjVT;y1F&95Y!ztQL>=eqEJ?Asv4 zcBly(H-4jYtI?bo8?)V>nBdphYM%eMT7day+-qAH_GHVXB8gRP(D6H^U1~r@Ic5xh zhdE+u)(t-W{lYMsvsH3dU11L!)!F~-f-2tc(S(u2=p%zb8u=!DKK#z{t1o45cbT& zKW^7)Qg5H>e;+tlY3z1U!}GfG+d`w6jaSH0aooc4q1$x?Y+ulVchBE6b_^^4f?g#M{WFAlgl<`p@Q6jqFQnUg1ft% znCi>hw}hD@$sS5GuTFEqzel#s*&`LJZuoNy?c@Kv3>#8edi_o2bQDKmC4(IWsaVpC zjHhf0jV9kYcbs%gSK5>3D@Q;^{eGds24cjqwX>kZ# zMy;ASsZq69P~An1OP|rhJG7aSe5L@r*pxdbln_P67GM09gkWntwGL9K6OU2O_qurGyG-zMMvNC>+zVP+I}@Q4jUpagven7YeAl3o9gwic2I23DhO!jtq#+RpnbCsv2`)eTfFD}asV=H;L^UKHx8zSm^4pR$}~e2s_gvBZrd z>lq>*;^^%iMy;k3p~#y|Z3VfH#>RkXtY=1PoimM+rM>n_WWr_tFIJ*Hx|#q~d(H$C zkNd)lTyaAw$maUZ%qu-FO)xmMXTtINjOgQ2+=qZ{V+xrq;@7)EbJF7mMb;bhou)*i zlK#jE&b38c_Nx1(<3U*>eTc;xp$nL@He2arzm;uwJyf`+)n0ophovR#{9+hQVqi)V z{;gv&t&BT^A#7I9vGlp5PJg5&+F+8Y2Jp0YOoMYZGE%BRZ@B6Aqe?C7Mm^p_z$NP3 zC`s_Q@?+_QpDM|t91VBKaf?w_Fz-CCCVzzBxg&KZ`T6PduHtAabbzEyhie4dXG556 zq3p+Y)#p8CBi=7SGAbNIy%#5?zTVr#H92q^;vZ+$36DTBNNiGuK&mZ(Me-Q*x#(!t zalmvuAqD`Iy$CtxIa;u4Kp>O!UZQ9K3a6wQw5fDcoJ=4CfkGvY+a53q5aSsz=6@Hb zAd20)$9_#xHm!%jk6R}$W$NTWAR?xJ2U;E={~zo=mM9=fe2f2poBWr+2nWCBk99r& zP+hLaL6k-IuhWB;JSWrZNrcDFg_CKT{~lcOY!15j?x7>L!Am3Td0yeu`kgi_@7C+y zigDus>&@u8eS)cwz*kkaGu8M1h;ZJa#l+vYTsYqSKn@GD4$694of`4GYtz0oD~EpV zy++;RBUpgpOm%g&9Wdtdcrz?4tVL4*BNv#$`|fIiot+&f;_Xq_^MHfBA`@3kuc~rJto50inqK#&b#?dj^mKOvFuB9Q-)5)yr}r;MZXP9S zg;Q)C6N7oCdW8nqHRZ=QxjoMOUa{Rq!>+UH>O9&*iCc6SFq(+D&1QY?ZbWZ36-U4i zM<+y2RE@FW^MhZl`+5(&D*x*2dKfdHS65Yq5p(DK{Q0R??pq843kxZ?*#})+-8%FK zTD!P-kjoH12##<)zq6*Kr;1ypFU-#B>F5Z|wuzy|#>MgS@%>9Okt_%!Z0WnAaNN4n zksMREG~i?FO?sv;`SDlwhU4KdzWIc&IIq<0>JQuF^*tEpvhP{?Y?4Um_v6Jk%YZ?= zr3l~aWz%@D%Vu_bPL703upBV1yoc>-nc^;C@9TZ{w<;e(#p=`jF^~?e1MoP0Z)9wC5IhRPXqj9zQa%*6Dv-cKj!;rQwE3zHcBsU3m5r(MpiZia<>g4o7& z2x||MNw|YkUXgxrem_G>k8#9Cj)+0_4o^0^nZ<;ddar`j+Ju4coLL3fZP6d8f73QE z57C;imuFd2j#VCngjNeAEsZhecsjXxF=32ICb6R*@?97G38!tUfpIr=+a+@5{P*-z zK3i*}jHBb5HT-`?VOZvm6YH3+fmD8LISSu{hKG?oA)S?-mc&oS=XLkH!j{EInx=(i zM3ei2=mIx&lvdVu%L2tEQWSW)dHN`(HyX|K5y#*#_=?Lmo;ho%bm%$h%W zkHKWYRrp4Mu7?ioIi}UvNV*yNh`Ch@&J@i8`COeU5X#av+=cTv3Z1cT&b@24_{E_; zP#h_LIYkF#80uqnx=e+d+aHRdyrhvCB=Sxcee5eDRI>g49wz!K%y6@?S*fd_@N-6K z($VAG?1Wv$%fu@_or_8Z7fY}C-);A+%GY=pW`bs8uc0mrt$&^-00SVUC=JjfNK3mw zgd)_$akQwYT$f6on3N|>{Z!w#BZ)tJ<3ni5Y}FVW3_#@?MsRM#9NNjtS<) z&+vONFxtdXt)%EXvDLvZ-n!jwV=sL5NhPQ->+AcNqT83v_Es}~zyjyRrwI+XNlf1i zfa(OtRQNu7C(lS4>k}ad;8dAMI}2~98-F>ji=2$Ap3QsizvaH)F>jL+ImsoC$T)HM z^K@Yvg_T>@4hkCEkBXAA z${83v?sC{yn;I)jU5_&-xvy|8$e`g}O33Wa<)Bg#Dftj*b0Z2_L-U06wjX?z;<e>bB>vVP$|n&E1M#;8}K~< zu?~r6fqL6#_bng&D%hs!Qr@eSiF4!bSjjI$#S(jAr5YJo?6B&QEBWtf{xR=W1|6{8 zUVZbQM}`H-q~*i5wuDM{_083fogg8(^b4P>0L0nyP(yuccb65as1Y(}7d2gck9^4Z z0I2EpF4~hMZ)j#K8^o`Np5JO*bBZ?hwc2qveYwh`8k+p<^l9VXG_L_{W0URy-`iO% z?t4MWq{nnnifoRD_>LMIPy}RUz%^xtl`m+LO_FofOD$Vo$a>hw{z+_^Bc`#;(E$oI zrnt#lSH&5%W|U>?x`QzB@+>Di+}=>uWOZGRe@u#=bqdoEDpss>7W>oA=6SXU{^ekr z!4JiqYj_8}{_=T;pleA_d&=fm@6+fv--!re$K#;*@TB&(b^~PqoD1aA6NfL*XYzlg z0b;F8?o%(R%2w40C6y8Gp_!$q6-RZ=+RI|?n0JNpM;9{8=e(Av>w{!%r&eXe?MV zZdgVio{@g%Tj{)!^Yxrt5$(h&(!-zRG8`o;G2CK|oTrbZ6$jA&rVvrB#h(q(kr^fM zdQ@?_S$4zEId~aco#&SqPm~5)JnIvwsr9>wyoNVQ2O&a1YR@F)gq)qdo63Mg0yz(= zr~WtZUJ-ca_pKsoDrL&!SgJ3DOKfLspv9whQOIZ2^0Lp6bAx&;(3;UT?hkNG%3~r> z$`H?4>s^S351nO(kGGvwzt}VwfEQ<|fuOFO#`fIyPa^tpC-k7ny+w&h{BRX|tPx0) zFK*47Z&T>i5?B9PdqCZ~ZnUoAjPeDNwp+1FW0Xa}qK6evfXL6->0N@5?6X4V``on4 ztU^{Ko>N4;K9RM*AZXE3Trz!(j{5c$<6pbH;$qu_c5>`LOL~?Vh(U8h7>kQ|x*C!7 z^@or)ru*=kl-6b0Z-CHh`D2-usnbB@Xf9aFx4QfC^1ZH!F>POv7>3!id+Bo|6Yo-P z#bF4|e71QC9j#Nf4&N%yYWulljAR-UfwR%5Z1yoV=S zLV8lMebesNmd9?@gq5{*G@GJ95+5e#Dl^D`STD(ih!rU&6*p2GKc|`@BjL z+tTLrtsF1@Ne)9bzsH?Iy0FuxfQ(O4;G2Yq=N8j7X5iTV+4&##6^=SJw`v}SpS9fp zl=^1nkZ4&{CLJsNmT*y@yvip~-6w*5c8tm_wArdmYbPC<_&Kd?JpuI!0(N&D;d7i> zQc~hbrvDJtsnAvJQtG>@8q|7xK17A`h({2!hranySTb=eL!i4Fm%~0P|FrIkpvwa7 zh56cw@DY!EybjhzaZi=i+FM7$ynKP<$Km7D4s4-w#u+D{XBT}T6eLbjR1lDMbn6To z2I0yUy5_b&pRuoCiu~EGI!}8cgOHDPehWd`jxC4&!OuxMPW`AwN87XZWOs{1bphn0 zxg|XVgUz2n`T`v0IAU;=WH%JF4_!HW%V+n|!8(=?yOgynhKXNlX9(#9xiHQe{XrG$ z)L&AnrEmWs_ap5rc$5bthxLj4tNUd)sZAjhbn&|AF;Gz6vQB#KS&&kp5+j7XHeVWl zmnGe8;TJA$U*B}pv;YczQ~L$+ z%5mm6A80BEItA<&r@Y~7ClR=!M2?F6r=q9Rq?NMV;Et#jg~IFL_G;h2`((_L>4nPb zR$-~n-OZWk`CmUL!iNywNJbrF2_Ke2umQcsqm2-&r7=)NKmJ~7-VKC~PRn6@ImK^f zvPmHIhuQJ^?_Gg%dLXO{P-~+k3ggN=CQdB>_3Kw<53lsfr9IA~s&c z*u`+|uz)~By)T{Y?d^5szNs;?v55dbd3t*OOFG`!G{}eTo=mk$@dhd1D>?Dv4T`>^ zpR{{Ij{&OLw0=^~(Y`}t)vG-i(=?F(hmaqoF|CvqPoln1$-fd16jV$TO59tb^amb+ zHUhrCL;~8dR%61MI|=Zqe~tglc!NN%(6f5O*GG1Bb#;>sT_psJanBKVb{1J{!cg7P zuo_KhI($hbjJUWaJPS^GKgDN+`gCfkGX{(8ki8;M-|aWixl8#l=D${y^Q|ZT{$U(HTwY9ak zM+X9G<#d3b_V##fBKoFB^XG%KPm-@g_8CS04ewN1!8>w<~xu%aITt?c$et8COVz6 z^x;9i>$nJG?1uw%WJsyyBUf8V$znll>s#P3e1B)1`i}doXpVcoc@7Ak=Nm2*gxv`r zJ*08JJE1wQjvhMo>Mow=s=sG;qHQ)AyHOW?&vq>lA(UV(Q*7v!uKGp00WgAo)A>ieXBqCu2? z-q(j6tgNh@O-zi8i5!MsyH)||bb45BhAe)1Bg85!Pf|Yv2G0E213%ZKS7+R}>Sku( zu)hE-;=c8#m?on!e9neSH&%e4{$`~mf|tabqbS=|NXaUU+ZvJSDy)4yxCRJBbYrk& zP~wgot8^?i`CdHk`ZLj3fmaUob1rSbZ_d!($}o9>u5 zz^al@=9@@xjVHz0n{V($h_}JVMW#u+({1$`0;|rl>T6IzDTUY9*RJ#K=B}dq^#}zY zAD=oo;F?dQ|1dYXgluq21uLoeLA9GrHf_6~?eB)NegmC_$w@7Pta?~e#^#4!RMx=5L{EV_6F(4niLZ53<6>db;FUp0UD*Noc6 z@Se<>{eUc>(w)MJzZVIpQr%s3Xn`{&#H`na~}ZHxa$gqJLF!A5T|mHt}2AkgjCEfB5Ka` zdx7ZDz_doDd{WN#rm^2)d{~hD{BUm$&bQ#+mR5Dx;djt<<+8KsDK4%ve`2yjyku_k zu^2I+tB7{^S+Nr18(6cbM9{LRaf3e03Q5@d%Eb+N#hHfvvIqk(~D3nOvLvT zyW2JMQ>#6)^c)mdp<0^(aN63WIGa{!0)ep=BGdY;cc%WTV|=jlg(UzlR*QY@vNP$APM8Ci0EDE?Y`ec! zIVm@`b5d91PD&eP@B^)wSJ%|rxYZ*!d*a=EK;7DKECBz6g`LFmR)nM|Xf#}{=xElW z1o-Z!)#QQ=V~aE;0<0$C^rLmnI%?Oa(d|XIW&8Y(%f^4!@>p z$5$0MSl?b>V0q#tYW*s58vp}#2&lPO(t1vNiJDDHtTXJg>XB=URD1`0a^~=sYkqxMx5!%; z;+5mgku{T*vn$go9a=ynt~b};`;c5CQJX@!ZJNd5p03BJO)(=cFNl2T89*lfqPK?; z(2~Z>t!B12X1xh`c)+ftMBkk(Yq=(Bz38bYYUPd)xn3!$p_SJ?81y?dSW3)VlLj=D z$5z{k!4CjPzC9Ee%iwULswNTuc~3B~LD+~ehW{(YZJ8hX_YW3Z=+^&X&?t$^ z^n2n|BAFkD`^m#hZv%e(t7z~4k?8-GC2bGX{(r1X|IftPO8GG3{}fAwzIT1Jv?Wj& zjtf=$lzzljld#@>)+iz(Tq{Wz8ns(K8uJi}eU9m>4ZPx;A7M8bOXEA4mlnnq^$uPG zXU>QgT8pMOLZ8>PbX08--z*L)#og#d@y@0*;s(M$P)obIx^fVGaAo9xu6%1t{_@^m zjQFQiD!(Hg5r#@Wpz6q6cEZ($_8!CFrt>#(C5}ySxYB3z+7MLvYv>RR}d~VmA={uy#ZZ*d3ahWz6!%_j<7Y45U zI>kSxjyQaskeoboCnT5s2b-ouSqenO`V?>kM3MINj%&S%Lz&Xaqye2VM6LVtLpN;B zE}InZPx{yk{{Cs?c1jskJhj;FIjYWYRPhz$AhvW5Ov>n+&PlLhUjlkat`bCZ53B0XD zPv^}ibNkS{7AJgS(C6A=A47mD8EDrTD?snfE+x6QLT=qL#9$)pQ|4y_iotl^jlu|P z`RMW2n}reEawNywNa+yvCYifaXJ;478^=v1E~%1!W7{vwVA+26B2|@%!?*R4M!xv^ zpFU;3+@b2k19u>KpX#g8Zf^0c z;g|p!oi>)_(MR#VN_OFm7j1(b0K2N}?Wq^}geQrNmq#CDFUN&$G9(2tH$1jM+HNET z+iI!{7Bw=DT!Eu_ae3od?}Tm`nFl0edMj-2@;c}wm;S?5#sB&HdXY@x1 zz+>V?ySNw)prg)0*ynk2-8};oWIX0Rhgm}%NMuYL?=ZpXO#?&*tMqyt*R~U_gA1u0 z0^!asvhEl0cps>~aWViGPIDDfzh8_2_t_mBM_#D)k-%VQ%I3L8VN9b_Q;G4SoQf*9 zG;)oj&h?1QES-5uGOjWyz_iosE=P#kSy~2PsLRTBeS3!cflZNXnAGolH#y1j`SW)d zvNc1>`ywPS&D!Yd-%Hm5X2x)yuU5(&@v2qE0C)H9OJ@z{wM^q{(laD6 zn>rGz%x+MhnYocL=@i9Uxww1XgphrLAl_KLq)yJOFLzG{A}}J(WUXXcDHR~+r~;s6 zQcP>L9NI8iR(xl2*?Z9Z@}&QCqd3WCDSvp1F(lhfMRUFE_u(@50v9pr&T=rcAxj|V zqd#$I{6%3^x-XSa#DI(*PPew2zipCxgnpF89hHT{GO0Up7;cTg~yFF?e(6HLS zkY6xz6%eQJ_OW*NUIvii`2efqc5gV z&h_(arADGqboS80rIZ9*`Di|SBcD7$DRXo4TZwnr)bEkU8Gwj^W_4v{)@8=ldmfM6 z(P&M^9AoJwf_Ag~AXQ&iT1D=LQ7C!HV`aW~r`2^5v7r8b1s`DwORn;V zeNg!G=b+vG*k`ZPohg5R|HCy!xKlf2uiG=3^f7|V9-y4-K1Z?);Yl9Dxec2)BDVM( z%wXyMo>%!OIorG+kH#*C+Z?C$>AlppSGr1wUIn$HOKl3d6md8Gs0G@j!!yx%EO{Uu zqbW)T^7v9m1LOAZR0c?djVrW@8rQxU91o8Cc!e#q1ttm5_a>4mXk^8#-fyj=y=kl;A0{D_9mcNL;wen)? zBLc>hJmN)z0Rv&09@>}OZ~e4AgIm_8H!%HQJ=SkxKV_L|cqIF1-z9!P*(hGk;<+m} zs#|gS~gCu zpA;PkWSyPbNHw`2#~TM6I7sXXfEL~+8ruSm44m15i=fx%s^bQffZ$C@798?}BD2ct zPUCnp8U~}d#G+PS8@pFhF$PxFhMn>rG&D58xdYe=24x>uAJQnL>zf;n3xH^ZD+QNw z1ye~Dw_EI+U-e{xbL5HZORKKm+LMJ_*0VD;>YAgn&^~2V1Jn4&-e&nWlUiV9z$(R_ zw9gQ+^gBq~f+hV;9N%QLzxkABYAl&L;KnW`CG-Zy?Wyi9Z*fDLoN1QL>0#2_hr|A* zdwOfjXQmr_8d?>5vYpyMAj@{R7%Q6prs<4AWnMzAEaNtf$UMr2;*xHd{ac)9KK*JM zDV;VIw?b$v6Ere9+PL0|!Lfb13#K*;ffTx)yj$!3{Sxrrk@e_owSR#eoBLMARU0{S z*#+Ko6kD3be5Hw%f7EdqIGmlXt`CRLYAFtXey^p%+H`yLbRo||gGU4}2-o11N z>JKVofCS|uDo_kytfN05a%Gd`+2B(x!{;qEaIF9dK%qH5UC6hST~HwQ$5pS%q6ZzC z!K)jKl1n)G0Z{9{1+d+eQh5IDxx6vH%=Mk%KHEA9q1o)=K5?Dc{78BHvOoW6lHoJw z=18Yw_WKUCLmq!M5a@uJ>kZ#~z!E_TtU&EPA-Lf3eS_~iSE2clmrGyuz>rwSxReT~ zhN_2`?z!ph!v-Um)SWErzTab+05ZmU!-*=JJ#yTtk}6b88?n7;;ICgdCEf8%_?ns3 zT@Q$YqO+5@`+)GP@R>2q=7vE)ZEe}#Cy2V;hw-0Eh8GB1lmz5w_D1T+JUn1NLm7!0 zeJm=?{?JkTcctXR);`WC&Il*rPlZLW_pbH>iMw3hB{GT)dB(m&&M@-Xa_PGanEUZB zswp-(`9&@gzlKH9FbdJe0la@CJT^Wa7Y7AihS6*;f*|Iu=!qfvmX#rQaxQAsq$r4K zG2pw2#eU+&b73@hSW~y_sLg}A8X#D?MQrN}grda9g9`@ndorY9ILumxc1@6u_&UH)lhdk+b=gCgRfSHnDkVyM#Dxu=^ zdW*mV!uJD%_`Z|}XePqg;6O(s&lVcU&Dy z``thB8;$Ci8-cOzVVQo3_o_>Uw?CsE(w?1={{JBFy`!4!y0md@U;$|gB2uJEmo8l) zf{K9BJ4lxnqy+*b2nqxQ1f-V;NbkLbqSAZsP3bj2sG;S%gU|cS%$jdzy}z~QTeD_< z`2&)>oco+}pR@PA_P+Kx;U!LXg67xNOB$dx+jMglbYsoCB3acN4{NVG4t8=%O)Vr) zo<8vj(A~Y08K0!g>(9+H#XwQt#78Slafp3@yI|y1hwP!%qdKbD#lq@lim{ky*s&q9zLO*qa97{_*{WUXA?X~I10 z3CL_#4ZFvVi7;x*tB(e+e`Z*ZkP%2n4HHp>woqOGRo^(D?UL0L$RGtK@>;`!M*zwq zHd#*cEKofAeSndPY=!K$!a~fJWt3YZ;t96#o3I0>@NOocRDu7xrfe3ACifJUMB> zv8C2W;I_c5xS$+s+#&UX%!wX(m=>I=Z`3d9PiSITDNZn8TV)|z%Mh!@Rp1@7hPddy zKtof_j$0VXvD#R(vvz!R@1}oh+ZZjh_eJ#j)QZE=FiP!wsFf!PZ4zzo8z4Xn5*{O- zv)cmL9$(CWQQO&qXa@0~NEy`5F8_vn*yoH>L5ZFOCK{{trJ4AWk9o@slP$DRAlN8vwKsDi0ibK3|_NTG{#3Bnm2 zPeadNWMO_ec;>86fq{gSl-<^=t_xoZl(XJVM?@0XmbagC+13y3~^cG&lcPv`q*S;0MoX@6%UluR)(8{ntw@&!1Mv4;T=+!|okhNcY89AD=SY%FI`i z^eQ`LcR26lMY;^Pi(kV6Eu!@a&KJ*V%`C{O1&p@RLYY_f?|)?m@MF8I9x^6r`dc17 zDS7^(<2))!K)bdOZG`W+`T1`F^YimHyZwqQ`Bq{pos2?v+m3x+<`#Z_^Bi%TtYedv z9J6=Ss2i(a^Ge5P!|u-RkWP~r>a{soO>XObvuOMxNbw3=NmcckY}&h({qrj4mTXK^ z)NlQ~0j}MP3ILde;F&t9soOm4UB^$>+oO%(81JRCBg($FO}jnOHl|;UAvP+Q>%`Zv zHSgWqp3L^%ZQdn5l4YX6>^T#?Y!-X(+h-ktPHN;OyN`5&UOEpM5{N`~S#)%Db#-)j z?2lOv7<63k_vDd}eQJoy`UJ0D)HD4A=Y;rRI`hrJf%g#`j0qbXA;aDQF^W73o!k(EyxPZg1ZQzyK@RY1&qB9Q_I?e& z_qYLfEMOA)n?AhrC3t9JB7V_^A5+JuVC%TCIp0t=sW98{+I^>9v2PBOp#s)6Kkr6k zgETQ;varpwqLbfR^B!>K16Y0b{sD|{=9rc|42~;!no;U$GbP9EbAI_R^5`?-S$^LW z^I%WpXS;tKe@kK*5Psn7Pdt<;sRwF0q4wc_mS5 zK>T%|ssq2VEjTShnFs#bpU-djo*uqDT>{NA zkw$PPhz~_jhp1~S>3$o7U3a`PF)3*V>W{9o(BYjALL zXWZQWx}4D%FZ_rE8)7=C66#p`tmf4Q2!i?;i`49YVmp{| z&~H}MpXSYypSSz*3!~FjEsdMew}BLvkc`6?z~KmdVj1Z}op}BzkpG>Q$iMHRR=~lG zZ+jt!*Q2}eGEvx)sAqAI(xOfJ;Tn+;3N!Ff=-f8jVvK>?+vUW5s~zVuI#pc{2CHOq zUe{)rsgFHflB#AHu^uEyY|=dyV@*IX zN?=CjZ5{TEg+3Iph@7c?f>ZjegzhS7YDUR7TvX;pMEmf7mH4jIpC+D+31f%YNd{^^a6%5!;zM+eVT_M2)&yk2~E~Ni8KV0BcMF_Rs3W?a_;bgoHrwNMf_5 zB(C`+h?zC%PUzjUrV9iyPY5sAia*&b+bJtsSgLgjaqk(4Iw!A>bW42N+Y7}Vh9Y)< zCqkyNQ=718wByzTOcI|_=DzO3rwzZ#t`tykKy|k&4^Ak&^70!rt{Ubj-7KQ7y)bG; zc@(ASmyd9czK~0(GScOH%BYSJqsvPYo0*_BaJf>eL}I8n@$p4!&&nO{cSAa?gA;>f zlJnUm(pL3MCi(WLS8oB>7WTYm$p-Z;*LKOr*U}GC=bAQPaosRS3OYRjZ;wjHls_sM zIUY3)Wvzo9OhM}R^1x{oNyH+X=54m%+=3EJU@5O{#?i3~BH+N&UF&ybcSE`}btzkV zL*l9bfI%a(P3rUqZg!yo+@!sia*NAAI9N?{#xYWJrmfTHXCP5U%C*xlElL_h4YSkX;(nz>047-6M;-j?kpc>m!nf_QKV- zRI1Jk_@ZPuMH%npaI_Lp0OV8##3lzUIK$MsOeF=j$eb$8Y# zF~jzTM8d!f{!5nfb7ysr#f|&q9MJ8uMKzHKH{jy+Q`eq^>9~c-zOXouV_a-oyCu>~ z^~s7IpK%)cGIO(s=ZHs4V$2J6UgSb zdQp0PPefQOQ7L4;q2uaacY@f|;F9yB#GT^?O|pA5aoF)v(iymf)hvY?M#XWRo}Ox1&tv*_42u$1>m75S8G7c`?-V{~aod=THS;b0-LVu^ zH*GRJVV{Lw->k=scUPeDuTVSRsc}VjI_MPF3l5BcxgVKBKWf5@bq>}esdu1)Qd*k3 zW%=f-q! zZpy;RT`J870$$(y=6Abp#hO&!0!J)f-BXr{5r>TzV^Y$h=8-@3$?M-7jM?#&Txi@~ znt+g?_*N7^^7gbL2~*{OL}ad@m|0wxjvsL3vOLgfczguAYWATn=R$I z%E+vbQXVAX09;VRd}Ey3vz^Csf2I2CM49tN)>cM=;Ii%^O*<-&)HT_(*Rr)6c~A8I z*ztN1^`V!Z3?z$;TxZ}oN+6kX%s2sB3=)BT!mA0^~H zQA_1=|JK5;=v+KF@$E9QBzaaJA{;6iLW84Hkm?NKs=M^|!akO&5|^X0|QjU78Nibx%U8s@tt^ zk*AhrLyv;%18U9ojUP6)d?pZS-|aAvv*{hwHdo5^-y%K&$x0WHJ;}{Ult{NkD{_Cl zUZ)p7TCu;pkgOhB@Z7=d*|c=TB>7I~guu!3)mII!tL-+k(h#8{J#_yM1%VH(gI8ri z-@bnRZkv}hWQ8h;SzU8G) zWu*!E_gy|-xb{&NvGzC}@=klOEgT#HqLS3rF)`W(Ti@75MIh<~`#SGdZZuxlJZ z!emaOWCeS9WmjuL#^iYCiY9#}r7iLPH+5S(kEbDomuBC(blR_5=*n3c3n+)03dOMu z#n(S}Q2+4uJC!jfcN|vyu&uC_dC%`!thKAmRit1Q!-pXYH2tndY>i3IQkkU`37q0q z{BtuzG{GiT5M9i5n#dORt86@#6h$_quC4Bz>wcC`k_CSErZ{o6H1WkJD0)1yn{_`` z2$<&1RcrcTUxY0!F5hRuU^@6_s+=qx9aTX9%g+$HlIE}hS}*t3UTuwY<>uJfIG0z5IumJ*lR&T)&r3q3br;u($cXVL;RT$7&e z(BosT6B+Rin8v#A+idgmkq5B*gQ)Qc-{j9MusuK7Ct=}DJe}!E2jn+Z1vW;-oYN$D&~OIM zyIiDWmoD%&YFpy3c|OvI!C+Di9M@mWvVO<6{4>?azLcphNEa6Z0G zz!Rhd;o;0Z1BR6q#!WJvA}8Qh%s13T>LOk9>~*A_X2Y`_lF(V1Dc1v@wg1ptu# z$Ae@IH1pd$n;h42(MP&ZJNH-1V~=$w%nPUb?mly_*aN%Pn#bOR?DL5iHgZ}rN?n{n zjO1haWC5?n80hl$7GRDoeG5)+$Pgz*>JEM@!KnwfkY=pDnGO>p?eZ#$o%o$l5G`%~ zI;W~@QEG9cj@w*IK+=aSQMm$edo)t7 zg9GLj_;gJse^LgqARo#cC}x@erc8f$aMrZF9wF)|4&rVKi$6|f>iej|88()Yz$$V; zaUW-J+J?wD z&eQ**iA@yGXAH_l>e2+1)9t**&sxE)2>2S@ihyT6{5Gx8b!k$Q~=DP3>KPDhWa~WaV0X8dcAB=Ma_^?K2nCJoE zR?|GEs?~l2ynCV_VJAjlOtO!jvJr>{{>Gmt&w6+H1OEA8MhS`Y`~X*1SHO*2=pt!B zMqYJrOe87wZr0RR`Vzq?aV6EISC(#WK!-gR4r(fPWR^5><8ZsogHtu`js(2XI3Y&U z`sj=^2Ro^mN#C$yXfK$W`-Ks<3zx0{dMI39Dt-)RHb3xG~gSkPB8gg#f+6{55&LJqjo8N@LhQ4u)XugwY3SBbMZ*Wzl zaX?~r$*7NehAm9)bW_7-vi-`lij@GnkCun>f8rDLjrpEcM^nz!?@3BAyPxh|j~}#V zDkqWs<6a^40S;(FFJ65k^H;!w@NcC1zcJwPx0~VfpCoVs0=+T+)NL(~IS8yl;TO&C zzr72B;(t2A_|m`l71B{;0Rf&ki+$w5GE6_`dB^hQ*Z7y>P2#*H8s~JpnSr{_a=QHe z)W|D5i9q%rQ6*s9;I9IrO8dUAcqkB!z{(AhN$2C1fcrUM*b2qv=5hzK+2sts&+~U7 zTLmrv)_iO+;XjW=Fg7&JZEJH!9bV?2DkIP%qWK^W1T|`4c<)I3Ga%6_F75^7_V?i@ zgvmEA;HOC8%9aSdwt^Yi>eeg}@+GhpuL&j^CZ}mkr>N1?^WdrUqpVr#uv7uSbmDR1 z!8mq&9J4cBHH9qT0kXpR_zDu8M&l*5Jz#ykfEHdTk?NH2;?cnSR=uzPjk>q5sv(~o zCWN>r)cLPJ9GnoEdY)O));CBCJ!Gn2+QgRr$P=_+oHj<_F;y{2v6EVGUs=6Rt=AvDhki*yRPZemH9#vs17y7~mE* z2UCvM@lUlVnv=mAfC-~}l0)}q-nAQDBIZOvVmFf3s3LTr(k-VzKc25AhL{eS><{H0 z=mn3~hQQy`GV>fP3TagsWD40oZfS16k>5_TEP4sRx5%)O{Dk6I0N|Zeb%03`w`$#T zv4d|So^9!FyoQWLnoTo?f1(I6SSe+#uK+AQ#N~o2z8-f%87-#;vH0hp#!}OaN||ec zUAOMhK#S4`SeViqhFT__)OXRuqhI06q*bfAv%nFhq1lc7%Z;|+n$L$|s(%$4>K>i5+6#D=!>m2!n(XLo zFVnq`j&+S}o_`P|G5M)x3FQ|G^h_*82km?r*QtnFugBSP-;TtQ%GgVPiDS|p8`v(U zd*sNH8S&+1`pO5U<-HmMbywD>JIP^RpEHROU$X1W9DZ9d2`t;{YX9`fmaSFVcoN|zsXC>}w?Se!AqUTt z6i6mVBmyp&`9SUYxp$|%l@=^vPd=^b@va;-H>y(ARkL$42_%D8`VN8-^9qz1#FOK$ z82jDX6^E>u!ehTh(1w{(e*Qvka>1jM>9b|WOUEQA@G>W$>BDnm`m^{rLvBtDVa>a> zuTdT`CqnB%d`UN{r$vNNE--Sujehnlx%C<5SuPX&&B4bgtK@)}R(w@1;nX~3jUcmM zuF55PYt&&U%T05?e@=)IO^(OjJ!$%Vu&+R5zoZ{GknUV=?9~#Z-HxtUM<75qSeLx@ z;7trVYyr9rKqUoIc91O-0>;laF# zjT3;<{lB4paJb}`TbGQ|8tmXG5AkT;syq>#byGAMKta4&v2~e0cU)gPV&AuEdgU(L zg+ktV98~51P8o7VOBn&S@NVZ;(INHjMYJD{ys&ZnE9WOAyw2o`M~ZEPzFaf#kI>y{^R=8oWb}x?xHV`b_fZlt-%eRu79tM#B29j~ z?=l;Oj^Dl|Ebpb2KZr9)Tf|%Y8(7~^{1GJgvYl4wG+z;A*>BZfcL_ z5qe3V2DMWZke?7%GD&3HmU{^GFMc-MVNv~=0qB0ay!mGClv6j^<8C5d^6gL?dA3p* zVncUMgVd=xZV1AhVfvEurtg&6_WuTC#rl?hS zw93)+N>2eAL8WW*lu00;E^N84IOfxe1Um4Rg0-VsxlRaNzvSg<_$SU%nH?L26LDO^ zRc1=tx>Lr^^fBria{`Gm7W6=Dpx9+!fm?id(*2QJ-APS_j94GT8OsBN*B!ty8^rCI z40I`L%7^jPlBI7HyU->x!C01}u{RXku155C!&4X9 zavsjV#BLQeE>gC!-u?3i9`MzlU=k%DZ0zh$S%3s9eA=lB-Fx(!Nz_UYM&9?rcB#09 zrbLWVa(ESGthshhc7bT=fi7vDlh=>e{JimjHe=`+4k5Rbi`BY7i*UDTU4y_(dYCr3`EPnoM91+nsy)>;{voPqHp z^RUwqvQG@{zNfUy@&hs@hhQZYB!vPN$8$qim^N464Df+3XouAt>cW@Sm1DXtpAT0d zz`uYTJ58>s@dQW%D_ITt2JqiM?>{$u_S#q=K4(H-kb+^5Fgkvr^P%RjmLlYMZ!d8* zM(K*8dfChS)D#=Tw;o#&*)QCyGP^?-Hfhzh?eH-Gcgdig6i2CL$HG2JIlkhd2}1Hw z)$7f$zuQU5y58qfSr$&Mhvd2$$b1{y4{3P#P-?hoye+;>=1op3#rvn$%oQaP=od{t zdS)c(@?*r7N3c&prF8UDs&*7FkO6FbBC$>;uhD^PcT;+(J9brrvic)+bH3cC0lj~F zMyHFT4dTC0k4uncVd)Jx`*vrJ~GQEDZdAlgF+VN#| z2oR!S*a$b(QXT`bxaF0f)IffBgsnL26n(51Nw6u;z@(yMQEqHdE}3y*flYbZAa@iW zXcW7g%LYDt{`JGZiTLXw%Cf~rS9iPOrvMq`d?dTWCQ$2}b>RC<0N;;{KsteS zhI)`2p@-$75?d<2hQ=D7W(@lo|5Tge(S`c_wWvB3v$o4W1T+9?XuOPB(GNqtXUGOT8KZk|U;X*P&{s`bNSV$!-ry+{$W+>G~| z?*;XE5+2`Hz=Zk8ZM|Vo!+?nV+JH$_Zh-Jm(Fv%pKdCS5X z#Hs^n1HLGOgNufx1VnUo^P99g|9CMR0%A7y)AFG&gmS^ofY+k>+-o786Ts4K2RJw$ zdNACxG0-b3sr}I>o-suQxM;@2j?HnqS_9OIttl;l$HHzWltFpSJ}XHzF%rrG1QIrl zoOyvx{7mC4K2_&+OktF3RPY{6r~tv(IJr!$@&@BapQ!L7ul(w3)8Zmhx?|8j|T1u%=j=ZY%E(SAXWuncq2g7WLb*Wu2stlqQ{1^U(Jp{tqSv-33Q_ zJ>}pSzkqCR=^} zqeJ%&&b5*cd{kfwcdZ$7WQ~r6mFt?yG+A4yVQC|asB8YqiS^;cn&hkpA?;JQT}5~% zDYFj0_b!R-E-3I|nV9NU@*XHUrTw&9UhdnJsw?ceR}?oF;mCz*uv?}qx}{)`HkzX2 z46hD7E;8*Pez>Wo>@BJxOTYHtWSJM)w?$tSN zgH|Zs1?Ty+I-M23>X&vi@OthDEMi4mMfE3|p6h>Y}lno3Mn!gQ)w*czXkYJbT7~^(;Om%nkUh&W}94GW;Y{P*O7C59c8_wkh15Yy5o| zf><_jeSQ6Je#7S{nI-?4?@-9_A5aNLAD;t$;+6c1&y_@pRW<`MY@GN1unTR!j*zy- z>Qw{2?KC|4l&ocjo!wTdmS_LRc>}ED9txn_mh@9SzB*!ZUPS`o(rvf#{7ZPNn1CSk z=J21k{Ldpgjyi0+CHxbPh~j>O^QIcx961P`S%Xiy!G~KCC7xZk;HTaeTClr*Y=8Av zfR@KXj!|Ik_C^~JrFXA`3m*4)ILqV@WirG)Iwva?-bbIvJK5t-oweS7ggO5@E0BIJ zM{xfiAfDuJYUuHkOezEjSW*VycR}vspC9$@@1TD~66@Ocs7CRtF0z(Hd3>qM2Z&(l9?X3i`2UL`l(oolp*BE_Y`4iwV_o%ZQEom;Z zz*QHwZTxQ$y6NUiYXN^crEo}TS&x^dnyufUnOVh!5I{Lp)~h5Oy!a~#=mEfN%tpCt zr)y!4|2xsx0t7d`f^K%vzIlDk=8MTyVfhn3W_;KLWp^-^5H+Do9tH%IOC~}l4KuKB z+o#z|y-ce^quUuz@X?jBLoJD)ts4nbmQIVTcPWon7&x((d$oB!;O}6t~zT22mx*%p4aL=(rbV0*DvFC{}(S_(0i;GxzM(0 zyZ_LrvajV~1svx&xh3|8k7!%Lj~wLKv3-6KuHZ;u>L z5ZbeAKPUHAH6~m*GEBKOUsJ&hi+QW|h?*A`x1arnx)emM5;K(nY{===Yk-g*+H;9) zuA+Gg#I^6cwQ5)@4V}}wqsqOG_d}(RtlZq(eryAlQXN2sTND5C7jvL#$(cAVyJ=$M z8s0(u24?o_U!Y`tto^N3JL~0}KBx~qPE076$_D|s|CMv9(zKl>l&2uxdIe^|! zUB_SaT;Q82$6>bx2hm?{TxfyD}H{`_$EEMuAvkMKTLkaXE68a1lk6RVI>eIO7n zNs-fPWb&oPDvPz;_?6<={E$>p7#==4rnnZ%t5QEKwyIoF-la1&;Xut4v$Ij~d`Y-u ze|j5kHpT!NaCxiOqJ55Vm+>S83^NUdp4rdq!LPs`IrpsbII-Lq;sF51T#cdrsksQ? zctsXJ7Wwww`HEB8aq_8SfZ-*dsimL`U6fpsBkBn0WZfPJc`=rYO zyx2&2(}gP|4ZIe7oxwp?5>R3TSl+YJg~R!w)4s;ZQ5jy;i-y~P)?Y)hfj}euS(_2d z2;VTkKy$uJ2m&mvK&y+C2yVG!!Fo-$QaPsED%`Y>x%)+V`REcPG=0i*6gHzr5#s>J zcle$cG27ZyoQcb?!dTVz#ZukV>?f~pUfa#jT;_*D?;yKUtdRjJTU$D!mX0qN-QBrvx z)9MgfF(3#a;ixEDf_lHu_AHncy4w~Lus?T=9IlCc_VjIKGsRnu;J{_xso@tuENDEG zy>!#_>uqverG=U7TJ&hXu;JlD%Um5VAokJxZT6R$lD)|ygH)Z2YBjqflhFyoGVC{C z<8r=eNQ-LiE7oqeKSj^y1N;OYlubj*#l@SDB5vI<_6{VPVT5}JupqO0&pHd}w%1Oa zm_C(ue6rz}_fpy*dH;Aeeg$WPZ!TK%ZH=*hISpR?aQ|P(v~M3U^?Dg}3V0!!&gr); zoz_Gp9O_Ia0{JHS;Joa*>E3A@snYJfD+*1OmDvl*v31U%b%Y&GGpm=P4ytP=J2GUt zTxny~tys$dn#~S2tNct`62QCtG_1AvgL1P8d;2UMIv0Ww3TK!){uR$>rDms|Me->q z06jluC#WE+5}13-wG)W6)vdY^0Ug#Td2E;KtWxQm=EUtD1g4R|5w!*1M(lch^Yh;ir4f&u+{os%c)aTWUW_M>{Jg=3j|?%X z8X5wo?($L-=puSaE?VOn_0I){}RjxH}7goQmWI9@QFU3A$SfoXvY)qQpJOkbr<^yCxeid-%7PSeCFI zolDf~MB9($PpZigJ-cd0Aa(RAY;k0G9l=V!7ocbG=l;&G>L`3 zw0*GQxA+Jw&bS+0J0i6&N6jk~M+H88m~sB9a{+O@0PN(vupo83UhkBJdE!F8jvtB@2H+ zh_n%RIP|r5Yo+~nW>n;1uQqq($p+%p(rwS#q&dk0D**9D z>-Fp80Uq4S_Ue^t+Is_WnkY+{$(%%n%BRS^;8{C|NB2Vf)>KV|1GU%2vwibOfb;~Z z%KoM${7~6h7xiENp^0Zxk;V->4pkfYYyjtzg{@R3uQ5K=aQXm^zegIccncj{6*Ig#aO406{tTUY`u@{9DUXgKy>obHUXi+aVnIXDv;_(Lf4h1|v zm)Dn!ya>P>L6bv}1wU|<(g?@)TvW`we0StiKqy6sI;+-H>v-AE>+8Iv$e8Ex2xRpv z;pT*puuq9|gmmI05JUHnlCQbF&?^dB?*2DA)IS2_&;3e;w1IHf-r5K$y(F+-68*LF zSSnslXbbxO_>86y$zg{-*i1Z=oYIgiE;WdD6vwE}lsN;$DTbQ->aPGKG5ab0Cw5i{ zV=KJ`VD)B!HCf^|Kn&rFA^3h2+lzFz;c5Ckw04N(KzhZ90Ota)im<`35Lp?c($D-!{PhflL0jO#cd9 z$$56M$Sm`JLtW<{{1Zvk_4^C%eD`xZ^-ictoA7c4*46zX34jhH{Aol~avS4$skA0q zb^53F)j^N1uUumUX4&~sd{fkFNNimp4VrOCM^P#UM-( z2|r}Vp47d3Iz)=k`zQF$%%jLYQM^D}#{x~nB;O9DMzr@zA)0QJ;`zb^1Rzj)3g#H6 zA`R^C)uPctmR-iV@M{EL_HdBBNR?>5J?8H7%dJn5bwS0JH%n zRbzNsdN-!>ut0qJ#60jx(vgwAhKk)Y?0FR=XGK&9!^~hO@#&snMKe(JY4LHF5uw`B zO~Gl1Yu)cEcBU(fEvydU!JWlWpB^~wCnek%z8cSjfXOdxU-UTBdJ4i|G*13xLQ49G z7!bbUlnB2{mo1q`BEzufxdlr!Z~MhKkFA$HSj@GLaht(LgWX`$L&qRfgGj8|aVG%* zZQgUx6ZL?A!vg5^y~q=pEK}^CSwL&OgC=_8IZJCnPJ^P>EpC&VnR-oLBqNpxEX}Kd z`4aF6DpON2|NOiu#>}?k#Is4@Us@N)+u)OxvK<%I&yRr$X)1`q%yS6r{i$L_AYeY}3sd;P9_O(d7mp8FSl_P?t-GoLecOG(Ie!w^xZe(# zlL>mL=Kq`=+L*4Cv(wL1UOzAF@%4CKUv2qbuOaM@T~T+w;V}l$ zaa<$pfTZUb{Ail5P=+<>K;dcQiKmh|T43tDV%{W$kpcnVYmEpk%Kh9{*IY1_t!gf1 zGkhy6)?V?N`x5ww_Kl>cfRId`7=#|f2_^bA-mdn|K0Wyc-R>FZTf5zjE zl`w|LNL4y>c6(Qx1FBzl*i-r7`~`Unwf47B<6>_~@j@3UcesZx1unao94)Q-<0H!i z1S^gIZruL=BzN*}D#3q4Lg>d_XX?V=Z$>4@upTmW_;&cW{G88(~$(E!GZOn*Eo|1J5i_{3F$SN5{-Z)%%JtcVOWg;PI* zYZecOOU}vgiY{^g5@GepH{1WBZWmRW-VCIm4-Icayk>tTZzo7Qka=le;rdfT zAQ0#v}7wp}b zM_E>yZ}8>Y^VSH7rZ{Y}-2gM{OnNkRpuCj{?iak$sDd%;qzI{pQOH|=D0B%Yck?v)?CU-(zPNPI`~~CV%^q zlVd~k)m3h)2ZfPD-`HNBY?CUhoWvSMY7dCiKYZ4xLbRwTQ4-e2yYq;^SV|94&{J1Q zLB6*MDS$w_<#|DGLyd?D)&xi|qSdLdtLST=Y$opTQ87nF1#61SGrc%ox_O(KiI!tY z1=+Q~sdwmb5Xbs8vX4&XQ~o1?eI4l(=;0XlG>pWslhmkFUkswo5PetBmU{F>v*!Yq+ zW&hQjF(mH}HrRs`9V>J4Yz`|UVSvsBp@X={!x*4@=q9ydL@Vq7HnR1x9*ox5A11T| zf0ZSuq_mr=mEP}6#J-kdIzSy)LVwf~hzdc1`Oox9I5BIw58wf;-35R_Nf;7I= zL_DzX*KmQqdvo(AI2zuhD&_9{md%o<8-1smEbVNyjV{f+d>l;-lVx)D8C)AI(K~Xc*shsYjRXm&uevppV(Pra3a1W5o-he4#ddQE|qff$Aw>-B`X^e zMMk)zk;Nx?t;%su9rM1m{`{J)+|&-ZUUCMXBk3J)N{?6ApMB1~zt4c&D&W_*KSV#( zKdTx1jqE@0s;Q6%@Yda z0AaK6=OWJM{9Gpw_2Wh!fPM*7xsvA`W_aKFr)$}|x(7ws0Jjp@JMBTI&X*wkXPWg_ zNB+~#`TyF9pBEgfTu1QrngkL)65R31@jvbLUZ58VyeEEG8V%z%e2=iW?KKjDN><7J z+9MkxC(;dD2pt#DIo>>5UG5{m%}J(cYI!+XEjfEXEB83r}52Q9x5F z8_dDAGs2$tg91i%=uXBalhIKb3!(M8cg6${+De8NOa&8r>c@0+TpR{8MQzwwjN`1huU6oovN_+^mNH8+m^R7}Ob0KMxuDM-pY9m)9^7Et-h zZMOX+wqXY~;wn6VJ&8{w-OMtq{#*dMMcP?g%NJ5$dzd|M65nYa+F%cx!#z z1eE6BAjIIYs6wBq$?II_Tn;-~*5_ct%k43F(s^dB*^En0X^F3CHau<8t5b$nrAsuG zOlECIdOzk0J@l|JZhA}JRcioW?9&BQLM%`(RnT_dsyzRbw1+}*P4BA&FYPpSV3QAa zZuqD2JBtX6mzmTfTwYu$M}_Ts4Eaz)Pxof1?Uo7b&;(}k zF7A7C(A~h$ZU)X_HVbR!U^*HqmFX!uQyf?c*`%p-*TUqWu1Y1uf^w=Xlbhall_zj$ z)@n&1a=j(20AyEK`TOQgr5rK(bDbHN9h@2RWd|v0PG*WMtMpX6Z;Z+rSsOM1aChEU z=*jYWkYFNF2R2}mT8oKEW_NWe2x&q2u4F>U0@=fzK}bGEvK#9qP3gaHz);gKELm-8 z=KO}{*%}&UL#psezY~Xk&z*8~s#NY_H4Z7!&}wQmifg0Fv2(}X_w}Ce#*5K$3%tJL z?J^@TTL!k)*gor6ZA(?`;I&3E<0g3SIA|afGxQR7=NP)^p(62_&h*?6`cLERp{3|m zb`O(z*`=+80I3<<8pLAbSpM%DukRinxxI6*ZYhqwwnbX1_@i(-iFIn~*x4^DW)3`qtv=Riju^xW+&PCDo}*RD1Q8n1plOdG`;}{-$(m~$x|8x1UJsA^xbMI zrqP_5YgRx4`uB}rWxm_($5?j5TGZ4>0s?aK(1T&z9MW+k-$WRYK8084$7#R}Z-Moa zz8CB9dS5+vm3a&OKhrq>CEEV~wOahoDoMBEpF6TPQeadtWW5KKI$Z`{l>>Xnf}>6p zuxTZrPaEYjl89axi~!3B<_u+@2f_ORp)h3a;_51L>gx`;(vJ4l`td9ytAggc9~*ts zyBV#^bkEmN@Gk3@Nv?RqBmdVgdt4cQgZuA^&;J-py?zj-FQ~BioJ3d2q7^mQw0w>#|XMdI?CHw?>yg%}IN&346|U^B|X( zjR{I*2)9@rtu|^ES5p3xF3JO}n&BjUPG~4o1kr-S;hmI1*h@njA>__W>S6)(nbke5B@i9ax z7_7btr4~N*4`pX&Vv{**aDKaRhb!)0d|>)#6JO1ob_2;04So_7{imeS-5WYn^Mrwb z8vPYgvLO&)&~xvtBvM8S(_Vy`Kiur0ThTkHa)r+OZnve+oT?xtTx{KHPMTY%DHTFM zpvEe-xrT_2M0wDcVO(Zf8-|wIV?I`m4(*v2RL(j>912eb~eM3d@7yJWrBqR@xw*!{FtT+1wAv0mX9v}%1?Cx0QR%Xg$ zPknt)$@$NYooJ&TmT7;N&x3k+#OK3~NEuY*!EpFyu>PE;Ht+f4dds^Q(|f!Qx6MH7 zP=^wu+yjw%KNqvl3SWjvR`p7lmZ7$@b?SpRO;33~TvOQ>_K9$j z4fvQ~zQQDGzc(m&sW#|7h}p+&wap+0dXK@7b3anJ?}bggu#N!>Fc={zb`?~no`)aP zYj1iGC870n$$QznR7iJ2qFek`q{J$xIY_04X6kc_5@i+hc(aS5QuzT*{SyeNmnlJy ziC{&A&2J(!`$`V7rX8_!GB2a)Pk;`uz2sq}z>LG&?_|MXT>eMxR9tMDsIu*_wb+L{W5RWX>Sop&{PCOKMa@tpUFvK2 zx%PI#oJ@4*!z8|fnE82(+TrfF!QJvk+3S4?4|k=;80O|gD@o?YgLEI1*2CYWH4Yvg zn$0Crbt!c>-DsGbYsg5lwXLp#<8e785LT)^$w29kFh3(`QCja3s)23ueGuM-9^zAM0XTIydO#$%2(syE^h5Q0-pcNwao6|o9!D%N6)dJTz8H_65PBB>qSi*Jv{|d zD&SjtWd(hc6kZC1$6EK6ITG+Jr?N_1nlehDxm-`NO zAA{$*?k$O0yQEbWHg|{)BN#Pd!3^*!_o{eN9p3&Re4GHS{|}X_C^8Lf(U)k;4IDMT z1mI3canZEb!PLatbExRB7XEJ#rK%-al|Juw0A3{Ot{{8WEXi~%7V*B^QllgG-N89P z1jnBHxi=y^7OJbODM-it%I-+GuD34jgah^}!81PKRqSAay?egFA8tOAGz85%Rsjjg zFn!?U*WmST;NO1{CjIZ!QvWn?{*NoUl?N!b|AKP&AH52Uh&86`@Me#-PSBn-L7wv)r^LBuA?tore@SQ>iq#7SB)x-Lp=9)q1)p zTJQerJrTY8e3(!q{zga~u$<_6dnDJG6tF++N`G2G-BC8)c}qYr(M$>-!!{VX+C%5J z=MwSTHl-;>0|}`~xvw7JHzNhMwNcUI1gwrOhygQ(h zGqeiixI*f75`mPfbzoOTB`rSS28ZJ#U>l`wqzrDP{{QUX*MscxXP$rF3A)(fDzGWC z_TN+edZ2?}@z;H5{{3$Ed*Gc>`(LlyeJd7h*WZ}kWp9BO?tQ+xI{g2a<@Ug~ZteZQ z@5-&MtTySKuKo3LInao>_1Cku0^3Rd-{#lPo;!DM+1seKVc9bKS0?6t`!oA%?)Uiz zatk9Y4KKfLmK7B_dp{yWj144fGW7IO|iJbii5rKmP;4pSgO+l;41Y(9_k=Wt~$( F69CZvc0vFE diff --git a/Docs/MetaX_Cookbook.assets/trends_page.png b/Docs/MetaX_Cookbook.assets/trends_page.png index 29e2d4f41a136047a0b50c700f97b2a3f4072164..75a890489378f6a14e2a9fc314bf477f834bf2d9 100644 GIT binary patch literal 42983 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

)nfy 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 SG>eC3V`^-Les=8qjei2aNnFtY literal 44079 zcmc$`bySq!yEi--lqe|OARyA+B}xq`ARsXy-61tJA`*hs(5<9&=MW;&-7ySE4c*<( z4d356&son|@3YSDegAm(TCTadW5>0x{9M=e>sw{n$Jk`pAQ0#=SWZd}1bXNP0^N_m zya(KQ22K14{9rlAX*+>HPyXEgLyKj3LJr(~>MZ@4{u8EWWg3R1VTbTD*sHiZ!P zBS9b<5Lim`omOn$y>}wf=5=LOoTrgsWSbntbIc(sQdPn^_Vq#oK%wj zR(7Fo)r=pi2~+>C_eY3}y$i!;YQRikm335sr%1rBHa>)D(PxcmI@*nQ@^2%VdFdAE zU*WyQu{e#oh~VK#r040PH|fWjKl0lB8zpogHb=eEE9BH~-ZZyU=6yV6Zu>Od_xkKB zK4X81(8%zxKtGFq^4M>roJUl^5`Fe4+Qh=>Ra3kz}#{k8*8eERsfW`%F-P^Rp`{(k#6Qv7g9 zuk*EBTU%SdSATy8JbDsjJXvbER?K|&Itixu&E>%d&X;TF8zt1d7K1bu7=HpD5!=XhOL2Nq&%plu4sQ?&C#i;soUpwk3ONXh={!6Ns@P+>Iy_B%gK1{p&0wmVi)g|PF>iv7LGQfC1(*J0u@oZ@B zW@2Qg@uH2GO!R%nrEl-~*iD1sl)Cm@{oLpJTiyYE>d^wIX>GmnHw~ZargZJ*syW>L zMk`r~`XNV}@YIX7Bx?+zz=tQ-r$JgO@W$P}<_aM@Wp{71+mC-O+w8W565}^cxNe84 zbBK}aG`l(=h^Yl?C@t#+O*%g$_t%79%Ky!`ejOxnHoY5Nw9|BUJk!j2dhJVfwU`^r zH`ASe|F$R2$kDMeN&!eK9{F?>bW|a(S6A`6NiZ0l`u+#rTa(}od|S0 zb6$HLMm50{^q8Fg8yVkvF?>4&vU+ev?=G4)t9kOv?|xNP)!bP> zbbo)J{_N@+I_qxU^7)}y@#%U&Nt&1^zuni=S?@#t6CXe}a=Ti?o!LfI&zqnpgoK1Ha}D<~o)qfVY;R6g zfSXL)1$%1)=XL}(jB60YtnVFq*lI4fq0I{1fbIaAM?p~$8z46Yp#{bD`PM7JG2P@M z#|R#?OS_Kn96H%vh9QvDME}#S4R&8Q z=?BS~XYi)wlZ!1^_|!;?T}{wyS}>z>iUS-8(_@d%nsk#FNW5bh2kp?uZw?heuhpJ8 zsmbR`2wiY+j8EH;#qhm6={@6;)s?B%=glPMPc~7{P{xA+TU;;Zc`Rk%v)h6pEiFBi z_9W2I3%CyX=DmC71q|`Cs0dkMK5%(<&=(IYuc%lVNVhNEuPX800{8)VzRHWe2wb6b zP(1+KcrB98t#Zjd-2g;d%fP$p>_n^id<>wti#(^zWT}eyS=NRF&K*V3(=13{4`*Z0 zjK0D7{UW*VMU_&L=xS!G?Znb_vC!-b#EN#^`6ka}DkJzhGo<$WBjWmvXZx`wUZ#LD z!gxYKBH`08x6?cyNSJsbKuvvy2_^ zy6h~WJ%ZZz?=Q59@4)T@TB=YBEm*3!>D;Q7bH=WQ^tAR6=T3wZQEkKqnP zeNN|rk0ma5Td&EU&+oa77wMj~U{ITwo6Bz85sgGHnEMZ*2v)X+F_+ExWg(eFy`aap zt<|XNxVY*~8^m`>*x}S#_2%Z6A3;C&7CUyPDmr#faLM^uIXF1T{3D$KwoYgyujlU2 zOlYLn_dXh1-3P>YMP%+w8L%6(jh-THGyq4D4hg#No8$(4q^ARzetKj+GeVq<&no5& z>O9y{@3L{8ZU69YLZrnb6nLob-`@3u&te<6=FU+82V|m?FV-f9sv{z5ynQqo#qC69 zXU0!e5xMC-`TOd_+g?-x!gPaR!$>2vafZ1lSNL(xq%CNm^n5;tI7W zeYbn7vi!+g2Llp2^_PGOs{Z4TtM+4qJ_eE=GlYRW^0y%O8JpbKV2ohDJlHuwQ2HzT zP9Lu^ZsAKTEltWmY(>25Z8s~sGJOs!%Y`MHdE*dUPXb=28sV|W-!k@483`aNfM7NQ z)0=Z&Nd@@3FI~cSAWaMfH&blk{5JXIiNVG6gq5|m$g(@qWnyf6+-E~~ZoQ2^xU;7R zz8t69`^+A&mpm(gkc{CdPHwp#ppo7YH0w9O0W~&L!!G^O$$e%YODHndj2UlN~ z7&Hg2k=*UWs}cq-qC33=`U`vN|IZ9GY0&Q;f(l>Z+}T>tdq0wYOn>P;F3h`^K0Gw~ z$Cdbn?a%O-Op5-W7qf_lF#gZye`xORd?F0~*9uwi{;h!?8R5axeRo?{pt(&Hdb6w- zDZI9j7K~@Ny$*kH5ZKxBxo+Wu*R!WpTU^maUo^i^($!)`c-2~?zQ*b1j<~)|;NK~e z-R|3X!!CZoqjK!ireJFKtFu6Syon>Ai7)$&(;};U_Mi0G3pOU|+g=B?p$sw~!WmfJTATxg_Ua?s1`;)!EpN%_ zgf+pJYqnO3##Og{{ly-K;5;wODH@Qdai1^*KO7+vJMLU+po%-G)R&T!Y?-f_wX3hW zI`%m!5uj#&`7$_=Hpx}uW+utu$vpL8a&_^0qNH*;`=Tiq!DHw(azLV1W+-{i}y=)MGCV&+C?WS zTa$eoMRI;7=>A1sLmnP%N5uS1%z<1xbX$h@rY9b3yC{v!zh$;RNvamF5%Myosu2hC zR$SQf*$&a2pq7_i5VH!df}=4sHw}m!0;%c`>Z@w6@qz?6JUL}9vIxMH)=4X~UGDSx zj1MV)t6kCcW4tgd!p@l)PvcjsNO-H9E^!wYI0UR+z5kXoIRBX`LV8ExV1H}gv-Uv` zB7SBg@pwGRlw~%F-!x>S+LN(k$3Wuj+WleAC7e1@ROpiB(%9WYM9EPtK zZrNDuL%pSQ@WJ_W>*^Br$Bk%39(>!@aOg#zo&D#_1G{9k(y8W)sIF+}1(ZnQ7ic@bse1uZ24SFh|i(=njS3v ztE-x$>#mx{tMPfuG{%EUkx_9L)07qC_ro1xdUhi~pZth}17VIGnmn`P;u#;U4+GI; zi!0PvuUCg(;~_)T?a)Qpc>2|~Vad(hW7K!*iv-U@f{1Ql_J_S!?ST8jvZ@jsx?`uN zKfB~f?Y`e-j>;Q(8+Lqe`$$pbavY)S+jzFitF?lt*8e8cSwT#n%xej0PjD_$;qKe~ zs4IOmw;FnkZFjV#Mj!r6;BKEb_a%1bVnga^Vrpk<>!$>-iU)Mz_WulC`}>d<{bLEh z=Y7qyNcsRq*#uOb0LR|GYgiNCfbHYv8$fdqBGSM6cNJR(3E0nSaPC|`p~ZA6yh>W3 zlP-Kev}F?Deg+tk9Xr@)rDuV?)YZ(?j%=x@9Vn0 zpj539*>M=b#=-dZ(Z6{6oi}MH*IAS~O6+E)9AiR` z8Bm3Za?}S>J+1rO-ZrYMb$mViEY}xh47E9yT0b{ZSC(Ycw6j*mSv?1PjfRX*P%b<~ z#`{;HIf-8%<@614u43HH?tf@4 z|G!$p|D5Un{~ehK`nrIDRwaQv`bGFPf*QSixrfiNZdMM;_dAKtzV1b#>i75!Q%#m) zDR2too2KmeqrB0=8#RNMUCViG#Q2|jX8#@%kngjxouFrMq;3x{)KSGZUc_FGF~kPW z5b~K8n{=<5?kkwNxPR0xGi-gRQF2V?=fFf5+T+2z^h{7a&Z#@#a;!jr)bA60*BU!S z54Gka(uO2P{VqOVX&qnV8Ho_eRgITnsMuR{I?foCf{S#$VWsP*{d)TuOD2XlcW#`* zumSbOx5@mzB(3Z#%6O%O%s!rBwPX_G3%1-}PmmQ#WCiiW+CKf;&6#eD=~Q z%DMOaKB;O`u@>n}<#G&D)pcu*$7DZW96ivA*CKCkxro>>)btLplv-8E%mMOdV(RAWX=EakN5rDDaQ3H%D>e$^$C}BUU;&wHs`%vo zq=Yp6tlSHxf{7D(SorFZ8Cz+!<<(?}PfR$jL%s51{M>}IjtWNJW<}b^#giy z%Q2%1BBw1ml4;hKEmw@N$u^jg@1eZ`#r4NN2pMlf{Rw>f+@7)^K4dGlGRAH)(mwiW z@L3(rQVDwrZ$p81aV-1Iu%rDi(peDd1$J{t7hjTPitVHeqYS6ly9t-b zfKL39f+LnEV|r=Fuc8u;x7Ows9?NY7MY~%~EhTSYQ-4RPQk+%(K`4Gq9#JBPpG|g% zcr6h9km`6>&+7FG7$@-JiQ@1zhS7D?n}hsHUzn)uvdHtWG1!i!WO1bmzCP@QWtVD^ zS}nYVoV==3AI7U`-JF|P2P2rwW#9;aL)=iSYou7j>;~-VmB(uiMdP-k`5xdTPH+KL zqu@UUTdIaV?Vu@!SKP{2&16|;NGRhW>oVHx#aMMSS1h$FbURB3Aal8vL-vaHvQiu$Zhi9#Qiqjwt>A)T$cpluoEKhQ zc+IqpR|E``+EK`+F5-|G;eMB+`N*~K`Jyl?$ynXX_4!xeirtm2sFE+_Yz;GO>_snK zL=X`-35xahA2N`sOSEw`+5$&qFwzfSg=n^lpVuHLuiE$=30UUMLJ%oU)m+zS^vZUP z5;=v-DYOw;9!1vU12y1bn8@>;u?_Do9!=p44Gpen%28{LB|8a!YG@$XqSPwskeH~YFQyNqMLFx&405V+L!Wd$o zn~%BI@>VXbJjsH%!s}sABPt@^HNK!s8N1UETDJ)k^C{o%cF-zhbporKwnrcg9()di zO`#2F*SlqRuqzd@=kb0M_DxjKZSY&IM>*~gH8bkDDhi&xwmIUK$>%TRsqVPjeC z*lyG_#|J%)eji?Dc{!y^6G2a17;TNn7|hp)y1_67)&o87JmtuM&g9%JSJs6(I2>zPS3Zhg@thY^y1MeL(Lcg@Wyb7C`c?9Kdb zri>%uW!U(p@vz0i<2LQd7V#qC=SssUj4Zhy5_7q^ve2KswV66DQjh!QpAf5}UVWRw z&j#-&R)rnMuGVi$ZAFBqk`$d3RNh#uJYG)uiG`^2ExE_@J8_PuY(?|ILY3I!;fgyv z`kPP~v`c7TNly!6cbwTfO1*%;O$p|T4-V0L?kZ@?P&*2CCVh4-%}7D1;-GV&HVOyK)kQ{72*K67zO z`mGeN46J998EoWAB$U3o#vvbPOseUuk_R$cRP;+ z`#J&I2a)|2`J&|MZt-zlZ$V`(qNQQo27IVDM~(kdKSwnaBR-f=$uU2sC7jcp0aA z0fsbfdF$((efUhH{m7Tb{h54fr5GNq5ICpI>9&|!!SUtec+m(~hXLsIA$aU5(>zCJ^ikQZ2syAlck0su*+ z?-;EM|2~hb?3z*{BEkxIU5;d;F4PVzYUoSi&~-Q-9LH9| z1p5N~%n}k)1B#a@z1QT6DHxliHEs2)ywqRTKA6}@Ph39~BQIcp=5wAqR>l$@MTB!Rdff^7_U^@ZSvH8#q`0$RO_#6OAFme9qt%6q^fEuS zN20j`3NNQO0r&Y5!lZMPhKO<(RgT#D>R$zZu~D&Fg60Z;Gc@m!>ci0K1yC2o`Nk>b zN1c2}*}}YG@N7bff>V~)E7y1?gYJk6HWG8>d#r;p1f|+9&U=n3E{PoX{G4|feO=t$ z-7hSrcU^ffuIb^D^%H&l+$RlZnDyHk1Ex^dpIkiqXqm%80Ru28^*bR%W;3u%pz zw~g`VR>q3z_rv!@mZD#Li_Ov~=>QKpyo1?odeDjK;L}s8&P(;BkWgK4@@V-{>Ri|J zswNY!EepX8_nS^187E#n%rJibjEHQ&)v2iq9OY}wV7V3kM=AVULP8>o`GOBo|JNj% zEs5vglLQ{^t-)2|bhZ*P5zs97Jp7NxN<7c)-5>7zkWRSzvK49b=diqKlQ6#--Qs@G0E z&lutKXgllKl0kG9Qg+Dfx@_fE>v!yr>nX95RK^lELcV=ge%I)Hqo3IQn4Idw?p+*- z8AkJ`X$%C*ep@cEJ@DMgts>rU-LMa*WdZYfb#N5Y6xq+v(bK^W_!u~JN7Prev5@~%dn zRaRt(J8!KT+$|z1w}3a@LAF#+c!Q{g?1~AMik{(7`8;jqAWgLw7PRE#WQZOiYx|?u*ptvo& ziVJtMn^nxFv^YMv>}k@U_?LUN-OMvG*-vK&kcA?V#i1aY=Z#l1_t087@1Y4Hvk9Y^ zU=UM6lwP;Ypz4xqdsek)2;B~^YxE{e5c!039)lym+T^6Lkl97#K3Xg0gOu$r1}`b| zWqEuC?OTQq|r$MG-GZeRn>ye5&$8oL0th+ zi%47w4fR3pr(MeQMDVmH#k3ep0rSlKG#Q#u>UKioQ@}yIxOEV(t(>O!>e%5zV;;ZY zZF3iIa$2#ox6@#Zp5Nay;cePM$kVym*Ol4HoV>uA11k+n0{DNsKx6HB&omjQ4F1}MbDxUPRI6R{4% zz|+1`O>{||dETg=?V^h!dUv~U?U({`2Fjrg#%F~*s@8oSCZikex_q=BQK%8F-}kvj zomgO&fJb=TfP@%cIg{b0YbkjP=08^fbu1sEO7irZWdkf#Sj`M6(oba37WMWWw@%*N4S_i#R-T4i}YDg(gDpcbOqwx>{t z2@Uiswpe>ZeHaH{)JY9MQ=}Sf!rz?D#?F#H0DbZcD*LD4fMyv0eq<#6 zTYBN&!Z{2b>RCXbS2@Y0qDa0^%f}L_+hjnJ9`ApnI6gqy;_y@Y9{{sCe|SZ6ivWZE zU#BMi6O8d6fuLp0P0v|v*^fZ5&NI_+5@7lFTwx(q_8SawJD-jrqz^OYgRM zt(~2cS02|m5?bAi#HW#-w@lBiw-8tED%W9;KnQQAwQ6q}EV((?>(qhi9~isI#C53_>n4JhC8xlbV(d)IG~qw(}9j@us4UlgqPPd5AB zgmN?q+RrxloRQvyXz1yQ0@p_y6FZ2Sl7U3gqmpyDk)1P7f6T@aw9UiAx_;vh(Yoqe zC;2nrdkqww>;u&;I(pl`cs?%tNxxiTyg5|48Lb(UxO{JrG7@HdQKPm>Ef79NymC0- zu~vKspB=I&7~?&D{P;HaHZV|AK8VIDA>q3^_yf4-{T_M&Px5wZp1`~^JMNplwyS6P zXUOhh5-FgrMO8H_mf?vTki`QaIPdo#5#oJ6c;wNOc~lYS;{A8X8+TMTSFpgG*TFHu zzNY*S+79sRd(bD~2_GL)8THZ;@Z}@qdwo-TR$wJwl$o9dr@E!cpl@NQ14h+2&V$6+J3g08JObv z)&;LfmmkT0#j`xL+kBv15d_}GK>X36y?xe{)}N)yT)}8{As(v;hKk*e|6Sref&c25 zP0SF<=aID-Kw0ZrK41ahmqwP6HD?iuDB^JE4r=;aZ@qlf#I|2C(F-9gFCc}cXw27t8uan-{-i;MFNQ);SXkAPsGy&6GTW}$h#J$fseD*>+s5}chV$5}pI&hCvaE}s7{R40<%zAt7 z;J>7-E8IVq-a#l0%Nu(4@NTFS84$0JeAcr}f6+j%Gz`nsVE}-Z{z*GbxP{+Vn`Q|{d z7#61ECM7USdSC}5+|CI$W4npKJhV@g|$@s|5P;h491;rX7n zQrk5ijTaU!ZD(A%1k#(U9*!fnnH}NCCrr=6F$GiYYDP!_*hRtnM^=I12?3meG}-Hi zT!OJ3y^JA=WE~QKBm-+i&AQQBgP*ML-olW8bvB!dHRE>51DH;A-Bm_29A4^gM{eY1 z?f;|(!SwK3H(OUPbyRGu%SKVn^*pZcDwin-x)D9<|AKs|^N(7OMeU}~U!0ZgD-M65 z)3JDg$o148zAn?*_jYgZu2JeaVR%0|1VC3BC0NGGqy<+;_2yysxB{BIcxUEXPSiM7 zB38?Oe+_-FPl)v@VV*?&neEpeitszFasLzH70o#}d3NjU^+q#N-7MU2SIhH03~pqa zs4zUb4wG+%x9xyAtuK)qSX94)E`fFuD2fXW-QLG405aCWzUw1}fN}G6(milCpUpG>Ig-IsT%27{D)|_40&LK8!sV%AUFf01+qB!f&NC zV-63_kK_Hg>dlj@chn6l=#^?U9=(vy6h1iSdT9JxA%&;X#Qt>KW9$A$O(qID@Q#2&-8^9`iu__J z+F9y^)n4V&ry>QP&oKG;zlGWD;DguqT|d^B00L4es+##QfsxmqX{k#hDX@FxaK$sVrk>)+l6sF& z1Hcz%vCfxAnl&!6f9qp4e8V0_>c9G;r5eh&f>L0mXDxjrZu$E?Sm($i<-ucFhPC$M zlgUgz$>FDj%A>tslY~@ZW+>*;H$4XNFRTupH;T%_^k<2E4OuH#TCOw22tAmdy%UTA z$h=<0hD>m(sBT0cJZ>rcs-4se;G@yy+3D$e=+11mLj18=_G;l{hAO+7&oVUMJC`0i zDWnEY{L~|J79rrhN0}45`Mfr-zMg&mH)Qr5I}4X3RdN*KKO#I50R4ri z<$?kLXzy5)OvV&ExaIo5Uxwx{kTqFT8|1{H`x#>7`ExvyR35WU_h);*(&lvJ6655z z6^?5_^yaCre^gcR4IQQ+7K%pyo+mN?jQ(O# z!5{?<9vL-FUhe{G+JHLwF0ofzP*d|gArbEz{Nc}Y;c~qBkuWntd>4_-U}~R zCH={Rd!&?~NF3~dZeP(joFA?g+aE2O;FVITzXtdgL;_MH@n2oU=W?)I=vS;exbJ-+ zY}%3j;$FPpCM$5gbxDIfx_$AJf_9sT|JZZ8C?|cy9U&WQTtwg+phh$0Y|s7JBEh>;Hw zb7KQkiq;x~C1!JlvJ)FO4J`j6?X1FBN=)a29qOS$+WPGzV3}7d_13)3!Lt&uZI9c& zZnOI&o!3_bNuIj(EPmJgC;VfS@=%7`XWviMxQXtQE?|gKy3m}@A39Im-UXe1xsC0B z_6z&piW&cVZCgOgTJb9@pxB@osOkpFijjn9AeKoRexSVDZTG`%Ie$G+LjEOG2Ba0k ztIzvn(gzQSS%5c*IrNv{4}QgF78PwRw1uK#o$EL5f#NaP$pd zz&m-sJ3!IyTJb}W9#yTy1BW*G9_htTVUoL$dw=EIh44VIKUny`V!!#|T?LllgS5E& z{XmiQ$_b!ilkxQX7^f*Q-s%^dg@gzZcCwS*P>JLnITaUR`H^{60;1usi`Og7O@UI22|gj zFSY7F%>G+Zfm1^o8oX7DH?zC?hJzxey)O+?3yFFFVW;#br}AEJeQi5etbFA_2XWEr zwQ@UcV?2DvyV%KRxjUsDXeMAIP~o|6ZpKTW^QH4S=ziO>+fV|K?)-8&rl24Xv^dR+ z*IS_*846d(!lC8H7)(1is{o(V1?!T=ASKlftE7x0NfQX#nNEyflVY+Xq7T}nB4eccj8bH*xA9wy_)wa@C ze^J}HDImQ)g<;^fKBaR28&KuF*~^fUcr_+|G59DzrRfw1S;gixO-AiMD|Gljp19g= zn-GS!vw2)r5mQs;PN_5a3|(YtsN!orbjJ&iX3x7ut@6q@<*L>>$-Cu3^0W zqGBAP0Kk|h!AfG3DGt)zhA!1UDyDO7{|#!{{T)QEDSAHo$fLIMzwxq zaJGet_};JB59{x0%9tEmR!VqMq}BUGw)-c(oSE`zWGmOPSZR7}e&yi4P#s$25EpvW z>}4@ts2w2=|G~ePZLsUmS{tO$SMcZg$>#3xgZS`8Ges4Wp5S0~+Rq};m(M;A+CXcA zhl4u!D4sCaI(4*6Nu=yVE+yQwPU)rGyWe}eomgC$aPyBEi9PIHKwyOaIc$D;JCDj~ zen!olli(ox>HY-zOdBdW%?Nry#zZ)CwwhUC)|bS$@q_q@46!ik#^Jc7Gg0hzRoR!9 zUhxI37APk5oTZhO+yZe>q;hfIHjt#I2VV=fLN--7zo(U8;X_Q0S!9PUJA7{;hQ`y@ z4c9`q)v4(RU7xAjo4GeHvW*2XhiD%RwY1>+WBa(hMQHVM7fluiwmzW!goY}ITl9Wg zG2%UsFJ{Mm&`Z4S#&oYmhKbu<%9xWTvz%VICVPZ7+hg{}v^j#2VjAFk>S_)<5`pc% z90D;!eNcL3fc>Bo5a<>Xegc$O$MXVp{lEd6EVv9PlBnhFPaC_noU!Z3j@kF-wYhO% z7qtfK-;u)lt|wkm?v{K7$Wrx@l^{4(ukXSlo&bCQutL4F^X-lY7>M&J zN0BlKlR{J9gm1Kmd7fhByvIPV?%BxT!aoP}3X63p(Zndw-o*+p=6)15YI?g*scdek zp)@KV!El80XnW@AS2YZQOUH{%>g!E&6(ZNvbJ`cAphIb8<^ELYtmUOvL_+Z`*vUZdEaf-d=L-L7!G;_73Bq{C)>!( z+dA3uIO;3S^Jw*UKn$p; zPy)?$7u#?)j+)jAp*KzIWBPP7x$x1ahxxTRy$pa-Po0r$#gtQqwsmvI*J&b0lepsv z_O(iidGCd|S7dTDo&Fw1M|)*;3z)&2N0bDPT-$!U3Cj5{4Ej)(5ZdnM+g|tLP>Z98 z_Z@&o8Am{)rV>qw!&*MPeG>ErdtChD?djPzGF0>%kI`{-i3`Q*(DnDz&Yn&lNi;oo z_R!FFEq!+e2v=|n9Xi@yY+0b%9A*f?F>0+)X)L|^p7pUJ-Rt?@8`0=@cXqBrjDoxy zs7?RQ5iEI#3;0vT4uGMjA=Tr(SNmI=!oRcdj0Uh)fCKPK`o9&f|NiT&MWaDRMm7w2 z2$IVMj$Y)#u|W=`e>0x`BJ5uXZAT;b?*uS?=q>abxds?y5X<99l0Qci2Iydn9fZ2{ypBXkNr@=_pN|&0dwMF$1q+Pvhy-wNX9_aGY&W{Q0R5X)@&5@u z|4)1!PC+E0+|Q$iBozgBJH8Pb2fcLfA-G19=(~Pvb@kgbmmm-<`lGb-D1nvp}d$+SBUDvXX8#GUB=f?CwgL15*8pzAw{)M}PyQz3v;cIMa< zSR6}1L|((f)5p_*qSWCVt%521sza(N*=%^RWx0v}G2i-7BAJuM4q#*QeD*wn3B*$= zDfMyd>gpnZsA>fA2=p;QfY~4Y@%s5yN7N&eoNZiP9#B+V2pR}xp4K~%Dk5Ogi5J?6 zm-x*8^yJO?S1q=pa~0|HWP28<)XIat+@k}^>C?E&$N9`-HN`5jY$MDLdcLBCvgTGp zn@xp2o9edix_*mV3*T|r13%$RjE@tYn7v?&MT`7a8?<$Hup;D$_LqBjeB2c{`bqmH z@V&N$OfOg)Du>(r(@=Z*G$C$|oDoFJ1pSg$t3pmaGDv%#OnkHx#9CrnpXl`Juo^>Z zl+D0)U`f992rqJefhvol?$wLM(ube?TF%v>=f-#~_`swm!Ux+s4v#K(e?KDDppLPx z@q%kmj|Rxu&y=iKw;I=@dVrT&@YnLWfvpq{wKD)$IjpP6~@2mycHXj1z?do|8GsDA>!pn_=%!p>aInu_TjjV>XzMO2D(C zXE#NiA&mtZ_F8DgG)1|uQ=dd7(A8BfkCwe%IRV0;4*|R#G{@*i=RRV)MaNWlzBeJv z{P}zDf=t44-<7HQ-pHRWPaGWmBDivGK1PpbqF*Y}*D=!3*}^?CKEj~#b?H(wP)q(v zU6T*MxYHa=OS)w2VoSPK>>&`hvraNgj>?GM^<`bqxr(N%vZjK9V&sqPYz7ua5d|wD zA}c%9xa>?SU>bN)C?O`_E7`~8YxYf)K4u zTn^uUX|8WjBh=tyhZF2;#K&uCjmFfS=Uramo>>`;$wyp06FXlEt@D5lsn2GWLM;FN%NXfH@h$;g_euS30oFdh|o&2nAFkY@r`%C7fUXJkZz|s z9Onku=F|j}_Ek5P4fhI?AqU2DvumE}yu*x-FO z2&Ho;=bie-{ReGda*k(bKbT|yy!Q2+q@j>VdrSAy|6(r`b;=z7qVoVnx-Q{rV;*6z zCgK9Ul5wEYO3npD@#A*;L87iaz4-PD?On`Ex;opB<&Pt{jPlk!}Ey51}x5pOvr zuVTCzF2{fH&eAdpsV`Vxwfuf{G;bVOHL#t+LMD~SwCFL9_4hxeg}Cx6%AH2Na$HO_ z<8%fpUor|P2ov|^CliWTiH&(F(rpC@X#))T1EoIYob@V@l-J@da4fjaX+@Zgn%hK9 zS$QGC)yf6)b!89@NUnRZl?XIwEhHoq^n}vN!eX_up|o_jUt~v7A=V?NU+`o~lk!Yz z?j>fkm%ykyri@ltZY9Ss+YR}{^VO^-!MQ8!mQNL(W7qc^k;{8u4A4J^FXSi1Qo(_8 zFnvO;F~H>^?9rv7dJy^PM_#D4l~q17g^cM569-hL2vy9hTc5Z1A-Mg+ueDBl->v;Z zJ<@Q@KXWih#lBX&Cndm%e0-sl+`=&%%msPOF5M8-kuq!P{lwhxsd!!OH|6Czx&vJe z6{LLJj0$Swo$Ok++EYSSLL!ViH(fm-bp5wv<4>UpLhETDmqPN=zvT^g>&((L!G3%&bwa!h^;oaIu|F9y~G{c zgOQ@4Y(*r+?}IV7HT?_>QXZnTmbkt>*UQFlBDWxt?0}bHjhT^4C?X7fK>%!kg$3r2 zCk3h1?%x(b6e1wpUZ=Y){v(JncE%2z*Oir(yRGbl(lWQx)$bV?fYu2gqNj74%KP~E zWE@(?_mg}f#6?RFWX=B1S^%hEtM8N;%PsNcQ} z+~~E`!0D!|?Dy)GT>eU^1!e%uV>~dg_0ty?xfLo5pSj`AOcvN2%zIU8xC0p@5AbFY zqe@k!Jiy-1R=~c%9qEJgH-1@^*QzTXUCcxNS-g@qAxH`E#QK&&uZN6Z|AXt&%)*GZz7xd%@{I^ z#Z0Mvx~cIt(~N3VN!_2D1A3+4dA!(A+&4!4?2>-DNalHFq`6&Q%FwauN_YU^b|vX9 z_Om4NnaG)teNEHqB@^OanJEhd8fu(2DnN)%_OT@vA2070Wu~=x@>jwMlyz{|UFCFO z1-rhWh3r_~bW(hk-UJQW$Gan3LyQ-9V zTAG5tE;+-EU$8n9*tvjBe|fRX$jm&<^#>r==M7yzBGRZ#$kSwoE%BxQaQ5;tgujHT zVJ|*Tv*^(IJwsjZg;xLS@04&~Ic-2Kg`9bseAcLMSWN-P|J3bYJx)O=kl04NpdjVY zqTvDXq=Tn#6L~PyfKS+iVuYz$e-X0X$JGVBqV`%-FsR>Yy6Ba-UF0Nyn9j|3pCH$m zeFh9;uN80deqKFI1}v=4-o@$Hn{$pMgXetS>jp=|>{shtO6AV_pAs-!b+(a_^5g5x zHyD6LZYpfrn>!luRqcC?^jbbb);i3;t}g(6$AC0*2s!%UOdOS70chc{8b0V(Hi@wF zPgB#z{caXZs?(FOdwmook8g@ko>x4&jE8HSy;_kZJ);ADJwXeNGPYg{Jk53=LH`_+ zIfR_2|2jN{9tBmM?@0h&37JzYy*CuL-6VbSdcMO!KfU1V@h%z;zqkQXm!uC zu%xh{5EVk{bC=Bf#Q?r}(D`uUXa2hm73*uKtw!1=Ub!0Kr9{>N6Xd!D?yH80pJxMW zrKNJ;a3Yu+??e_$=o_pyX?MKo%}1E9<=C%^|vm-uP9 zcV2Hd{*r!>#RKJr6V!- zBg}s7LSjVaCQ~$eL{*_DRl+w7bl1oCIiP3-_|pgILz5`!DOYgd;`#MKH&uRE#M;K$ z-pEq;ApVKvw(YHioSCJS{`X1wb3O@H};up=~ zG8me>*0IMZ{HgEpucL2Sov|eTZr6|b(uO6jUuBlaGhZbX97ae)W~E<;vg;{Yj@=RH zM#2+Hp||Wl_w|~Q@(ao4Yz~xj_B%x+saf%}aZAUr2B|VmU1LVuB{uXzPO>0fSG}Ok zaK$zPi_i@P(Z5Wk#-I5TIkoL;7wL5}Ksi+@hwZ#{bQxAG7deZ1HhoX9es?^#9-OHL z7jwLptM{eAdO$&om34x7>eU`CH{d?Iat1a>QKWJV95iqm?x#qmT)BAV@->~>%NU?> z&2+5%A>N6=r~Wf{xk%zsLp@swBng4$p?)=Ayiw%*XK15f1HtI=7FbH{(bAb{@I-{H zy}{+4|6&I2U0``Cx^yKIaf_gjE%+f{x9m@JFcnaUl&H* z%C>>1fQS^SQbUp6wi-YL1Oe#*rS~GeMnxfX0qFwLrAsfNDNU(TL+`yL)BpjJcf#KL zchB#ha^G{$``*vF>kk%LW!9{jS>JiS&-a;`p~(xR3gAu$>!U7v-~OSYn4MJMGZH5S zxQG&@^5|wvkeGGr7el}0&qexjNymp_qqf$Zw)6z$&~D=WI=aQuUXY&1ZAw~eGFdIC z0!SA#GT2A+OjoD0-qk|^T87f9%(PA`Pt6p3!X;8@I4(S3Jl8$C{f+Edyk&L%R^-b^ z27APii_#Yfbk*FF4B_x+6nl|H!&0&rz2|aj?Z^AMl9-l*miU8#@wHm4x>I_Qi~ylW zNFo|ixNbA7K9xM-_e`z6wxX6LZEZ6dwsnARZEc;PjQ5wKcC#oeYYj>Y4MmD%>A4P; z^B7FUo#2jQ#hY7NVX^k#mc?t$wX%#He!vpheEW$C0DU!8)y?JfaH^X(Lq6bkBMyLtgUxqztk2wN(g2% zKe^B#mb4NQ0~_RdL>`lcOsh3{M-+>_c<7CGO7S|{s098!HHDyAr~7<_{5Gt&9J~}5 zMh|MUMqcL!U)uU5gmnsQ@1Sp$RC_EruYq=beO7s4L0yI9DuhnM!(AP=ShEOGCJ&BT z%urOc9>VDJx`KQ&in)zDwml-3+664GY;%ce2dKUjIa1}{*72Sv^#13_LMEcqEi!Rz&T4RF1fk#)9Rw7@%d8FVWd;d;*^4Z=& z0~u!$q7_yu3vX}%5XxVK$PZEUF{NwE5KvR7pv3hHFbl?|N&?@Ba+ zVnq=+DX&~N7dfb3UweY{ifC3rNX5E#W;CsvLB&#*$ssOu z&ucZ8mg(s8c?$4Amb=kUq;SjWBM{=FF8KltkuQEHr3bZZ4yOxW4{F1NH+;E0^?uAS z6odD%F{BJXDT-3pA=}s+v<;@cQMYEMqN4J)6x4u&7Y8rzQ=7tuld*=b9fJ^1;>lkS zCj_2Jx*i{vNh!LiqX2COw_~J=vaTt3a^t&prwbGmhWN^@;;BHw=ElLamhmd#ThXkH zw*=EHoY3@`RoBVI~LsE$di|!&;4^H>j`)nhIkr7A8vdl>1+|9=m6<9OAvKkNu8=@#!qC=?d-Qk z5?JAT3r)K#{W~z?!<9lfK0Yw%YT#OxrgljQ-l0xA5^=;o?8FsR308Z(SKNhITccE`svbLe~6VaO)Q4DSEX zFE4}ZWyw|)_j`QMMhvBA{q6;nx&UANVEkY1ZjxQOGLIyx(Wa?H`1oGX5j(#RzX4G% z*uAqnQ_I?&zqLa48O>J59yn7uUzDUo~A0NZRYde0&Zw-`{&{ovCD`Y5vIe8kA4%X11u( z1@LR}J-B51d&(>yjmfpj;32w>m<@}%+Pg<5EfD{`+V3?d@g{lTJHHixPAiz=_N|tf zGUZF~Ho3MDAYz+aNZckh;8oTcPxl7*HjL?tK_8}HH?}77TuV#K{m}E+$SfarN9@&nb%61=sH4+=e@qUpC=`K`ty0LWuuH7A z(A(pwC@J^s{EIe+5*G4=FCyTyf)X6M( zc)dZy96S!G%jGJ9<_=u8Dk{p$gIMPCqow}|0a|O3r z(E@rW;w3SKfkXZ=-806nbdwsWUqmDjZx`4SMcD#{nh`pRWNOWvWF?Q+JC3Y53z=zt ztWV)>@<-ew!wVM_FQtIww2NtaAq@do$BZE9O}GXfC!tFB~^Q#Cq1sK>AoAiLK{Xc z2Oar7xe>mHK^n~m;)<(z12HZ44E0AwzGl};A>~suygh6^6rAZMOS#mGk;TQ1Zn9=5 zQ`%dFzF&xVB*NB1^7iU#dWEB#vZaQd&7J!B)Y=M1V^i?IO+HV!MNyG8q74EQta3^d zjPmt%n~UaR)iv6}5m5|nKM%5S_^sof=t7ej!MpoOiE#x0G$Z^CDJNT_YiqarXx&7F zg$oVu@Z8v2>*CmnTD(E7r3uy0koHbHWJfubJ@VX(@k!+Bqlmz-_nl{dYI=b-Me=aH zW&_d^B}B>Wc8=tA2IbA0lAy;sfBt;B@T(>@8EN|BulqSjrZDQOc16p)qkW%N<0kgM z=hlk~?&b)Z&wZ{hSo6$fGJ4tbjk0cssocf>nfk6&U2Y|(8U)={*TI~v-j-!AYM@=d zI{xjs4_#Yu#U0uzZ?B zH6`ZPi62>_p!rjeLsJGSbOQko!ol--$$FY?Wm$;a@O_>`cSGn*xcDXJSq=GIfb11| zB1P1IySnD)Ai=Z=?0>2}&ZC-vRzj?SILhAP#w z)>AWIpqAk-3N6GodASan3JddgJIi$xt_BC6dD0K#zjgIf{c0+C-?N1J-S5u?TKnny zs3l@PW*B#-d?zA3e-+21IsFCaEWyZ;tPh6@JAtBG>m{gw+f>IarJl8VEV^!zW3|px z5p^p+=HTV;syZ64cB0@nZVi#A_h6Z#oOoM8%fHwY z6z7u4sius{cq;XwiyF7IbkLbny7eTx<}&Zzr$IxiInk%DCeJOUNK2fwEYc`<`FZiT z`tn?SEbg~#B{NRH&_PN#fgj=$hH5IXlq-FG345^^!&~|<_?B`5YRC*-?E?x6i(9V6 z7Z&~~^jKbPhjP;!*EP+B(b6n&I`w6uyjBiOeEYm-XO_Zj=*0s|T-r)vi+Blo`{5Z?`*4Rt5@Sj^|57rSmF9$&?-^R6Rqp%h}tHIwyrv}ba{(xOR& zH0211;h{@LY&v~j{7;zrzpnk7w!GF$gzX8*>S_iQR|87gSb&p5PDe#S;kfsxNw;Q{ z+&)+0zW>IxgyWQ<~tAc`g z4Od~TF(B!ovNH-=Wq~!qi^@cPQpWijRJJQ>OYM<0+76%uc_3v2>?B}Pkum%R+M2Y0^bCR4{?%`1&Nxz@OXEyQ)b%hD|jcc!zuKZR(zh~m`$~K%taH$NBIw?a$Z)>OS;(L+Uo=j&_8%TS6P{C^K8}KS|~?~ z3}Hsp>+%Gdo+w%a^I~xQS&6UlNpj7q|BuO#G!~=f$B4)UEh*<5Cri^V;Qk=Afj^T4 z8%&g|yH^-_mxkfE;4dQ@T3U3VZxHiX zdXS-ok$UB!2>NSE3W}9)goa^<%#P9iJP{16&SNuiaD*`7WwI9?HNQ-(_^2nD^gg@2 z>(qyZ3q$G$trG7kPQo>?JT$tas)PFDyH8gK&ee^@QrTHPwG~xWE&mD$qlQ8|+Xvkh zrbaVQl)G}S${&%(?AgIkv;jc|k{^Obd{l}$91TOl=45HZ$dzkWn+hIn?9hu6zK^WX zl6AWCr`f#3d~3ro84dq93Crv(ddqM;P1-;>YDmEdWQAc+^8B5`UkRP=_{dU}+EN%e zyWJ=qPK4?1;RnXw)GBQdLG^1#cVAPzZLdpFOsbv7(Fn^ig^GY64G=$ zvXul`LjGQL_wXX)cLU-anT#|7#JE1=#sBoKe;Y>3dDr|z|2ab`$xZAL{y}WwAbbD0 zo+9oz83}Ur4n}Z6>r7t2TzbOJn#2P%1U=?vA$)@NS-WcGV8 zd-ci{6PdL|>r02u8*mqIv9 zxe@Qw4#4mFlQpdQE9cJjhS|e*{yxg^O7yLl`Nda7FT|g$UC53@^a70T0RY;G*;dEI zA@3ZP%`a{n*xFGI7;&r1!8@QHC#?eRt4-Vppm8m%T~SeeUls+sA{69cOwVXiO6$I~ z*LLy}mQL)I$y8rd58Jk7NqPAm2xlJuke7b7l;nn=XP2qQziHi-G`QO)DAc{=X{2Ez z{c8RPnA$nnOO#5o8bkayY#o;Lw8DQa)}U_RjFb9tUo^&dZ(}5Oa$Rq_1vU1ms1>!= zchD4IThuUggdX+^>m4Tjd6*Ry;Ksx_rAG89$_frF3frF2B^FzZg>Xp^8xCq8Y>Sxl zj=HwMwG4!Yo){>EP8K7V18oIUL|qR_C(+-t1al1Mlbt)6os2&zh?Tq0O_t@A8@bJO zM*_wKS5t$FY#rSWOv$dTC@vOe8ePk4NSUm2^7z@T!vB;qabFW^f)#0SUNzENtc$uF zW0&(-9*Qefq^=$4tEo;iid;MRPF=tG9^ySCC$F&Tp`>9(2-|?v`7#-OYf`ZrsTH57 zF&-%`l5Z~Ucq(0Ok6Cp#(RH(dyJ`nmlcQ>kbvkO<(+@LID$Q>LQpS+gv+ZXBLifif zyC|!9f0C7TQ_)VR!37l<3Q!EaBvQG~!u8vd|3QaSFxuLVEm~uydXlGIIXZMfiCfC%*R+PXD5V-XzIo1U(;h{T0g@{N{ zbW%uNac00qqHB*!*9Xb3TIc8(>b?5nsig>A&+XRVGe)iJ*^2o@|=C3@ekQe z5k`7t78)k+9AW84K7o$~yKo{znFpceD}^7Gvd5w&N<>b*rJ9o?Y+<*ff;duh@yBG) zk9EV!ic}#zC8&nJ^k~Z!uARxB=M}AgyT&K|?|4m?vqXNDr~c;6N|YhK-ecitJrlK| z2pMWJ2!ezP@9NT>vRc%YFku@gbW!yrD<-C!Ys#SL9-~%IhczM(f8Bz?8wHrP&^7Ch zQrX2g-nJt=ADCovP{>*Cqo$^3@4KN%|nPP(!C(la( zdLM}sD$2JvfI3tAmWolj?eTD|g(HC1;rZpuic<4>eYVzaemrF_Y`1wbEpCF^T#c^R zuzdG;h!hvl`q*|tbNnVnTQGIfhSY%urZx}KQ1KtTaI{CEj#sfpO17tP4LeY2j#7;I z2r1%$1Qr5VZp!Hj94d6-kM$ZG{)Itu@YR)amGFeiKZ5xTfa4sY?V+LRK1#NKxou)) zt0k;dMfNr}<8}NKB^_#=#Xk=v!**%Wof!;M6IG?IJBS_)#SDnor6=uNPxMAhF8d<| zGAS3L8p1Nm7xvDp44I%Z02HjA-izUKYt7KIAE`W?O^d#fEho7%6M0@yCNT`*>^V7j zA}C`iy|tMzxPo|GWU#aOYp$ACi~?gSFd}s;QC^ol3OIN+UGXXRQ(9dC>jlHlD(2!`)UiwS zt_~k5C1`1B0c~C{b6ntKBLx|9aCyJ6hZI-|4fW#*;H?|c=l}5-bELDe=W=x=6bUXy zWv81ygts()jKytjA>P-iOi()3S~%=O-FjmdHQLtesWtan;#0|^#b}GfwukCum3#Mh zb0>2j*H!KJ8H9%+~ZLddjS@}!P$!YM`55%psuccCmgx~3zLp03v1#Lfj_%66-`Iou_|GQ-?`%o4p z1Onl;NapiOrKgTvE1*+l$W-MT40x2Z$vjT0&{{yw1;+K%)3Z-?&{=8NOz!L7w>M0b zs&t;8Hs*VG?Lni;NY5RH4-m1+PTHo8v_g*!eH$174Vo&mUZfD;Cq%vls zqs%om0!>VaJO0<_70oiB897z1CCs zU-+z~D2{oXJ3jNQQr7LBmAos#kA0k$5By71cFBauxEl{YEy%Id3_@pmlZBE~O(HSa`;?B$@W&f?ENDz}0QWcNCP_ychA6k6uFCXo5 z`hC!jj%sD-8C&$UWk?(vuyOWLFiX-DNF>`D)L?#0Is*o&rd*`PkqspBmc3HHK81Nd zHDe{H%Zp3c+9jlqR3mE%Z(4qHBr$sP(bJ)ur5AV5OxzxId8?U(;o-^F4cs9{#@kFK-C-%VWeK zB1$O&J7K>Z<+W~T*qwg4x^KB z*vWQ8m)G=hzj=1Uuw;6UhXbT_xM<;m4k>@8OF0AmvB(Yr1bf!3fqfWVB1TzUMGWq* z+h^x7)Eot!X)Cvx>Ei?*^ms~mz!Gf~L~1|z21KaL%*esicfo|=vDmX$(%}@whgZX` zHaUoKDBDAPaLjwzV;*ZMM`2Qk$wM0YBW>!3p}ZkXC8lrqgyZ z|Bd1a^0GuBx)(M~QT##^{rbgjN72f+b|-sj!76Iw%(0g&kAV{t4b6IqN=;QMB7VM^ zD`Kn*l)Vo3j@Y4EUMIiqo}(C%@!*A9Xe)vSsq7Na>izoB;cR=i|06%744IJrX!B^F zYYzVm{6@}jE#_xbPazC|($Ph)WLn1}!pEo`k2{AVlDRPzOB2X<3Mp_fnAjRgag?doBYGDv^0HdM{e`J{^zr z=(DmSkIhG>-L2LfNL9*S=dy!^uz{iU90Xpz{lc7om|GC9@S?W1qw8pI*mrAv>3s85 zi?(Taw*PzP>@a1+YPZ%7x{>oYwL&{hN~n#kxOxgx@+SvrC^9pJXi*SI;60s&VqX=Q z%OjJXTHe50qawN`$GHK#F1!W#BQQOB3Q&gQWqF?c_c~NMtldxpn4G*xq4jnI0Gk< z-QYc(ay3@VyUQ(edvro5adkBpfJ83)thx`4S2?`rlD>md=)9< zawcYR!2jI&=a-LW-5)@k^YuefeU&aS`#YSTTYqqx?Mv11dKrcw5G4o(x_jM|)N|WN z*lq!AbZX$!s6!dyg^qn#2LuH=%BHQ!eled;*aQkGU(@Hf)ayrESXSu~#r(3d$XCDK8GhpaJW4VTg z#_`D%;RLLtlck)99qI8Eo>~a`TvrcZwPhDt7j6~)j2MwA)NcY*g_1DMZ*yt}W1>ID zAX#x!he=Z&V9^c&8iNNDA2SfWvq;P2jk`VlwyrelJTU1>XigZUc)3^|;+7sf>^aW@eH;7<4g6uG{Rc z{nT@gB&1XPceY6>4DVl#Y&$4xQw1tUQc5tMmZnTh5(CnUYLPSg`nX_xJCVA27c)ZsqD5YU z@OyXc4(zw_568biDYh9t%1^FB`BtYAt zzcp)hb(Ny%w&RzV!h@A=R|lhv{q@gZIl}1*seoAucpnoN8HjWElihgi-pBEkI^Bfm z3C`6JVJfWDYiT=j>*@3A;^GQPrnFOagcq4%&n*f^DIr6KGsFOE6w6`wCv`?Y1op4c z6vf6~qHDP`Pz5Zs?v*?K?d)AqyfeC1THwNSs;=mDsq$5ML=2RfcHu@BSSf%bv+*+{ zJ(E@L3g?sd4z4G(0)U5?@m^4Uq`r~cJ#c*F+*IjL>E!ukk@z5I?Nf2$LN}yX&*q%w6tzoCa!c=kRsc0nELH# zTG{~iivXq4a;3jAo_k^S40SCW142dPC+_zLuG%IppZXQJwvC;0vlvmk+$V zjhL9yGKDnP|MW$+PuB4vfG6|=d2@dUuZ zYO|@}r3d2&s;F1u{WL3U^n^Lib2oQ%jrQLDezMqCu!Bb-Wt(=G-3kft? z0MYGVvwD|WJ>Z^By{~aic_9(u6$+JP3w`8<*9w$cYiDysqtJzc7!(LBqkLqnTn(2t z*yZT0+|Q&_IgO~s!(6}+T(8lzZJZ*|8obt%|3)0-N($d31>BTo|KK1cD=TO(z#E!U z33m?u^=xlOjxslP|jm$AF?V_Yd;TyF(iC!-5IqjNxpd- zbwQN-ve0oicngZG&IQ*iHaEq*)lpgD?X%;BF>T1XW%FrgIVh;Ls3pZF#i{G`<_iLd z#EF&4(aGTbdTeHJWlfwH-Q8xrsRP}yS-Po7Y4(x;8GS2XIC^}atPU5jFC}jN=TnI{ zjuUUpyXC6VU0J`Cxu$>7(X#eH8{45pUapycfYq9%HN@fa_F=x~LSKRf07+gbeIj*q zLb_8me^`^aFfyzug+(N`^B$2txI*_dzLYqyE#%oh8uP^-Twnu2 zB;}BAMuGiTnyuiJhjd_|r>AFR94N!rV``3$jz&%=0EK)dBR0{;Z%=ix|2=l!%e<-i zG608KCrjrywX0Pi-cX(o|LzYP-dQyEp~xv13rf7uKx_-wh02E>0BGg&^11yWPz;y_`7+tRIG!hx7! zGA(P_%k#PY^9+M=J#Xjbw}3(^xqL4nyJ0-Zsq>$L^x{EUr!*;W7{tSLbZDB;lSnB)r7XKEwFj;z^-M{oqXThedFZZ; z+6Xcue?MY`qSOl|{i`ygq=-qU_Sq(YC7h<3pKgta(Ebxh`unmmoJSY=D{arx{b#t2Nuuz zB3Wh!Hsw2bHDq&FEVhoTHiQ3ko^Z@+6unzddpk-m&@T1de!2OLBa3ch8CIHsX*rj3 zH2`O*-8bb?wk)3_+TbGq=LV_2uu5|NMa1=QKqEPMp4aWe-nPMms{o?ipaD?iiD{S> zm!+XAEmut`WW-g+owFLORt|-j&93=a$70*!2mI4>)J>&GW3kam9HS1O4_a=y=h}oQ zvV*i=uW9@m7}y2m{oNTInJwzAML~wAo!TQ_PP|?5I!ZCJV`lX`-q&w{PKbs7D!8FC zb9Q#NdC?P$zRnsFCsy#ZCJ}uCksMzOuxn(co((%n_VvNULvkP} zx%OA!vSUERuK&%fN*CRa(~-&!QSmXcIw^)UJ@t{gWwvGpW(^Ng5+uIP1)o1GB(@(r z0nm#r_Jm=)#UO$zzn_A~ki;EEaO(e+%J1J40xETMb2qh^{f{BW)D+_CQZny=u2t1z3h)4fV?ul2JE;QuP3X}8FgT<8*S}Z zO|HF%z@1uyfnBsDQX=i$8N%y4(g}@aL|xp@%uva1W}vWMkBy#o5b4V;g3l^WBM8j6 zm`+XuXU4s`Fl~YSjvV6_y##eSqP(I~W=H}uyIf2&WdnpFh!G!%B!IbIB`XDCvDnasG4f`9*yR^|md_6ppp-y(5!;Dtq0DWejxS zb?r#iP3f9*&~Fjie0lKAqr6yl=bJ?~Pg}lE0x5^f9mwdbd_M6Yk^9uGeaU`#o*m#_ zuGl76h|`AWujVAs(RIlh%Ph|f6ceRsU{-H8hv%-xZ~liK>n!oxu6m|!M%Qc+R-YKO z?6q1v$@=VIS0aacN+HQJcd5(#0t4(?uVclg2GADxq`4{U5OUD?EWx>yEQv*_UptF6 z-_=WT%oiSodX%y)%7gS?kBxLiKDg+ctYDH6_=X@lB#6_xGC>-e|aK^_y1E)>yJR(Tl4XB zb-u4M<;m@`tG#uDRE@%?!EHqn@kU4y$D~F}mI*qJT1N|9OxXH%!1v{+bW*|_&BN^C ze~VtSWj~1v`z%b-K-{36s}1YCH0IfK8*!Z3X2kp|TfKPkA~)X;v23_AQ0;CC-Urkp zKN9nvQmV;5h=OR5sq8IzM;#b}Z1A$_$&T5cW}W)@fd2S>WRVS4J9|acpls$~8r6i- z=>(+jW%F!%QNFnrK-<-kGOPt7fN(4^L7g@X%fP+n#!ZxHj3eF>7aPsZ<@|>=XOmp{ z4H&FNi5_b=zA5%2NvcSdm2i}8P7 z+49fK%D?mLrLKXQ&p$k(uGrV!0#cjD?QaiDcTShQ8n@Ywdf>h1;JsUU)UYSNv@LKH zdQj@uPuNynMXp`ihMjt+CflXgXEydPSID?ZL)51}H|TocvoRO{%%NTV1d#)1?0WpC z^5nt)CA%4HH)Bn3g>UJ>0@^zkbWbFeZ*pQDWc+IlHS~fQtvpR`x;qdGsodcT`Af&p z&3Gz<0K)2H8Dhuvq3LD^%XQQe_f zTS=FEcSWaMW?Y_`;c9%T<3MWRz_Z%rKXR=G1N1sBh1U!CG;MwV3tr=W0NiJqb>B)W zts_lYO%jQaIsMkcvIfKvM3Er(y3cAMVoug?j0?Ql{cLfw{kpHYknStb6NyR7xvmcH zUTwRar>xet zJ3@3YVioa4x34rK-)*B0Z`1ZEG@VSS1|6pb#0fP{V+_mTI)1i0X0RRN4A?Jh0G|;t zA;k~ZgpRz=MTEJjWnW-eNl9V;{l|#ts%rIV=;$&q8s^-iK#)$gqzX!~u{lv3NauXL zC7CW6j!W#c*fhlt&`#8m%Rz|-dA7azuK8TKzphgk<<)6>sO>pgt z?w*5(q~?3Eva5Yb_q(4;jPifYuxUO8FZ>BiUi_D)+_U-82ode|z>!jH$HhqglBfzW z(!^jheN4@PrOq&#`L)6GN;ph>;75NC(Nplz}*w zg^%id5m@W^`Sa)BOMPb{vt8!WO74AuC4Z997KKDAoY>V*W7YNbKMm`HxnUtGS?~EF0FEkIb3NpgL`Yb+^2Zj?;jswA zfG*9*34E3gdJ1^vrLuQR9iIP?>j7d$&f5yz7zSb6X8~I8D_2;kJwSOl99<&6sPnfL zpb92{I4qr$FzoK=6yfbPw*WJ;*VWY-5p5cq=IH+3I~Z9(AmY>yTZGC@-Q?TcavSzF z!xYdb`=MOuq>tMm?P+1R9g}N*PcZcmDT&!mh@P~2-i(*M>8m9&>XUq5Or@?g0wI>^ zCci|QtyjOV6+d-Un#4fRir$~3j-Xp|9+%2~g_UP!LMJ3O_kjG7RHi2K`aOpDFwu(V zTZ}y4pX=wr9OqZqG*5rdTd>!YzEx3^dSt$5NYLyEH=f{|FuV%(Gje=Qg$r=EPQf51fC&A~InR5`!5m*T>mC?TYkb<|g{@uQ@PT z9gG)xGD5)6LO0okx^$km2rw80jY!SBmfe$_TsumG9tGP0JTcB$y2X4Nch@>wps6}RM??ksX3~ra&KPT8c zU8w8bF72myhV!zH>8WYu18Fz1R7C@(mwa-y*8P5SU4tI2oBX&Q65T_^;OT+td0KhQ z&9tcD>!@rSFH1DuAFAFq940n+?DopvNW>icaO)!i&B!u`E7{ynKLS9umsKZ1^tK(; zBOZX=Kf)zI^&S`V#Qh;S#27FylS&|LOxW5OqkNXOWL#LEFzbYs%+*Bm-s_hO>TI>3 z4e<$$xIKDimJO0G+Uf4E_xt-963bSPZxj}?9ghx`|GQXc)F_?71 zYjj^-Ja+HST)mRkpI7yWm|v1#uW>Xrt5;^prSJ04xA+iim*h1k5B;H^$~{b(>b)=P zMaoesC-vh#@09;sz5D)yJT^Cm2ym<{Cn=8l(tFKJx*){kM7DZDM!g>Kev)5G-lqX2 z5)#!ne+`QN^2aHRAtBND)83JgaQ+!tA|atXMVjETmrjEp;Ojkqss;wrl%74Mw*Sk? zJhUz)LWV{=Pk8ZW<ANhgvH=^|+ZSNs8?Q9f{b^(ImmkD8xD*q z|JR%R>jL>Tx(+I>O4i!i`u)RH)q5bgh?*tCU)wA$ifJ4eabN{L=fk zwqu9h$s}h3lv7oIEbZ8lpw@LsNQQxmnWPc#w6mzp_CoZ7&Ddmj$EEk*yAnk(&R{U( zy7=koM*BJ9n zyzkH74ow`oP$V#ys%mk+x_5=HZZag`VQQ5}aQQ}AB%L#yb1#a1aO>j-P!0QL6lZ=*uyJ+879!EBD=XDtkc2O;KSdaM=Z`=x zTlkjRQquyVb_kCHg9@q#@SBQB@U5uOEY8tjh>P^`xq{ip9cx9;%hZom(McGqZd#KIKV<5k=rr|4_47Rwgf`@Evb6$?H+e2N|hIV@D=2 zX{v!}mz1ZSaS!|@$dWq)7{(bkg^-s%F9)(GyUzx)C&14Cy0TyBv(#JrxWl^NcFAz% zgSowA-5lF?xKzz5bp%&IQC;RwKkKQ39uJCYO!5RTWuxtwBF#IosK>!@ca}Q?vR59( zs&Wh2`(J(3IlrvIlte`VXB5{IqAZEr3WRd<%#vRTf9F?2L*Al>pV=z@Y{x3ke36Ep z;j*Ty+TcLop(-~kQ;zmMK}l(xr%i|u8x~S=0;0= z#bt)T@wHD<)wo?LP=)1&*CO^u8Sq`B`whjeDG0>4TW7Tjw6Lre8^hMHBSExuWdv7Ka4=-sE4xPdf-rC+e zzRQ!ZC_qo!cr@#Se#AzGH6-IJu5^8g|~L zIPyku=d}Bl4H#)CJ|`h1tuuw4etcimXU&#Ph>N|AjlC_sUV~czZe-GT;*skupV_P> zzARjmZuEL$?(!#z{Q|8?@0~785|YpcIX0=hl*^H+$lCI3gNX9DZHn;uL_Cvy1aGD2mvlyE;n`58wEnR7b{(}_xD1taJs=^l4Ng6_^T+z)B> z>-k;&Tx!m|0`u^uGbQ13YB0j?)9;8+4si6&VSl_V1q{mKz_eUHJ^vN{y(GgvpoIk4 zA|krXh37loQ}OY-%k0O}Nb-5oYlFN&3wJnKUPO1JS_8MIwst-uRbDGanvIEvI;$Mz z+qb>E6vSRxImiUZj?k)1F=LKDt2ZCEYN6<(V@ex-brT*QZN?#f6!+vy`EV0vqL1H) zL!r{O8L;a#p3Zx{#;>N9$}ihLFLRbfAC0dzNRMsLNF9#(bTr=$6f?OO zPmI`LLb&7l0(wEqPj`}olvqOhk$R@$rT1`Q!Dn1$&0ICT{iKaZNi0fccNn2)NBV*= zO6l5Jik~vm^tJ48r7~PzWj5;xEk$p#S5B$-{G*(}>$<)!vh+7}FvaurJtOAuIVpl> z+xyD#x?3jK8VklA(Y!09j%7ngXaSqA&3P?J(o&g44YXzdtAc1d3;Sk)F4>haZ?AXJ z<0ZiG9Gh779^se}p;nje_p(BwjK6&~jTem2W@7T3IRAViP^{*;m*~e_DhkAr#toVg z&$Es;Hu~(}gq9h?D5~Y>pLDQB7*`HP?If9ZjEQXTD~wr(8V;$g z7k@W?L#qNWUuaUaRZ*^#Vm*YPSk1jXV`B-~Fco-8cEp+#hhSG0q+tlngq~#&N`0uy z-LKSbZdE8saZN$F1)NDiv>5FK_bu%NXPBES35p3O+6^eDX9?_NaeV7P6QN=A9V~ox zpPh}3v*EUL=_nL>8*9zV&J@v`p(Ba(L%)9Fx#`SE$>qbG9sTLaj~9Ew@1;{@gzST= z61jsQv@pW;uA2C0yDLwOTBU5`w?Z3!udE4+c&U&rvf}Kewxgg3<#u9=z^>p5D9?>c zPo==u*0ymddie2HQJur#+SFXcN0P7mcaUN%uV#|4D2OGbK0R>0!9Bn1!i-1(Mt>Bq z&qmly4?|$bL$EWHJ!68C_O=ciK5d_jnW!f%;Y(^``;)qG`eyYa=UUΝ4S(73-N- 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 **groups** or **samples** (default a - Change settings in the **PLOT PARAMETER** tab - - basic_setting + - basic_setting @@ -565,7 +565,7 @@ We can select **meta** **groups** or **samples** (default a -image-20230728123725717 + - Select p-adjust, log2FC to plot diff --git a/metax/gui/main_gui.py b/metax/gui/main_gui.py index 2af7eac..6a2bbaf 100644 --- a/metax/gui/main_gui.py +++ b/metax/gui/main_gui.py @@ -43,7 +43,7 @@ from PyQt5.QtWidgets import QDialog, QVBoxLayout, QTextBrowser from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt, QTimer, QDir, QSettings -from PyQt5.QtWidgets import QToolBox +from PyQt5.QtWidgets import QToolBox, QGroupBox import qtawesome as qta # from qt_material import apply_stylesheet @@ -398,9 +398,6 @@ def __init__(self, MainWindow): ### ANOVA self.pushButton_anova_test.clicked.connect(self.anova_test) - - ### Group Control Test - self.hide_all_in_layout(self.gridLayout_38) # self.hiddenTab = self.tabWidget_3.widget(3) # self.tabWidget_3.removeTab(3) @@ -512,6 +509,9 @@ def __init__(self, MainWindow): self.toolButton_db_anno_folder_help.clicked.connect(self.show_toolButton_db_anno_folder_help) self.set_change_event_for_all_condition_group() + + # hide ploting setting groupbox + self.hide_plot_setting_groupbox() # init theme self.init_theme_menu() @@ -768,6 +768,17 @@ def change_event_comboBox_3dbar_sub_meta(self): # else: # self.comboBox_3dbar_sub_meta.setEnabled(True) + def hide_plot_setting_groupbox(self): + groupbox_list = ["groupBox_basic_plot", "groupBox_basic_heatmap_plot_settings", + "groupBox_cross_heatmap_settings", "groupBox_deseq2_plot_settings", + "groupBox_co_expression_plot_settings", "groupBox_expression_trends_plot_settings", + "groupBox_taxa_func_link_plot_settings", "groupBox_taxa_func_link_net_plot_settings" + ] + for groupbox_name in groupbox_list: + groupbox = getattr(self, groupbox_name) + groupbox.setVisible(False) + + ############### basic function End ############### @@ -1442,56 +1453,14 @@ def swith_stack_page_dbuilder(self): def swith_stack_page_db_update(self): self.stackedWidget.setCurrentIndex(3) - # def swith_stack_page_about(self): - # self.stackedWidget.setCurrentIndex(3) def cross_test_tab_change(self, index): if index in [3, 4]: # TUKEY Test or DESeq2 Test - # self.hide_all_in_layout(self.gridLayout_top_heatmap_plot) - self.hide_all_in_layout(self.toolBox_9) - else: - self.show_all_in_layout(self.toolBox_9) - - if index == 2: # Group Control Test - self.hide_all_in_layout(self.gridLayout_38) + self.groupBox_cross_heatmap_plot.setVisible(False) else: - self.show_all_in_layout(self.gridLayout_38) + self.groupBox_cross_heatmap_plot.setVisible(True) - - def hide_all_in_layout(self, layout): - if isinstance(layout, QToolBox): - # For QToolBox - layout.hide() - else: - # For other types of layout - for i in range(layout.count()): - layout_item = layout.itemAt(i) - if layout_item.widget() is not None: - layout_item.widget().hide() - elif layout_item.layout() is not None: - self.hide_all_in_layout(layout_item.layout()) - - def show_all_in_layout(self, layout, if_except=True): - except_list = ['doubleSpinBox_mini_log2fc_heatmap', 'label_138', - 'comboBox_cross_3_level_plot_df_type', 'label_141', - 'checkBox_cross_3_level_plot_remove_zero_col', 'label_139', - 'doubleSpinBox_max_log2fc_heatmap'] if if_except else [] - - if isinstance(layout, QToolBox): - # For QToolBox - layout.show() - else: - # For other types of layout - for i in range(layout.count()): - layout_item = layout.itemAt(i) - if layout_item.widget() is not None: - if layout_item.widget().objectName() not in except_list: - layout_item.widget().show() - elif layout_item.layout() is not None: - self.show_all_in_layout(layout_item.layout(), if_except=if_except) - - def add_theme_to_combobox(self): # get all themes from matplotlib import colormaps @@ -2275,7 +2244,6 @@ def change_event_comboBox_top_heatmap_table(self): if 'dunnett_test' in selected_table_name: self.comboBox_top_heatmap_sort_type.setEnabled(False) - self.hide_all_in_layout(self.gridLayout_38) if selected_table_name.startswith('deseq2allin') or selected_table_name.startswith('dunnettAllCondtion'): self.comboBox_cross_3_level_plot_df_type.setEnabled(True) @@ -2284,7 +2252,6 @@ def change_event_comboBox_top_heatmap_table(self): if selected_table_name.startswith('deseq2'): - self.show_all_in_layout(self.gridLayout_38, if_except=False) self.doubleSpinBox_mini_log2fc_heatmap.setEnabled(True) self.doubleSpinBox_max_log2fc_heatmap.setEnabled(True) @@ -2299,14 +2266,12 @@ def change_event_comboBox_top_heatmap_table(self): self.comboBox_top_heatmap_sort_type.addItems(['padj', 'pvalue']) if selected_table_name.startswith('dunnettAllCondtion'): - self.show_all_in_layout(self.gridLayout_38, if_except=False) self.doubleSpinBox_mini_log2fc_heatmap.setEnabled(False) self.doubleSpinBox_max_log2fc_heatmap.setEnabled(False) self.comboBox_top_heatmap_sort_type.setEnabled(False) else: - self.hide_all_in_layout(self.gridLayout_38) self.label_57.setText('Sort By:') sort_type_list = ["p-value", "f-statistic (ANOVA)", "t-statistic (T-Test)"] if 't_test' in selected_table_name: diff --git a/metax/gui/metax_gui/main_window.ui b/metax/gui/metax_gui/main_window.ui index a475969..1f1f51d 100644 --- a/metax/gui/metax_gui/main_window.ui +++ b/metax/gui/metax_gui/main_window.ui @@ -6,8 +6,8 @@ 0 0 - 972 - 721 + 1122 + 703 @@ -46,7 +46,7 @@ Qt::LeftToRight - 3 + 4 false @@ -245,8 +245,8 @@ 0 0 - 453 - 500 + 528 + 482 @@ -1332,42 +1332,794 @@ QTabWidget::Triangular - 1 + 0 Basic Plot - - - - - - Samples - - - - - - - - 0 - 0 - - - - Groups - - - true - - + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + Show Plotting Parameter + + + + + + + Qt::Horizontal + + + + + + + + 16777215 + 250 + + + + Plotting Parameter + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + true + + + + + 0 + 0 + 999 + 232 + + + + + + + + 75 + true + + + + general + + + + + + + + + + 0 + 0 + + + + Width + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 10 + + + + + + + + 0 + 0 + + + + Height + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 8 + + + + + + + + + + + + 0 + 0 + + + + The number of columns in the legend, set 0 to hide + + + Legend Cols + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 0 + + + 1 + + + + + + + + 0 + 0 + + + + Theme + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + 0 + 0 + + + + + + + Font Size + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 1 + + + 999 + + + 10 + + + + + + + + + + + true + + + + 0 + 0 + + + + Add group name to Sample names + + + + + + Rename Samples + + + true + + + + + + + + 0 + 0 + + + + Show label text in diagram + + + Qt::LeftToRight + + + Show Labels + + + + + + + + + Qt::Horizontal + + + + + + + + 75 + true + + + + Scatter Plot + + + + + + + + + false + + + + 0 + 0 + + + + Adjust label text to reduce overlap + + + Adjust Labels + + + + + + + + + + + + 0 + 0 + + + + Transparency of labes + + + Transparency + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + 0 + 0 + + + + 1.000000000000000 + + + 0.050000000000000 + + + 0.600000000000000 + + + + + + + Dots size for PCA and Beta Diversity + + + Dot Size + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 1 + + + 1000 + + + 10 + + + 150 + + + + + + + + + + 0 + 0 + + + + + 150 + 0 + + + + + 75 + true + + + + Correlation Heatmap + + + + + + + + + + 0 + 0 + + + + Cluster + + + true + + + + + + + + 0 + 0 + + + + Theme + + + + + + + + + + + + + + Show All Labels + + + + + + + X + + + + + + + Y + + + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Bar Plot + + + + + + + + 0 + 0 + + + + false + + + + + + Plot Samples + + + + + + + + 75 + true + + + + Box Plot + + + + + + + + 0 + 0 + + + + Plot Samples + + + + + + + + 0 + 0 + + + + show Fliers + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Diversity + + + + + + + + + + 0 + 0 + + + + Alpha Diversity + + + + + + + Plot Samples + + + + + + + true + + + + shannon + + + + + simpson + + + + + ace + + + + + observed_otus + + + + + chao1 + + + + + fisher_alpha + + + + + dominance + + + + + menhinick + + + + + + + + + + + + + 0 + 0 + + + + Beta Diversity + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + true + + + + braycurtis + + + + + jaccard + + + + + euclidean + + + + + manhattan + + + + + canberra + + + + + chebyshev + + + + + dice + + + + + hamming + + + + + yule + + + + + + + + + + + 75 + true + + + + Sunburst + + + + + + + + + false + + + Show All Lables for Sunburst + + + true + + + + + + + + + + + + + + + + - + + + + 0 + 0 + + In Condition @@ -1378,6 +2130,12 @@ false + + + 0 + 0 + + @@ -1393,1195 +2151,1404 @@ - - - - Qt::Horizontal + + + + + 0 + 0 + + + + Groups + + + true - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Table - - - - - - - - 0 - 0 - - - - - Taxa - - - - - Functions - - - - - Taxa-Functions - - - - - Peptides - - - + + + + + 0 + 0 + + + + Samples + + + + + + + + + + + + + + Bar of Counts + + + + + + + Taxa Overview + + + + + + + + 0 + 0 + + + + PCA + + + + + + + false + + + Correlation Heatmap + + + + + + + false + + + + 0 + 0 + + + + PCA + + + + + + + false + + + + 0 + 0 + + + + 3D PCA + + + + + + + Correlation + + + + + + + Diversity + + + + + + + + 0 + 0 + + + + Sankey + + + + + + + false + + + Bar + + + + + + + false + + + Box + + + + + + + false + + + Alpha Diversity + + + + + + + false + + + Beta Diversity + + + + + + + false + + + TreeMap + + + + + + + false + + + Sunburst + + + + + + + false + + + Sankey + + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Table + + + + + + + + 0 + 0 + + + + + Taxa + - - - - 0 - 0 - - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + Functions + + + + + Taxa-Functions + + + + + Peptides + + + + + + + + 0 + 0 + + + + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Sub Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + - + 0 0 + + + None + + - - - - - - - - + + + + + + + Heatmap and Bar + + + + + + + + + 0 + 0 + + + + Table + + + + + + + false + + + + 0 + 0 + + - - - Sub Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + Taxa + - + + Functions + + + + + Taxa-Functions + + + + + Peptides + + + + + + + + + 0 + 0 + + + + Meta + + + + + + + + + + + 0 + 0 + + + + Sub Meta + + + + + + + + 0 + 0 + + + + Sub Meta for Bar Plot + + + + + + + + + Select for plotting + + + + + + + Show Plotting Parameter + + + + + + + Group + + + true + + + + + + + + + + 0 + 0 + + + + In Condition + + + + + + + false + + + + + + + + + false + 0 0 - - - None - - - - + + + + false + - + 0 0 - - - 0 - 200 - + + Add selected item to the drawing box + + + Add to List + + + + 16777215 - 430 + 250 - - 1 + + Plotting Parameter - - - - 0 - 0 - 287 - 188 - - - - Plot - - - - - - - - false - - - Correlation Heatmap - - - - - - - false - - - Bar - - - - - - - Bar of Counts - - - - - - - false - - - Box - - - - - - - false - - - Beta Diversity - - - - - - - false - - - - 0 - 0 - - - - 3D PCA - - - - - - - - 0 - 0 - - - - PCA - - - - - - - Diversity - - - - - - - false - - - Alpha Diversity - - - - - - - false - - - - 0 - 0 - - - - PCA - - - - - - - Correlation - - - - - - - false - - - TreeMap - - - - - - - false - - - Sunburst - - - - - - - Taxa Overview - - - - - - - false - - - Sankey - - - - - - - Sankey - - - - - - - - - - - 0 - 0 - 660 - 232 - - - - Plotting Parameter - - - - - - - 75 - true - - - - Box Plot - + + + + + true + + + + + 0 + 0 + 629 + 150 + + + + + + + + + + + + 0 + 0 + + + + Width + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 200 + + + 16 + + + + + + + + 0 + 0 + + + + Height + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 200 + + + 9 + + + + + + + + + + 75 + true + + + + Bar + + + + + + + + 75 + true + + + + Sankey + + + + + + + + + + 0 + 0 + + + + Scale + + + + + + + + 0 + 0 + + + + + row + + + + + column + + + + + None + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + Theme + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + + + + 0 + 0 + + + + Row Cluster + + + true + + + + + + + + 75 + true + + + + General + + + + + + + + 0 + 0 + + + + Show Legend + + + true + + + + + + + + 0 + 0 + + + + Show Title + + + + + + + + 75 + true + + + + Heatmap + + + + + + + + 0 + 0 + + + + Col Cluster + + + true + + + + + + + + 0 + 0 + + + + Plot Percentage + + + + + + + Qt::Horizontal + + + + + + + + + + 0 + 0 + + + + Plot Mean + + + + + + + + 0 + 0 + + + + Plot Peptides + + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Show All Labels + + + + + + + + 0 + 0 + + + + X + + + + + + + + 0 + 0 + + + + Y + + + + + + + + + + + + 0 + 0 + + + + Rename + + + + + + + + 0 + 0 + + + + Add group name to Sample names + + + Samples + + + true + + + + + + + + 0 + 0 + + + + Only show the last level of name + + + Taxa + + + true + + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Label Font Size + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 999 + + + 10 + + + + + + + + + + + + + + + + + + 0 + 0 + + + + List for Plotting + + + + + + + false + + + + 0 + 0 + + + + Add conditionally filtered items to the drawing box + + + Add Top to List + + + + + + + + + false + + + + 0 + 0 + + + + Drop Item + + + + + + + false + + + + 0 + 0 + + + + Clean List + + + + + + + false + + + + 0 + 0 + + + + Add a list to the drawing box, make sure there is one item per line. + + + Add A List + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + 0 + 0 + + + + Select Top + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 99999 + + + 10 + + + + + + + + 0 + 0 + + + + Sort by + + + + + + + + Total Intensity + - - - - - 75 - true - - - - Sunburst - - + + + Frequency in Samples + - - - - - - - 0 - 0 - - - - - - - Font Size - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 1 - - - 999 - - - 10 - - - - + + + Number of links + - - - - - - false - - - - 0 - 0 - - - - Adjust label text to reduce overlap - - - Adjust Labels - - - - - - - - - - 75 - true - - - - general - - - - - - - - - - 0 - 0 - - - - Beta Diversity - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - true - - - - braycurtis - - - - - jaccard - - - - - euclidean - - - - - manhattan - - - - - canberra - - - - - chebyshev - - - - - dice - - - - - hamming - - - - - yule - - - - - - - - - - - 0 - 0 - - - - false - - - - - - Plot Samples - - - - - - - - - - 0 - 0 - - - - Width - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 10 - - - - - - - - 0 - 0 - - - - Height - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 8 - - - - + + + ANOVA(p-value) + - - - - - - - 0 - 0 - - - - Cluster - - - true - - - - - - - - 0 - 0 - - - - Theme - - - - - - - + + + ANOVA(f-statistic) + - - - - - 0 - 0 - - - - - 150 - 0 - - - - - 75 - true - - - - Correlation Heatmap - - + + + T-TEST(p-value) + - - - - - 0 - 0 - - - - - 75 - true - - - - Diversity - - + + + T-TEST(t-statistic) + - - - - - 0 - 0 - - - - show Fliers - - + + + Deseq2-up(p-value) + - - - - - - - 0 - 0 - - - - The number of columns in the legend, set 0 to hide - - - Legend Cols - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 0 - - - 1 - - - - - - - - 0 - 0 - - - - Theme - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - + + + Deseq2-down(p-value) + - - - - Qt::Horizontal - - + + + Deseq2-up(log2FC) + - - - - - 0 - 0 - - - - - 75 - true - - - - Bar Plot - - + + + Deseq2-down(log2FC) + - - - - - - - 0 - 0 - - - - Alpha Diversity - - - - - - - Plot Samples - - - - - - - true - - - - shannon - - - - - simpson - - - - - ace - - - - - observed_otus - - - - - chao1 - - - - - fisher_alpha - - - - - dominance - - - - - menhinick - - - - - - - - - - - - true - - - - 0 - 0 - - - - Add group name to Sample names - - - - - - Rename Samples - - - true - - - - - - - - 0 - 0 - - - - Show label text in diagram - - - Qt::LeftToRight - - - Show Labels - - - - - - - - - - - - 0 - 0 - - - - Transparency of labes - - - Transparency - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - 0 - 0 - - - - 1.000000000000000 - - - 0.050000000000000 - - - 0.600000000000000 - - - - - - - Dots size for PCA and Beta Diversity - - - Dot Size - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 1 - - - 1000 - - - 10 - - - 150 - - - - - - - - - - - false - - - Show All Lables for Sunburst - - - true - - - - - - - - - - 0 - 0 - - - - Plot Samples - - - - - - - - 75 - true - - - - Scatter Plot - - - - - - - - - Show All Labels - - - - - - - X - - - - - - - Y - - - - - - - - - - - - - Qt::Horizontal - - - - - - - - Heatmap and Bar - - - - - - - 0 - 0 - - - - List for Plotting - - - - - - - false - - - - 0 - 0 - - - - Add conditionally filtered items to the drawing box - - - Add Top to List - - - - - - - Sample - - - - - + + - + + + Filter with threshold + + + + + + + + + + + false + - + 0 0 - In Condition + Get Table - - + + false + + + 0 + 0 + + + + Plot Sankey + - - - - - - false - - - - 0 - 0 - - - - - + + + + false + + + + 0 + 0 + + + + Plot Bar + + + + + + + false + + + + 0 + 0 + + + + Plot Heatmap + + - + - + + + + Sample + + + + Qt::Horizontal - - + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + + Peptide Query + + + + + + + 0 + 0 + + - Select for plotting + Peptide - - - - Qt::Horizontal + + + + + + + false + + + + 0 + 0 + + + + Query - - - - - - - 0 - 0 - - - - Select Top - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 - - - + + + + + + + + + + + + Cross Test + + + + + + QTabWidget::Triangular + + + 1 + + + + T-TEST + + + + - + 0 @@ -2589,226 +3556,208 @@ - Sort by + Table - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - - - - T-TEST(p-value) - - + - T-TEST(t-statistic) + Taxa-Functions - Deseq2-up(p-value) + Taxa - Deseq2-down(p-value) + Functions - Deseq2-up(log2FC) + peptides - Deseq2-down(log2FC) + Significant Taxa-Func - + + + + 0 + 0 + + - Filter with threshold + Meta + + + Qt::AlignCenter - - - - - + + + + - + 0 0 + + Qt::RightToLeft + - Table + In Condition - + false - - - 0 - 0 - - - - - Taxa - - + + + + - - Functions - + + + false + + - - - Taxa-Functions - - - - - Peptides - - - + - - + + + + + + false + + + + 0 + 0 + + + + Run T-Test + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + - + 0 0 - Meta + Group 2 - - - - - + + - + 0 0 - Sub Meta + Group 1 - - + + 0 0 - - Sub Meta for Bar Plot + + + + + + + 0 + 0 + - - - - Group - - - true - - - - - + + + + + ANOVA TEST + + + + false - + 0 0 - - Add selected item to the drawing box - - Add to List - - - - - - - - 0 - 0 - + Run ANOVA Test - - - - - 0 - 0 - + + + + Qt::Horizontal - - + + - - - false - + 0 @@ -2816,15 +3765,41 @@ - Drop Item + Table - - - false - + + + + Taxa-Functions + + + + + Taxa + + + + + Functions + + + + + peptides + + + + + Significant Taxa-Func + + + + + + 0 @@ -2832,732 +3807,305 @@ - Clean List + Meta - - - false - - - - 0 - 0 - - - - Add a list to the drawing box, make sure there is one item per line. + + + + + + Qt::RightToLeft - Add A List + In Condition + + + + + + + false + + + + + + false + + + + + - - + + - - + + 0 0 - - - 0 - 260 - + + Groups (Default all) - - - 16777215 - 400 - + + + + + + Qt::Horizontal - - 0 - - - - - 0 - 0 - 888 - 206 - - - - Plot - - - - - - - - false - - - - 0 - 0 - - - - Get Table - - - - - - - false - - - - 0 - 0 - - - - Plot Sankey - - - - - - - false - - - - 0 - 0 - - - - Plot Bar - - - - - - - false - - - - 0 - 0 - - - - Plot Heatmap - - - - + + + + + + + Group-Control TEST + + + + + + Qt::Horizontal + + + + + + + false + + + Run Dunnett's TEST + + + + + + + + + + 0 + 0 + + + + Table + + + + + + + + Taxa-Functions + + + + + Taxa + + + + + Functions + + + + + peptides + + + + + + + + + 0 + 0 + + + + Meta + + + + + + + + + + Qt::RightToLeft + + + In Condition + + + + + + + false + + + + + + + + + false + + - - - - - 0 - 0 - 888 - 150 - - - - Plotting Parameter - - - - - - - - - - - 0 - 0 - - - - Width - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 200 - - - 16 - - - - - - - - 0 - 0 - - - - Height - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 200 - - - 9 - - - - - - - - - - 75 - true - - - - Bar - - - - - - - - 75 - true - - - - Sankey - - - - - - - - - - 0 - 0 - - - - Scale - - - - - - - - 0 - 0 - - - - - row - - - - - column - - - - - None - - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - - - - Theme - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - Row Cluster - - - true - - - - - - - - 75 - true - - - - General - - - - - - - - 0 - 0 - - - - Show Legend - - - true - - - - - - - - 0 - 0 - - - - Show Title - - - - - - - - 75 - true - - - - Heatmap - - - - - - - - 0 - 0 - - - - Col Cluster - - - true - - - - - - - - 0 - 0 - - - - Plot Percentage - - - - - - - Qt::Horizontal - - - - - - - - - - 0 - 0 - - - - Plot Mean - - - - - - - - 0 - 0 - - - - Plot Peptides - - - - - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 100 - 16777215 - - - - Show All Labels - - - - - - - - 0 - 0 - - - - X - - - - - - - - 0 - 0 - - - - Y - - - - - - - - - - - - 0 - 0 - - - - Rename - - - - - - - - 0 - 0 - - - - Add group name to Sample names - - - Samples - - - true - - - - - - - - 0 - 0 - - - - Only show the last level of name - - - Taxa - - - true - - - - - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 100 - 16777215 - - - - Label Font Size - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 999 - - - 10 - - - - - - - - - - + + - - - - - Peptide Query - - - - - - - 0 - 0 - - - - Peptide + + + + Qt::Horizontal - - - - - + + false - - - 0 - 0 - - - Query + Run Deseq2 - - - - - - - - - - - - Cross Test - - - - - - QTabWidget::Triangular - - - 3 - - - - T-TEST - - - - + + + + + + + + + + 0 + 0 + + + + Groups (Default all) + + + + + + + + + + Control Group + + + + + + + + 0 + 0 + + + + Comparing in Each Condition + + + + + + + + + + 0 + 0 + + + + By: + + + + + + + false + + + + + + + + + + + + DESeq2 + + + + + + Qt::Horizontal + + + + + false - + 0 0 - - Run T-Test + + + 33 + 0 + - - - - - - - 0 - 0 - + + + 16777215 + 16777215 + - Group 1 + Run DESeq2 - - + + - + 0 @@ -3565,395 +4113,715 @@ - Table + Group 1 - - - - Taxa-Functions - - - - - Taxa - - - - - Functions - - - - - peptides - - - - - Significant Taxa-Func - - - - - - + - + 0 0 - - Meta - - - Qt::AlignCenter - - - - - + - + 0 0 - - Qt::RightToLeft - - In Condition + Group 2 - - - false + + + + 0 + 0 + - - - - - - false - - - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - - - + + - + 0 0 - Group 2 - - - - - - - - 0 - 0 - - - - - - - - Qt::Horizontal + Table - - - - - ANOVA TEST - - - - + + - + 0 0 - Groups (Default all) + Groups - - + + - + - + 0 0 + + Qt::RightToLeft + - Table + In Condition - + + + false + + + + 0 + 0 + + + + + + - - Taxa-Functions - + + + false + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + 0 + 0 + + - Taxa + Taxa-Functions - Functions + Taxa - peptides + Functions - Significant Taxa-Func + Peptides - - - Qt::RightToLeft + + + + 0 + 0 + - In Condition + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - false + + + + 0 + 0 + - - - - - - false - - - - - - - - - - - - - - - Qt::Horizontal + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 400 + + + + Plot + + + + + + + + 0 + 0 + + + + Tables + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + + + false + + + + 0 + 0 + + + + Plot Volcano + + + + + + + false + + + + 0 + 0 + + + + Plot Sankey + + + + + + + + 16777215 + 220 + + + + Plotting Parameter + + + + + + true + + + + + 0 + 0 + 996 + 70 + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Width + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 1 + + + 99 + + + 1 + + + 10 + + + + + + + + 0 + 0 + + + + Height + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + Threshold + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + padj + + + + + pvalue + + + + + + + + + 0 + 0 + + + + 1 + + + 99 + + + 1 + + + 8 + + + + + + + + 0 + 0 + + + + Log2FC Range + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Font Size + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 1.000000000000000 + + + + + + + 1 + + + 12 + + + + + + + + 0 + 0 + + + + - + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 20.000000000000000 + + + + + + + + 0 + 0 + + + + 4 + + + 1.000000000000000 + + + 0.010000000000000 + + + 0.050000000000000 + + + + + + + + + + + + + + + + Show Plotting Parameter + + + + + + + + + TUKEY TEST + + - + + + + 0 + 0 + + - Group by + Taxon - - - - false + + + + Qt::Horizontal + + + + - + 0 0 - Run ANOVA Test + Linked Number: - - - - - Qt::Horizontal + + + + false + + + Show Linked Func Only - - - - - Group-Control TEST - - - + + + false + + + Restore both lists to their original full items + - Control Group + Reset Funtion & Taxa Filter - - - - - - - 0 - 0 - - - - Comparing in Each Condition - - - - - - - - 0 - 0 - - - - By: - - - - - - - false - - - - + + + + Stats for + + - - + + 0 0 - - Groups (Default all) + + true - - - - false + + + + + 0 + 0 + - Run Dunnett's TEST + Function - - + + - - - - 0 - 0 - - - - Table - - + + Sum All + - - - - Taxa-Functions - - - - - Taxa - - - - - Functions - - - - - peptides - - - + + Each Item + + + + + + + false + + + + 0 + 0 + + + + Show Linked Taxa Only + + + + + + + false + + + Plot TUKEY + + + + + + + + 0 + 0 + + + + Linked Number: - + + + + + + + + 0 + 0 + + + + true + + + + + + + false + + + Run TUKEY Test + + + + + - + - + 0 0 @@ -3964,10 +4832,10 @@ - + - + Qt::RightToLeft @@ -3977,16 +4845,16 @@ - + false - + - + false @@ -3996,2830 +4864,1492 @@ - - - - - - - false - - - Run Deseq2 - - - - - - - Qt::Horizontal - - - - - + + Qt::Horizontal - - - - - - DESeq2 - - - - - - - 0 - 0 - - - - Groups - - - - - - - Qt::Horizontal - - - - - - - - - - 0 - 0 - - - - Group 1 - - - - - - - - 0 - 0 - - - - - - + + + + + + Plot + + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 30 + + + + Get Top Table + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 50 + + + + Plot Top Heatmap + + + false + + + + + + + Show Plotting Parameter + + + + + + + + + + 0 + 0 + + + + Table + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + + 16777215 + 220 + + + + Plotting Parameter + + + + - + 0 0 - - Group 2 + + + 16777215 + 16777215 + - - - - - - - 0 - 0 - + + true - - - - - - - - false - - - - 0 - 0 - - - - - 33 - 0 - - - - - 16777215 - 16777215 - - - - Run DESeq2 - - - - - - - - - - 0 - 0 - - - - - Taxa-Functions - - - - - Taxa - - - - - Functions - - - - - Peptides + + + + 0 + 0 + 1003 + 124 + - - - - - - - - 0 - 0 - - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - Table - - - - - - - - - - 0 - 0 - - - - Qt::RightToLeft - - - In Condition - - - - - - - false - - - - 0 - 0 - - - - - - - - - - false - - - - 0 - 0 - - - - - - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - - 16777215 - 200 - - - - 1 - - - - - 0 - 0 - 207 - 70 - - - - Plot - - - - - - false - - - - 0 - 0 - - - - Plot Sankey - - - - - - - - - - 0 - 0 - - - - Tables - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - false - - - - 0 - 0 - - - - Plot Volcano - - - - - - - - - 0 - 0 - 888 - 146 - - - - Plotting Parameter - - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Width - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 1 - - - 99 - - - 1 - - - 10 - - - - - - - - 0 - 0 - - - - Height - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - Threshold - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - + - - - - 0 - 0 - - - - - padj - + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Show All Labels + + - - - pvalue - + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Taxa + + + true + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Sample + + + true + + + + - - - - - - - 0 - 0 - - - - 1 - - - 99 - - - 1 - - - 8 - - - - - - - - 0 - 0 - - - - Log2FC Range - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Font Size - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 1.000000000000000 - - - - - - - 1 - - - 12 - - - - - - - - 0 - 0 - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 20.000000000000000 - - - - - - - - 0 - 0 - - - - 4 - - - 1.000000000000000 - - - 0.010000000000000 - - - 0.050000000000000 - - - - - - - - - - - - - - TUKEY TEST - - - - - - - 0 - 0 - - - - Taxon - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Linked Number: - - - - - - - - false - - - Show Linked Func Only - - - - - - - false - - - Restore both lists to their original full items - - - Reset Funtion & Taxa Filter - - - - - - - Stats for - - - - - - - - 0 - 0 - - - - true - - - - - - - - 0 - 0 - - - - Function - - - - - - - - Sum All - - - - - Each Item - - - - - - - - false - - - - 0 - 0 - - - - Show Linked Taxa Only - - - - - - - false - - - Plot TUKEY - - - - - - - - 0 - 0 - - - - Linked Number: - - - - - - - - - 0 - 0 - - - - true - - - - - - - false - - - Run TUKEY Test - - - - - - - - - - 0 - 0 - - - - Meta - - - - - - - - - - Qt::RightToLeft - - - In Condition - - - - - - - false - - - - - - - - - false - - - - - - - - - - - Qt::Horizontal - - - - - - - - - - - - 0 - 100 - - - - - 16777215 - 250 - - - - 0 - - - - - 0 - 0 - 912 - 196 - - - - Plot - - - - - - - - - 0 - 0 - - - - Table - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 50 - - - - Plot Top Heatmap - - - false - - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 30 - - - - Get Top Table - - - - - - - - - 0 - 0 - 895 - 137 - - - - Plotting Parameter - - - - - - - - - - - 0 - 0 - - - - Sort By - - - - - - - - 0 - 0 - - - - - p-value - - - - - f-statistic (ANOVA) - - - - - t-statistic (T-Test) - - - - - - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - 150 - 16777215 - - - - - 75 - true - - - - T & ANOVA - - - - - - - - - - 0 - 0 - - - - - 70 - 0 - - - - - 100 - 16777215 - - - - Width - - - - - - - - 0 - 0 - - - - 1 - - - 9999 - - - 1 - - - 16 - - - - - - - - 0 - 0 - - - - Height - - - - - - - - 0 - 0 - - - - 1 - - - 9999 - - - 9 - - - - - - - - - - 150 - 0 - - - - - 150 - 16777215 - - - - - 75 - true - - - - General - - - - - - - - - - 0 - 0 - - - - - 70 - 0 - - - - - 50 - 16777215 - - - - Top Number - - - - - - - - 0 - 0 - - - - 1 - - - 9999 - - - 100 - - - - - - - - - - - - 0 - 0 - - - - Font Size - - - - - - - - 0 - 0 - - - - 1 - - - 999 - - - 1 - - - 10 - - - - - - - - - - - - 0 - 0 - - - - Col Cluster - - - true - - - - - - - - 0 - 0 - - - - Row Cluster - - - true - - - - - - - - - - - - 0 - 0 - - - - Show All Labels - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - X - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Y - - - - - - - - - - - P-value - - - - - - - - 0 - 0 - - - - 4 - - - 1.000000000000000 - - - 0.010000000000000 - - - 0.050000000000000 - - - - - - - - - - - Rename - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Taxa - - - true - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Sample - - - true - - - - - - - - - - - 2 - - - QLayout::SetDefaultConstraint - - - - - - 0 - 0 - - - - Plot Type - - - - - - - - all_sig - - - - - no_na - - - - - same_trends - - - - - - - - - - 4 - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - 150 - 16777215 - - - - - 75 - true - - - - Group-Control DESeq2 - - - - - - - - 0 - 0 - - - - - 70 - 0 - - - - - 50 - 16777215 - - - - Log2FC - - - - - - - true - - - false - - - 3 - - - 0.000000000000000 - - - 1.000000000000000 - - - - - - - - 0 - 0 - - - - To - - - - - - - true - - - 3 - - - 30.000000000000000 - - - - - - - - - - 0 - 0 - - - - Remove Zero Col - - - true - - - - - - - - - Qt::Horizontal - - - - - - - - - - 0 - 0 - - - - - 70 - 0 - - - - Scale By - - - - - - - - 0 - 0 - - - - - row - - - - - column - - - - - None - - - - - - - - - 0 - 0 - - - - Theme - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - - - Expression Analysis - - - - - - QTabWidget::Triangular - - - 0 - - - - Co-Expression - - - - - - - - false - - - - 0 - 0 - - - - Drop Item - - - - - - - false - - - - 0 - 0 - - - - Clean List - - - - - - - false - - - - 0 - 0 - - - - Add a list to the drawing box, make sure there is one item per line. - - - Add a list - - - - - - - - - false - - - Add conditionally filtered items to the drawing box - - - Add Top to List - - - - - - - - - - - 600 - 0 - - - - - - - - - 0 - 0 - - - - Sample - - - - - - - - - In Condition - - - - - - - false - - - - - - - - - false - - - - 0 - 0 - - - - - 150 - 0 - - - - - 500 - 16777215 - - - - - - - - - - - - - - - 0 - 0 - - - - Select Top - - - - - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 - - - - - - - - 0 - 0 - - - - Sort by - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - - - - T-TEST(p-value) - - - - - T-TEST(t-statistic) - - - - - Deseq2-up(p-value) - - - - - Deseq2-down(p-value) - - - - - Deseq2-up(log2FC) - - - - - Deseq2-down(log2FC) - - - - - - - - - 0 - 0 - - - - Filter with threshold - - - - - - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Group - - - true - - - - - - - - - - 0 - 0 - - - - Table - - - - - - - false - - - - 0 - 0 - - - - - Taxa - - - - - Functions - - - - - Taxa-Functions - - - - - Peptides - - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - Focus List - - - - - - - false - - - Add selected item to the drawing box - - - Add to Focus List - - - - - - - - 0 - 150 - - - - - 16777215 - 250 - - - - 1 - - - - - 0 - 0 - 309 - 41 - - - - Plotting - - - - - - false - - - - 0 - 0 - - - - Plot Co-Expression Network - - - - - - - false - - - Plot Co-Expression Heatmap - - - - - - - - - 0 - 0 - 888 - 145 - - - - Plotting Parameter - - - - - - - - - - Show All Labels - - + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Scale By + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + row + + + + + column + + + + + None + + + + + - - - - X - - + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Theme + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + - - - - Y + + + + + 0 + 0 + - - - - - - - - true - - - - 0 - 0 - - - - Rename Taxa - - - true - - - - - - - - 0 - 0 - - - - Threshold for Plot - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - 0 - 0 - + + + 16777215 + 16777215 + - Method of Correlation + Rename - - + + - - pearson - + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Font Size + + - - spearman - + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + 1 + + + 999 + + + 1 + + + 10 + + - + - - - - - - + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Height + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + 1 + + + 9999 + + + 9 + + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + X + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Y + + + + + + + - + 0 0 + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + 75 + true + + - Font Size + Group-Control - - - - true + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + 75 + true + + + + General + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Width + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + 1 + + + 9999 + + + 1 + + + 16 + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Sort By + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + p-value + + + + + f-statistic (ANOVA) + + + + + t-statistic (T-Test) + + + + + + + + - + 0 0 - - 1 + + + 0 + 0 + - - 10 + + + 16777215 + 16777215 + + + + + 75 + true + - - - - - - - - - 0 - 0 - - - - Show Labels - - - - - - - - Theme + T & ANOVA - - + + + + + + p + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + 4 + + + 1.000000000000000 + + + 0.010000000000000 + + + 0.050000000000000 + + + + - - - - - - - 0 - 0 - - - - 1.000000000000000 - - - 0.010000000000000 - - - 0.500000000000000 - - - - - - - + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Row Cluster + + + true + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Col Cluster + + + true + + + + + + + - + 0 0 + + + 0 + 0 + + + + + 16777215 + 16777215 + + - Height + Log2FC - - + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + false + + + 3 + + + 0.000000000000000 + + + 1.000000000000000 + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + To + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + 3 + + + 30.000000000000000 + + + + + + + 0 0 + + + 0 + 0 + + + + + 16777215 + 16777215 + + 1 - 99 - - - 1 + 9999 - 10 - - - 10 + 100 - - + + - + 0 0 + + + 0 + 0 + + + + + 16777215 + 16777215 + + - Width + Top Number - - + + - + 0 0 - 20 + 0 0 - - 1 - - - 99 - - - 1 + + + 16777215 + 16777215 + - - 8 + + Plot Type - - - - - - - 75 - true - - - - Heatmap - - - - - - - - 75 - true - - - - General - - - - - - - - 75 - true - - - - Network - - - - - - - Plot List Only - - - true - - - - - - - Qt::Horizontal - - - - - - - - - - - - - - - - Qt::Horizontal - - - - - - - - Expression Trends - - - - - - - 16777215 - 210 - - - - 0 - - - - - 0 - 0 - 490 - 81 - - - - Plot - - - - - - - - false - - - - 0 - 0 - - - - Get ClusterTable - - - - - - - Qt::Horizontal - - - - - - - Cluster Number - - - - - - - Select Cluster - - - - - - - false - - - - 0 - 0 - - - - Plot Trends - - - - - - - false - - - - 0 - 0 - - - - Plot Interactive Line - - - - - - - - - - 1 - - - 5 - - - - - - - - 75 - true - - - - Calculate Cluster - - - - - - - - 75 - true - - - - Plot Specific Cluster - - - - - - - - - - - 0 - 0 - 538 - 63 - - - - Plotting Parameter - - - - - - - - - 75 - true - - - - General - - - - - - - - 0 - 0 - - - - 1 - - - 200 - - - 9 - - - - - - - - 75 - true - - - - Specific cluster - - - - - - - - 0 - 0 - - - - Get Intnsity Results - - - - - - - - 0 - 0 - - - - Font Size - - - - - - - - 0 - 0 - - - - Height - - - - - - - - 0 - 0 - - - - Show Legend - - - true - - - - - - - - 0 - 0 - - - - Plot Samples - - - - - - - - 0 - 0 - - - - Simplify Taxa Names - - - true - - - - - - - - 0 - 0 - - - - Width - - - - - - - - 0 - 0 - - - - 1 - - - 200 - - - 16 - - - - - - - - 0 - 0 - - - - 1 - - - 10 - - + + + + false + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + all_sig + + + + + no_na + + + + + same_trends + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Remove Zero Col + + + true + + + + - - - + + + + + + + + + + + + + + Expression Analysis + + + + + + QTabWidget::Triangular + + + 1 + + + + Co-Expression + + + + + + + + + + 16777215 + 220 + + + + Plotting Parameter + + + + + + true + + + + + 0 + 0 + 493 + 128 + + + + + + + + + + + Show All Labels + + + + + + + X + + + + + + + Y + + + + + + + + + true + + + + 0 + 0 + + + + Rename Taxa + + + true + + + + + + + + 0 + 0 + + + + Threshold for Plot + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + Method of Correlation + + + + + + + + pearson + + + + + spearman + + + + + + + + + + + + + 0 + 0 + + + + Font Size + + + + + + + true + + + + 0 + 0 + + + + 1 + + + 10 + + + + + + + + + + 0 + 0 + + + + Show Labels + + + + + + + + + Theme + + + + + + + + + + + + + 0 + 0 + + + + 1.000000000000000 + + + 0.010000000000000 + + + 0.500000000000000 + + + + + + + + + + 0 + 0 + + + + Height + + + + + + + + 0 + 0 + + + + 1 + + + 99 + + + 1 + + + 10 + + + 10 + + + + + + + + 0 + 0 + + + + Width + + + + + + + + 0 + 0 + + + + + 20 + 0 + + + + 1 + + + 99 + + + 1 + + + 8 + + + + + + + + + + 75 + true + + + + Heatmap + + + + + + + + 75 + true + + + + General + + + + + + + + 75 + true + + + + Network + + + + + + + Plot List Only + + + true + + + + + + + Qt::Horizontal + + + + + + + + + + - - + + false - - - 0 - 0 - - - Add selected item to the drawing box + Add conditionally filtered items to the drawing box - Add to List + Add Top to List - - + + - + 0 @@ -6827,7 +6357,56 @@ - Select Top + Table + + + + + + + false + + + + 0 + 0 + + + + + Taxa + + + + + Functions + + + + + Taxa-Functions + + + + + Peptides + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Meta Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -6835,13 +6414,53 @@ - + + + + 0 + 0 + + + + + + + + + + false + + + Add selected item to the drawing box + + + Add to Focus List + + + + + + + 0 0 + + Select Top + + + + + + + + 0 + 0 + + 1 @@ -6854,9 +6473,9 @@ - + - + 0 0 @@ -6864,10 +6483,13 @@ Sort by + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + - + Total Intensity @@ -6926,91 +6548,77 @@ - + + + + 0 + 0 + + + + Filter with threshold + + + + + + + + + + + false + + + + 0 + 0 + + + + Plot Co-Expression Network + + + + + + + false + - Filter with threshold + Plot Co-Expression Heatmap - - - - false - - - - 0 - 0 - - - - Add conditionally filtered items to the drawing box - - - Add Top to List - - - - - - - - 0 - 0 - - - - - 600 - 0 - - - - - - - - - 0 - 0 - - - - List for Plotting + + + + Qt::Horizontal - - + + - - - - 0 - 0 - - - - Qt::LeftToRight - + In Condition - + false - + - + false @@ -7020,21 +6628,33 @@ 0 + + + 150 + 0 + + + + + 500 + 16777215 + + - - - - Select for plotting + + + + Qt::Horizontal - - + + 0 @@ -7042,14 +6662,14 @@ - Sample + Show Plotting Parameter - + - + 0 0 @@ -7062,35 +6682,25 @@ - - - - - - - - - - Qt::Horizontal - - - - - - - Qt::Horizontal + + + + + 600 + 0 + - - + + - + false - + 0 0 @@ -7101,12 +6711,12 @@ - + false - + 0 0 @@ -7117,12 +6727,12 @@ - + false - + 0 0 @@ -7131,28 +6741,64 @@ Add a list to the drawing box, make sure there is one item per line. - Add A list + Add a list - - + + - + 0 0 + + Sample + - - + + + + + 0 + 0 + + + + Focus List + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + Expression Trends + + + + - + - + 0 0 @@ -7161,859 +6807,1123 @@ Qt::LeftToRight - Table - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - false - - - - Taxa - - - - - Functions - - - - - Taxa-Functions - - - - - Peptides - - - - - - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + In Condition - - - - - - - - - - - - - - Taxa-Func Link - - - - - - true - - - QTabWidget::Triangular - - - 0 - - - - Taxa-Func Link - - - - + + + + false + + + + + + + + + false + + + + 0 + 0 + + + + + + + + + + - + 0 0 - - Sample + + + 600 + 0 + - - + + - + + 0 + 0 + + + + + + + + 0 0 - Function + Group + + + true - - + + + + false + - + 0 0 + + Add conditionally filtered items to the drawing box + - Taxa + Add Top to List - - + + + + Qt::Horizontal + + + + + - + 0 0 - - Qt::LeftToRight + + Sample - - + + - + 0 0 - Group - - - true + List for Plotting - - + + - + - + 0 0 - - Qt::LeftToRight - - In Condition + Select Top + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - false + + + + 0 + 0 + + + + 1 + + + 99999 + + + 10 + + + + - + 0 0 + + Sort by + - + - - - - - false - - - - 0 - 0 - - - - - 300 - 16777215 - - - - - + + Total Intensity + - + + + Frequency in Samples + + + + + Number of links + + + + + ANOVA(p-value) + + + + + ANOVA(f-statistic) + + + + + T-TEST(p-value) + + + + + T-TEST(t-statistic) + + + + + Deseq2-up(p-value) + + + + + Deseq2-down(p-value) + + + + + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) + + + + + + + + Filter with threshold + + - - - - - 0 - 0 - - - - Meta - - - - - - - - - - - + + Qt::Horizontal - - - - - 0 - 0 - - - - true + + + + + + + Qt::Horizontal - - + + + + + + + false + - + 0 0 - - true + + Add selected item to the drawing box + + + Add to List - - + + - + + + false + - + 0 0 - Linked Number: - + Drop Item - + false - + 0 0 - Show Linked Taxa Only + Clean List - - - - - + + + false + 0 0 + + Add a list to the drawing box, make sure there is one item per line. + - Linked Number: - + Add A list + + + + - - - false - + - + 0 0 + + Qt::LeftToRight + - Show Linked Func Only + Table + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + + Taxa + + + + + Functions + + + + + Taxa-Functions + + + + + Peptides + + + + + + + + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + - - + + + + Select for plotting + + + + + 16777215 - 250 + 220 - - 0 - - - - - 0 - 0 - 888 - 196 - - - - Plot - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 50 - - - - Plot Heatmap - - - - - - - false - - - - 0 - 0 - - - - Plot Bar - - - - - - - false - - - - 0 - 0 - - - - Get Intensity Table - - - - - - - - - 0 - 0 - 538 - 127 - - - - Plotting Parameter - - - - - - - - - 0 - 0 - - - - - 75 - true - - - - General - - - - - - - Qt::Horizontal - - - - - - - - - - 0 - 0 - - - - Theme - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - - 75 - true - - - - Heatmap - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Col Cluster - - - true - - - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Scale - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - + + Plotting Parameter + + + + + + true + + + + + 0 + 0 + 1016 + 69 + + + + + + + + + + 75 + true + + + + General + + + + + + + + 0 + 0 + + + + 1 + + + 200 + + + 9 + + + + + + + + 75 + true + + + + Specific cluster + + + + + + + + 0 + 0 + + + + Get Intnsity Results + + + + + + + + 0 + 0 + + + + Font Size + + + + + + + + 0 + 0 + + + + Height + + + + + + + + 0 + 0 + + - row + Show Legend + + + true + + + + + + + + 0 + 0 + - - - column + Plot Samples + + + + + + + + 0 + 0 + - - - None + Simplify Taxa Names - - - - - - - - - - 0 - 0 - - - - - PreferDefault - - - - Qt::LeftToRight - - - Bar Percent - - - - - - - - 0 - 0 - - - - Plot Mean - - - - - - - - 75 - true - - - - Bar - - - - - - - - - - 0 - 0 - - - - Label Font Size - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 999 - - - 10 - - - - - - - - - - 0 - 0 - - - - Show Legend - - - true - - - - - - - - 0 - 0 - - - - Row Cluster - - - true - - - - - - - - - - 0 - 0 - - - - Width - - - - - - - - 0 - 0 - - - - 1 - - - 1000 - - - 16 - - - - - - - - 0 - 0 - - - - Height - - - - - - - - 0 - 0 - - - - 1 - - - 1000 - - - 9 - - - - - - - - - - - - 0 - 0 - - - - Rename - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - Samples - - - true - - - - - - - - 0 - 0 - - - - Taxa - - - true - - - - - - - - - - - - 0 - 0 - - - - Show All Labels - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - X - - - - - - - - 0 - 0 - - - - Y - - - - + + true + + + + + + + + 0 + 0 + + + + Width + + + + + + + + 0 + 0 + + + + 1 + + + 200 + + + 16 + + + + + + + + 0 + 0 + + + + 1 + + + 10 + + + + + + + + + + + + + + + + + + Select Cluster + + + + + + + false + + + + 0 + 0 + + + + Get ClusterTable + + + + + + + + 75 + true + + + + Plot Specific Cluster + + + + + + + + + + Qt::Horizontal + + + + + + + Cluster Number + + + + + + + false + + + + 0 + 0 + + + + Plot Trends + + + + + + + false + + + + 0 + 0 + + + + Plot Interactive Line + + + + + + + 1 + + + 5 + + + + + + + + 75 + true + + + + Calculate Cluster + + + + + + + Show Plotting Parameter + + + + + + + + + + + + + + Taxa-Func Link + + + + + + true + + + QTabWidget::Triangular + + + 0 + + + + Taxa-Func Link + + + + + + + 0 + 0 + + + + true + + + + + + + + + + 0 + 0 + + + + Linked Number: - + + + + + + + false + + + + 0 + 0 + + + + Show Linked Taxa Only + + + + + + + + + + + + 0 + 0 + + + + Linked Number: - + + + + + + + false + + + + 0 + 0 + + + + Show Linked Func Only + + + + + + + + + + 0 + 0 + + + + Sample + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + + + 0 + 0 + + + + Group + + + true + + + + + + + + 0 + 0 + + + + true + + + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 50 + + + + Plot Heatmap + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 50 + + + + Plot Bar + + + + + + + false + + + + 0 + 0 + + + + Get Intensity Table + + + + + + + Show Plotting Parameter + + + + + + + + + + 0 + 0 + + + + Meta + + + + + + + + 0 + 0 + + + + Function + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + In Condition + + + + + + + false + + + + 0 + 0 + + + + + + + + + + + + false + + + + 0 + 0 + + + + + 300 + 16777215 + + + - - + + - - + + Qt::Horizontal + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + + false + + + + 0 + 0 + + + + Restore both lists to their original full items + + + Reset List + + + + + + + + 0 + 0 + + + + Taxa + + + + + + @@ -8118,400 +8028,764 @@ - + + + + 0 + 0 + + + + Filter with threshold + + + + + + + false + + + + 0 + 0 + + + + Filter items in the two lists by condition + + + Filter + + + + + + + + + + 16777215 + 220 + + + + Plotting Parameter + + + + + + true + + + + + 0 + 0 + 1016 + 185 + + + + + + + + + + 75 + true + + + + Bar + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Col Cluster + + + true + + + + + + + + 0 + 0 + + + + + PreferDefault + + + + Qt::LeftToRight + + + Bar Percent + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Heatmap + + + + + + + + + + 0 + 0 + + + + Label Font Size + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 999 + + + 10 + + + + + + + + 0 + 0 + + + + Show All Labels + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + X + + + + + + + + 0 + 0 + + + + Y + + + + + + + + + + 0 + 0 + + + + Rename + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + Samples + + + true + + + + + + + + 0 + 0 + + + + Taxa + + + true + + + + + + + + + + + + 0 + 0 + + + + + 75 + true + + + + General + + + + + + + + 0 + 0 + + + + Plot Mean + + + + + + + + + + 0 + 0 + + + + Width + + + + + + + + 0 + 0 + + + + 1 + + + 1000 + + + 16 + + + + + + + + 0 + 0 + + + + Height + + + + + + + + 0 + 0 + + + + 1 + + + 1000 + + + 9 + + + + + + + + + + 0 + 0 + + + + Show Legend + + + true + + + + + + + + 0 + 0 + + + + Row Cluster + + + true + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Scale + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + row + + + + + column + + + + + None + + + + + + + + + 0 + 0 + + + + Theme + + + + + + + + 0 + 0 + + + + + + + + + + Qt::Horizontal + + + + + + + + + + + + + + + + + Taxa-Func Network + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Sample + + + + + + + + + false + - + 0 0 - Filter with threshold + Drop Item - + false - + 0 0 + + Clean List + + + + + + + false + - Filter items in the two lists by condition + Add a list to the drawing box, make sure there is one item per line. - Filter + Add a list - - - - false - + + - + 0 0 - - Restore both lists to their original full items - - - Reset List + + Qt::Horizontal - - - - - Taxa-Func Network - - - - - - - - - false - + + - + 0 0 - 100 - 16777215 + 16777215 + 50 - - Add selected item to the drawing box - - Add to Focus List + Group + + + true - - - - - 0 - 0 - - - - Sample + + + + Qt::Horizontal - - + + false - + 0 0 - 100 - 16777215 + 16777215 + 50 - - Add conditionally filtered items to the drawing box - - Add Top to List + Plot Ntework + + + false - - - - - 0 - 150 - - - - - 16777215 - 210 - + + + + Show Parameter - - 0 - - - - - 0 - 0 - 98 - 41 - - - - Plot - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 50 - - - - Plot Ntework - - - false - - - - - - - - - 0 - 0 - 383 - 68 - - - - Plotting Parameter - - - - - - - - - 0 - 0 - - - - Width - - - - - - - - 0 - 0 - - - - 1 - - - 99 - - - 1 - - - 10 - - - 10 - - - - - - - - 0 - 0 - - - - Height - - - - - - - true - - - - 0 - 0 - - - - - 20 - 0 - - - - 1 - - - 99 - - - 1 - - - 8 - - - 10 - - - - - - - - - - - Plot List Only - - - - - - - false - - - Without Links - - - false - - - - - - - - - - - Show Labels - - - - - - - true - - - Raname Taxa - - - true - - - - - - - - - - - Font Size - - - - - - - true - - - 1 - - - 10 - - - - + + + + + + + + Qt::RightToLeft + + + In Condition + + + + + + + false + + + + + + + + + false + + - - + + - - - - - 0 - 0 - + + + + false - - - - - + 0 0 - 16777215 - 50 + 100 + 16777215 - - Group + + Add conditionally filtered items to the drawing box - - true + + Add Top to List - - + + + + + + + 0 + 0 + + + + Table + + + + + + + false + + + + Taxa + + + + + Functions + + + + + Taxa-Functions + + + + + + + + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + @@ -8602,208 +8876,281 @@ - Deseq2-up(p-value) - - - - - Deseq2-down(p-value) - - - - - Deseq2-up(log2FC) - - - - - Deseq2-down(log2FC) - - - - - - - - - 0 - 0 - - - - Filter with threshold - - - - - - - - - - 0 - 0 - - - - Focus List - - - - - - - - 0 - 0 - - - - Qt::Horizontal - - - - - - - - - - - - false - - - - 0 - 0 - - - - Drop Item - - - - - - - false - - - - 0 - 0 - - - - Clean List - - - - - - - false - - - Add a list to the drawing box, make sure there is one item per line. - - - Add a list - - - - - - - - - - - Qt::RightToLeft - - - In Condition - - - - - - - false - - - - - - - - - false - - - - - - - - - - - - - - 0 - 0 - - - - Table - - - - - - - false - - - - Taxa + Deseq2-up(p-value) - Functions + Deseq2-down(p-value) - Taxa-Functions + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) - - - Meta + + + + 0 + 0 + - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + Filter with threshold - - - - - - - Qt::Horizontal + + + + + + + + + + + + + false + + + + 0 + 0 + + + + + 100 + 16777215 + + + + Add selected item to the drawing box + + + Add to Focus List + + + + + + + + 0 + 0 + + + Focus List + + + + + + + + 16777215 + 220 + + + + Plotting Parameter + + + + + + true + + + + + 0 + 0 + 383 + 68 + + + + + + + + + + 0 + 0 + + + + Width + + + + + + + + 0 + 0 + + + + 1 + + + 99 + + + 1 + + + 10 + + + 10 + + + + + + + + 0 + 0 + + + + Height + + + + + + + true + + + + 0 + 0 + + + + + 20 + 0 + + + + 1 + + + 99 + + + 1 + + + 8 + + + 10 + + + + + + + + + + + Plot List Only + + + + + + + false + + + Without Links + + + false + + + + + + + + + + + Show Labels + + + + + + + true + + + Raname Taxa + + + true + + + + + + + + + + + Font Size + + + + + + + true + + + 1 + + + 10 + + + + + + + + + + @@ -9627,7 +9974,7 @@ 0 0 - 972 + 1122 21 @@ -9761,12 +10108,12 @@ setEnabled(bool) - 615 - 153 + 663 + 114 - 787 - 155 + 836 + 116 @@ -9777,12 +10124,12 @@ setEnabled(bool) - 615 - 153 + 663 + 114 - 959 - 155 + 1042 + 116 @@ -9794,11 +10141,11 @@ 184 - 149 + 150 - 259 - 151 + 281 + 152 @@ -9810,11 +10157,11 @@ 184 - 149 + 150 - 336 - 151 + 397 + 152 @@ -9825,12 +10172,12 @@ setEnabled(bool) - 161 - 136 + 151 + 135 - 277 - 152 + 427 + 134 @@ -9841,12 +10188,12 @@ setEnabled(bool) - 161 - 136 + 151 + 135 - 353 - 152 + 702 + 134 @@ -9857,12 +10204,12 @@ setEnabled(bool) - 86 - 102 + 385 + 194 - 103 - 102 + 654 + 195 @@ -9873,12 +10220,12 @@ setEnabled(bool) - 86 - 102 + 385 + 194 - 119 - 103 + 924 + 195 @@ -9889,12 +10236,12 @@ setEnabled(bool) - 96 - 102 + 564 + 194 - 108 - 102 + 772 + 195 @@ -9905,12 +10252,12 @@ setEnabled(bool) - 96 - 102 + 564 + 194 - 119 - 103 + 980 + 195 @@ -9921,12 +10268,12 @@ setEnabled(bool) - 248 - 141 + 212 + 151 - 327 - 140 + 309 + 138 @@ -9937,8 +10284,8 @@ setEnabled(bool) - 248 - 141 + 212 + 151 405 @@ -9953,12 +10300,12 @@ setEnabled(bool) - 84 - 108 + 112 + 160 - 96 - 108 + 219 + 159 @@ -9969,12 +10316,12 @@ setEnabled(bool) - 71 - 116 + 365 + 157 - 75 - 116 + 607 + 155 @@ -9985,12 +10332,12 @@ setEnabled(bool) - 71 - 116 + 365 + 157 - 81 - 117 + 846 + 155 @@ -10001,12 +10348,12 @@ setEnabled(bool) - 539 - 166 + 512 + 161 - 734 - 168 + 714 + 160 @@ -10017,12 +10364,12 @@ setEnabled(bool) - 539 - 166 + 512 + 161 - 931 - 168 + 915 + 160 @@ -10033,12 +10380,12 @@ setEnabled(bool) - 111 - 114 + 940 + 498 - 119 - 114 + 241 + 535 @@ -10049,12 +10396,12 @@ setEnabled(bool) - 111 - 114 + 940 + 498 - 78 - 124 + 241 + 664 @@ -10065,12 +10412,12 @@ setEnabled(bool) - 111 - 114 + 940 + 498 - 85 - 114 + 778 + 537 @@ -10081,12 +10428,12 @@ setEnabled(bool) - 84 - 108 + 112 + 160 - 106 - 109 + 326 + 159 @@ -10097,12 +10444,12 @@ setEnabled(bool) - 834 - 339 + 647 + 572 - 932 - 340 + 899 + 572 @@ -10113,12 +10460,12 @@ setDisabled(bool) - 924 - 350 + 373 + 608 - 969 - 397 + 406 + 115 @@ -10129,12 +10476,12 @@ setEnabled(bool) - 59 - 107 + 134 + 151 - 65 - 107 + 227 + 153 @@ -10145,12 +10492,12 @@ setEnabled(bool) - 59 - 107 + 134 + 151 - 71 - 108 + 309 + 153 @@ -10161,12 +10508,12 @@ setEnabled(bool) - 55 - 105 + 139 + 135 - 64 - 105 + 226 + 134 @@ -10177,12 +10524,140 @@ setEnabled(bool) - 55 - 105 + 139 + 135 + + + 419 + 134 + + + + + checkBox_show_basic_plot_settings + toggled(bool) + groupBox_basic_plot + setVisible(bool) + + + 121 + 396 + + + 121 + 492 + + + + + checkBox + toggled(bool) + groupBox_basic_heatmap_plot_settings + setVisible(bool) + + + 105 + 518 + + + 106 + 539 + + + + + checkBox_2 + toggled(bool) + groupBox_cross_heatmap_settings + setVisible(bool) + + + 79 + 483 + + + 71 + 556 + + + + + checkBox_3 + toggled(bool) + groupBox_deseq2_plot_settings + setVisible(bool) + + + 137 + 269 + + + 155 + 284 + + + + + checkBox_4 + toggled(bool) + groupBox_co_expression_plot_settings + setVisible(bool) + + + 138 + 458 + + + 162 + 488 + + + + + checkBox_5 + toggled(bool) + groupBox_expression_trends_plot_settings + setVisible(bool) + + + 106 + 521 + + + 129 + 535 + + + + + checkBox_6 + toggled(bool) + groupBox_taxa_func_link_plot_settings + setVisible(bool) + + + 105 + 398 + + + 136 + 421 + + + + + checkBox_7 + toggled(bool) + groupBox_taxa_func_link_net_plot_settings + setVisible(bool) + + + 81 + 489 - 72 - 106 + 100 + 523 diff --git a/metax/gui/metax_gui/ui_main_window.py b/metax/gui/metax_gui/ui_main_window.py index 7b4bb91..494d4de 100644 --- a/metax/gui/metax_gui/ui_main_window.py +++ b/metax/gui/metax_gui/ui_main_window.py @@ -14,7 +14,7 @@ class Ui_metaX_main(object): def setupUi(self, metaX_main): metaX_main.setObjectName("metaX_main") - metaX_main.resize(972, 721) + metaX_main.resize(1122, 703) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -147,7 +147,7 @@ def setupUi(self, metaX_main): self.toolBox_2.setMaximumSize(QtCore.QSize(1677, 16777215)) self.toolBox_2.setObjectName("toolBox_2") self.page_2 = QtWidgets.QWidget() - self.page_2.setGeometry(QtCore.QRect(0, 0, 453, 500)) + self.page_2.setGeometry(QtCore.QRect(0, 0, 528, 482)) self.page_2.setObjectName("page_2") self.gridLayout_27 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_27.setObjectName("gridLayout_27") @@ -673,292 +673,53 @@ def setupUi(self, metaX_main): self.tab_12.setObjectName("tab_12") self.gridLayout_26 = QtWidgets.QGridLayout(self.tab_12) self.gridLayout_26.setObjectName("gridLayout_26") - self.gridLayout_35 = QtWidgets.QGridLayout() - self.gridLayout_35.setObjectName("gridLayout_35") - self.radioButton_basic_pca_sample = QtWidgets.QRadioButton(self.tab_12) - self.radioButton_basic_pca_sample.setObjectName("radioButton_basic_pca_sample") - self.gridLayout_35.addWidget(self.radioButton_basic_pca_sample, 3, 0, 1, 1) - self.radioButton_basic_pca_group = QtWidgets.QRadioButton(self.tab_12) + self.line_10 = QtWidgets.QFrame(self.tab_12) + self.line_10.setFrameShape(QtWidgets.QFrame.HLine) + self.line_10.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_10.setObjectName("line_10") + self.gridLayout_26.addWidget(self.line_10, 3, 0, 1, 3) + self.checkBox_show_basic_plot_settings = QtWidgets.QCheckBox(self.tab_12) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_basic_pca_group.sizePolicy().hasHeightForWidth()) - self.radioButton_basic_pca_group.setSizePolicy(sizePolicy) - self.radioButton_basic_pca_group.setChecked(True) - self.radioButton_basic_pca_group.setObjectName("radioButton_basic_pca_group") - self.gridLayout_35.addWidget(self.radioButton_basic_pca_group, 2, 0, 1, 1) - self.horizontalLayout_36 = QtWidgets.QHBoxLayout() - self.horizontalLayout_36.setObjectName("horizontalLayout_36") - self.checkBox_basic_in_condtion = QtWidgets.QCheckBox(self.tab_12) - self.checkBox_basic_in_condtion.setObjectName("checkBox_basic_in_condtion") - self.horizontalLayout_36.addWidget(self.checkBox_basic_in_condtion) - self.comboBox_basic_condition_meta = QtWidgets.QComboBox(self.tab_12) - self.comboBox_basic_condition_meta.setEnabled(False) - self.comboBox_basic_condition_meta.setObjectName("comboBox_basic_condition_meta") - self.horizontalLayout_36.addWidget(self.comboBox_basic_condition_meta) - self.horizontalLayout_68 = QtWidgets.QHBoxLayout() - self.horizontalLayout_68.setObjectName("horizontalLayout_68") - self.comboBox_basic_condition_group = QtWidgets.QComboBox(self.tab_12) - self.comboBox_basic_condition_group.setEnabled(False) - self.comboBox_basic_condition_group.setObjectName("comboBox_basic_condition_group") - self.horizontalLayout_68.addWidget(self.comboBox_basic_condition_group) - self.horizontalLayout_36.addLayout(self.horizontalLayout_68) - self.gridLayout_35.addLayout(self.horizontalLayout_36, 2, 1, 1, 1) + sizePolicy.setHeightForWidth(self.checkBox_show_basic_plot_settings.sizePolicy().hasHeightForWidth()) + self.checkBox_show_basic_plot_settings.setSizePolicy(sizePolicy) + self.checkBox_show_basic_plot_settings.setObjectName("checkBox_show_basic_plot_settings") + self.gridLayout_26.addWidget(self.checkBox_show_basic_plot_settings, 10, 0, 1, 1) self.line_7 = QtWidgets.QFrame(self.tab_12) self.line_7.setFrameShape(QtWidgets.QFrame.HLine) self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_7.setObjectName("line_7") - self.gridLayout_35.addWidget(self.line_7, 1, 0, 1, 4) - self.horizontalLayout_35 = QtWidgets.QHBoxLayout() - self.horizontalLayout_35.setObjectName("horizontalLayout_35") - self.label_70 = QtWidgets.QLabel(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) - self.label_70.setSizePolicy(sizePolicy) - self.label_70.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_70.setObjectName("label_70") - self.horizontalLayout_35.addWidget(self.label_70) - self.comboBox_table4pca = QtWidgets.QComboBox(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_table4pca.sizePolicy().hasHeightForWidth()) - self.comboBox_table4pca.setSizePolicy(sizePolicy) - self.comboBox_table4pca.setObjectName("comboBox_table4pca") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.horizontalLayout_35.addWidget(self.comboBox_table4pca) - self.label_146 = QtWidgets.QLabel(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_146.sizePolicy().hasHeightForWidth()) - self.label_146.setSizePolicy(sizePolicy) - self.label_146.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_146.setObjectName("label_146") - self.horizontalLayout_35.addWidget(self.label_146) - self.comboBox_basic_pca_meta = QtWidgets.QComboBox(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_pca_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_pca_meta.setSizePolicy(sizePolicy) - self.comboBox_basic_pca_meta.setObjectName("comboBox_basic_pca_meta") - self.horizontalLayout_35.addWidget(self.comboBox_basic_pca_meta) - self.gridLayout_35.addLayout(self.horizontalLayout_35, 0, 0, 1, 2) - self.verticalLayout_basic_pca_group = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_pca_group.setObjectName("verticalLayout_basic_pca_group") - self.gridLayout_35.addLayout(self.verticalLayout_basic_pca_group, 2, 2, 1, 2) - self.verticalLayout_basic_pca_sample = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_pca_sample.setObjectName("verticalLayout_basic_pca_sample") - self.gridLayout_35.addLayout(self.verticalLayout_basic_pca_sample, 3, 1, 1, 3) - self.horizontalLayout_6 = QtWidgets.QHBoxLayout() - self.horizontalLayout_6.setObjectName("horizontalLayout_6") - self.label_142 = QtWidgets.QLabel(self.tab_12) - self.label_142.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_142.setObjectName("label_142") - self.horizontalLayout_6.addWidget(self.label_142) - self.comboBox_sub_meta_pca = QtWidgets.QComboBox(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_sub_meta_pca.sizePolicy().hasHeightForWidth()) - self.comboBox_sub_meta_pca.setSizePolicy(sizePolicy) - self.comboBox_sub_meta_pca.setObjectName("comboBox_sub_meta_pca") - self.comboBox_sub_meta_pca.addItem("") - self.horizontalLayout_6.addWidget(self.comboBox_sub_meta_pca) - self.gridLayout_35.addLayout(self.horizontalLayout_6, 0, 2, 1, 1) - self.gridLayout_26.addLayout(self.gridLayout_35, 0, 0, 1, 1) - self.toolBox_4 = QtWidgets.QToolBox(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.toolBox_4.sizePolicy().hasHeightForWidth()) - self.toolBox_4.setSizePolicy(sizePolicy) - self.toolBox_4.setMinimumSize(QtCore.QSize(0, 200)) - self.toolBox_4.setMaximumSize(QtCore.QSize(16777215, 430)) - self.toolBox_4.setObjectName("toolBox_4") - self.page_10 = QtWidgets.QWidget() - self.page_10.setGeometry(QtCore.QRect(0, 0, 287, 188)) - self.page_10.setObjectName("page_10") - self.gridLayout_40 = QtWidgets.QGridLayout(self.page_10) + self.gridLayout_26.addWidget(self.line_7, 1, 0, 1, 3) + self.groupBox_basic_plot = QtWidgets.QGroupBox(self.tab_12) + self.groupBox_basic_plot.setMaximumSize(QtCore.QSize(16777215, 250)) + self.groupBox_basic_plot.setObjectName("groupBox_basic_plot") + self.gridLayout_40 = QtWidgets.QGridLayout(self.groupBox_basic_plot) self.gridLayout_40.setObjectName("gridLayout_40") - self.gridLayout_54 = QtWidgets.QGridLayout() - self.gridLayout_54.setObjectName("gridLayout_54") - self.pushButton_plot_corr = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_corr.setEnabled(False) - self.pushButton_plot_corr.setObjectName("pushButton_plot_corr") - self.gridLayout_54.addWidget(self.pushButton_plot_corr, 1, 1, 1, 1) - self.pushButton_basic_plot_number_bar = QtWidgets.QPushButton(self.page_10) - self.pushButton_basic_plot_number_bar.setEnabled(False) - self.pushButton_basic_plot_number_bar.setObjectName("pushButton_basic_plot_number_bar") - self.gridLayout_54.addWidget(self.pushButton_basic_plot_number_bar, 2, 1, 1, 1) - self.label_170 = QtWidgets.QLabel(self.page_10) - self.label_170.setObjectName("label_170") - self.gridLayout_54.addWidget(self.label_170, 2, 0, 1, 1) - self.pushButton_plot_box_sns = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_box_sns.setEnabled(False) - self.pushButton_plot_box_sns.setObjectName("pushButton_plot_box_sns") - self.gridLayout_54.addWidget(self.pushButton_plot_box_sns, 2, 2, 1, 1) - self.pushButton_plot_beta_div = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_beta_div.setEnabled(False) - self.pushButton_plot_beta_div.setObjectName("pushButton_plot_beta_div") - self.gridLayout_54.addWidget(self.pushButton_plot_beta_div, 3, 2, 1, 1) - self.pushButton_plot_pca_js = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_pca_js.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_pca_js.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_pca_js.setSizePolicy(sizePolicy) - self.pushButton_plot_pca_js.setObjectName("pushButton_plot_pca_js") - self.gridLayout_54.addWidget(self.pushButton_plot_pca_js, 0, 2, 1, 1) - self.label_121 = QtWidgets.QLabel(self.page_10) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_121.sizePolicy().hasHeightForWidth()) - self.label_121.setSizePolicy(sizePolicy) - self.label_121.setObjectName("label_121") - self.gridLayout_54.addWidget(self.label_121, 0, 0, 1, 1) - self.label_171 = QtWidgets.QLabel(self.page_10) - self.label_171.setObjectName("label_171") - self.gridLayout_54.addWidget(self.label_171, 3, 0, 1, 1) - self.pushButton_plot_alpha_div = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_alpha_div.setEnabled(False) - self.pushButton_plot_alpha_div.setObjectName("pushButton_plot_alpha_div") - self.gridLayout_54.addWidget(self.pushButton_plot_alpha_div, 3, 1, 1, 1) - self.pushButton_plot_pca_sns = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_pca_sns.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_pca_sns.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_pca_sns.setSizePolicy(sizePolicy) - self.pushButton_plot_pca_sns.setObjectName("pushButton_plot_pca_sns") - self.gridLayout_54.addWidget(self.pushButton_plot_pca_sns, 0, 1, 1, 1) - self.label_119 = QtWidgets.QLabel(self.page_10) - self.label_119.setObjectName("label_119") - self.gridLayout_54.addWidget(self.label_119, 1, 0, 1, 1) - self.pushButton_plot_basic_treemap = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_basic_treemap.setEnabled(False) - self.pushButton_plot_basic_treemap.setObjectName("pushButton_plot_basic_treemap") - self.gridLayout_54.addWidget(self.pushButton_plot_basic_treemap, 4, 1, 1, 1) - self.pushButton_plot_sunburst = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_sunburst.setEnabled(False) - self.pushButton_plot_sunburst.setObjectName("pushButton_plot_sunburst") - self.gridLayout_54.addWidget(self.pushButton_plot_sunburst, 4, 2, 1, 1) - self.label_172 = QtWidgets.QLabel(self.page_10) - self.label_172.setObjectName("label_172") - self.gridLayout_54.addWidget(self.label_172, 4, 0, 1, 1) - self.pushButton_plot_basic_sankey = QtWidgets.QPushButton(self.page_10) - self.pushButton_plot_basic_sankey.setEnabled(False) - self.pushButton_plot_basic_sankey.setObjectName("pushButton_plot_basic_sankey") - self.gridLayout_54.addWidget(self.pushButton_plot_basic_sankey, 5, 1, 1, 1) - self.label_173 = QtWidgets.QLabel(self.page_10) - self.label_173.setObjectName("label_173") - self.gridLayout_54.addWidget(self.label_173, 5, 0, 1, 1) - self.gridLayout_40.addLayout(self.gridLayout_54, 0, 0, 1, 1) - self.toolBox_4.addItem(self.page_10, "") - self.page_11 = QtWidgets.QWidget() - self.page_11.setGeometry(QtCore.QRect(0, 0, 660, 232)) - self.page_11.setObjectName("page_11") - self.gridLayout_34 = QtWidgets.QGridLayout(self.page_11) - self.gridLayout_34.setObjectName("gridLayout_34") - self.label_169 = QtWidgets.QLabel(self.page_11) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_169.setFont(font) - self.label_169.setObjectName("label_169") - self.gridLayout_34.addWidget(self.label_169, 6, 0, 1, 1) - self.label_137 = QtWidgets.QLabel(self.page_11) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_137.setFont(font) - self.label_137.setObjectName("label_137") - self.gridLayout_34.addWidget(self.label_137, 8, 0, 1, 1) - self.horizontalLayout_33 = QtWidgets.QHBoxLayout() - self.horizontalLayout_33.setObjectName("horizontalLayout_33") - self.label_107 = QtWidgets.QLabel(self.page_11) + self.scrollArea = QtWidgets.QScrollArea(self.groupBox_basic_plot) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_107.sizePolicy().hasHeightForWidth()) - self.label_107.setSizePolicy(sizePolicy) - self.label_107.setToolTip("") - self.label_107.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_107.setObjectName("label_107") - self.horizontalLayout_33.addWidget(self.label_107) - self.spinBox_basic_pca_label_font_size = QtWidgets.QSpinBox(self.page_11) - self.spinBox_basic_pca_label_font_size.setMinimum(1) - self.spinBox_basic_pca_label_font_size.setMaximum(999) - self.spinBox_basic_pca_label_font_size.setProperty("value", 10) - self.spinBox_basic_pca_label_font_size.setObjectName("spinBox_basic_pca_label_font_size") - self.horizontalLayout_33.addWidget(self.spinBox_basic_pca_label_font_size) - self.gridLayout_34.addLayout(self.horizontalLayout_33, 1, 1, 1, 1) - self.horizontalLayout_79 = QtWidgets.QHBoxLayout() - self.horizontalLayout_79.setObjectName("horizontalLayout_79") - self.checkBox_pca_if_adjust_pca_label = QtWidgets.QCheckBox(self.page_11) - self.checkBox_pca_if_adjust_pca_label.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_pca_if_adjust_pca_label.sizePolicy().hasHeightForWidth()) - self.checkBox_pca_if_adjust_pca_label.setSizePolicy(sizePolicy) - self.checkBox_pca_if_adjust_pca_label.setObjectName("checkBox_pca_if_adjust_pca_label") - self.horizontalLayout_79.addWidget(self.checkBox_pca_if_adjust_pca_label) - self.gridLayout_34.addLayout(self.horizontalLayout_79, 3, 1, 1, 1) - self.label_122 = QtWidgets.QLabel(self.page_11) + sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth()) + self.scrollArea.setSizePolicy(sizePolicy) + self.scrollArea.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 999, 232)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_34 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_34.setObjectName("gridLayout_34") + self.label_122 = QtWidgets.QLabel(self.scrollAreaWidgetContents) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_122.setFont(font) self.label_122.setObjectName("label_122") self.gridLayout_34.addWidget(self.label_122, 0, 0, 1, 1) - self.horizontalLayout_4 = QtWidgets.QHBoxLayout() - self.horizontalLayout_4.setObjectName("horizontalLayout_4") - self.label_118 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_118.sizePolicy().hasHeightForWidth()) - self.label_118.setSizePolicy(sizePolicy) - self.label_118.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_118.setObjectName("label_118") - self.horizontalLayout_4.addWidget(self.label_118) - self.comboBox_beta_div_method = QtWidgets.QComboBox(self.page_11) - self.comboBox_beta_div_method.setEnabled(True) - self.comboBox_beta_div_method.setObjectName("comboBox_beta_div_method") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.horizontalLayout_4.addWidget(self.comboBox_beta_div_method) - self.gridLayout_34.addLayout(self.horizontalLayout_4, 7, 2, 1, 1) - self.checkBox_basic_plot_number_plot_sample = QtWidgets.QCheckBox(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_basic_plot_number_plot_sample.sizePolicy().hasHeightForWidth()) - self.checkBox_basic_plot_number_plot_sample.setSizePolicy(sizePolicy) - self.checkBox_basic_plot_number_plot_sample.setAcceptDrops(False) - self.checkBox_basic_plot_number_plot_sample.setToolTip("") - self.checkBox_basic_plot_number_plot_sample.setObjectName("checkBox_basic_plot_number_plot_sample") - self.gridLayout_34.addWidget(self.checkBox_basic_plot_number_plot_sample, 5, 1, 1, 1) self.horizontalLayout_32 = QtWidgets.QHBoxLayout() self.horizontalLayout_32.setObjectName("horizontalLayout_32") - self.label_94 = QtWidgets.QLabel(self.page_11) + self.label_94 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -967,7 +728,7 @@ def setupUi(self, metaX_main): self.label_94.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_94.setObjectName("label_94") self.horizontalLayout_32.addWidget(self.label_94) - self.spinBox_basic_pca_width = QtWidgets.QSpinBox(self.page_11) + self.spinBox_basic_pca_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -977,7 +738,7 @@ def setupUi(self, metaX_main): self.spinBox_basic_pca_width.setProperty("value", 10) self.spinBox_basic_pca_width.setObjectName("spinBox_basic_pca_width") self.horizontalLayout_32.addWidget(self.spinBox_basic_pca_width) - self.label_101 = QtWidgets.QLabel(self.page_11) + self.label_101 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -986,7 +747,7 @@ def setupUi(self, metaX_main): self.label_101.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_101.setObjectName("label_101") self.horizontalLayout_32.addWidget(self.label_101) - self.spinBox_basic_pca_height = QtWidgets.QSpinBox(self.page_11) + self.spinBox_basic_pca_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -997,138 +758,58 @@ def setupUi(self, metaX_main): self.spinBox_basic_pca_height.setObjectName("spinBox_basic_pca_height") self.horizontalLayout_32.addWidget(self.spinBox_basic_pca_height) self.gridLayout_34.addLayout(self.horizontalLayout_32, 0, 1, 1, 1) - self.horizontalLayout_3 = QtWidgets.QHBoxLayout() - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.checkBox_corr_cluster = QtWidgets.QCheckBox(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_25 = QtWidgets.QHBoxLayout() + self.horizontalLayout_25.setObjectName("horizontalLayout_25") + self.label_159 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_corr_cluster.sizePolicy().hasHeightForWidth()) - self.checkBox_corr_cluster.setSizePolicy(sizePolicy) - self.checkBox_corr_cluster.setChecked(True) - self.checkBox_corr_cluster.setObjectName("checkBox_corr_cluster") - self.horizontalLayout_3.addWidget(self.checkBox_corr_cluster) - self.label_192 = QtWidgets.QLabel(self.page_11) + sizePolicy.setHeightForWidth(self.label_159.sizePolicy().hasHeightForWidth()) + self.label_159.setSizePolicy(sizePolicy) + self.label_159.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_159.setObjectName("label_159") + self.horizontalLayout_25.addWidget(self.label_159) + self.spinBox_basic_legend_col_num = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_legend_col_num.setMinimum(0) + self.spinBox_basic_legend_col_num.setProperty("value", 1) + self.spinBox_basic_legend_col_num.setObjectName("spinBox_basic_legend_col_num") + self.horizontalLayout_25.addWidget(self.spinBox_basic_legend_col_num) + self.label_151 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_192.sizePolicy().hasHeightForWidth()) - self.label_192.setSizePolicy(sizePolicy) - self.label_192.setObjectName("label_192") - self.horizontalLayout_3.addWidget(self.label_192) - self.comboBox_basic_corr_cmap = QtWidgets.QComboBox(self.page_11) - self.comboBox_basic_corr_cmap.setObjectName("comboBox_basic_corr_cmap") - self.horizontalLayout_3.addWidget(self.comboBox_basic_corr_cmap) - self.gridLayout_34.addLayout(self.horizontalLayout_3, 4, 1, 1, 1) - self.label_168 = QtWidgets.QLabel(self.page_11) + sizePolicy.setHeightForWidth(self.label_151.sizePolicy().hasHeightForWidth()) + self.label_151.setSizePolicy(sizePolicy) + self.label_151.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_151.setObjectName("label_151") + self.horizontalLayout_25.addWidget(self.label_151) + self.comboBox_basic_theme = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_basic_theme.setEditable(False) + self.comboBox_basic_theme.setObjectName("comboBox_basic_theme") + self.horizontalLayout_25.addWidget(self.comboBox_basic_theme) + self.gridLayout_34.addLayout(self.horizontalLayout_25, 0, 2, 1, 1) + self.horizontalLayout_33 = QtWidgets.QHBoxLayout() + self.horizontalLayout_33.setObjectName("horizontalLayout_33") + self.label_107 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_168.sizePolicy().hasHeightForWidth()) - self.label_168.setSizePolicy(sizePolicy) - self.label_168.setMinimumSize(QtCore.QSize(150, 0)) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_168.setFont(font) - self.label_168.setObjectName("label_168") - self.gridLayout_34.addWidget(self.label_168, 4, 0, 1, 1) - self.label_167 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_167.sizePolicy().hasHeightForWidth()) - self.label_167.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_167.setFont(font) - self.label_167.setObjectName("label_167") - self.gridLayout_34.addWidget(self.label_167, 7, 0, 1, 1) - self.checkBox_box_if_show_fliers = QtWidgets.QCheckBox(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_box_if_show_fliers.sizePolicy().hasHeightForWidth()) - self.checkBox_box_if_show_fliers.setSizePolicy(sizePolicy) - self.checkBox_box_if_show_fliers.setObjectName("checkBox_box_if_show_fliers") - self.gridLayout_34.addWidget(self.checkBox_box_if_show_fliers, 6, 2, 1, 1) - self.horizontalLayout_25 = QtWidgets.QHBoxLayout() - self.horizontalLayout_25.setObjectName("horizontalLayout_25") - self.label_159 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_159.sizePolicy().hasHeightForWidth()) - self.label_159.setSizePolicy(sizePolicy) - self.label_159.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_159.setObjectName("label_159") - self.horizontalLayout_25.addWidget(self.label_159) - self.spinBox_basic_legend_col_num = QtWidgets.QSpinBox(self.page_11) - self.spinBox_basic_legend_col_num.setMinimum(0) - self.spinBox_basic_legend_col_num.setProperty("value", 1) - self.spinBox_basic_legend_col_num.setObjectName("spinBox_basic_legend_col_num") - self.horizontalLayout_25.addWidget(self.spinBox_basic_legend_col_num) - self.label_151 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_151.sizePolicy().hasHeightForWidth()) - self.label_151.setSizePolicy(sizePolicy) - self.label_151.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_151.setObjectName("label_151") - self.horizontalLayout_25.addWidget(self.label_151) - self.comboBox_basic_theme = QtWidgets.QComboBox(self.page_11) - self.comboBox_basic_theme.setEditable(False) - self.comboBox_basic_theme.setObjectName("comboBox_basic_theme") - self.horizontalLayout_25.addWidget(self.comboBox_basic_theme) - self.gridLayout_34.addLayout(self.horizontalLayout_25, 0, 2, 1, 1) - self.line_15 = QtWidgets.QFrame(self.page_11) - self.line_15.setFrameShape(QtWidgets.QFrame.HLine) - self.line_15.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_15.setObjectName("line_15") - self.gridLayout_34.addWidget(self.line_15, 2, 1, 1, 2) - self.label_155 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_155.sizePolicy().hasHeightForWidth()) - self.label_155.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_155.setFont(font) - self.label_155.setObjectName("label_155") - self.gridLayout_34.addWidget(self.label_155, 5, 0, 1, 1) - self.horizontalLayout_10 = QtWidgets.QHBoxLayout() - self.horizontalLayout_10.setObjectName("horizontalLayout_10") - self.label_117 = QtWidgets.QLabel(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_117.sizePolicy().hasHeightForWidth()) - self.label_117.setSizePolicy(sizePolicy) - self.label_117.setObjectName("label_117") - self.horizontalLayout_10.addWidget(self.label_117) - self.checkBox_alpha_div_plot_all_samples = QtWidgets.QCheckBox(self.page_11) - self.checkBox_alpha_div_plot_all_samples.setObjectName("checkBox_alpha_div_plot_all_samples") - self.horizontalLayout_10.addWidget(self.checkBox_alpha_div_plot_all_samples) - self.comboBox_alpha_div_method = QtWidgets.QComboBox(self.page_11) - self.comboBox_alpha_div_method.setEnabled(True) - self.comboBox_alpha_div_method.setObjectName("comboBox_alpha_div_method") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.comboBox_alpha_div_method.addItem("") - self.horizontalLayout_10.addWidget(self.comboBox_alpha_div_method) - self.gridLayout_34.addLayout(self.horizontalLayout_10, 7, 1, 1, 1) + sizePolicy.setHeightForWidth(self.label_107.sizePolicy().hasHeightForWidth()) + self.label_107.setSizePolicy(sizePolicy) + self.label_107.setToolTip("") + self.label_107.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_107.setObjectName("label_107") + self.horizontalLayout_33.addWidget(self.label_107) + self.spinBox_basic_pca_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_pca_label_font_size.setMinimum(1) + self.spinBox_basic_pca_label_font_size.setMaximum(999) + self.spinBox_basic_pca_label_font_size.setProperty("value", 10) + self.spinBox_basic_pca_label_font_size.setObjectName("spinBox_basic_pca_label_font_size") + self.horizontalLayout_33.addWidget(self.spinBox_basic_pca_label_font_size) + self.gridLayout_34.addLayout(self.horizontalLayout_33, 1, 1, 1, 1) self.horizontalLayout_34 = QtWidgets.QHBoxLayout() self.horizontalLayout_34.setObjectName("horizontalLayout_34") - self.checkBox_pca_if_show_group_name_in_label = QtWidgets.QCheckBox(self.page_11) + self.checkBox_pca_if_show_group_name_in_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) self.checkBox_pca_if_show_group_name_in_label.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -1139,7 +820,7 @@ def setupUi(self, metaX_main): self.checkBox_pca_if_show_group_name_in_label.setChecked(True) self.checkBox_pca_if_show_group_name_in_label.setObjectName("checkBox_pca_if_show_group_name_in_label") self.horizontalLayout_34.addWidget(self.checkBox_pca_if_show_group_name_in_label) - self.checkBox_pca_if_show_lable = QtWidgets.QCheckBox(self.page_11) + self.checkBox_pca_if_show_lable = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1149,9 +830,33 @@ def setupUi(self, metaX_main): self.checkBox_pca_if_show_lable.setObjectName("checkBox_pca_if_show_lable") self.horizontalLayout_34.addWidget(self.checkBox_pca_if_show_lable) self.gridLayout_34.addLayout(self.horizontalLayout_34, 1, 2, 1, 1) + self.line_15 = QtWidgets.QFrame(self.scrollAreaWidgetContents) + self.line_15.setFrameShape(QtWidgets.QFrame.HLine) + self.line_15.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_15.setObjectName("line_15") + self.gridLayout_34.addWidget(self.line_15, 2, 1, 1, 2) + self.label_179 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_179.setFont(font) + self.label_179.setObjectName("label_179") + self.gridLayout_34.addWidget(self.label_179, 3, 0, 1, 1) + self.horizontalLayout_79 = QtWidgets.QHBoxLayout() + self.horizontalLayout_79.setObjectName("horizontalLayout_79") + self.checkBox_pca_if_adjust_pca_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_pca_if_adjust_pca_label.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_pca_if_adjust_pca_label.sizePolicy().hasHeightForWidth()) + self.checkBox_pca_if_adjust_pca_label.setSizePolicy(sizePolicy) + self.checkBox_pca_if_adjust_pca_label.setObjectName("checkBox_pca_if_adjust_pca_label") + self.horizontalLayout_79.addWidget(self.checkBox_pca_if_adjust_pca_label) + self.gridLayout_34.addLayout(self.horizontalLayout_79, 3, 1, 1, 1) self.horizontalLayout_63 = QtWidgets.QHBoxLayout() self.horizontalLayout_63.setObjectName("horizontalLayout_63") - self.label_116 = QtWidgets.QLabel(self.page_11) + self.label_116 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1160,7 +865,7 @@ def setupUi(self, metaX_main): self.label_116.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_116.setObjectName("label_116") self.horizontalLayout_63.addWidget(self.label_116) - self.doubleSpinBox_basic_pca_label_font_transparency = QtWidgets.QDoubleSpinBox(self.page_11) + self.doubleSpinBox_basic_pca_label_font_transparency = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents) self.doubleSpinBox_basic_pca_label_font_transparency.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -1172,11 +877,11 @@ def setupUi(self, metaX_main): self.doubleSpinBox_basic_pca_label_font_transparency.setProperty("value", 0.6) self.doubleSpinBox_basic_pca_label_font_transparency.setObjectName("doubleSpinBox_basic_pca_label_font_transparency") self.horizontalLayout_63.addWidget(self.doubleSpinBox_basic_pca_label_font_transparency) - self.label_160 = QtWidgets.QLabel(self.page_11) + self.label_160 = QtWidgets.QLabel(self.scrollAreaWidgetContents) self.label_160.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_160.setObjectName("label_160") self.horizontalLayout_63.addWidget(self.label_160) - self.spinBox_basic_dot_size = QtWidgets.QSpinBox(self.page_11) + self.spinBox_basic_dot_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) self.spinBox_basic_dot_size.setMinimum(1) self.spinBox_basic_dot_size.setMaximum(1000) self.spinBox_basic_dot_size.setSingleStep(10) @@ -1184,164 +889,381 @@ def setupUi(self, metaX_main): self.spinBox_basic_dot_size.setObjectName("spinBox_basic_dot_size") self.horizontalLayout_63.addWidget(self.spinBox_basic_dot_size) self.gridLayout_34.addLayout(self.horizontalLayout_63, 3, 2, 1, 1) - self.horizontalLayout_20 = QtWidgets.QHBoxLayout() - self.horizontalLayout_20.setObjectName("horizontalLayout_20") - self.checkBox_sunburst_show_all_lables = QtWidgets.QCheckBox(self.page_11) - self.checkBox_sunburst_show_all_lables.setEnabled(False) - self.checkBox_sunburst_show_all_lables.setChecked(True) - self.checkBox_sunburst_show_all_lables.setObjectName("checkBox_sunburst_show_all_lables") - self.horizontalLayout_20.addWidget(self.checkBox_sunburst_show_all_lables) - self.gridLayout_34.addLayout(self.horizontalLayout_20, 8, 1, 1, 1) - self.checkBox_box_plot_samples = QtWidgets.QCheckBox(self.page_11) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.label_168 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_box_plot_samples.sizePolicy().hasHeightForWidth()) - self.checkBox_box_plot_samples.setSizePolicy(sizePolicy) - self.checkBox_box_plot_samples.setObjectName("checkBox_box_plot_samples") - self.gridLayout_34.addWidget(self.checkBox_box_plot_samples, 6, 1, 1, 1) - self.label_179 = QtWidgets.QLabel(self.page_11) + sizePolicy.setHeightForWidth(self.label_168.sizePolicy().hasHeightForWidth()) + self.label_168.setSizePolicy(sizePolicy) + self.label_168.setMinimumSize(QtCore.QSize(150, 0)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) - self.label_179.setFont(font) - self.label_179.setObjectName("label_179") - self.gridLayout_34.addWidget(self.label_179, 3, 0, 1, 1) + self.label_168.setFont(font) + self.label_168.setObjectName("label_168") + self.gridLayout_34.addWidget(self.label_168, 4, 0, 1, 1) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.checkBox_corr_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_corr_cluster.sizePolicy().hasHeightForWidth()) + self.checkBox_corr_cluster.setSizePolicy(sizePolicy) + self.checkBox_corr_cluster.setChecked(True) + self.checkBox_corr_cluster.setObjectName("checkBox_corr_cluster") + self.horizontalLayout_3.addWidget(self.checkBox_corr_cluster) + self.label_192 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_192.sizePolicy().hasHeightForWidth()) + self.label_192.setSizePolicy(sizePolicy) + self.label_192.setObjectName("label_192") + self.horizontalLayout_3.addWidget(self.label_192) + self.comboBox_basic_corr_cmap = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_basic_corr_cmap.setObjectName("comboBox_basic_corr_cmap") + self.horizontalLayout_3.addWidget(self.comboBox_basic_corr_cmap) + self.gridLayout_34.addLayout(self.horizontalLayout_3, 4, 1, 1, 1) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") - self.label_129 = QtWidgets.QLabel(self.page_11) + self.label_129 = QtWidgets.QLabel(self.scrollAreaWidgetContents) self.label_129.setObjectName("label_129") self.horizontalLayout_5.addWidget(self.label_129) - self.checkBox_corr_show_all_labels_x = QtWidgets.QCheckBox(self.page_11) + self.checkBox_corr_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) self.checkBox_corr_show_all_labels_x.setObjectName("checkBox_corr_show_all_labels_x") self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_x) - self.checkBox_corr_show_all_labels_y = QtWidgets.QCheckBox(self.page_11) + self.checkBox_corr_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) self.checkBox_corr_show_all_labels_y.setObjectName("checkBox_corr_show_all_labels_y") self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_y) self.gridLayout_34.addLayout(self.horizontalLayout_5, 4, 2, 1, 1) - self.toolBox_4.addItem(self.page_11, "") - self.gridLayout_26.addWidget(self.toolBox_4, 2, 0, 1, 1) - self.line_10 = QtWidgets.QFrame(self.tab_12) - self.line_10.setFrameShape(QtWidgets.QFrame.HLine) - self.line_10.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_10.setObjectName("line_10") - self.gridLayout_26.addWidget(self.line_10, 1, 0, 1, 1) - self.tabWidget_4.addTab(self.tab_12, "") - self.tab_13 = QtWidgets.QWidget() - self.tab_13.setObjectName("tab_13") - self.gridLayout_23 = QtWidgets.QGridLayout(self.tab_13) - self.gridLayout_23.setObjectName("gridLayout_23") - self.label_34 = QtWidgets.QLabel(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + self.label_155 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_34.sizePolicy().hasHeightForWidth()) - self.label_34.setSizePolicy(sizePolicy) - self.label_34.setObjectName("label_34") - self.gridLayout_23.addWidget(self.label_34, 6, 0, 1, 1) - self.pushButton_basic_heatmap_add_top = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add_top.setEnabled(False) + sizePolicy.setHeightForWidth(self.label_155.sizePolicy().hasHeightForWidth()) + self.label_155.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_155.setFont(font) + self.label_155.setObjectName("label_155") + self.gridLayout_34.addWidget(self.label_155, 5, 0, 1, 1) + self.checkBox_basic_plot_number_plot_sample = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_top.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add_top.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add_top.setObjectName("pushButton_basic_heatmap_add_top") - self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add_top, 6, 5, 1, 1) - self.radioButton_basic_heatmap_sample = QtWidgets.QRadioButton(self.tab_13) - self.radioButton_basic_heatmap_sample.setObjectName("radioButton_basic_heatmap_sample") - self.gridLayout_23.addWidget(self.radioButton_basic_heatmap_sample, 3, 0, 1, 1) - self.horizontalLayout_26 = QtWidgets.QHBoxLayout() - self.horizontalLayout_26.setObjectName("horizontalLayout_26") - self.checkBox_basic_heatmap_in_condition = QtWidgets.QCheckBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.checkBox_basic_plot_number_plot_sample.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_plot_number_plot_sample.setSizePolicy(sizePolicy) + self.checkBox_basic_plot_number_plot_sample.setAcceptDrops(False) + self.checkBox_basic_plot_number_plot_sample.setToolTip("") + self.checkBox_basic_plot_number_plot_sample.setObjectName("checkBox_basic_plot_number_plot_sample") + self.gridLayout_34.addWidget(self.checkBox_basic_plot_number_plot_sample, 5, 1, 1, 1) + self.label_169 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_169.setFont(font) + self.label_169.setObjectName("label_169") + self.gridLayout_34.addWidget(self.label_169, 6, 0, 1, 1) + self.checkBox_box_plot_samples = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_basic_heatmap_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_basic_heatmap_in_condition.setSizePolicy(sizePolicy) - self.checkBox_basic_heatmap_in_condition.setObjectName("checkBox_basic_heatmap_in_condition") - self.horizontalLayout_26.addWidget(self.checkBox_basic_heatmap_in_condition) - self.comboBox_basic_heatmap_condition_meta = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_condition_meta.setEnabled(False) - self.comboBox_basic_heatmap_condition_meta.setObjectName("comboBox_basic_heatmap_condition_meta") - self.horizontalLayout_26.addWidget(self.comboBox_basic_heatmap_condition_meta) - self.horizontalLayout_67 = QtWidgets.QHBoxLayout() - self.horizontalLayout_67.setObjectName("horizontalLayout_67") - self.comboBox_basic_heatmap_condition_group = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_condition_group.setEnabled(False) + sizePolicy.setHeightForWidth(self.checkBox_box_plot_samples.sizePolicy().hasHeightForWidth()) + self.checkBox_box_plot_samples.setSizePolicy(sizePolicy) + self.checkBox_box_plot_samples.setObjectName("checkBox_box_plot_samples") + self.gridLayout_34.addWidget(self.checkBox_box_plot_samples, 6, 1, 1, 1) + self.checkBox_box_if_show_fliers = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_heatmap_condition_group.setSizePolicy(sizePolicy) - self.comboBox_basic_heatmap_condition_group.setObjectName("comboBox_basic_heatmap_condition_group") - self.horizontalLayout_67.addWidget(self.comboBox_basic_heatmap_condition_group) - self.horizontalLayout_26.addLayout(self.horizontalLayout_67) - self.gridLayout_23.addLayout(self.horizontalLayout_26, 2, 1, 1, 2) - self.verticalLayout_basic_heatmap_sample = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_heatmap_sample.setObjectName("verticalLayout_basic_heatmap_sample") - self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_sample, 3, 1, 1, 5) - self.line_12 = QtWidgets.QFrame(self.tab_13) - self.line_12.setFrameShape(QtWidgets.QFrame.HLine) - self.line_12.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_12.setObjectName("line_12") - self.gridLayout_23.addWidget(self.line_12, 4, 0, 1, 6) - self.label_32 = QtWidgets.QLabel(self.tab_13) - self.label_32.setObjectName("label_32") - self.gridLayout_23.addWidget(self.label_32, 5, 0, 1, 1) - self.line_8 = QtWidgets.QFrame(self.tab_13) - self.line_8.setFrameShape(QtWidgets.QFrame.HLine) - self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_8.setObjectName("line_8") - self.gridLayout_23.addWidget(self.line_8, 1, 0, 1, 6) - self.horizontalLayout_29 = QtWidgets.QHBoxLayout() - self.horizontalLayout_29.setObjectName("horizontalLayout_29") - self.label_67 = QtWidgets.QLabel(self.tab_13) + sizePolicy.setHeightForWidth(self.checkBox_box_if_show_fliers.sizePolicy().hasHeightForWidth()) + self.checkBox_box_if_show_fliers.setSizePolicy(sizePolicy) + self.checkBox_box_if_show_fliers.setObjectName("checkBox_box_if_show_fliers") + self.gridLayout_34.addWidget(self.checkBox_box_if_show_fliers, 6, 2, 1, 1) + self.label_167 = QtWidgets.QLabel(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) - self.label_67.setSizePolicy(sizePolicy) - self.label_67.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_67.setObjectName("label_67") - self.horizontalLayout_29.addWidget(self.label_67) - self.spinBox_basic_heatmap_top_num = QtWidgets.QSpinBox(self.tab_13) + sizePolicy.setHeightForWidth(self.label_167.sizePolicy().hasHeightForWidth()) + self.label_167.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_167.setFont(font) + self.label_167.setObjectName("label_167") + self.gridLayout_34.addWidget(self.label_167, 7, 0, 1, 1) + self.horizontalLayout_10 = QtWidgets.QHBoxLayout() + self.horizontalLayout_10.setObjectName("horizontalLayout_10") + self.label_117 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_117.sizePolicy().hasHeightForWidth()) + self.label_117.setSizePolicy(sizePolicy) + self.label_117.setObjectName("label_117") + self.horizontalLayout_10.addWidget(self.label_117) + self.checkBox_alpha_div_plot_all_samples = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_alpha_div_plot_all_samples.setObjectName("checkBox_alpha_div_plot_all_samples") + self.horizontalLayout_10.addWidget(self.checkBox_alpha_div_plot_all_samples) + self.comboBox_alpha_div_method = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_alpha_div_method.setEnabled(True) + self.comboBox_alpha_div_method.setObjectName("comboBox_alpha_div_method") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.comboBox_alpha_div_method.addItem("") + self.horizontalLayout_10.addWidget(self.comboBox_alpha_div_method) + self.gridLayout_34.addLayout(self.horizontalLayout_10, 7, 1, 1, 1) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + self.label_118 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_118.sizePolicy().hasHeightForWidth()) + self.label_118.setSizePolicy(sizePolicy) + self.label_118.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_118.setObjectName("label_118") + self.horizontalLayout_4.addWidget(self.label_118) + self.comboBox_beta_div_method = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_beta_div_method.setEnabled(True) + self.comboBox_beta_div_method.setObjectName("comboBox_beta_div_method") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.horizontalLayout_4.addWidget(self.comboBox_beta_div_method) + self.gridLayout_34.addLayout(self.horizontalLayout_4, 7, 2, 1, 1) + self.label_137 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_137.setFont(font) + self.label_137.setObjectName("label_137") + self.gridLayout_34.addWidget(self.label_137, 8, 0, 1, 1) + self.horizontalLayout_20 = QtWidgets.QHBoxLayout() + self.horizontalLayout_20.setObjectName("horizontalLayout_20") + self.checkBox_sunburst_show_all_lables = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_sunburst_show_all_lables.setEnabled(False) + self.checkBox_sunburst_show_all_lables.setChecked(True) + self.checkBox_sunburst_show_all_lables.setObjectName("checkBox_sunburst_show_all_lables") + self.horizontalLayout_20.addWidget(self.checkBox_sunburst_show_all_lables) + self.gridLayout_34.addLayout(self.horizontalLayout_20, 8, 1, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.gridLayout_40.addWidget(self.scrollArea, 0, 0, 1, 1) + self.gridLayout_26.addWidget(self.groupBox_basic_plot, 12, 0, 1, 3) + self.gridLayout_77 = QtWidgets.QGridLayout() + self.gridLayout_77.setObjectName("gridLayout_77") + self.verticalLayout_basic_pca_group = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_pca_group.setObjectName("verticalLayout_basic_pca_group") + self.gridLayout_77.addLayout(self.verticalLayout_basic_pca_group, 0, 2, 1, 1) + self.horizontalLayout_36 = QtWidgets.QHBoxLayout() + self.horizontalLayout_36.setObjectName("horizontalLayout_36") + self.checkBox_basic_in_condtion = QtWidgets.QCheckBox(self.tab_12) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_basic_heatmap_top_num.setSizePolicy(sizePolicy) - self.spinBox_basic_heatmap_top_num.setMinimum(1) - self.spinBox_basic_heatmap_top_num.setMaximum(99999) - self.spinBox_basic_heatmap_top_num.setProperty("value", 10) - self.spinBox_basic_heatmap_top_num.setObjectName("spinBox_basic_heatmap_top_num") - self.horizontalLayout_29.addWidget(self.spinBox_basic_heatmap_top_num) - self.label_68 = QtWidgets.QLabel(self.tab_13) + sizePolicy.setHeightForWidth(self.checkBox_basic_in_condtion.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_in_condtion.setSizePolicy(sizePolicy) + self.checkBox_basic_in_condtion.setObjectName("checkBox_basic_in_condtion") + self.horizontalLayout_36.addWidget(self.checkBox_basic_in_condtion) + self.comboBox_basic_condition_meta = QtWidgets.QComboBox(self.tab_12) + self.comboBox_basic_condition_meta.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_basic_condition_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_condition_meta.setSizePolicy(sizePolicy) + self.comboBox_basic_condition_meta.setObjectName("comboBox_basic_condition_meta") + self.horizontalLayout_36.addWidget(self.comboBox_basic_condition_meta) + self.horizontalLayout_68 = QtWidgets.QHBoxLayout() + self.horizontalLayout_68.setObjectName("horizontalLayout_68") + self.comboBox_basic_condition_group = QtWidgets.QComboBox(self.tab_12) + self.comboBox_basic_condition_group.setEnabled(False) + self.comboBox_basic_condition_group.setObjectName("comboBox_basic_condition_group") + self.horizontalLayout_68.addWidget(self.comboBox_basic_condition_group) + self.horizontalLayout_36.addLayout(self.horizontalLayout_68) + self.gridLayout_77.addLayout(self.horizontalLayout_36, 0, 1, 1, 1) + self.radioButton_basic_pca_group = QtWidgets.QRadioButton(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.radioButton_basic_pca_group.sizePolicy().hasHeightForWidth()) + self.radioButton_basic_pca_group.setSizePolicy(sizePolicy) + self.radioButton_basic_pca_group.setChecked(True) + self.radioButton_basic_pca_group.setObjectName("radioButton_basic_pca_group") + self.gridLayout_77.addWidget(self.radioButton_basic_pca_group, 0, 0, 1, 1) + self.radioButton_basic_pca_sample = QtWidgets.QRadioButton(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.radioButton_basic_pca_sample.sizePolicy().hasHeightForWidth()) + self.radioButton_basic_pca_sample.setSizePolicy(sizePolicy) + self.radioButton_basic_pca_sample.setObjectName("radioButton_basic_pca_sample") + self.gridLayout_77.addWidget(self.radioButton_basic_pca_sample, 1, 0, 1, 1) + self.verticalLayout_basic_pca_sample = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_pca_sample.setObjectName("verticalLayout_basic_pca_sample") + self.gridLayout_77.addLayout(self.verticalLayout_basic_pca_sample, 1, 1, 1, 2) + self.gridLayout_26.addLayout(self.gridLayout_77, 2, 0, 1, 3) + self.gridLayout_54 = QtWidgets.QGridLayout() + self.gridLayout_54.setObjectName("gridLayout_54") + self.label_170 = QtWidgets.QLabel(self.tab_12) + self.label_170.setObjectName("label_170") + self.gridLayout_54.addWidget(self.label_170, 2, 0, 1, 1) + self.label_172 = QtWidgets.QLabel(self.tab_12) + self.label_172.setObjectName("label_172") + self.gridLayout_54.addWidget(self.label_172, 4, 0, 1, 1) + self.label_121 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_121.sizePolicy().hasHeightForWidth()) + self.label_121.setSizePolicy(sizePolicy) + self.label_121.setObjectName("label_121") + self.gridLayout_54.addWidget(self.label_121, 0, 0, 1, 1) + self.pushButton_plot_corr = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_corr.setEnabled(False) + self.pushButton_plot_corr.setObjectName("pushButton_plot_corr") + self.gridLayout_54.addWidget(self.pushButton_plot_corr, 1, 1, 1, 1) + self.pushButton_plot_pca_sns = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_pca_sns.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_pca_sns.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_pca_sns.setSizePolicy(sizePolicy) + self.pushButton_plot_pca_sns.setObjectName("pushButton_plot_pca_sns") + self.gridLayout_54.addWidget(self.pushButton_plot_pca_sns, 0, 1, 1, 1) + self.pushButton_plot_pca_js = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_pca_js.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_pca_js.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_pca_js.setSizePolicy(sizePolicy) + self.pushButton_plot_pca_js.setObjectName("pushButton_plot_pca_js") + self.gridLayout_54.addWidget(self.pushButton_plot_pca_js, 0, 2, 1, 1) + self.label_119 = QtWidgets.QLabel(self.tab_12) + self.label_119.setObjectName("label_119") + self.gridLayout_54.addWidget(self.label_119, 1, 0, 1, 1) + self.label_171 = QtWidgets.QLabel(self.tab_12) + self.label_171.setObjectName("label_171") + self.gridLayout_54.addWidget(self.label_171, 3, 0, 1, 1) + self.label_173 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_173.sizePolicy().hasHeightForWidth()) + self.label_173.setSizePolicy(sizePolicy) + self.label_173.setObjectName("label_173") + self.gridLayout_54.addWidget(self.label_173, 5, 0, 1, 1) + self.pushButton_basic_plot_number_bar = QtWidgets.QPushButton(self.tab_12) + self.pushButton_basic_plot_number_bar.setEnabled(False) + self.pushButton_basic_plot_number_bar.setObjectName("pushButton_basic_plot_number_bar") + self.gridLayout_54.addWidget(self.pushButton_basic_plot_number_bar, 2, 1, 1, 1) + self.pushButton_plot_box_sns = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_box_sns.setEnabled(False) + self.pushButton_plot_box_sns.setObjectName("pushButton_plot_box_sns") + self.gridLayout_54.addWidget(self.pushButton_plot_box_sns, 2, 2, 1, 1) + self.pushButton_plot_alpha_div = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_alpha_div.setEnabled(False) + self.pushButton_plot_alpha_div.setObjectName("pushButton_plot_alpha_div") + self.gridLayout_54.addWidget(self.pushButton_plot_alpha_div, 3, 1, 1, 1) + self.pushButton_plot_beta_div = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_beta_div.setEnabled(False) + self.pushButton_plot_beta_div.setObjectName("pushButton_plot_beta_div") + self.gridLayout_54.addWidget(self.pushButton_plot_beta_div, 3, 2, 1, 1) + self.pushButton_plot_basic_treemap = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_basic_treemap.setEnabled(False) + self.pushButton_plot_basic_treemap.setObjectName("pushButton_plot_basic_treemap") + self.gridLayout_54.addWidget(self.pushButton_plot_basic_treemap, 4, 1, 1, 1) + self.pushButton_plot_sunburst = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_sunburst.setEnabled(False) + self.pushButton_plot_sunburst.setObjectName("pushButton_plot_sunburst") + self.gridLayout_54.addWidget(self.pushButton_plot_sunburst, 4, 2, 1, 1) + self.pushButton_plot_basic_sankey = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_basic_sankey.setEnabled(False) + self.pushButton_plot_basic_sankey.setObjectName("pushButton_plot_basic_sankey") + self.gridLayout_54.addWidget(self.pushButton_plot_basic_sankey, 5, 1, 1, 1) + self.gridLayout_26.addLayout(self.gridLayout_54, 4, 0, 1, 3) + self.horizontalLayout_35 = QtWidgets.QHBoxLayout() + self.horizontalLayout_35.setObjectName("horizontalLayout_35") + self.label_70 = QtWidgets.QLabel(self.tab_12) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) - self.label_68.setSizePolicy(sizePolicy) - self.label_68.setObjectName("label_68") - self.horizontalLayout_29.addWidget(self.label_68) - self.comboBox_basic_heatmap_top_by = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_top_by.setObjectName("comboBox_basic_heatmap_top_by") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.horizontalLayout_29.addWidget(self.comboBox_basic_heatmap_top_by) - self.checkBox_basic_heatmap_top_filtered = QtWidgets.QCheckBox(self.tab_13) - self.checkBox_basic_heatmap_top_filtered.setObjectName("checkBox_basic_heatmap_top_filtered") - self.horizontalLayout_29.addWidget(self.checkBox_basic_heatmap_top_filtered) - self.gridLayout_23.addLayout(self.horizontalLayout_29, 6, 1, 1, 4) + sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) + self.label_70.setSizePolicy(sizePolicy) + self.label_70.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_70.setObjectName("label_70") + self.horizontalLayout_35.addWidget(self.label_70) + self.comboBox_table4pca = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_table4pca.sizePolicy().hasHeightForWidth()) + self.comboBox_table4pca.setSizePolicy(sizePolicy) + self.comboBox_table4pca.setObjectName("comboBox_table4pca") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.horizontalLayout_35.addWidget(self.comboBox_table4pca) + self.label_146 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_146.sizePolicy().hasHeightForWidth()) + self.label_146.setSizePolicy(sizePolicy) + self.label_146.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_146.setObjectName("label_146") + self.horizontalLayout_35.addWidget(self.label_146) + self.comboBox_basic_pca_meta = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_basic_pca_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_pca_meta.setSizePolicy(sizePolicy) + self.comboBox_basic_pca_meta.setObjectName("comboBox_basic_pca_meta") + self.horizontalLayout_35.addWidget(self.comboBox_basic_pca_meta) + self.label_142 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_142.sizePolicy().hasHeightForWidth()) + self.label_142.setSizePolicy(sizePolicy) + self.label_142.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_142.setObjectName("label_142") + self.horizontalLayout_35.addWidget(self.label_142) + self.horizontalLayout_6 = QtWidgets.QHBoxLayout() + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.comboBox_sub_meta_pca = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_sub_meta_pca.sizePolicy().hasHeightForWidth()) + self.comboBox_sub_meta_pca.setSizePolicy(sizePolicy) + self.comboBox_sub_meta_pca.setObjectName("comboBox_sub_meta_pca") + self.comboBox_sub_meta_pca.addItem("") + self.horizontalLayout_6.addWidget(self.comboBox_sub_meta_pca) + self.horizontalLayout_35.addLayout(self.horizontalLayout_6) + self.gridLayout_26.addLayout(self.horizontalLayout_35, 0, 0, 1, 2) + self.tabWidget_4.addTab(self.tab_12, "") + self.tab_13 = QtWidgets.QWidget() + self.tab_13.setObjectName("tab_13") + self.gridLayout_23 = QtWidgets.QGridLayout(self.tab_13) + self.gridLayout_23.setObjectName("gridLayout_23") self.horizontalLayout_28 = QtWidgets.QHBoxLayout() self.horizontalLayout_28.setObjectName("horizontalLayout_28") self.label_80 = QtWidgets.QLabel(self.tab_13) @@ -1392,133 +1314,71 @@ def setupUi(self, metaX_main): self.comboBox_3dbar_sub_meta.setSizePolicy(sizePolicy) self.comboBox_3dbar_sub_meta.setObjectName("comboBox_3dbar_sub_meta") self.horizontalLayout_28.addWidget(self.comboBox_3dbar_sub_meta) - self.gridLayout_23.addLayout(self.horizontalLayout_28, 0, 0, 1, 3) + self.gridLayout_23.addLayout(self.horizontalLayout_28, 0, 0, 1, 2) + self.label_32 = QtWidgets.QLabel(self.tab_13) + self.label_32.setObjectName("label_32") + self.gridLayout_23.addWidget(self.label_32, 5, 0, 1, 1) + self.checkBox = QtWidgets.QCheckBox(self.tab_13) + self.checkBox.setObjectName("checkBox") + self.gridLayout_23.addWidget(self.checkBox, 10, 0, 1, 2) self.radioButton_basic_heatmap_group = QtWidgets.QRadioButton(self.tab_13) self.radioButton_basic_heatmap_group.setChecked(True) self.radioButton_basic_heatmap_group.setObjectName("radioButton_basic_heatmap_group") self.gridLayout_23.addWidget(self.radioButton_basic_heatmap_group, 2, 0, 1, 1) - self.pushButton_basic_heatmap_add = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add.setObjectName("pushButton_basic_heatmap_add") - self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add, 5, 5, 1, 1) - self.listWidget_list_for_ploting = QtWidgets.QListWidget(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.listWidget_list_for_ploting.sizePolicy().hasHeightForWidth()) - self.listWidget_list_for_ploting.setSizePolicy(sizePolicy) - self.listWidget_list_for_ploting.setObjectName("listWidget_list_for_ploting") - self.gridLayout_23.addWidget(self.listWidget_list_for_ploting, 7, 1, 2, 5) - self.comboBox_basic_heatmap_selection_list = QtWidgets.QComboBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_selection_list.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_heatmap_selection_list.setSizePolicy(sizePolicy) - self.comboBox_basic_heatmap_selection_list.setObjectName("comboBox_basic_heatmap_selection_list") - self.gridLayout_23.addWidget(self.comboBox_basic_heatmap_selection_list, 5, 1, 1, 4) - self.verticalLayout = QtWidgets.QVBoxLayout() - self.verticalLayout.setObjectName("verticalLayout") - self.pushButton_basic_heatmap_drop_item = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_drop_item.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_drop_item.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_drop_item.setObjectName("pushButton_basic_heatmap_drop_item") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_drop_item) - self.pushButton_basic_heatmap_clean_list = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_clean_list.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_clean_list.setObjectName("pushButton_basic_heatmap_clean_list") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_clean_list) - self.pushButton_basic_heatmap_add_a_list = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add_a_list.setObjectName("pushButton_basic_heatmap_add_a_list") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_add_a_list) - self.gridLayout_23.addLayout(self.verticalLayout, 7, 0, 2, 1) - self.verticalLayout_basic_heatmap_group = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_heatmap_group.setObjectName("verticalLayout_basic_heatmap_group") - self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_group, 2, 3, 1, 3) - self.toolBox = QtWidgets.QToolBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.toolBox.sizePolicy().hasHeightForWidth()) - self.toolBox.setSizePolicy(sizePolicy) - self.toolBox.setMinimumSize(QtCore.QSize(0, 260)) - self.toolBox.setMaximumSize(QtCore.QSize(16777215, 400)) - self.toolBox.setObjectName("toolBox") - self.page_7 = QtWidgets.QWidget() - self.page_7.setGeometry(QtCore.QRect(0, 0, 888, 206)) - self.page_7.setObjectName("page_7") - self.gridLayout_46 = QtWidgets.QGridLayout(self.page_7) - self.gridLayout_46.setObjectName("gridLayout_46") - self.gridLayout_39 = QtWidgets.QGridLayout() - self.gridLayout_39.setObjectName("gridLayout_39") - self.pushButton_basic_heatmap_get_table = QtWidgets.QPushButton(self.page_7) - self.pushButton_basic_heatmap_get_table.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_get_table.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_get_table.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_get_table.setObjectName("pushButton_basic_heatmap_get_table") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_get_table, 2, 1, 1, 1) - self.pushButton_basic_heatmap_sankey_plot = QtWidgets.QPushButton(self.page_7) - self.pushButton_basic_heatmap_sankey_plot.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_26 = QtWidgets.QHBoxLayout() + self.horizontalLayout_26.setObjectName("horizontalLayout_26") + self.checkBox_basic_heatmap_in_condition = QtWidgets.QCheckBox(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_sankey_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_sankey_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_sankey_plot.setObjectName("pushButton_basic_heatmap_sankey_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_sankey_plot, 2, 0, 1, 1) - self.pushButton_basic_bar_plot = QtWidgets.QPushButton(self.page_7) - self.pushButton_basic_bar_plot.setEnabled(False) + sizePolicy.setHeightForWidth(self.checkBox_basic_heatmap_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_heatmap_in_condition.setSizePolicy(sizePolicy) + self.checkBox_basic_heatmap_in_condition.setObjectName("checkBox_basic_heatmap_in_condition") + self.horizontalLayout_26.addWidget(self.checkBox_basic_heatmap_in_condition) + self.comboBox_basic_heatmap_condition_meta = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_condition_meta.setEnabled(False) + self.comboBox_basic_heatmap_condition_meta.setObjectName("comboBox_basic_heatmap_condition_meta") + self.horizontalLayout_26.addWidget(self.comboBox_basic_heatmap_condition_meta) + self.horizontalLayout_67 = QtWidgets.QHBoxLayout() + self.horizontalLayout_67.setObjectName("horizontalLayout_67") + self.comboBox_basic_heatmap_condition_group = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_condition_group.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_bar_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_bar_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_bar_plot.setObjectName("pushButton_basic_bar_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_bar_plot, 1, 1, 1, 1) - self.pushButton_basic_heatmap_plot = QtWidgets.QPushButton(self.page_7) - self.pushButton_basic_heatmap_plot.setEnabled(False) + sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_heatmap_condition_group.setSizePolicy(sizePolicy) + self.comboBox_basic_heatmap_condition_group.setObjectName("comboBox_basic_heatmap_condition_group") + self.horizontalLayout_67.addWidget(self.comboBox_basic_heatmap_condition_group) + self.horizontalLayout_26.addLayout(self.horizontalLayout_67) + self.gridLayout_23.addLayout(self.horizontalLayout_26, 2, 1, 1, 1) + self.pushButton_basic_heatmap_add = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_plot.setObjectName("pushButton_basic_heatmap_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_plot, 1, 0, 1, 1) - self.gridLayout_46.addLayout(self.gridLayout_39, 0, 0, 1, 1) - self.toolBox.addItem(self.page_7, "") - self.page_6 = QtWidgets.QWidget() - self.page_6.setGeometry(QtCore.QRect(0, 0, 888, 150)) - self.page_6.setObjectName("page_6") - self.gridLayout_41 = QtWidgets.QGridLayout(self.page_6) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add.setObjectName("pushButton_basic_heatmap_add") + self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add, 5, 3, 1, 1) + self.groupBox_basic_heatmap_plot_settings = QtWidgets.QGroupBox(self.tab_13) + self.groupBox_basic_heatmap_plot_settings.setMaximumSize(QtCore.QSize(16777215, 250)) + self.groupBox_basic_heatmap_plot_settings.setObjectName("groupBox_basic_heatmap_plot_settings") + self.gridLayout_41 = QtWidgets.QGridLayout(self.groupBox_basic_heatmap_plot_settings) self.gridLayout_41.setObjectName("gridLayout_41") + self.scrollArea_2 = QtWidgets.QScrollArea(self.groupBox_basic_heatmap_plot_settings) + self.scrollArea_2.setWidgetResizable(True) + self.scrollArea_2.setObjectName("scrollArea_2") + self.scrollAreaWidgetContents_2 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 629, 150)) + self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") + self.gridLayout_50 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2) + self.gridLayout_50.setObjectName("gridLayout_50") self.gridLayout_70 = QtWidgets.QGridLayout() self.gridLayout_70.setObjectName("gridLayout_70") self.horizontalLayout_83 = QtWidgets.QHBoxLayout() self.horizontalLayout_83.setObjectName("horizontalLayout_83") - self.label_35 = QtWidgets.QLabel(self.page_6) + self.label_35 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1527,7 +1387,7 @@ def setupUi(self, metaX_main): self.label_35.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_35.setObjectName("label_35") self.horizontalLayout_83.addWidget(self.label_35) - self.spinBox_basic_heatmap_width = QtWidgets.QSpinBox(self.page_6) + self.spinBox_basic_heatmap_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1538,7 +1398,7 @@ def setupUi(self, metaX_main): self.spinBox_basic_heatmap_width.setProperty("value", 16) self.spinBox_basic_heatmap_width.setObjectName("spinBox_basic_heatmap_width") self.horizontalLayout_83.addWidget(self.spinBox_basic_heatmap_width) - self.label_33 = QtWidgets.QLabel(self.page_6) + self.label_33 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1547,7 +1407,7 @@ def setupUi(self, metaX_main): self.label_33.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_33.setObjectName("label_33") self.horizontalLayout_83.addWidget(self.label_33) - self.spinBox_basic_heatmap_height = QtWidgets.QSpinBox(self.page_6) + self.spinBox_basic_heatmap_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1559,14 +1419,14 @@ def setupUi(self, metaX_main): self.spinBox_basic_heatmap_height.setObjectName("spinBox_basic_heatmap_height") self.horizontalLayout_83.addWidget(self.spinBox_basic_heatmap_height) self.gridLayout_70.addLayout(self.horizontalLayout_83, 0, 1, 1, 1) - self.label_185 = QtWidgets.QLabel(self.page_6) + self.label_185 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_185.setFont(font) self.label_185.setObjectName("label_185") self.gridLayout_70.addWidget(self.label_185, 4, 0, 1, 1) - self.label_186 = QtWidgets.QLabel(self.page_6) + self.label_186 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) font = QtGui.QFont() font.setBold(True) font.setWeight(75) @@ -1575,7 +1435,7 @@ def setupUi(self, metaX_main): self.gridLayout_70.addWidget(self.label_186, 5, 0, 1, 1) self.horizontalLayout_87 = QtWidgets.QHBoxLayout() self.horizontalLayout_87.setObjectName("horizontalLayout_87") - self.label_31 = QtWidgets.QLabel(self.page_6) + self.label_31 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1583,7 +1443,7 @@ def setupUi(self, metaX_main): self.label_31.setSizePolicy(sizePolicy) self.label_31.setObjectName("label_31") self.horizontalLayout_87.addWidget(self.label_31) - self.comboBox_basic_hetatmap_scale = QtWidgets.QComboBox(self.page_6) + self.comboBox_basic_hetatmap_scale = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1594,7 +1454,7 @@ def setupUi(self, metaX_main): self.comboBox_basic_hetatmap_scale.addItem("") self.comboBox_basic_hetatmap_scale.addItem("") self.horizontalLayout_87.addWidget(self.comboBox_basic_hetatmap_scale) - self.label_13 = QtWidgets.QLabel(self.page_6) + self.label_13 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1605,7 +1465,7 @@ def setupUi(self, metaX_main): self.label_13.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_13.setObjectName("label_13") self.horizontalLayout_87.addWidget(self.label_13) - self.comboBox_basic_hetatmap_theme = QtWidgets.QComboBox(self.page_6) + self.comboBox_basic_hetatmap_theme = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1614,7 +1474,7 @@ def setupUi(self, metaX_main): self.comboBox_basic_hetatmap_theme.setObjectName("comboBox_basic_hetatmap_theme") self.horizontalLayout_87.addWidget(self.comboBox_basic_hetatmap_theme) self.gridLayout_70.addLayout(self.horizontalLayout_87, 3, 1, 1, 1) - self.checkBox_basic_hetatmap_row_cluster = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_row_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1623,14 +1483,14 @@ def setupUi(self, metaX_main): self.checkBox_basic_hetatmap_row_cluster.setChecked(True) self.checkBox_basic_hetatmap_row_cluster.setObjectName("checkBox_basic_hetatmap_row_cluster") self.gridLayout_70.addWidget(self.checkBox_basic_hetatmap_row_cluster, 3, 2, 1, 1) - self.label_183 = QtWidgets.QLabel(self.page_6) + self.label_183 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_183.setFont(font) self.label_183.setObjectName("label_183") self.gridLayout_70.addWidget(self.label_183, 0, 0, 1, 1) - self.checkBox_basic_bar_show_legend = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_bar_show_legend = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1639,7 +1499,7 @@ def setupUi(self, metaX_main): self.checkBox_basic_bar_show_legend.setChecked(True) self.checkBox_basic_bar_show_legend.setObjectName("checkBox_basic_bar_show_legend") self.gridLayout_70.addWidget(self.checkBox_basic_bar_show_legend, 4, 1, 1, 1) - self.checkBox_basic_heatmap_sankey_title = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_heatmap_sankey_title = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1647,14 +1507,14 @@ def setupUi(self, metaX_main): self.checkBox_basic_heatmap_sankey_title.setSizePolicy(sizePolicy) self.checkBox_basic_heatmap_sankey_title.setObjectName("checkBox_basic_heatmap_sankey_title") self.gridLayout_70.addWidget(self.checkBox_basic_heatmap_sankey_title, 5, 1, 1, 1) - self.label_184 = QtWidgets.QLabel(self.page_6) + self.label_184 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_184.setFont(font) self.label_184.setObjectName("label_184") self.gridLayout_70.addWidget(self.label_184, 3, 0, 1, 1) - self.checkBox_basic_hetatmap_col_cluster = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_col_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1663,7 +1523,7 @@ def setupUi(self, metaX_main): self.checkBox_basic_hetatmap_col_cluster.setChecked(True) self.checkBox_basic_hetatmap_col_cluster.setObjectName("checkBox_basic_hetatmap_col_cluster") self.gridLayout_70.addWidget(self.checkBox_basic_hetatmap_col_cluster, 3, 3, 1, 1) - self.checkBox_basic_bar_plot_percent = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_bar_plot_percent = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1671,14 +1531,14 @@ def setupUi(self, metaX_main): self.checkBox_basic_bar_plot_percent.setSizePolicy(sizePolicy) self.checkBox_basic_bar_plot_percent.setObjectName("checkBox_basic_bar_plot_percent") self.gridLayout_70.addWidget(self.checkBox_basic_bar_plot_percent, 4, 2, 1, 1) - self.line_13 = QtWidgets.QFrame(self.page_6) + self.line_13 = QtWidgets.QFrame(self.scrollAreaWidgetContents_2) self.line_13.setFrameShape(QtWidgets.QFrame.HLine) self.line_13.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_13.setObjectName("line_13") self.gridLayout_70.addWidget(self.line_13, 2, 1, 1, 3) self.horizontalLayout_90 = QtWidgets.QHBoxLayout() self.horizontalLayout_90.setObjectName("horizontalLayout_90") - self.checkBox_basic_heatmap_plot_mean = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_heatmap_plot_mean = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1686,7 +1546,7 @@ def setupUi(self, metaX_main): self.checkBox_basic_heatmap_plot_mean.setSizePolicy(sizePolicy) self.checkBox_basic_heatmap_plot_mean.setObjectName("checkBox_basic_heatmap_plot_mean") self.horizontalLayout_90.addWidget(self.checkBox_basic_heatmap_plot_mean) - self.checkBox_basic_heatmap_plot_peptide = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_heatmap_plot_peptide = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1697,7 +1557,7 @@ def setupUi(self, metaX_main): self.gridLayout_70.addLayout(self.horizontalLayout_90, 1, 1, 1, 1) self.horizontalLayout_88 = QtWidgets.QHBoxLayout() self.horizontalLayout_88.setObjectName("horizontalLayout_88") - self.label_130 = QtWidgets.QLabel(self.page_6) + self.label_130 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1707,7 +1567,7 @@ def setupUi(self, metaX_main): self.label_130.setMaximumSize(QtCore.QSize(100, 16777215)) self.label_130.setObjectName("label_130") self.horizontalLayout_88.addWidget(self.label_130) - self.checkBox_basic_hetatmap_show_all_labels_x = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1715,7 +1575,7 @@ def setupUi(self, metaX_main): self.checkBox_basic_hetatmap_show_all_labels_x.setSizePolicy(sizePolicy) self.checkBox_basic_hetatmap_show_all_labels_x.setObjectName("checkBox_basic_hetatmap_show_all_labels_x") self.horizontalLayout_88.addWidget(self.checkBox_basic_hetatmap_show_all_labels_x) - self.checkBox_basic_hetatmap_show_all_labels_y = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1726,7 +1586,7 @@ def setupUi(self, metaX_main): self.gridLayout_70.addLayout(self.horizontalLayout_88, 1, 2, 1, 1) self.horizontalLayout_89 = QtWidgets.QHBoxLayout() self.horizontalLayout_89.setObjectName("horizontalLayout_89") - self.label_152 = QtWidgets.QLabel(self.page_6) + self.label_152 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1734,7 +1594,7 @@ def setupUi(self, metaX_main): self.label_152.setSizePolicy(sizePolicy) self.label_152.setObjectName("label_152") self.horizontalLayout_89.addWidget(self.label_152) - self.checkBox_basic_hetatmap_rename_sample_name = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_rename_sample_name = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1743,7 +1603,7 @@ def setupUi(self, metaX_main): self.checkBox_basic_hetatmap_rename_sample_name.setChecked(True) self.checkBox_basic_hetatmap_rename_sample_name.setObjectName("checkBox_basic_hetatmap_rename_sample_name") self.horizontalLayout_89.addWidget(self.checkBox_basic_hetatmap_rename_sample_name) - self.checkBox_basic_hetatmap_rename_taxa = QtWidgets.QCheckBox(self.page_6) + self.checkBox_basic_hetatmap_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1755,7 +1615,7 @@ def setupUi(self, metaX_main): self.gridLayout_70.addLayout(self.horizontalLayout_89, 0, 3, 1, 1) self.horizontalLayout_91 = QtWidgets.QHBoxLayout() self.horizontalLayout_91.setObjectName("horizontalLayout_91") - self.label_108 = QtWidgets.QLabel(self.page_6) + self.label_108 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1766,7 +1626,7 @@ def setupUi(self, metaX_main): self.label_108.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_108.setObjectName("label_108") self.horizontalLayout_91.addWidget(self.label_108) - self.spinBox_basic_heatmap_label_font_size = QtWidgets.QSpinBox(self.page_6) + self.spinBox_basic_heatmap_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1778,9 +1638,179 @@ def setupUi(self, metaX_main): self.spinBox_basic_heatmap_label_font_size.setObjectName("spinBox_basic_heatmap_label_font_size") self.horizontalLayout_91.addWidget(self.spinBox_basic_heatmap_label_font_size) self.gridLayout_70.addLayout(self.horizontalLayout_91, 0, 2, 1, 1) - self.gridLayout_41.addLayout(self.gridLayout_70, 0, 1, 1, 1) - self.toolBox.addItem(self.page_6, "") - self.gridLayout_23.addWidget(self.toolBox, 9, 0, 1, 6) + self.gridLayout_50.addLayout(self.gridLayout_70, 0, 0, 1, 1) + self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) + self.gridLayout_41.addWidget(self.scrollArea_2, 0, 0, 1, 1) + self.gridLayout_23.addWidget(self.groupBox_basic_heatmap_plot_settings, 11, 0, 1, 4) + self.label_34 = QtWidgets.QLabel(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_34.sizePolicy().hasHeightForWidth()) + self.label_34.setSizePolicy(sizePolicy) + self.label_34.setObjectName("label_34") + self.gridLayout_23.addWidget(self.label_34, 6, 0, 1, 1) + self.pushButton_basic_heatmap_add_top = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add_top.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_top.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add_top.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add_top.setObjectName("pushButton_basic_heatmap_add_top") + self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add_top, 6, 3, 1, 1) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.pushButton_basic_heatmap_drop_item = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_drop_item.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_drop_item.setObjectName("pushButton_basic_heatmap_drop_item") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_drop_item) + self.pushButton_basic_heatmap_clean_list = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_clean_list.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_clean_list.setObjectName("pushButton_basic_heatmap_clean_list") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_clean_list) + self.pushButton_basic_heatmap_add_a_list = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add_a_list.setObjectName("pushButton_basic_heatmap_add_a_list") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_add_a_list) + self.gridLayout_23.addLayout(self.verticalLayout, 7, 0, 2, 1) + self.comboBox_basic_heatmap_selection_list = QtWidgets.QComboBox(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_selection_list.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_heatmap_selection_list.setSizePolicy(sizePolicy) + self.comboBox_basic_heatmap_selection_list.setObjectName("comboBox_basic_heatmap_selection_list") + self.gridLayout_23.addWidget(self.comboBox_basic_heatmap_selection_list, 5, 1, 1, 2) + self.verticalLayout_basic_heatmap_group = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_heatmap_group.setObjectName("verticalLayout_basic_heatmap_group") + self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_group, 2, 2, 1, 2) + self.horizontalLayout_29 = QtWidgets.QHBoxLayout() + self.horizontalLayout_29.setObjectName("horizontalLayout_29") + self.label_67 = QtWidgets.QLabel(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) + self.label_67.setSizePolicy(sizePolicy) + self.label_67.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_67.setObjectName("label_67") + self.horizontalLayout_29.addWidget(self.label_67) + self.spinBox_basic_heatmap_top_num = QtWidgets.QSpinBox(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_basic_heatmap_top_num.setSizePolicy(sizePolicy) + self.spinBox_basic_heatmap_top_num.setMinimum(1) + self.spinBox_basic_heatmap_top_num.setMaximum(99999) + self.spinBox_basic_heatmap_top_num.setProperty("value", 10) + self.spinBox_basic_heatmap_top_num.setObjectName("spinBox_basic_heatmap_top_num") + self.horizontalLayout_29.addWidget(self.spinBox_basic_heatmap_top_num) + self.label_68 = QtWidgets.QLabel(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) + self.label_68.setSizePolicy(sizePolicy) + self.label_68.setObjectName("label_68") + self.horizontalLayout_29.addWidget(self.label_68) + self.comboBox_basic_heatmap_top_by = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_top_by.setObjectName("comboBox_basic_heatmap_top_by") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.horizontalLayout_29.addWidget(self.comboBox_basic_heatmap_top_by) + self.checkBox_basic_heatmap_top_filtered = QtWidgets.QCheckBox(self.tab_13) + self.checkBox_basic_heatmap_top_filtered.setObjectName("checkBox_basic_heatmap_top_filtered") + self.horizontalLayout_29.addWidget(self.checkBox_basic_heatmap_top_filtered) + self.gridLayout_23.addLayout(self.horizontalLayout_29, 6, 1, 1, 2) + self.gridLayout_39 = QtWidgets.QGridLayout() + self.gridLayout_39.setObjectName("gridLayout_39") + self.pushButton_basic_heatmap_get_table = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_get_table.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_get_table.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_get_table.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_get_table.setObjectName("pushButton_basic_heatmap_get_table") + self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_get_table, 2, 1, 1, 1) + self.pushButton_basic_heatmap_sankey_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_sankey_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_sankey_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_sankey_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_sankey_plot.setObjectName("pushButton_basic_heatmap_sankey_plot") + self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_sankey_plot, 2, 0, 1, 1) + self.pushButton_basic_bar_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_bar_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_bar_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_bar_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_bar_plot.setObjectName("pushButton_basic_bar_plot") + self.gridLayout_39.addWidget(self.pushButton_basic_bar_plot, 1, 1, 1, 1) + self.pushButton_basic_heatmap_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_plot.setObjectName("pushButton_basic_heatmap_plot") + self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_plot, 1, 0, 1, 1) + self.gridLayout_23.addLayout(self.gridLayout_39, 9, 0, 1, 4) + self.verticalLayout_basic_heatmap_sample = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_heatmap_sample.setObjectName("verticalLayout_basic_heatmap_sample") + self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_sample, 3, 1, 1, 3) + self.radioButton_basic_heatmap_sample = QtWidgets.QRadioButton(self.tab_13) + self.radioButton_basic_heatmap_sample.setObjectName("radioButton_basic_heatmap_sample") + self.gridLayout_23.addWidget(self.radioButton_basic_heatmap_sample, 3, 0, 1, 1) + self.line_12 = QtWidgets.QFrame(self.tab_13) + self.line_12.setFrameShape(QtWidgets.QFrame.HLine) + self.line_12.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_12.setObjectName("line_12") + self.gridLayout_23.addWidget(self.line_12, 4, 0, 1, 4) + self.line_8 = QtWidgets.QFrame(self.tab_13) + self.line_8.setFrameShape(QtWidgets.QFrame.HLine) + self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_8.setObjectName("line_8") + self.gridLayout_23.addWidget(self.line_8, 1, 0, 1, 4) + self.listWidget_list_for_ploting = QtWidgets.QListWidget(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_list_for_ploting.sizePolicy().hasHeightForWidth()) + self.listWidget_list_for_ploting.setSizePolicy(sizePolicy) + self.listWidget_list_for_ploting.setObjectName("listWidget_list_for_ploting") + self.gridLayout_23.addWidget(self.listWidget_list_for_ploting, 7, 1, 2, 3) self.tabWidget_4.addTab(self.tab_13, "") self.tab_10 = QtWidgets.QWidget() self.tab_10.setObjectName("tab_10") @@ -1825,23 +1855,6 @@ def setupUi(self, metaX_main): self.tab_3.setObjectName("tab_3") self.gridLayout_13 = QtWidgets.QGridLayout(self.tab_3) self.gridLayout_13.setObjectName("gridLayout_13") - self.pushButton_ttest = QtWidgets.QPushButton(self.tab_3) - self.pushButton_ttest.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_ttest.sizePolicy().hasHeightForWidth()) - self.pushButton_ttest.setSizePolicy(sizePolicy) - self.pushButton_ttest.setObjectName("pushButton_ttest") - self.gridLayout_13.addWidget(self.pushButton_ttest, 7, 0, 1, 2) - self.label_42 = QtWidgets.QLabel(self.tab_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_42.sizePolicy().hasHeightForWidth()) - self.label_42.setSizePolicy(sizePolicy) - self.label_42.setObjectName("label_42") - self.gridLayout_13.addWidget(self.label_42, 4, 0, 1, 1) self.horizontalLayout_38 = QtWidgets.QHBoxLayout() self.horizontalLayout_38.setObjectName("horizontalLayout_38") self.label_36 = QtWidgets.QLabel(self.tab_3) @@ -1893,19 +1906,27 @@ def setupUi(self, metaX_main): self.horizontalLayout_70.addWidget(self.comboBox_ttest_condition_group) self.horizontalLayout_38.addLayout(self.horizontalLayout_70) self.gridLayout_13.addLayout(self.horizontalLayout_38, 2, 0, 1, 2) + self.pushButton_ttest = QtWidgets.QPushButton(self.tab_3) + self.pushButton_ttest.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_ttest.sizePolicy().hasHeightForWidth()) + self.pushButton_ttest.setSizePolicy(sizePolicy) + self.pushButton_ttest.setObjectName("pushButton_ttest") + self.gridLayout_13.addWidget(self.pushButton_ttest, 9, 0, 1, 2) + self.line_22 = QtWidgets.QFrame(self.tab_3) + self.line_22.setFrameShape(QtWidgets.QFrame.HLine) + self.line_22.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_22.setObjectName("line_22") + self.gridLayout_13.addWidget(self.line_22, 8, 0, 1, 2) self.line_21 = QtWidgets.QFrame(self.tab_3) self.line_21.setFrameShape(QtWidgets.QFrame.HLine) self.line_21.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_21.setObjectName("line_21") self.gridLayout_13.addWidget(self.line_21, 3, 0, 1, 2) - self.comboBox_ttest_group1 = QtWidgets.QComboBox(self.tab_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_ttest_group1.sizePolicy().hasHeightForWidth()) - self.comboBox_ttest_group1.setSizePolicy(sizePolicy) - self.comboBox_ttest_group1.setObjectName("comboBox_ttest_group1") - self.gridLayout_13.addWidget(self.comboBox_ttest_group1, 5, 0, 1, 1) + self.gridLayout_64 = QtWidgets.QGridLayout() + self.gridLayout_64.setObjectName("gridLayout_64") self.label_52 = QtWidgets.QLabel(self.tab_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -1913,7 +1934,23 @@ def setupUi(self, metaX_main): sizePolicy.setHeightForWidth(self.label_52.sizePolicy().hasHeightForWidth()) self.label_52.setSizePolicy(sizePolicy) self.label_52.setObjectName("label_52") - self.gridLayout_13.addWidget(self.label_52, 4, 1, 1, 1) + self.gridLayout_64.addWidget(self.label_52, 0, 1, 1, 1) + self.label_42 = QtWidgets.QLabel(self.tab_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_42.sizePolicy().hasHeightForWidth()) + self.label_42.setSizePolicy(sizePolicy) + self.label_42.setObjectName("label_42") + self.gridLayout_64.addWidget(self.label_42, 0, 0, 1, 1) + self.comboBox_ttest_group1 = QtWidgets.QComboBox(self.tab_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_ttest_group1.sizePolicy().hasHeightForWidth()) + self.comboBox_ttest_group1.setSizePolicy(sizePolicy) + self.comboBox_ttest_group1.setObjectName("comboBox_ttest_group1") + self.gridLayout_64.addWidget(self.comboBox_ttest_group1, 1, 0, 1, 1) self.comboBox_ttest_group2 = QtWidgets.QComboBox(self.tab_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -1921,25 +1958,27 @@ def setupUi(self, metaX_main): sizePolicy.setHeightForWidth(self.comboBox_ttest_group2.sizePolicy().hasHeightForWidth()) self.comboBox_ttest_group2.setSizePolicy(sizePolicy) self.comboBox_ttest_group2.setObjectName("comboBox_ttest_group2") - self.gridLayout_13.addWidget(self.comboBox_ttest_group2, 5, 1, 1, 1) - self.line_22 = QtWidgets.QFrame(self.tab_3) - self.line_22.setFrameShape(QtWidgets.QFrame.HLine) - self.line_22.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_22.setObjectName("line_22") - self.gridLayout_13.addWidget(self.line_22, 6, 0, 1, 2) + self.gridLayout_64.addWidget(self.comboBox_ttest_group2, 1, 1, 1, 1) + self.gridLayout_13.addLayout(self.gridLayout_64, 5, 0, 1, 2) self.tabWidget_3.addTab(self.tab_3, "") self.tab_7 = QtWidgets.QWidget() self.tab_7.setObjectName("tab_7") self.gridLayout_11 = QtWidgets.QGridLayout(self.tab_7) self.gridLayout_11.setObjectName("gridLayout_11") - self.label_53 = QtWidgets.QLabel(self.tab_7) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_53.sizePolicy().hasHeightForWidth()) - self.label_53.setSizePolicy(sizePolicy) - self.label_53.setObjectName("label_53") - self.gridLayout_11.addWidget(self.label_53, 4, 0, 1, 1) + self.pushButton_anova_test = QtWidgets.QPushButton(self.tab_7) + self.pushButton_anova_test.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_anova_test.sizePolicy().hasHeightForWidth()) + self.pushButton_anova_test.setSizePolicy(sizePolicy) + self.pushButton_anova_test.setObjectName("pushButton_anova_test") + self.gridLayout_11.addWidget(self.pushButton_anova_test, 8, 0, 1, 2) + self.line_24 = QtWidgets.QFrame(self.tab_7) + self.line_24.setFrameShape(QtWidgets.QFrame.HLine) + self.line_24.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_24.setObjectName("line_24") + self.gridLayout_11.addWidget(self.line_24, 7, 0, 1, 2) self.horizontalLayout_37 = QtWidgets.QHBoxLayout() self.horizontalLayout_37.setObjectName("horizontalLayout_37") self.label_37 = QtWidgets.QLabel(self.tab_7) @@ -1958,6 +1997,17 @@ def setupUi(self, metaX_main): self.comboBox_table_for_anova.addItem("") self.comboBox_table_for_anova.addItem("") self.horizontalLayout_37.addWidget(self.comboBox_table_for_anova) + self.label_104 = QtWidgets.QLabel(self.tab_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_104.sizePolicy().hasHeightForWidth()) + self.label_104.setSizePolicy(sizePolicy) + self.label_104.setObjectName("label_104") + self.horizontalLayout_37.addWidget(self.label_104) + self.comboBox_anova_meta = QtWidgets.QComboBox(self.tab_7) + self.comboBox_anova_meta.setObjectName("comboBox_anova_meta") + self.horizontalLayout_37.addWidget(self.comboBox_anova_meta) self.checkBox_anova_in_condition = QtWidgets.QCheckBox(self.tab_7) self.checkBox_anova_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_anova_in_condition.setObjectName("checkBox_anova_in_condition") @@ -1976,75 +2026,34 @@ def setupUi(self, metaX_main): self.gridLayout_11.addLayout(self.horizontalLayout_37, 1, 0, 1, 2) self.horizontalLayout_anova_group = QtWidgets.QHBoxLayout() self.horizontalLayout_anova_group.setObjectName("horizontalLayout_anova_group") - self.gridLayout_11.addLayout(self.horizontalLayout_anova_group, 4, 1, 1, 1) - self.comboBox_anova_meta = QtWidgets.QComboBox(self.tab_7) - self.comboBox_anova_meta.setObjectName("comboBox_anova_meta") - self.gridLayout_11.addWidget(self.comboBox_anova_meta, 3, 1, 1, 1) + self.gridLayout_11.addLayout(self.horizontalLayout_anova_group, 3, 1, 1, 1) + self.label_53 = QtWidgets.QLabel(self.tab_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_53.sizePolicy().hasHeightForWidth()) + self.label_53.setSizePolicy(sizePolicy) + self.label_53.setObjectName("label_53") + self.gridLayout_11.addWidget(self.label_53, 3, 0, 1, 1) self.line_23 = QtWidgets.QFrame(self.tab_7) self.line_23.setFrameShape(QtWidgets.QFrame.HLine) self.line_23.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_23.setObjectName("line_23") self.gridLayout_11.addWidget(self.line_23, 2, 0, 1, 2) - self.label_104 = QtWidgets.QLabel(self.tab_7) - self.label_104.setObjectName("label_104") - self.gridLayout_11.addWidget(self.label_104, 3, 0, 1, 1) - self.pushButton_anova_test = QtWidgets.QPushButton(self.tab_7) - self.pushButton_anova_test.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_anova_test.sizePolicy().hasHeightForWidth()) - self.pushButton_anova_test.setSizePolicy(sizePolicy) - self.pushButton_anova_test.setObjectName("pushButton_anova_test") - self.gridLayout_11.addWidget(self.pushButton_anova_test, 6, 0, 1, 2) - self.line_24 = QtWidgets.QFrame(self.tab_7) - self.line_24.setFrameShape(QtWidgets.QFrame.HLine) - self.line_24.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_24.setObjectName("line_24") - self.gridLayout_11.addWidget(self.line_24, 5, 0, 1, 2) self.tabWidget_3.addTab(self.tab_7, "") self.tab_16 = QtWidgets.QWidget() self.tab_16.setObjectName("tab_16") self.gridLayout_33 = QtWidgets.QGridLayout(self.tab_16) self.gridLayout_33.setObjectName("gridLayout_33") - self.label_115 = QtWidgets.QLabel(self.tab_16) - self.label_115.setObjectName("label_115") - self.gridLayout_33.addWidget(self.label_115, 4, 1, 1, 1) - self.horizontalLayout_24 = QtWidgets.QHBoxLayout() - self.horizontalLayout_24.setObjectName("horizontalLayout_24") - self.checkBox_comparing_group_control_in_condition = QtWidgets.QCheckBox(self.tab_16) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_comparing_group_control_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_comparing_group_control_in_condition.setSizePolicy(sizePolicy) - self.checkBox_comparing_group_control_in_condition.setObjectName("checkBox_comparing_group_control_in_condition") - self.horizontalLayout_24.addWidget(self.checkBox_comparing_group_control_in_condition) - self.label_140 = QtWidgets.QLabel(self.tab_16) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_140.sizePolicy().hasHeightForWidth()) - self.label_140.setSizePolicy(sizePolicy) - self.label_140.setObjectName("label_140") - self.horizontalLayout_24.addWidget(self.label_140) - self.comboBox_group_control_comparing_each_condition_meta = QtWidgets.QComboBox(self.tab_16) - self.comboBox_group_control_comparing_each_condition_meta.setEnabled(False) - self.comboBox_group_control_comparing_each_condition_meta.setObjectName("comboBox_group_control_comparing_each_condition_meta") - self.horizontalLayout_24.addWidget(self.comboBox_group_control_comparing_each_condition_meta) - self.gridLayout_33.addLayout(self.horizontalLayout_24, 7, 1, 1, 1) - self.label_114 = QtWidgets.QLabel(self.tab_16) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_114.sizePolicy().hasHeightForWidth()) - self.label_114.setSizePolicy(sizePolicy) - self.label_114.setObjectName("label_114") - self.gridLayout_33.addWidget(self.label_114, 4, 2, 1, 1) + self.line_25 = QtWidgets.QFrame(self.tab_16) + self.line_25.setFrameShape(QtWidgets.QFrame.HLine) + self.line_25.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_25.setObjectName("line_25") + self.gridLayout_33.addWidget(self.line_25, 3, 1, 1, 2) self.pushButton_dunnett_test = QtWidgets.QPushButton(self.tab_16) self.pushButton_dunnett_test.setEnabled(False) self.pushButton_dunnett_test.setObjectName("pushButton_dunnett_test") - self.gridLayout_33.addWidget(self.pushButton_dunnett_test, 9, 1, 1, 2) + self.gridLayout_33.addWidget(self.pushButton_dunnett_test, 10, 1, 1, 2) self.horizontalLayout_39 = QtWidgets.QHBoxLayout() self.horizontalLayout_39.setObjectName("horizontalLayout_39") self.label_112 = QtWidgets.QLabel(self.tab_16) @@ -2089,44 +2098,79 @@ def setupUi(self, metaX_main): self.horizontalLayout_73.addWidget(self.comboBox_group_control_condition_group) self.horizontalLayout_39.addLayout(self.horizontalLayout_73) self.gridLayout_33.addLayout(self.horizontalLayout_39, 1, 1, 1, 2) - self.horizontalLayout_dunnett_group = QtWidgets.QHBoxLayout() - self.horizontalLayout_dunnett_group.setObjectName("horizontalLayout_dunnett_group") - self.gridLayout_33.addLayout(self.horizontalLayout_dunnett_group, 5, 2, 1, 1) - self.pushButton_multi_deseq2 = QtWidgets.QPushButton(self.tab_16) - self.pushButton_multi_deseq2.setEnabled(False) - self.pushButton_multi_deseq2.setObjectName("pushButton_multi_deseq2") - self.gridLayout_33.addWidget(self.pushButton_multi_deseq2, 10, 1, 1, 2) - self.line_25 = QtWidgets.QFrame(self.tab_16) - self.line_25.setFrameShape(QtWidgets.QFrame.HLine) - self.line_25.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_25.setObjectName("line_25") - self.gridLayout_33.addWidget(self.line_25, 3, 1, 1, 2) self.line_26 = QtWidgets.QFrame(self.tab_16) self.line_26.setFrameShape(QtWidgets.QFrame.HLine) self.line_26.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_26.setObjectName("line_26") - self.gridLayout_33.addWidget(self.line_26, 8, 1, 1, 2) + self.gridLayout_33.addWidget(self.line_26, 9, 1, 1, 2) + self.pushButton_multi_deseq2 = QtWidgets.QPushButton(self.tab_16) + self.pushButton_multi_deseq2.setEnabled(False) + self.pushButton_multi_deseq2.setObjectName("pushButton_multi_deseq2") + self.gridLayout_33.addWidget(self.pushButton_multi_deseq2, 11, 1, 1, 2) + self.gridLayout_72 = QtWidgets.QGridLayout() + self.gridLayout_72.setObjectName("gridLayout_72") + self.horizontalLayout_dunnett_group = QtWidgets.QHBoxLayout() + self.horizontalLayout_dunnett_group.setObjectName("horizontalLayout_dunnett_group") + self.gridLayout_72.addLayout(self.horizontalLayout_dunnett_group, 1, 1, 1, 1) + self.label_114 = QtWidgets.QLabel(self.tab_16) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_114.sizePolicy().hasHeightForWidth()) + self.label_114.setSizePolicy(sizePolicy) + self.label_114.setObjectName("label_114") + self.gridLayout_72.addWidget(self.label_114, 0, 1, 1, 1) self.comboBox_dunnett_control_group = QtWidgets.QComboBox(self.tab_16) self.comboBox_dunnett_control_group.setObjectName("comboBox_dunnett_control_group") - self.gridLayout_33.addWidget(self.comboBox_dunnett_control_group, 5, 1, 1, 1) + self.gridLayout_72.addWidget(self.comboBox_dunnett_control_group, 1, 0, 1, 1) + self.label_115 = QtWidgets.QLabel(self.tab_16) + self.label_115.setObjectName("label_115") + self.gridLayout_72.addWidget(self.label_115, 0, 0, 1, 1) + self.checkBox_comparing_group_control_in_condition = QtWidgets.QCheckBox(self.tab_16) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_comparing_group_control_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_comparing_group_control_in_condition.setSizePolicy(sizePolicy) + self.checkBox_comparing_group_control_in_condition.setObjectName("checkBox_comparing_group_control_in_condition") + self.gridLayout_72.addWidget(self.checkBox_comparing_group_control_in_condition, 2, 0, 1, 1) + self.horizontalLayout_24 = QtWidgets.QHBoxLayout() + self.horizontalLayout_24.setObjectName("horizontalLayout_24") + self.label_140 = QtWidgets.QLabel(self.tab_16) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_140.sizePolicy().hasHeightForWidth()) + self.label_140.setSizePolicy(sizePolicy) + self.label_140.setObjectName("label_140") + self.horizontalLayout_24.addWidget(self.label_140) + self.comboBox_group_control_comparing_each_condition_meta = QtWidgets.QComboBox(self.tab_16) + self.comboBox_group_control_comparing_each_condition_meta.setEnabled(False) + self.comboBox_group_control_comparing_each_condition_meta.setObjectName("comboBox_group_control_comparing_each_condition_meta") + self.horizontalLayout_24.addWidget(self.comboBox_group_control_comparing_each_condition_meta) + self.gridLayout_72.addLayout(self.horizontalLayout_24, 2, 1, 1, 1) + self.gridLayout_33.addLayout(self.gridLayout_72, 4, 1, 1, 2) self.tabWidget_3.addTab(self.tab_16, "") self.tab_19 = QtWidgets.QWidget() self.tab_19.setObjectName("tab_19") self.gridLayout_16 = QtWidgets.QGridLayout(self.tab_19) self.gridLayout_16.setObjectName("gridLayout_16") - self.label_166 = QtWidgets.QLabel(self.tab_19) + self.line = QtWidgets.QFrame(self.tab_19) + self.line.setFrameShape(QtWidgets.QFrame.HLine) + self.line.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line.setObjectName("line") + self.gridLayout_16.addWidget(self.line, 1, 0, 1, 3) + self.pushButton_deseq2 = QtWidgets.QPushButton(self.tab_19) + self.pushButton_deseq2.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_166.sizePolicy().hasHeightForWidth()) - self.label_166.setSizePolicy(sizePolicy) - self.label_166.setObjectName("label_166") - self.gridLayout_16.addWidget(self.label_166, 3, 0, 1, 1) - self.line_14 = QtWidgets.QFrame(self.tab_19) - self.line_14.setFrameShape(QtWidgets.QFrame.HLine) - self.line_14.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_14.setObjectName("line_14") - self.gridLayout_16.addWidget(self.line_14, 4, 0, 1, 3) + sizePolicy.setHeightForWidth(self.pushButton_deseq2.sizePolicy().hasHeightForWidth()) + self.pushButton_deseq2.setSizePolicy(sizePolicy) + self.pushButton_deseq2.setMinimumSize(QtCore.QSize(33, 0)) + self.pushButton_deseq2.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.pushButton_deseq2.setObjectName("pushButton_deseq2") + self.gridLayout_16.addWidget(self.pushButton_deseq2, 5, 0, 1, 3) self.horizontalLayout_22 = QtWidgets.QHBoxLayout() self.horizontalLayout_22.setObjectName("horizontalLayout_22") self.label_2 = QtWidgets.QLabel(self.tab_19) @@ -2162,49 +2206,6 @@ def setupUi(self, metaX_main): self.comboBox_deseq2_group2.setObjectName("comboBox_deseq2_group2") self.horizontalLayout_22.addWidget(self.comboBox_deseq2_group2) self.gridLayout_16.addLayout(self.horizontalLayout_22, 3, 1, 1, 2) - self.pushButton_deseq2 = QtWidgets.QPushButton(self.tab_19) - self.pushButton_deseq2.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_deseq2.sizePolicy().hasHeightForWidth()) - self.pushButton_deseq2.setSizePolicy(sizePolicy) - self.pushButton_deseq2.setMinimumSize(QtCore.QSize(33, 0)) - self.pushButton_deseq2.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.pushButton_deseq2.setObjectName("pushButton_deseq2") - self.gridLayout_16.addWidget(self.pushButton_deseq2, 5, 0, 1, 3) - self.horizontalLayout_61 = QtWidgets.QHBoxLayout() - self.horizontalLayout_61.setObjectName("horizontalLayout_61") - self.comboBox_table_for_deseq2 = QtWidgets.QComboBox(self.tab_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_table_for_deseq2.sizePolicy().hasHeightForWidth()) - self.comboBox_table_for_deseq2.setSizePolicy(sizePolicy) - self.comboBox_table_for_deseq2.setObjectName("comboBox_table_for_deseq2") - self.comboBox_table_for_deseq2.addItem("") - self.comboBox_table_for_deseq2.addItem("") - self.comboBox_table_for_deseq2.addItem("") - self.comboBox_table_for_deseq2.addItem("") - self.horizontalLayout_61.addWidget(self.comboBox_table_for_deseq2) - self.label_147 = QtWidgets.QLabel(self.tab_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_147.sizePolicy().hasHeightForWidth()) - self.label_147.setSizePolicy(sizePolicy) - self.label_147.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_147.setObjectName("label_147") - self.horizontalLayout_61.addWidget(self.label_147) - self.comboBox_deseq2_meta = QtWidgets.QComboBox(self.tab_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_deseq2_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_deseq2_meta.setSizePolicy(sizePolicy) - self.comboBox_deseq2_meta.setObjectName("comboBox_deseq2_meta") - self.horizontalLayout_61.addWidget(self.comboBox_deseq2_meta) - self.gridLayout_16.addLayout(self.horizontalLayout_61, 0, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.tab_19) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -2213,6 +2214,14 @@ def setupUi(self, metaX_main): self.label_4.setSizePolicy(sizePolicy) self.label_4.setObjectName("label_4") self.gridLayout_16.addWidget(self.label_4, 0, 0, 1, 1) + self.label_166 = QtWidgets.QLabel(self.tab_19) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_166.sizePolicy().hasHeightForWidth()) + self.label_166.setSizePolicy(sizePolicy) + self.label_166.setObjectName("label_166") + self.gridLayout_16.addWidget(self.label_166, 3, 0, 1, 1) self.horizontalLayout_40 = QtWidgets.QHBoxLayout() self.horizontalLayout_40.setObjectName("horizontalLayout_40") self.checkBox_deseq2_comparing_in_condition = QtWidgets.QCheckBox(self.tab_19) @@ -2246,36 +2255,57 @@ def setupUi(self, metaX_main): self.horizontalLayout_75.addWidget(self.comboBox_deseq2_condition_group) self.horizontalLayout_40.addLayout(self.horizontalLayout_75) self.gridLayout_16.addLayout(self.horizontalLayout_40, 0, 2, 1, 1) - self.line = QtWidgets.QFrame(self.tab_19) - self.line.setFrameShape(QtWidgets.QFrame.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line.setObjectName("line") - self.gridLayout_16.addWidget(self.line, 1, 0, 1, 3) - self.toolBox_3 = QtWidgets.QToolBox(self.tab_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.line_14 = QtWidgets.QFrame(self.tab_19) + self.line_14.setFrameShape(QtWidgets.QFrame.HLine) + self.line_14.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_14.setObjectName("line_14") + self.gridLayout_16.addWidget(self.line_14, 4, 0, 1, 3) + self.horizontalLayout_61 = QtWidgets.QHBoxLayout() + self.horizontalLayout_61.setObjectName("horizontalLayout_61") + self.comboBox_table_for_deseq2 = QtWidgets.QComboBox(self.tab_19) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.toolBox_3.sizePolicy().hasHeightForWidth()) - self.toolBox_3.setSizePolicy(sizePolicy) - self.toolBox_3.setMaximumSize(QtCore.QSize(16777215, 200)) - self.toolBox_3.setObjectName("toolBox_3") - self.page_8 = QtWidgets.QWidget() - self.page_8.setGeometry(QtCore.QRect(0, 0, 207, 70)) - self.page_8.setObjectName("page_8") - self.gridLayout_49 = QtWidgets.QGridLayout(self.page_8) - self.gridLayout_49.setObjectName("gridLayout_49") - self.pushButton_deseq2_plot_sankey = QtWidgets.QPushButton(self.page_8) - self.pushButton_deseq2_plot_sankey.setEnabled(False) + sizePolicy.setHeightForWidth(self.comboBox_table_for_deseq2.sizePolicy().hasHeightForWidth()) + self.comboBox_table_for_deseq2.setSizePolicy(sizePolicy) + self.comboBox_table_for_deseq2.setObjectName("comboBox_table_for_deseq2") + self.comboBox_table_for_deseq2.addItem("") + self.comboBox_table_for_deseq2.addItem("") + self.comboBox_table_for_deseq2.addItem("") + self.comboBox_table_for_deseq2.addItem("") + self.horizontalLayout_61.addWidget(self.comboBox_table_for_deseq2) + self.label_147 = QtWidgets.QLabel(self.tab_19) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_147.sizePolicy().hasHeightForWidth()) + self.label_147.setSizePolicy(sizePolicy) + self.label_147.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_147.setObjectName("label_147") + self.horizontalLayout_61.addWidget(self.label_147) + self.comboBox_deseq2_meta = QtWidgets.QComboBox(self.tab_19) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_deseq2_plot_sankey.sizePolicy().hasHeightForWidth()) - self.pushButton_deseq2_plot_sankey.setSizePolicy(sizePolicy) - self.pushButton_deseq2_plot_sankey.setObjectName("pushButton_deseq2_plot_sankey") - self.gridLayout_49.addWidget(self.pushButton_deseq2_plot_sankey, 2, 1, 1, 1) + sizePolicy.setHeightForWidth(self.comboBox_deseq2_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_deseq2_meta.setSizePolicy(sizePolicy) + self.comboBox_deseq2_meta.setObjectName("comboBox_deseq2_meta") + self.horizontalLayout_61.addWidget(self.comboBox_deseq2_meta) + self.gridLayout_16.addLayout(self.horizontalLayout_61, 0, 1, 1, 1) + self.groupBox = QtWidgets.QGroupBox(self.tab_19) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth()) + self.groupBox.setSizePolicy(sizePolicy) + self.groupBox.setMinimumSize(QtCore.QSize(0, 0)) + self.groupBox.setMaximumSize(QtCore.QSize(16777215, 400)) + self.groupBox.setObjectName("groupBox") + self.gridLayout_55 = QtWidgets.QGridLayout(self.groupBox) + self.gridLayout_55.setObjectName("gridLayout_55") self.horizontalLayout_92 = QtWidgets.QHBoxLayout() self.horizontalLayout_92.setObjectName("horizontalLayout_92") - self.label_64 = QtWidgets.QLabel(self.page_8) + self.label_64 = QtWidgets.QLabel(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2284,7 +2314,7 @@ def setupUi(self, metaX_main): self.label_64.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_64.setObjectName("label_64") self.horizontalLayout_92.addWidget(self.label_64) - self.comboBox_deseq2_tables = QtWidgets.QComboBox(self.page_8) + self.comboBox_deseq2_tables = QtWidgets.QComboBox(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2292,8 +2322,8 @@ def setupUi(self, metaX_main): self.comboBox_deseq2_tables.setSizePolicy(sizePolicy) self.comboBox_deseq2_tables.setObjectName("comboBox_deseq2_tables") self.horizontalLayout_92.addWidget(self.comboBox_deseq2_tables) - self.gridLayout_49.addLayout(self.horizontalLayout_92, 0, 0, 1, 1) - self.pushButton_deseq2_plot_vocano = QtWidgets.QPushButton(self.page_8) + self.gridLayout_55.addLayout(self.horizontalLayout_92, 0, 0, 1, 1) + self.pushButton_deseq2_plot_vocano = QtWidgets.QPushButton(self.groupBox) self.pushButton_deseq2_plot_vocano.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -2301,16 +2331,32 @@ def setupUi(self, metaX_main): sizePolicy.setHeightForWidth(self.pushButton_deseq2_plot_vocano.sizePolicy().hasHeightForWidth()) self.pushButton_deseq2_plot_vocano.setSizePolicy(sizePolicy) self.pushButton_deseq2_plot_vocano.setObjectName("pushButton_deseq2_plot_vocano") - self.gridLayout_49.addWidget(self.pushButton_deseq2_plot_vocano, 0, 1, 1, 1) - self.toolBox_3.addItem(self.page_8, "") - self.page_9 = QtWidgets.QWidget() - self.page_9.setGeometry(QtCore.QRect(0, 0, 888, 146)) - self.page_9.setObjectName("page_9") - self.gridLayout_48 = QtWidgets.QGridLayout(self.page_9) + self.gridLayout_55.addWidget(self.pushButton_deseq2_plot_vocano, 0, 1, 1, 1) + self.pushButton_deseq2_plot_sankey = QtWidgets.QPushButton(self.groupBox) + self.pushButton_deseq2_plot_sankey.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_deseq2_plot_sankey.sizePolicy().hasHeightForWidth()) + self.pushButton_deseq2_plot_sankey.setSizePolicy(sizePolicy) + self.pushButton_deseq2_plot_sankey.setObjectName("pushButton_deseq2_plot_sankey") + self.gridLayout_55.addWidget(self.pushButton_deseq2_plot_sankey, 1, 1, 1, 1) + self.groupBox_deseq2_plot_settings = QtWidgets.QGroupBox(self.groupBox) + self.groupBox_deseq2_plot_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_deseq2_plot_settings.setObjectName("groupBox_deseq2_plot_settings") + self.gridLayout_48 = QtWidgets.QGridLayout(self.groupBox_deseq2_plot_settings) self.gridLayout_48.setObjectName("gridLayout_48") + self.scrollArea_3 = QtWidgets.QScrollArea(self.groupBox_deseq2_plot_settings) + self.scrollArea_3.setWidgetResizable(True) + self.scrollArea_3.setObjectName("scrollArea_3") + self.scrollAreaWidgetContents_4 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 996, 70)) + self.scrollAreaWidgetContents_4.setObjectName("scrollAreaWidgetContents_4") + self.gridLayout_68 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_4) + self.gridLayout_68.setObjectName("gridLayout_68") self.gridLayout_53 = QtWidgets.QGridLayout() self.gridLayout_53.setObjectName("gridLayout_53") - self.label_16 = QtWidgets.QLabel(self.page_9) + self.label_16 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2320,14 +2366,14 @@ def setupUi(self, metaX_main): self.label_16.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_16.setObjectName("label_16") self.gridLayout_53.addWidget(self.label_16, 1, 0, 1, 1) - self.spinBox_fc_plot_width = QtWidgets.QSpinBox(self.page_9) + self.spinBox_fc_plot_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_4) self.spinBox_fc_plot_width.setMinimum(1) self.spinBox_fc_plot_width.setMaximum(99) self.spinBox_fc_plot_width.setSingleStep(1) self.spinBox_fc_plot_width.setProperty("value", 10) self.spinBox_fc_plot_width.setObjectName("spinBox_fc_plot_width") self.gridLayout_53.addWidget(self.spinBox_fc_plot_width, 1, 1, 1, 1) - self.label_17 = QtWidgets.QLabel(self.page_9) + self.label_17 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2336,7 +2382,7 @@ def setupUi(self, metaX_main): self.label_17.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_17.setObjectName("label_17") self.gridLayout_53.addWidget(self.label_17, 1, 2, 1, 1) - self.label_14 = QtWidgets.QLabel(self.page_9) + self.label_14 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2345,7 +2391,7 @@ def setupUi(self, metaX_main): self.label_14.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_14.setObjectName("label_14") self.gridLayout_53.addWidget(self.label_14, 0, 0, 1, 1) - self.comboBox_deseq2_p_type = QtWidgets.QComboBox(self.page_9) + self.comboBox_deseq2_p_type = QtWidgets.QComboBox(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2355,7 +2401,7 @@ def setupUi(self, metaX_main): self.comboBox_deseq2_p_type.addItem("") self.comboBox_deseq2_p_type.addItem("") self.gridLayout_53.addWidget(self.comboBox_deseq2_p_type, 0, 1, 1, 1) - self.spinBox_fc_plot_height = QtWidgets.QSpinBox(self.page_9) + self.spinBox_fc_plot_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2367,7 +2413,7 @@ def setupUi(self, metaX_main): self.spinBox_fc_plot_height.setProperty("value", 8) self.spinBox_fc_plot_height.setObjectName("spinBox_fc_plot_height") self.gridLayout_53.addWidget(self.spinBox_fc_plot_height, 1, 3, 1, 1) - self.label_71 = QtWidgets.QLabel(self.page_9) + self.label_71 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2376,11 +2422,11 @@ def setupUi(self, metaX_main): self.label_71.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_71.setObjectName("label_71") self.gridLayout_53.addWidget(self.label_71, 0, 4, 1, 1) - self.label_156 = QtWidgets.QLabel(self.page_9) + self.label_156 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) self.label_156.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_156.setObjectName("label_156") self.gridLayout_53.addWidget(self.label_156, 1, 4, 1, 1) - self.doubleSpinBox_deseq2_log2fc_min = QtWidgets.QDoubleSpinBox(self.page_9) + self.doubleSpinBox_deseq2_log2fc_min = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2390,12 +2436,12 @@ def setupUi(self, metaX_main): self.doubleSpinBox_deseq2_log2fc_min.setProperty("value", 1.0) self.doubleSpinBox_deseq2_log2fc_min.setObjectName("doubleSpinBox_deseq2_log2fc_min") self.gridLayout_53.addWidget(self.doubleSpinBox_deseq2_log2fc_min, 0, 5, 1, 1) - self.spinBox_seqeq2_font_size = QtWidgets.QSpinBox(self.page_9) + self.spinBox_seqeq2_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_4) self.spinBox_seqeq2_font_size.setMinimum(1) self.spinBox_seqeq2_font_size.setProperty("value", 12) self.spinBox_seqeq2_font_size.setObjectName("spinBox_seqeq2_font_size") self.gridLayout_53.addWidget(self.spinBox_seqeq2_font_size, 1, 5, 1, 1) - self.label_63 = QtWidgets.QLabel(self.page_9) + self.label_63 = QtWidgets.QLabel(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2404,7 +2450,7 @@ def setupUi(self, metaX_main): self.label_63.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_63.setObjectName("label_63") self.gridLayout_53.addWidget(self.label_63, 0, 6, 1, 1) - self.doubleSpinBox_deseq2_log2fc_max = QtWidgets.QDoubleSpinBox(self.page_9) + self.doubleSpinBox_deseq2_log2fc_max = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2414,7 +2460,7 @@ def setupUi(self, metaX_main): self.doubleSpinBox_deseq2_log2fc_max.setProperty("value", 20.0) self.doubleSpinBox_deseq2_log2fc_max.setObjectName("doubleSpinBox_deseq2_log2fc_max") self.gridLayout_53.addWidget(self.doubleSpinBox_deseq2_log2fc_max, 0, 7, 1, 1) - self.doubleSpinBox_deseq2_pvalue = QtWidgets.QDoubleSpinBox(self.page_9) + self.doubleSpinBox_deseq2_pvalue = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2426,9 +2472,14 @@ def setupUi(self, metaX_main): self.doubleSpinBox_deseq2_pvalue.setProperty("value", 0.05) self.doubleSpinBox_deseq2_pvalue.setObjectName("doubleSpinBox_deseq2_pvalue") self.gridLayout_53.addWidget(self.doubleSpinBox_deseq2_pvalue, 0, 2, 1, 2) - self.gridLayout_48.addLayout(self.gridLayout_53, 0, 1, 1, 1) - self.toolBox_3.addItem(self.page_9, "") - self.gridLayout_16.addWidget(self.toolBox_3, 6, 0, 1, 3) + self.gridLayout_68.addLayout(self.gridLayout_53, 0, 0, 1, 1) + self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_4) + self.gridLayout_48.addWidget(self.scrollArea_3, 0, 0, 1, 1) + self.gridLayout_55.addWidget(self.groupBox_deseq2_plot_settings, 2, 0, 1, 2) + self.checkBox_3 = QtWidgets.QCheckBox(self.groupBox) + self.checkBox_3.setObjectName("checkBox_3") + self.gridLayout_55.addWidget(self.checkBox_3, 1, 0, 1, 1) + self.gridLayout_16.addWidget(self.groupBox, 6, 0, 1, 3) self.tabWidget_3.addTab(self.tab_19, "") self.tab_4 = QtWidgets.QWidget() self.tab_4.setObjectName("tab_4") @@ -2558,18 +2609,39 @@ def setupUi(self, metaX_main): self.gridLayout_10.addWidget(self.line_16, 1, 0, 1, 4) self.tabWidget_3.addTab(self.tab_4, "") self.gridLayout_9.addWidget(self.tabWidget_3, 0, 0, 1, 1) - self.toolBox_9 = QtWidgets.QToolBox(self.tab_2) - self.toolBox_9.setMinimumSize(QtCore.QSize(0, 100)) - self.toolBox_9.setMaximumSize(QtCore.QSize(16777215, 250)) - self.toolBox_9.setObjectName("toolBox_9") - self.page_20 = QtWidgets.QWidget() - self.page_20.setGeometry(QtCore.QRect(0, 0, 912, 196)) - self.page_20.setObjectName("page_20") - self.gridLayout_69 = QtWidgets.QGridLayout(self.page_20) - self.gridLayout_69.setObjectName("gridLayout_69") + self.groupBox_cross_heatmap_plot = QtWidgets.QGroupBox(self.tab_2) + self.groupBox_cross_heatmap_plot.setObjectName("groupBox_cross_heatmap_plot") + self.gridLayout_75 = QtWidgets.QGridLayout(self.groupBox_cross_heatmap_plot) + self.gridLayout_75.setObjectName("gridLayout_75") + self.gridLayout_46 = QtWidgets.QGridLayout() + self.gridLayout_46.setObjectName("gridLayout_46") + self.pushButton_get_top_cross_table = QtWidgets.QPushButton(self.groupBox_cross_heatmap_plot) + self.pushButton_get_top_cross_table.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_get_top_cross_table.sizePolicy().hasHeightForWidth()) + self.pushButton_get_top_cross_table.setSizePolicy(sizePolicy) + self.pushButton_get_top_cross_table.setMaximumSize(QtCore.QSize(16777215, 30)) + self.pushButton_get_top_cross_table.setObjectName("pushButton_get_top_cross_table") + self.gridLayout_46.addWidget(self.pushButton_get_top_cross_table, 1, 1, 1, 1) + self.pushButton_plot_top_heatmap = QtWidgets.QPushButton(self.groupBox_cross_heatmap_plot) + self.pushButton_plot_top_heatmap.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_top_heatmap.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_top_heatmap.setSizePolicy(sizePolicy) + self.pushButton_plot_top_heatmap.setMaximumSize(QtCore.QSize(16777215, 50)) + self.pushButton_plot_top_heatmap.setAutoDefault(False) + self.pushButton_plot_top_heatmap.setObjectName("pushButton_plot_top_heatmap") + self.gridLayout_46.addWidget(self.pushButton_plot_top_heatmap, 0, 1, 1, 1) + self.checkBox_2 = QtWidgets.QCheckBox(self.groupBox_cross_heatmap_plot) + self.checkBox_2.setObjectName("checkBox_2") + self.gridLayout_46.addWidget(self.checkBox_2, 1, 0, 1, 1) self.horizontalLayout_13 = QtWidgets.QHBoxLayout() self.horizontalLayout_13.setObjectName("horizontalLayout_13") - self.label_56 = QtWidgets.QLabel(self.page_20) + self.label_56 = QtWidgets.QLabel(self.groupBox_cross_heatmap_plot) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2577,7 +2649,7 @@ def setupUi(self, metaX_main): self.label_56.setSizePolicy(sizePolicy) self.label_56.setObjectName("label_56") self.horizontalLayout_13.addWidget(self.label_56) - self.comboBox_top_heatmap_table = QtWidgets.QComboBox(self.page_20) + self.comboBox_top_heatmap_table = QtWidgets.QComboBox(self.groupBox_cross_heatmap_plot) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2587,204 +2659,172 @@ def setupUi(self, metaX_main): self.comboBox_top_heatmap_table.addItem("") self.comboBox_top_heatmap_table.setItemText(0, "") self.horizontalLayout_13.addWidget(self.comboBox_top_heatmap_table) - self.gridLayout_69.addLayout(self.horizontalLayout_13, 0, 0, 1, 1) - self.pushButton_plot_top_heatmap = QtWidgets.QPushButton(self.page_20) - self.pushButton_plot_top_heatmap.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_top_heatmap.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_top_heatmap.setSizePolicy(sizePolicy) - self.pushButton_plot_top_heatmap.setMaximumSize(QtCore.QSize(16777215, 50)) - self.pushButton_plot_top_heatmap.setAutoDefault(False) - self.pushButton_plot_top_heatmap.setObjectName("pushButton_plot_top_heatmap") - self.gridLayout_69.addWidget(self.pushButton_plot_top_heatmap, 0, 1, 1, 1) - self.pushButton_get_top_cross_table = QtWidgets.QPushButton(self.page_20) - self.pushButton_get_top_cross_table.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_get_top_cross_table.sizePolicy().hasHeightForWidth()) - self.pushButton_get_top_cross_table.setSizePolicy(sizePolicy) - self.pushButton_get_top_cross_table.setMaximumSize(QtCore.QSize(16777215, 30)) - self.pushButton_get_top_cross_table.setObjectName("pushButton_get_top_cross_table") - self.gridLayout_69.addWidget(self.pushButton_get_top_cross_table, 1, 1, 1, 1) - self.toolBox_9.addItem(self.page_20, "") - self.page_21 = QtWidgets.QWidget() - self.page_21.setGeometry(QtCore.QRect(0, 0, 895, 137)) - self.page_21.setObjectName("page_21") - self.gridLayout_68 = QtWidgets.QGridLayout(self.page_21) - self.gridLayout_68.setObjectName("gridLayout_68") - self.gridLayout_top_heatmap_plot = QtWidgets.QGridLayout() - self.gridLayout_top_heatmap_plot.setObjectName("gridLayout_top_heatmap_plot") - self.horizontalLayout_18 = QtWidgets.QHBoxLayout() - self.horizontalLayout_18.setObjectName("horizontalLayout_18") - self.label_57 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_57.sizePolicy().hasHeightForWidth()) - self.label_57.setSizePolicy(sizePolicy) - self.label_57.setObjectName("label_57") - self.horizontalLayout_18.addWidget(self.label_57) - self.comboBox_top_heatmap_sort_type = QtWidgets.QComboBox(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.gridLayout_46.addLayout(self.horizontalLayout_13, 0, 0, 1, 1) + self.gridLayout_75.addLayout(self.gridLayout_46, 0, 0, 1, 1) + self.groupBox_cross_heatmap_settings = QtWidgets.QGroupBox(self.groupBox_cross_heatmap_plot) + self.groupBox_cross_heatmap_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_cross_heatmap_settings.setObjectName("groupBox_cross_heatmap_settings") + self.gridLayout_52 = QtWidgets.QGridLayout(self.groupBox_cross_heatmap_settings) + self.gridLayout_52.setObjectName("gridLayout_52") + self.scrollArea_cross_heatmap_settings = QtWidgets.QScrollArea(self.groupBox_cross_heatmap_settings) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_sort_type.sizePolicy().hasHeightForWidth()) - self.comboBox_top_heatmap_sort_type.setSizePolicy(sizePolicy) - self.comboBox_top_heatmap_sort_type.setObjectName("comboBox_top_heatmap_sort_type") - self.comboBox_top_heatmap_sort_type.addItem("") - self.comboBox_top_heatmap_sort_type.addItem("") - self.comboBox_top_heatmap_sort_type.addItem("") - self.horizontalLayout_18.addWidget(self.comboBox_top_heatmap_sort_type) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_18, 3, 2, 1, 1) - self.label_180 = QtWidgets.QLabel(self.page_21) + sizePolicy.setHeightForWidth(self.scrollArea_cross_heatmap_settings.sizePolicy().hasHeightForWidth()) + self.scrollArea_cross_heatmap_settings.setSizePolicy(sizePolicy) + self.scrollArea_cross_heatmap_settings.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.scrollArea_cross_heatmap_settings.setWidgetResizable(True) + self.scrollArea_cross_heatmap_settings.setObjectName("scrollArea_cross_heatmap_settings") + self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 1003, 124)) + self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3") + self.gridLayout_38 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_3) + self.gridLayout_38.setObjectName("gridLayout_38") + self.gridLayout_51 = QtWidgets.QGridLayout() + self.gridLayout_51.setObjectName("gridLayout_51") + self.label_131 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_180.sizePolicy().hasHeightForWidth()) - self.label_180.setSizePolicy(sizePolicy) - self.label_180.setMinimumSize(QtCore.QSize(150, 0)) - self.label_180.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_180.setFont(font) - self.label_180.setObjectName("label_180") - self.gridLayout_top_heatmap_plot.addWidget(self.label_180, 3, 0, 1, 1) - self.horizontalLayout_21 = QtWidgets.QHBoxLayout() - self.horizontalLayout_21.setObjectName("horizontalLayout_21") - self.label_59 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_131.sizePolicy().hasHeightForWidth()) + self.label_131.setSizePolicy(sizePolicy) + self.label_131.setMinimumSize(QtCore.QSize(0, 0)) + self.label_131.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_131.setObjectName("label_131") + self.gridLayout_51.addWidget(self.label_131, 0, 5, 1, 1) + self.horizontalLayout_17 = QtWidgets.QHBoxLayout() + self.horizontalLayout_17.setObjectName("horizontalLayout_17") + self.checkBox_top_heatmap_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_59.sizePolicy().hasHeightForWidth()) - self.label_59.setSizePolicy(sizePolicy) - self.label_59.setMinimumSize(QtCore.QSize(70, 0)) - self.label_59.setMaximumSize(QtCore.QSize(100, 16777215)) - self.label_59.setObjectName("label_59") - self.horizontalLayout_21.addWidget(self.label_59) - self.spinBox_top_heatmap_width = QtWidgets.QSpinBox(self.page_21) + sizePolicy.setHeightForWidth(self.checkBox_top_heatmap_rename_taxa.sizePolicy().hasHeightForWidth()) + self.checkBox_top_heatmap_rename_taxa.setSizePolicy(sizePolicy) + self.checkBox_top_heatmap_rename_taxa.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_top_heatmap_rename_taxa.setChecked(True) + self.checkBox_top_heatmap_rename_taxa.setObjectName("checkBox_top_heatmap_rename_taxa") + self.horizontalLayout_17.addWidget(self.checkBox_top_heatmap_rename_taxa) + self.checkBox_top_heatmap_rename_sample = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_width.sizePolicy().hasHeightForWidth()) - self.spinBox_top_heatmap_width.setSizePolicy(sizePolicy) - self.spinBox_top_heatmap_width.setMinimum(1) - self.spinBox_top_heatmap_width.setMaximum(9999) - self.spinBox_top_heatmap_width.setSingleStep(1) - self.spinBox_top_heatmap_width.setProperty("value", 16) - self.spinBox_top_heatmap_width.setObjectName("spinBox_top_heatmap_width") - self.horizontalLayout_21.addWidget(self.spinBox_top_heatmap_width) - self.label_60 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.checkBox_top_heatmap_rename_sample.sizePolicy().hasHeightForWidth()) + self.checkBox_top_heatmap_rename_sample.setSizePolicy(sizePolicy) + self.checkBox_top_heatmap_rename_sample.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_top_heatmap_rename_sample.setChecked(True) + self.checkBox_top_heatmap_rename_sample.setObjectName("checkBox_top_heatmap_rename_sample") + self.horizontalLayout_17.addWidget(self.checkBox_top_heatmap_rename_sample) + self.gridLayout_51.addLayout(self.horizontalLayout_17, 1, 6, 1, 1) + self.horizontalLayout_19 = QtWidgets.QHBoxLayout() + self.horizontalLayout_19.setObjectName("horizontalLayout_19") + self.label_62 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_60.sizePolicy().hasHeightForWidth()) - self.label_60.setSizePolicy(sizePolicy) - self.label_60.setObjectName("label_60") - self.horizontalLayout_21.addWidget(self.label_60) - self.spinBox_top_heatmap_length = QtWidgets.QSpinBox(self.page_21) + sizePolicy.setHeightForWidth(self.label_62.sizePolicy().hasHeightForWidth()) + self.label_62.setSizePolicy(sizePolicy) + self.label_62.setMinimumSize(QtCore.QSize(0, 0)) + self.label_62.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_62.setObjectName("label_62") + self.horizontalLayout_19.addWidget(self.label_62) + self.comboBox_top_heatmap_scale = QtWidgets.QComboBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_length.sizePolicy().hasHeightForWidth()) - self.spinBox_top_heatmap_length.setSizePolicy(sizePolicy) - self.spinBox_top_heatmap_length.setMinimum(1) - self.spinBox_top_heatmap_length.setMaximum(9999) - self.spinBox_top_heatmap_length.setProperty("value", 9) - self.spinBox_top_heatmap_length.setObjectName("spinBox_top_heatmap_length") - self.horizontalLayout_21.addWidget(self.spinBox_top_heatmap_length) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_21, 0, 1, 1, 1) - self.label_182 = QtWidgets.QLabel(self.page_21) - self.label_182.setMinimumSize(QtCore.QSize(150, 0)) - self.label_182.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_182.setFont(font) - self.label_182.setObjectName("label_182") - self.gridLayout_top_heatmap_plot.addWidget(self.label_182, 0, 0, 1, 1) - self.horizontalLayout_14 = QtWidgets.QHBoxLayout() - self.horizontalLayout_14.setObjectName("horizontalLayout_14") - self.label_58 = QtWidgets.QLabel(self.page_21) + sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_scale.sizePolicy().hasHeightForWidth()) + self.comboBox_top_heatmap_scale.setSizePolicy(sizePolicy) + self.comboBox_top_heatmap_scale.setMinimumSize(QtCore.QSize(0, 0)) + self.comboBox_top_heatmap_scale.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.comboBox_top_heatmap_scale.setObjectName("comboBox_top_heatmap_scale") + self.comboBox_top_heatmap_scale.addItem("") + self.comboBox_top_heatmap_scale.addItem("") + self.comboBox_top_heatmap_scale.addItem("") + self.horizontalLayout_19.addWidget(self.comboBox_top_heatmap_scale) + self.gridLayout_51.addLayout(self.horizontalLayout_19, 1, 1, 1, 1) + self.horizontalLayout_21 = QtWidgets.QHBoxLayout() + self.horizontalLayout_21.setObjectName("horizontalLayout_21") + self.label_38 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_58.sizePolicy().hasHeightForWidth()) - self.label_58.setSizePolicy(sizePolicy) - self.label_58.setMinimumSize(QtCore.QSize(70, 0)) - self.label_58.setMaximumSize(QtCore.QSize(50, 16777215)) - self.label_58.setObjectName("label_58") - self.horizontalLayout_14.addWidget(self.label_58) - self.spinBox_top_heatmap_number = QtWidgets.QSpinBox(self.page_21) + sizePolicy.setHeightForWidth(self.label_38.sizePolicy().hasHeightForWidth()) + self.label_38.setSizePolicy(sizePolicy) + self.label_38.setMinimumSize(QtCore.QSize(0, 0)) + self.label_38.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_38.setObjectName("label_38") + self.horizontalLayout_21.addWidget(self.label_38) + self.comboBox_top_heatmap_cmap = QtWidgets.QComboBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_number.sizePolicy().hasHeightForWidth()) - self.spinBox_top_heatmap_number.setSizePolicy(sizePolicy) - self.spinBox_top_heatmap_number.setMinimum(1) - self.spinBox_top_heatmap_number.setMaximum(9999) - self.spinBox_top_heatmap_number.setProperty("value", 100) - self.spinBox_top_heatmap_number.setObjectName("spinBox_top_heatmap_number") - self.horizontalLayout_14.addWidget(self.spinBox_top_heatmap_number) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_14, 3, 1, 1, 1) - self.horizontalLayout_19 = QtWidgets.QHBoxLayout() - self.horizontalLayout_19.setObjectName("horizontalLayout_19") - self.label_109 = QtWidgets.QLabel(self.page_21) + sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_cmap.sizePolicy().hasHeightForWidth()) + self.comboBox_top_heatmap_cmap.setSizePolicy(sizePolicy) + self.comboBox_top_heatmap_cmap.setMinimumSize(QtCore.QSize(0, 0)) + self.comboBox_top_heatmap_cmap.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.comboBox_top_heatmap_cmap.setObjectName("comboBox_top_heatmap_cmap") + self.horizontalLayout_21.addWidget(self.comboBox_top_heatmap_cmap) + self.gridLayout_51.addLayout(self.horizontalLayout_21, 1, 2, 1, 1) + self.label_153 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + self.label_153.setMinimumSize(QtCore.QSize(0, 0)) + self.label_153.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_153.setObjectName("label_153") + self.gridLayout_51.addWidget(self.label_153, 1, 5, 1, 1) + self.horizontalLayout_23 = QtWidgets.QHBoxLayout() + self.horizontalLayout_23.setObjectName("horizontalLayout_23") + self.label_109 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_109.sizePolicy().hasHeightForWidth()) self.label_109.setSizePolicy(sizePolicy) + self.label_109.setMinimumSize(QtCore.QSize(0, 0)) + self.label_109.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_109.setObjectName("label_109") - self.horizontalLayout_19.addWidget(self.label_109) - self.spinBox_top_heatmap_label_font_size = QtWidgets.QSpinBox(self.page_21) + self.horizontalLayout_23.addWidget(self.label_109) + self.spinBox_top_heatmap_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_label_font_size.sizePolicy().hasHeightForWidth()) self.spinBox_top_heatmap_label_font_size.setSizePolicy(sizePolicy) + self.spinBox_top_heatmap_label_font_size.setMinimumSize(QtCore.QSize(0, 0)) + self.spinBox_top_heatmap_label_font_size.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBox_top_heatmap_label_font_size.setMinimum(1) self.spinBox_top_heatmap_label_font_size.setMaximum(999) self.spinBox_top_heatmap_label_font_size.setSingleStep(1) self.spinBox_top_heatmap_label_font_size.setProperty("value", 10) self.spinBox_top_heatmap_label_font_size.setObjectName("spinBox_top_heatmap_label_font_size") - self.horizontalLayout_19.addWidget(self.spinBox_top_heatmap_label_font_size) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_19, 0, 2, 1, 1) - self.horizontalLayout_23 = QtWidgets.QHBoxLayout() - self.horizontalLayout_23.setObjectName("horizontalLayout_23") - self.checkBox_cross_heatmap_col_cluster = QtWidgets.QCheckBox(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_23.addWidget(self.spinBox_top_heatmap_label_font_size) + self.gridLayout_51.addLayout(self.horizontalLayout_23, 0, 3, 1, 1) + self.horizontalLayout_18 = QtWidgets.QHBoxLayout() + self.horizontalLayout_18.setObjectName("horizontalLayout_18") + self.label_60 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_cross_heatmap_col_cluster.sizePolicy().hasHeightForWidth()) - self.checkBox_cross_heatmap_col_cluster.setSizePolicy(sizePolicy) - self.checkBox_cross_heatmap_col_cluster.setChecked(True) - self.checkBox_cross_heatmap_col_cluster.setObjectName("checkBox_cross_heatmap_col_cluster") - self.horizontalLayout_23.addWidget(self.checkBox_cross_heatmap_col_cluster) - self.checkBox_cross_heatmap_row_cluster = QtWidgets.QCheckBox(self.page_21) + sizePolicy.setHeightForWidth(self.label_60.sizePolicy().hasHeightForWidth()) + self.label_60.setSizePolicy(sizePolicy) + self.label_60.setMinimumSize(QtCore.QSize(0, 0)) + self.label_60.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_60.setObjectName("label_60") + self.horizontalLayout_18.addWidget(self.label_60) + self.spinBox_top_heatmap_length = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_cross_heatmap_row_cluster.sizePolicy().hasHeightForWidth()) - self.checkBox_cross_heatmap_row_cluster.setSizePolicy(sizePolicy) - self.checkBox_cross_heatmap_row_cluster.setChecked(True) - self.checkBox_cross_heatmap_row_cluster.setObjectName("checkBox_cross_heatmap_row_cluster") - self.horizontalLayout_23.addWidget(self.checkBox_cross_heatmap_row_cluster) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_23, 0, 3, 1, 1) + sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_length.sizePolicy().hasHeightForWidth()) + self.spinBox_top_heatmap_length.setSizePolicy(sizePolicy) + self.spinBox_top_heatmap_length.setMinimumSize(QtCore.QSize(0, 0)) + self.spinBox_top_heatmap_length.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.spinBox_top_heatmap_length.setMinimum(1) + self.spinBox_top_heatmap_length.setMaximum(9999) + self.spinBox_top_heatmap_length.setProperty("value", 9) + self.spinBox_top_heatmap_length.setObjectName("spinBox_top_heatmap_length") + self.horizontalLayout_18.addWidget(self.spinBox_top_heatmap_length) + self.gridLayout_51.addLayout(self.horizontalLayout_18, 0, 2, 1, 1) self.horizontalLayout_15 = QtWidgets.QHBoxLayout() self.horizontalLayout_15.setObjectName("horizontalLayout_15") - self.label_131 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_131.sizePolicy().hasHeightForWidth()) - self.label_131.setSizePolicy(sizePolicy) - self.label_131.setObjectName("label_131") - self.horizontalLayout_15.addWidget(self.label_131) - self.checkBox_top_heatmap_show_all_labels_x = QtWidgets.QCheckBox(self.page_21) + self.checkBox_top_heatmap_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2793,7 +2833,7 @@ def setupUi(self, metaX_main): self.checkBox_top_heatmap_show_all_labels_x.setLayoutDirection(QtCore.Qt.LeftToRight) self.checkBox_top_heatmap_show_all_labels_x.setObjectName("checkBox_top_heatmap_show_all_labels_x") self.horizontalLayout_15.addWidget(self.checkBox_top_heatmap_show_all_labels_x) - self.checkBox_top_heatmap_show_all_labels_y = QtWidgets.QCheckBox(self.page_21) + self.checkBox_top_heatmap_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2802,179 +2842,241 @@ def setupUi(self, metaX_main): self.checkBox_top_heatmap_show_all_labels_y.setLayoutDirection(QtCore.Qt.LeftToRight) self.checkBox_top_heatmap_show_all_labels_y.setObjectName("checkBox_top_heatmap_show_all_labels_y") self.horizontalLayout_15.addWidget(self.checkBox_top_heatmap_show_all_labels_y) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_15, 1, 3, 1, 1) + self.gridLayout_51.addLayout(self.horizontalLayout_15, 0, 6, 1, 1) + self.label_181 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_181.sizePolicy().hasHeightForWidth()) + self.label_181.setSizePolicy(sizePolicy) + self.label_181.setMinimumSize(QtCore.QSize(0, 0)) + self.label_181.setMaximumSize(QtCore.QSize(16777215, 16777215)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_181.setFont(font) + self.label_181.setObjectName("label_181") + self.gridLayout_51.addWidget(self.label_181, 3, 0, 1, 1) + self.label_182 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + self.label_182.setMinimumSize(QtCore.QSize(0, 0)) + self.label_182.setMaximumSize(QtCore.QSize(16777215, 16777215)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_182.setFont(font) + self.label_182.setObjectName("label_182") + self.gridLayout_51.addWidget(self.label_182, 0, 0, 1, 1) self.horizontalLayout_16 = QtWidgets.QHBoxLayout() self.horizontalLayout_16.setObjectName("horizontalLayout_16") - self.label_30 = QtWidgets.QLabel(self.page_21) + self.label_59 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_59.sizePolicy().hasHeightForWidth()) + self.label_59.setSizePolicy(sizePolicy) + self.label_59.setMinimumSize(QtCore.QSize(0, 0)) + self.label_59.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_59.setObjectName("label_59") + self.horizontalLayout_16.addWidget(self.label_59) + self.spinBox_top_heatmap_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_width.sizePolicy().hasHeightForWidth()) + self.spinBox_top_heatmap_width.setSizePolicy(sizePolicy) + self.spinBox_top_heatmap_width.setMinimumSize(QtCore.QSize(0, 0)) + self.spinBox_top_heatmap_width.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.spinBox_top_heatmap_width.setMinimum(1) + self.spinBox_top_heatmap_width.setMaximum(9999) + self.spinBox_top_heatmap_width.setSingleStep(1) + self.spinBox_top_heatmap_width.setProperty("value", 16) + self.spinBox_top_heatmap_width.setObjectName("spinBox_top_heatmap_width") + self.horizontalLayout_16.addWidget(self.spinBox_top_heatmap_width) + self.gridLayout_51.addLayout(self.horizontalLayout_16, 0, 1, 1, 1) + self.horizontalLayout_86 = QtWidgets.QHBoxLayout() + self.horizontalLayout_86.setObjectName("horizontalLayout_86") + self.label_57 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_57.sizePolicy().hasHeightForWidth()) + self.label_57.setSizePolicy(sizePolicy) + self.label_57.setMinimumSize(QtCore.QSize(0, 0)) + self.label_57.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_57.setObjectName("label_57") + self.horizontalLayout_86.addWidget(self.label_57) + self.comboBox_top_heatmap_sort_type = QtWidgets.QComboBox(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_sort_type.sizePolicy().hasHeightForWidth()) + self.comboBox_top_heatmap_sort_type.setSizePolicy(sizePolicy) + self.comboBox_top_heatmap_sort_type.setMinimumSize(QtCore.QSize(0, 0)) + self.comboBox_top_heatmap_sort_type.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.comboBox_top_heatmap_sort_type.setObjectName("comboBox_top_heatmap_sort_type") + self.comboBox_top_heatmap_sort_type.addItem("") + self.comboBox_top_heatmap_sort_type.addItem("") + self.comboBox_top_heatmap_sort_type.addItem("") + self.horizontalLayout_86.addWidget(self.comboBox_top_heatmap_sort_type) + self.gridLayout_51.addLayout(self.horizontalLayout_86, 1, 3, 1, 1) + self.label_180 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_180.sizePolicy().hasHeightForWidth()) + self.label_180.setSizePolicy(sizePolicy) + self.label_180.setMinimumSize(QtCore.QSize(0, 0)) + self.label_180.setMaximumSize(QtCore.QSize(16777215, 16777215)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_180.setFont(font) + self.label_180.setObjectName("label_180") + self.gridLayout_51.addWidget(self.label_180, 2, 0, 1, 1) + self.horizontalLayout_93 = QtWidgets.QHBoxLayout() + self.horizontalLayout_93.setObjectName("horizontalLayout_93") + self.label_30 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) self.label_30.setObjectName("label_30") - self.horizontalLayout_16.addWidget(self.label_30) - self.doubleSpinBox_top_heatmap_pvalue = QtWidgets.QDoubleSpinBox(self.page_21) + self.horizontalLayout_93.addWidget(self.label_30) + self.doubleSpinBox_top_heatmap_pvalue = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.doubleSpinBox_top_heatmap_pvalue.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_top_heatmap_pvalue.setSizePolicy(sizePolicy) + self.doubleSpinBox_top_heatmap_pvalue.setMinimumSize(QtCore.QSize(0, 0)) + self.doubleSpinBox_top_heatmap_pvalue.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.doubleSpinBox_top_heatmap_pvalue.setDecimals(4) self.doubleSpinBox_top_heatmap_pvalue.setMaximum(1.0) self.doubleSpinBox_top_heatmap_pvalue.setSingleStep(0.01) self.doubleSpinBox_top_heatmap_pvalue.setProperty("value", 0.05) self.doubleSpinBox_top_heatmap_pvalue.setObjectName("doubleSpinBox_top_heatmap_pvalue") - self.horizontalLayout_16.addWidget(self.doubleSpinBox_top_heatmap_pvalue) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_16, 3, 3, 1, 1) - self.horizontalLayout_17 = QtWidgets.QHBoxLayout() - self.horizontalLayout_17.setObjectName("horizontalLayout_17") - self.label_153 = QtWidgets.QLabel(self.page_21) - self.label_153.setObjectName("label_153") - self.horizontalLayout_17.addWidget(self.label_153) - self.checkBox_top_heatmap_rename_taxa = QtWidgets.QCheckBox(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_top_heatmap_rename_taxa.sizePolicy().hasHeightForWidth()) - self.checkBox_top_heatmap_rename_taxa.setSizePolicy(sizePolicy) - self.checkBox_top_heatmap_rename_taxa.setLayoutDirection(QtCore.Qt.LeftToRight) - self.checkBox_top_heatmap_rename_taxa.setChecked(True) - self.checkBox_top_heatmap_rename_taxa.setObjectName("checkBox_top_heatmap_rename_taxa") - self.horizontalLayout_17.addWidget(self.checkBox_top_heatmap_rename_taxa) - self.checkBox_top_heatmap_rename_sample = QtWidgets.QCheckBox(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_top_heatmap_rename_sample.sizePolicy().hasHeightForWidth()) - self.checkBox_top_heatmap_rename_sample.setSizePolicy(sizePolicy) - self.checkBox_top_heatmap_rename_sample.setLayoutDirection(QtCore.Qt.LeftToRight) - self.checkBox_top_heatmap_rename_sample.setChecked(True) - self.checkBox_top_heatmap_rename_sample.setObjectName("checkBox_top_heatmap_rename_sample") - self.horizontalLayout_17.addWidget(self.checkBox_top_heatmap_rename_sample) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_17, 0, 4, 1, 1) - self.gridLayout_38 = QtWidgets.QGridLayout() - self.gridLayout_38.setObjectName("gridLayout_38") - self.horizontalLayout_86 = QtWidgets.QHBoxLayout() - self.horizontalLayout_86.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) - self.horizontalLayout_86.setSpacing(2) - self.horizontalLayout_86.setObjectName("horizontalLayout_86") - self.label_141 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_141.sizePolicy().hasHeightForWidth()) - self.label_141.setSizePolicy(sizePolicy) - self.label_141.setObjectName("label_141") - self.horizontalLayout_86.addWidget(self.label_141) - self.comboBox_cross_3_level_plot_df_type = QtWidgets.QComboBox(self.page_21) - self.comboBox_cross_3_level_plot_df_type.setObjectName("comboBox_cross_3_level_plot_df_type") - self.comboBox_cross_3_level_plot_df_type.addItem("") - self.comboBox_cross_3_level_plot_df_type.addItem("") - self.comboBox_cross_3_level_plot_df_type.addItem("") - self.horizontalLayout_86.addWidget(self.comboBox_cross_3_level_plot_df_type) - self.gridLayout_38.addLayout(self.horizontalLayout_86, 0, 2, 1, 1) + self.horizontalLayout_93.addWidget(self.doubleSpinBox_top_heatmap_pvalue) + self.gridLayout_51.addLayout(self.horizontalLayout_93, 1, 4, 1, 1) self.horizontalLayout_84 = QtWidgets.QHBoxLayout() - self.horizontalLayout_84.setSpacing(4) self.horizontalLayout_84.setObjectName("horizontalLayout_84") - self.label_181 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.checkBox_cross_heatmap_row_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_cross_heatmap_row_cluster.sizePolicy().hasHeightForWidth()) + self.checkBox_cross_heatmap_row_cluster.setSizePolicy(sizePolicy) + self.checkBox_cross_heatmap_row_cluster.setMinimumSize(QtCore.QSize(0, 0)) + self.checkBox_cross_heatmap_row_cluster.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.checkBox_cross_heatmap_row_cluster.setChecked(True) + self.checkBox_cross_heatmap_row_cluster.setObjectName("checkBox_cross_heatmap_row_cluster") + self.horizontalLayout_84.addWidget(self.checkBox_cross_heatmap_row_cluster) + self.checkBox_cross_heatmap_col_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_181.sizePolicy().hasHeightForWidth()) - self.label_181.setSizePolicy(sizePolicy) - self.label_181.setMinimumSize(QtCore.QSize(150, 0)) - self.label_181.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_181.setFont(font) - self.label_181.setObjectName("label_181") - self.horizontalLayout_84.addWidget(self.label_181) - self.label_138 = QtWidgets.QLabel(self.page_21) + sizePolicy.setHeightForWidth(self.checkBox_cross_heatmap_col_cluster.sizePolicy().hasHeightForWidth()) + self.checkBox_cross_heatmap_col_cluster.setSizePolicy(sizePolicy) + self.checkBox_cross_heatmap_col_cluster.setMinimumSize(QtCore.QSize(0, 0)) + self.checkBox_cross_heatmap_col_cluster.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.checkBox_cross_heatmap_col_cluster.setChecked(True) + self.checkBox_cross_heatmap_col_cluster.setObjectName("checkBox_cross_heatmap_col_cluster") + self.horizontalLayout_84.addWidget(self.checkBox_cross_heatmap_col_cluster) + self.gridLayout_51.addLayout(self.horizontalLayout_84, 0, 4, 1, 1) + self.label_138 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_138.sizePolicy().hasHeightForWidth()) self.label_138.setSizePolicy(sizePolicy) - self.label_138.setMinimumSize(QtCore.QSize(70, 0)) - self.label_138.setMaximumSize(QtCore.QSize(50, 16777215)) + self.label_138.setMinimumSize(QtCore.QSize(0, 0)) + self.label_138.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_138.setObjectName("label_138") - self.horizontalLayout_84.addWidget(self.label_138) - self.doubleSpinBox_mini_log2fc_heatmap = QtWidgets.QDoubleSpinBox(self.page_21) - self.doubleSpinBox_mini_log2fc_heatmap.setEnabled(True) + self.gridLayout_51.addWidget(self.label_138, 3, 1, 1, 1) + self.horizontalLayout_12 = QtWidgets.QHBoxLayout() + self.horizontalLayout_12.setObjectName("horizontalLayout_12") + self.doubleSpinBox_mini_log2fc_heatmap = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_3) + self.doubleSpinBox_mini_log2fc_heatmap.setEnabled(False) + self.doubleSpinBox_mini_log2fc_heatmap.setMinimumSize(QtCore.QSize(0, 0)) + self.doubleSpinBox_mini_log2fc_heatmap.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.doubleSpinBox_mini_log2fc_heatmap.setProperty("showGroupSeparator", False) self.doubleSpinBox_mini_log2fc_heatmap.setDecimals(3) self.doubleSpinBox_mini_log2fc_heatmap.setMinimum(0.0) self.doubleSpinBox_mini_log2fc_heatmap.setProperty("value", 1.0) self.doubleSpinBox_mini_log2fc_heatmap.setObjectName("doubleSpinBox_mini_log2fc_heatmap") - self.horizontalLayout_84.addWidget(self.doubleSpinBox_mini_log2fc_heatmap) - self.label_139 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + self.horizontalLayout_12.addWidget(self.doubleSpinBox_mini_log2fc_heatmap) + self.label_139 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_139.sizePolicy().hasHeightForWidth()) self.label_139.setSizePolicy(sizePolicy) + self.label_139.setMinimumSize(QtCore.QSize(0, 0)) + self.label_139.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_139.setObjectName("label_139") - self.horizontalLayout_84.addWidget(self.label_139) - self.doubleSpinBox_max_log2fc_heatmap = QtWidgets.QDoubleSpinBox(self.page_21) - self.doubleSpinBox_max_log2fc_heatmap.setEnabled(True) + self.horizontalLayout_12.addWidget(self.label_139) + self.doubleSpinBox_max_log2fc_heatmap = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_3) + self.doubleSpinBox_max_log2fc_heatmap.setEnabled(False) + self.doubleSpinBox_max_log2fc_heatmap.setMinimumSize(QtCore.QSize(0, 0)) + self.doubleSpinBox_max_log2fc_heatmap.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.doubleSpinBox_max_log2fc_heatmap.setDecimals(3) self.doubleSpinBox_max_log2fc_heatmap.setProperty("value", 30.0) self.doubleSpinBox_max_log2fc_heatmap.setObjectName("doubleSpinBox_max_log2fc_heatmap") - self.horizontalLayout_84.addWidget(self.doubleSpinBox_max_log2fc_heatmap) - self.gridLayout_38.addLayout(self.horizontalLayout_84, 0, 1, 1, 1) - self.checkBox_cross_3_level_plot_remove_zero_col = QtWidgets.QCheckBox(self.page_21) + self.horizontalLayout_12.addWidget(self.doubleSpinBox_max_log2fc_heatmap) + self.gridLayout_51.addLayout(self.horizontalLayout_12, 3, 2, 1, 1) + self.spinBox_top_heatmap_number = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_cross_3_level_plot_remove_zero_col.sizePolicy().hasHeightForWidth()) - self.checkBox_cross_3_level_plot_remove_zero_col.setSizePolicy(sizePolicy) - self.checkBox_cross_3_level_plot_remove_zero_col.setChecked(True) - self.checkBox_cross_3_level_plot_remove_zero_col.setObjectName("checkBox_cross_3_level_plot_remove_zero_col") - self.gridLayout_38.addWidget(self.checkBox_cross_3_level_plot_remove_zero_col, 0, 3, 1, 1) - self.gridLayout_top_heatmap_plot.addLayout(self.gridLayout_38, 4, 0, 1, 5) - self.line_5 = QtWidgets.QFrame(self.page_21) - self.line_5.setFrameShape(QtWidgets.QFrame.HLine) - self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_5.setObjectName("line_5") - self.gridLayout_top_heatmap_plot.addWidget(self.line_5, 2, 1, 1, 5) - self.horizontalLayout_12 = QtWidgets.QHBoxLayout() - self.horizontalLayout_12.setObjectName("horizontalLayout_12") - self.label_62 = QtWidgets.QLabel(self.page_21) + sizePolicy.setHeightForWidth(self.spinBox_top_heatmap_number.sizePolicy().hasHeightForWidth()) + self.spinBox_top_heatmap_number.setSizePolicy(sizePolicy) + self.spinBox_top_heatmap_number.setMinimumSize(QtCore.QSize(0, 0)) + self.spinBox_top_heatmap_number.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.spinBox_top_heatmap_number.setMinimum(1) + self.spinBox_top_heatmap_number.setMaximum(9999) + self.spinBox_top_heatmap_number.setProperty("value", 100) + self.spinBox_top_heatmap_number.setObjectName("spinBox_top_heatmap_number") + self.gridLayout_51.addWidget(self.spinBox_top_heatmap_number, 2, 2, 1, 1) + self.label_58 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_62.sizePolicy().hasHeightForWidth()) - self.label_62.setSizePolicy(sizePolicy) - self.label_62.setMinimumSize(QtCore.QSize(70, 0)) - self.label_62.setObjectName("label_62") - self.horizontalLayout_12.addWidget(self.label_62) - self.comboBox_top_heatmap_scale = QtWidgets.QComboBox(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_scale.sizePolicy().hasHeightForWidth()) - self.comboBox_top_heatmap_scale.setSizePolicy(sizePolicy) - self.comboBox_top_heatmap_scale.setObjectName("comboBox_top_heatmap_scale") - self.comboBox_top_heatmap_scale.addItem("") - self.comboBox_top_heatmap_scale.addItem("") - self.comboBox_top_heatmap_scale.addItem("") - self.horizontalLayout_12.addWidget(self.comboBox_top_heatmap_scale) - self.label_38 = QtWidgets.QLabel(self.page_21) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_58.sizePolicy().hasHeightForWidth()) + self.label_58.setSizePolicy(sizePolicy) + self.label_58.setMinimumSize(QtCore.QSize(0, 0)) + self.label_58.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_58.setObjectName("label_58") + self.gridLayout_51.addWidget(self.label_58, 2, 1, 1, 1) + self.label_141 = QtWidgets.QLabel(self.scrollAreaWidgetContents_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_38.sizePolicy().hasHeightForWidth()) - self.label_38.setSizePolicy(sizePolicy) - self.label_38.setObjectName("label_38") - self.horizontalLayout_12.addWidget(self.label_38) - self.comboBox_top_heatmap_cmap = QtWidgets.QComboBox(self.page_21) + sizePolicy.setHeightForWidth(self.label_141.sizePolicy().hasHeightForWidth()) + self.label_141.setSizePolicy(sizePolicy) + self.label_141.setMinimumSize(QtCore.QSize(0, 0)) + self.label_141.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.label_141.setObjectName("label_141") + self.gridLayout_51.addWidget(self.label_141, 3, 3, 1, 1) + self.comboBox_cross_3_level_plot_df_type = QtWidgets.QComboBox(self.scrollAreaWidgetContents_3) + self.comboBox_cross_3_level_plot_df_type.setEnabled(False) + self.comboBox_cross_3_level_plot_df_type.setMinimumSize(QtCore.QSize(0, 0)) + self.comboBox_cross_3_level_plot_df_type.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.comboBox_cross_3_level_plot_df_type.setObjectName("comboBox_cross_3_level_plot_df_type") + self.comboBox_cross_3_level_plot_df_type.addItem("") + self.comboBox_cross_3_level_plot_df_type.addItem("") + self.comboBox_cross_3_level_plot_df_type.addItem("") + self.gridLayout_51.addWidget(self.comboBox_cross_3_level_plot_df_type, 3, 4, 1, 1) + self.checkBox_cross_3_level_plot_remove_zero_col = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_top_heatmap_cmap.sizePolicy().hasHeightForWidth()) - self.comboBox_top_heatmap_cmap.setSizePolicy(sizePolicy) - self.comboBox_top_heatmap_cmap.setObjectName("comboBox_top_heatmap_cmap") - self.horizontalLayout_12.addWidget(self.comboBox_top_heatmap_cmap) - self.gridLayout_top_heatmap_plot.addLayout(self.horizontalLayout_12, 1, 1, 1, 2) - self.gridLayout_68.addLayout(self.gridLayout_top_heatmap_plot, 0, 0, 1, 1) - self.toolBox_9.addItem(self.page_21, "") - self.gridLayout_9.addWidget(self.toolBox_9, 1, 0, 1, 1) + sizePolicy.setHeightForWidth(self.checkBox_cross_3_level_plot_remove_zero_col.sizePolicy().hasHeightForWidth()) + self.checkBox_cross_3_level_plot_remove_zero_col.setSizePolicy(sizePolicy) + self.checkBox_cross_3_level_plot_remove_zero_col.setMinimumSize(QtCore.QSize(0, 0)) + self.checkBox_cross_3_level_plot_remove_zero_col.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.checkBox_cross_3_level_plot_remove_zero_col.setChecked(True) + self.checkBox_cross_3_level_plot_remove_zero_col.setObjectName("checkBox_cross_3_level_plot_remove_zero_col") + self.gridLayout_51.addWidget(self.checkBox_cross_3_level_plot_remove_zero_col, 3, 5, 1, 1) + self.gridLayout_38.addLayout(self.gridLayout_51, 0, 1, 1, 1) + self.scrollArea_cross_heatmap_settings.setWidget(self.scrollAreaWidgetContents_3) + self.gridLayout_52.addWidget(self.scrollArea_cross_heatmap_settings, 0, 0, 1, 1) + self.gridLayout_75.addWidget(self.groupBox_cross_heatmap_settings, 1, 0, 1, 1) + self.gridLayout_9.addWidget(self.groupBox_cross_heatmap_plot, 1, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_2, "") self.tab_diff_stats = QtWidgets.QWidget() self.tab_diff_stats.setObjectName("tab_diff_stats") @@ -2987,79 +3089,250 @@ def setupUi(self, metaX_main): self.tab_5.setObjectName("tab_5") self.gridLayout_47 = QtWidgets.QGridLayout(self.tab_5) self.gridLayout_47.setObjectName("gridLayout_47") - self.verticalLayout_2 = QtWidgets.QVBoxLayout() - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.pushButton_co_expr_drop_item = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_drop_item.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.gridLayout_co_expr_sample = QtWidgets.QGridLayout() + self.gridLayout_co_expr_sample.setObjectName("gridLayout_co_expr_sample") + self.gridLayout_47.addLayout(self.gridLayout_co_expr_sample, 3, 1, 1, 3) + self.groupBox_co_expression_plot_settings = QtWidgets.QGroupBox(self.tab_5) + self.groupBox_co_expression_plot_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_co_expression_plot_settings.setObjectName("groupBox_co_expression_plot_settings") + self.gridLayout_56 = QtWidgets.QGridLayout(self.groupBox_co_expression_plot_settings) + self.gridLayout_56.setObjectName("gridLayout_56") + self.scrollArea_4 = QtWidgets.QScrollArea(self.groupBox_co_expression_plot_settings) + self.scrollArea_4.setWidgetResizable(True) + self.scrollArea_4.setObjectName("scrollArea_4") + self.scrollAreaWidgetContents_5 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 493, 128)) + self.scrollAreaWidgetContents_5.setObjectName("scrollAreaWidgetContents_5") + self.gridLayout_49 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_5) + self.gridLayout_49.setObjectName("gridLayout_49") + self.gridLayout_58 = QtWidgets.QGridLayout() + self.gridLayout_58.setObjectName("gridLayout_58") + self.horizontalLayout_60 = QtWidgets.QHBoxLayout() + self.horizontalLayout_60.setObjectName("horizontalLayout_60") + self.label_190 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + self.label_190.setObjectName("label_190") + self.horizontalLayout_60.addWidget(self.label_190) + self.checkBox_corr_hetatmap_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_5) + self.checkBox_corr_hetatmap_show_all_labels_x.setObjectName("checkBox_corr_hetatmap_show_all_labels_x") + self.horizontalLayout_60.addWidget(self.checkBox_corr_hetatmap_show_all_labels_x) + self.checkBox_corr_hetatmap_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_5) + self.checkBox_corr_hetatmap_show_all_labels_y.setObjectName("checkBox_corr_hetatmap_show_all_labels_y") + self.horizontalLayout_60.addWidget(self.checkBox_corr_hetatmap_show_all_labels_y) + self.gridLayout_58.addLayout(self.horizontalLayout_60, 4, 1, 1, 1) + self.checkBox_co_expr_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_5) + self.checkBox_co_expr_rename_taxa.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_drop_item.setSizePolicy(sizePolicy) - self.pushButton_co_expr_drop_item.setObjectName("pushButton_co_expr_drop_item") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_drop_item) - self.pushButton_co_expr_clean_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.checkBox_co_expr_rename_taxa.sizePolicy().hasHeightForWidth()) + self.checkBox_co_expr_rename_taxa.setSizePolicy(sizePolicy) + self.checkBox_co_expr_rename_taxa.setChecked(True) + self.checkBox_co_expr_rename_taxa.setObjectName("checkBox_co_expr_rename_taxa") + self.gridLayout_58.addWidget(self.checkBox_co_expr_rename_taxa, 1, 1, 1, 1) + self.label_66 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_clean_list.setSizePolicy(sizePolicy) - self.pushButton_co_expr_clean_list.setObjectName("pushButton_co_expr_clean_list") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_clean_list) - self.pushButton_co_expr_add_a_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_66.sizePolicy().hasHeightForWidth()) + self.label_66.setSizePolicy(sizePolicy) + self.label_66.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_66.setObjectName("label_66") + self.gridLayout_58.addWidget(self.label_66, 3, 1, 1, 1) + self.horizontalLayout_54 = QtWidgets.QHBoxLayout() + self.horizontalLayout_54.setObjectName("horizontalLayout_54") + self.label_65 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_65.sizePolicy().hasHeightForWidth()) + self.label_65.setSizePolicy(sizePolicy) + self.label_65.setObjectName("label_65") + self.horizontalLayout_54.addWidget(self.label_65) + self.comboBox_co_expr_corr_method = QtWidgets.QComboBox(self.scrollAreaWidgetContents_5) + self.comboBox_co_expr_corr_method.setObjectName("comboBox_co_expr_corr_method") + self.comboBox_co_expr_corr_method.addItem("") + self.comboBox_co_expr_corr_method.addItem("") + self.horizontalLayout_54.addWidget(self.comboBox_co_expr_corr_method) + self.gridLayout_58.addLayout(self.horizontalLayout_54, 0, 1, 1, 1) + self.horizontalLayout_30 = QtWidgets.QHBoxLayout() + self.horizontalLayout_30.setObjectName("horizontalLayout_30") + self.label_162 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_162.sizePolicy().hasHeightForWidth()) + self.label_162.setSizePolicy(sizePolicy) + self.label_162.setObjectName("label_162") + self.horizontalLayout_30.addWidget(self.label_162) + self.spinBox_co_expr_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_5) + self.spinBox_co_expr_font_size.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_co_expr_font_size.sizePolicy().hasHeightForWidth()) + self.spinBox_co_expr_font_size.setSizePolicy(sizePolicy) + self.spinBox_co_expr_font_size.setMinimum(1) + self.spinBox_co_expr_font_size.setProperty("value", 10) + self.spinBox_co_expr_font_size.setObjectName("spinBox_co_expr_font_size") + self.horizontalLayout_30.addWidget(self.spinBox_co_expr_font_size) + self.gridLayout_58.addLayout(self.horizontalLayout_30, 0, 3, 1, 1) + self.checkBox_co_expr_show_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_co_expr_show_label.sizePolicy().hasHeightForWidth()) + self.checkBox_co_expr_show_label.setSizePolicy(sizePolicy) + self.checkBox_co_expr_show_label.setObjectName("checkBox_co_expr_show_label") + self.gridLayout_58.addWidget(self.checkBox_co_expr_show_label, 3, 3, 1, 1) + self.horizontalLayout_62 = QtWidgets.QHBoxLayout() + self.horizontalLayout_62.setObjectName("horizontalLayout_62") + self.label_191 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + self.label_191.setObjectName("label_191") + self.horizontalLayout_62.addWidget(self.label_191) + self.comboBox_corr_hetatmap_cmap = QtWidgets.QComboBox(self.scrollAreaWidgetContents_5) + self.comboBox_corr_hetatmap_cmap.setObjectName("comboBox_corr_hetatmap_cmap") + self.horizontalLayout_62.addWidget(self.comboBox_corr_hetatmap_cmap) + self.gridLayout_58.addLayout(self.horizontalLayout_62, 4, 2, 1, 1) + self.doubleSpinBox_co_expr_corr_threshold = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.doubleSpinBox_co_expr_corr_threshold.sizePolicy().hasHeightForWidth()) + self.doubleSpinBox_co_expr_corr_threshold.setSizePolicy(sizePolicy) + self.doubleSpinBox_co_expr_corr_threshold.setMaximum(1.0) + self.doubleSpinBox_co_expr_corr_threshold.setSingleStep(0.01) + self.doubleSpinBox_co_expr_corr_threshold.setProperty("value", 0.5) + self.doubleSpinBox_co_expr_corr_threshold.setObjectName("doubleSpinBox_co_expr_corr_threshold") + self.gridLayout_58.addWidget(self.doubleSpinBox_co_expr_corr_threshold, 3, 2, 1, 1) + self.horizontalLayout_7 = QtWidgets.QHBoxLayout() + self.horizontalLayout_7.setObjectName("horizontalLayout_7") + self.label_125 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_125.sizePolicy().hasHeightForWidth()) + self.label_125.setSizePolicy(sizePolicy) + self.label_125.setObjectName("label_125") + self.horizontalLayout_7.addWidget(self.label_125) + self.spinBox_co_expr_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_co_expr_width.sizePolicy().hasHeightForWidth()) + self.spinBox_co_expr_width.setSizePolicy(sizePolicy) + self.spinBox_co_expr_width.setMinimum(1) + self.spinBox_co_expr_width.setMaximum(99) + self.spinBox_co_expr_width.setSingleStep(1) + self.spinBox_co_expr_width.setProperty("value", 10) + self.spinBox_co_expr_width.setDisplayIntegerBase(10) + self.spinBox_co_expr_width.setObjectName("spinBox_co_expr_width") + self.horizontalLayout_7.addWidget(self.spinBox_co_expr_width) + self.label_124 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_124.sizePolicy().hasHeightForWidth()) + self.label_124.setSizePolicy(sizePolicy) + self.label_124.setObjectName("label_124") + self.horizontalLayout_7.addWidget(self.label_124) + self.spinBox_co_expr_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_co_expr_height.sizePolicy().hasHeightForWidth()) + self.spinBox_co_expr_height.setSizePolicy(sizePolicy) + self.spinBox_co_expr_height.setMinimumSize(QtCore.QSize(20, 0)) + self.spinBox_co_expr_height.setMinimum(1) + self.spinBox_co_expr_height.setMaximum(99) + self.spinBox_co_expr_height.setSingleStep(1) + self.spinBox_co_expr_height.setProperty("value", 8) + self.spinBox_co_expr_height.setObjectName("spinBox_co_expr_height") + self.horizontalLayout_7.addWidget(self.spinBox_co_expr_height) + self.gridLayout_58.addLayout(self.horizontalLayout_7, 0, 2, 1, 1) + self.label_189 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_189.setFont(font) + self.label_189.setObjectName("label_189") + self.gridLayout_58.addWidget(self.label_189, 4, 0, 1, 1) + self.label_187 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_187.setFont(font) + self.label_187.setObjectName("label_187") + self.gridLayout_58.addWidget(self.label_187, 0, 0, 1, 1) + self.label_188 = QtWidgets.QLabel(self.scrollAreaWidgetContents_5) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_188.setFont(font) + self.label_188.setObjectName("label_188") + self.gridLayout_58.addWidget(self.label_188, 3, 0, 1, 1) + self.checkBox_co_expr_plot_list_only = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_5) + self.checkBox_co_expr_plot_list_only.setChecked(True) + self.checkBox_co_expr_plot_list_only.setObjectName("checkBox_co_expr_plot_list_only") + self.gridLayout_58.addWidget(self.checkBox_co_expr_plot_list_only, 1, 2, 1, 1) + self.line_30 = QtWidgets.QFrame(self.scrollAreaWidgetContents_5) + self.line_30.setFrameShape(QtWidgets.QFrame.HLine) + self.line_30.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_30.setObjectName("line_30") + self.gridLayout_58.addWidget(self.line_30, 2, 1, 1, 3) + self.gridLayout_49.addLayout(self.gridLayout_58, 0, 0, 1, 1) + self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_5) + self.gridLayout_56.addWidget(self.scrollArea_4, 0, 0, 1, 1) + self.gridLayout_47.addWidget(self.groupBox_co_expression_plot_settings, 10, 0, 1, 4) + self.pushButton_co_expr_add_top = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_top.setEnabled(False) + self.pushButton_co_expr_add_top.setObjectName("pushButton_co_expr_add_top") + self.gridLayout_47.addWidget(self.pushButton_co_expr_add_top, 6, 3, 1, 1) + self.horizontalLayout_41 = QtWidgets.QHBoxLayout() + self.horizontalLayout_41.setObjectName("horizontalLayout_41") + self.label_29 = QtWidgets.QLabel(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth()) + self.label_29.setSizePolicy(sizePolicy) + self.label_29.setObjectName("label_29") + self.horizontalLayout_41.addWidget(self.label_29) + self.comboBox_co_expr_table = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expr_table.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_co_expr_add_a_list.setObjectName("pushButton_co_expr_add_a_list") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_add_a_list) - self.gridLayout_47.addLayout(self.verticalLayout_2, 7, 0, 1, 1) - self.pushButton_co_expr_add_top = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_top.setEnabled(False) - self.pushButton_co_expr_add_top.setObjectName("pushButton_co_expr_add_top") - self.gridLayout_47.addWidget(self.pushButton_co_expr_add_top, 6, 3, 1, 1) - self.gridLayout_co_expr_group = QtWidgets.QGridLayout() - self.gridLayout_co_expr_group.setObjectName("gridLayout_co_expr_group") - self.gridLayout_47.addLayout(self.gridLayout_co_expr_group, 2, 2, 1, 2) - self.comboBox_co_expr_select_list = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expr_select_list.setMinimumSize(QtCore.QSize(600, 0)) - self.comboBox_co_expr_select_list.setObjectName("comboBox_co_expr_select_list") - self.gridLayout_47.addWidget(self.comboBox_co_expr_select_list, 5, 1, 1, 2) - self.radioButton_co_expr_bysample = QtWidgets.QRadioButton(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.comboBox_co_expr_table.sizePolicy().hasHeightForWidth()) + self.comboBox_co_expr_table.setSizePolicy(sizePolicy) + self.comboBox_co_expr_table.setObjectName("comboBox_co_expr_table") + self.comboBox_co_expr_table.addItem("") + self.comboBox_co_expr_table.addItem("") + self.comboBox_co_expr_table.addItem("") + self.comboBox_co_expr_table.addItem("") + self.horizontalLayout_41.addWidget(self.comboBox_co_expr_table) + self.label_143 = QtWidgets.QLabel(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_co_expr_bysample.sizePolicy().hasHeightForWidth()) - self.radioButton_co_expr_bysample.setSizePolicy(sizePolicy) - self.radioButton_co_expr_bysample.setObjectName("radioButton_co_expr_bysample") - self.gridLayout_47.addWidget(self.radioButton_co_expr_bysample, 3, 0, 1, 1) - self.horizontalLayout_42 = QtWidgets.QHBoxLayout() - self.horizontalLayout_42.setObjectName("horizontalLayout_42") - self.checkBox_co_expression_in_condition = QtWidgets.QCheckBox(self.tab_5) - self.checkBox_co_expression_in_condition.setObjectName("checkBox_co_expression_in_condition") - self.horizontalLayout_42.addWidget(self.checkBox_co_expression_in_condition) - self.comboBox_co_expression_condition_meta = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expression_condition_meta.setEnabled(False) - self.comboBox_co_expression_condition_meta.setObjectName("comboBox_co_expression_condition_meta") - self.horizontalLayout_42.addWidget(self.comboBox_co_expression_condition_meta) - self.horizontalLayout_74 = QtWidgets.QHBoxLayout() - self.horizontalLayout_74.setObjectName("horizontalLayout_74") - self.comboBox_co_expression_condition_group = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expression_condition_group.setEnabled(False) + sizePolicy.setHeightForWidth(self.label_143.sizePolicy().hasHeightForWidth()) + self.label_143.setSizePolicy(sizePolicy) + self.label_143.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_143.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_143.setObjectName("label_143") + self.horizontalLayout_41.addWidget(self.label_143) + self.comboBox_co_expr_meta = QtWidgets.QComboBox(self.tab_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_co_expression_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_co_expression_condition_group.setSizePolicy(sizePolicy) - self.comboBox_co_expression_condition_group.setMinimumSize(QtCore.QSize(150, 0)) - self.comboBox_co_expression_condition_group.setMaximumSize(QtCore.QSize(500, 16777215)) - self.comboBox_co_expression_condition_group.setObjectName("comboBox_co_expression_condition_group") - self.horizontalLayout_74.addWidget(self.comboBox_co_expression_condition_group) - self.horizontalLayout_42.addLayout(self.horizontalLayout_74) - self.gridLayout_47.addLayout(self.horizontalLayout_42, 2, 1, 1, 1) + sizePolicy.setHeightForWidth(self.comboBox_co_expr_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_co_expr_meta.setSizePolicy(sizePolicy) + self.comboBox_co_expr_meta.setObjectName("comboBox_co_expr_meta") + self.horizontalLayout_41.addWidget(self.comboBox_co_expr_meta) + self.gridLayout_47.addLayout(self.horizontalLayout_41, 0, 0, 1, 4) + self.pushButton_co_expr_add_to_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_to_list.setEnabled(False) + self.pushButton_co_expr_add_to_list.setObjectName("pushButton_co_expr_add_to_list") + self.gridLayout_47.addWidget(self.pushButton_co_expr_add_to_list, 5, 3, 1, 1) self.horizontalLayout_43 = QtWidgets.QHBoxLayout() self.horizontalLayout_43.setObjectName("horizontalLayout_43") self.label_73 = QtWidgets.QLabel(self.tab_5) @@ -3113,14 +3386,64 @@ def setupUi(self, metaX_main): self.checkBox_co_expr_top_filtered.setObjectName("checkBox_co_expr_top_filtered") self.horizontalLayout_43.addWidget(self.checkBox_co_expr_top_filtered) self.gridLayout_47.addLayout(self.horizontalLayout_43, 6, 1, 1, 2) - self.gridLayout_co_expr_sample = QtWidgets.QGridLayout() - self.gridLayout_co_expr_sample.setObjectName("gridLayout_co_expr_sample") - self.gridLayout_47.addLayout(self.gridLayout_co_expr_sample, 3, 1, 1, 3) + self.horizontalLayout_94 = QtWidgets.QHBoxLayout() + self.horizontalLayout_94.setObjectName("horizontalLayout_94") + self.pushButton_co_expr_plot = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_plot.setSizePolicy(sizePolicy) + self.pushButton_co_expr_plot.setObjectName("pushButton_co_expr_plot") + self.horizontalLayout_94.addWidget(self.pushButton_co_expr_plot) + self.pushButton_co_expr_heatmap_plot = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_heatmap_plot.setEnabled(False) + self.pushButton_co_expr_heatmap_plot.setObjectName("pushButton_co_expr_heatmap_plot") + self.horizontalLayout_94.addWidget(self.pushButton_co_expr_heatmap_plot) + self.gridLayout_47.addLayout(self.horizontalLayout_94, 9, 2, 1, 2) self.line_11 = QtWidgets.QFrame(self.tab_5) self.line_11.setFrameShape(QtWidgets.QFrame.HLine) self.line_11.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_11.setObjectName("line_11") self.gridLayout_47.addWidget(self.line_11, 1, 0, 1, 4) + self.horizontalLayout_42 = QtWidgets.QHBoxLayout() + self.horizontalLayout_42.setObjectName("horizontalLayout_42") + self.checkBox_co_expression_in_condition = QtWidgets.QCheckBox(self.tab_5) + self.checkBox_co_expression_in_condition.setObjectName("checkBox_co_expression_in_condition") + self.horizontalLayout_42.addWidget(self.checkBox_co_expression_in_condition) + self.comboBox_co_expression_condition_meta = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expression_condition_meta.setEnabled(False) + self.comboBox_co_expression_condition_meta.setObjectName("comboBox_co_expression_condition_meta") + self.horizontalLayout_42.addWidget(self.comboBox_co_expression_condition_meta) + self.horizontalLayout_74 = QtWidgets.QHBoxLayout() + self.horizontalLayout_74.setObjectName("horizontalLayout_74") + self.comboBox_co_expression_condition_group = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expression_condition_group.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_co_expression_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_co_expression_condition_group.setSizePolicy(sizePolicy) + self.comboBox_co_expression_condition_group.setMinimumSize(QtCore.QSize(150, 0)) + self.comboBox_co_expression_condition_group.setMaximumSize(QtCore.QSize(500, 16777215)) + self.comboBox_co_expression_condition_group.setObjectName("comboBox_co_expression_condition_group") + self.horizontalLayout_74.addWidget(self.comboBox_co_expression_condition_group) + self.horizontalLayout_42.addLayout(self.horizontalLayout_74) + self.gridLayout_47.addLayout(self.horizontalLayout_42, 2, 1, 1, 1) + self.line_17 = QtWidgets.QFrame(self.tab_5) + self.line_17.setFrameShape(QtWidgets.QFrame.HLine) + self.line_17.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_17.setObjectName("line_17") + self.gridLayout_47.addWidget(self.line_17, 4, 0, 1, 4) + self.checkBox_4 = QtWidgets.QCheckBox(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_4.sizePolicy().hasHeightForWidth()) + self.checkBox_4.setSizePolicy(sizePolicy) + self.checkBox_4.setObjectName("checkBox_4") + self.gridLayout_47.addWidget(self.checkBox_4, 9, 0, 1, 2) self.radioButton_co_expr_bygroup = QtWidgets.QRadioButton(self.tab_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -3130,48 +3453,48 @@ def setupUi(self, metaX_main): self.radioButton_co_expr_bygroup.setChecked(True) self.radioButton_co_expr_bygroup.setObjectName("radioButton_co_expr_bygroup") self.gridLayout_47.addWidget(self.radioButton_co_expr_bygroup, 2, 0, 1, 1) - self.horizontalLayout_41 = QtWidgets.QHBoxLayout() - self.horizontalLayout_41.setObjectName("horizontalLayout_41") - self.label_29 = QtWidgets.QLabel(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + self.comboBox_co_expr_select_list = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expr_select_list.setMinimumSize(QtCore.QSize(600, 0)) + self.comboBox_co_expr_select_list.setObjectName("comboBox_co_expr_select_list") + self.gridLayout_47.addWidget(self.comboBox_co_expr_select_list, 5, 1, 1, 2) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.pushButton_co_expr_drop_item = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth()) - self.label_29.setSizePolicy(sizePolicy) - self.label_29.setObjectName("label_29") - self.horizontalLayout_41.addWidget(self.label_29) - self.comboBox_co_expr_table = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expr_table.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_drop_item.setSizePolicy(sizePolicy) + self.pushButton_co_expr_drop_item.setObjectName("pushButton_co_expr_drop_item") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_drop_item) + self.pushButton_co_expr_clean_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_co_expr_table.sizePolicy().hasHeightForWidth()) - self.comboBox_co_expr_table.setSizePolicy(sizePolicy) - self.comboBox_co_expr_table.setObjectName("comboBox_co_expr_table") - self.comboBox_co_expr_table.addItem("") - self.comboBox_co_expr_table.addItem("") - self.comboBox_co_expr_table.addItem("") - self.comboBox_co_expr_table.addItem("") - self.horizontalLayout_41.addWidget(self.comboBox_co_expr_table) - self.label_143 = QtWidgets.QLabel(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_clean_list.setSizePolicy(sizePolicy) + self.pushButton_co_expr_clean_list.setObjectName("pushButton_co_expr_clean_list") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_clean_list) + self.pushButton_co_expr_add_a_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_143.sizePolicy().hasHeightForWidth()) - self.label_143.setSizePolicy(sizePolicy) - self.label_143.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_143.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_143.setObjectName("label_143") - self.horizontalLayout_41.addWidget(self.label_143) - self.comboBox_co_expr_meta = QtWidgets.QComboBox(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_co_expr_add_a_list.setObjectName("pushButton_co_expr_add_a_list") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_add_a_list) + self.gridLayout_47.addLayout(self.verticalLayout_2, 7, 0, 1, 1) + self.radioButton_co_expr_bysample = QtWidgets.QRadioButton(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_co_expr_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_co_expr_meta.setSizePolicy(sizePolicy) - self.comboBox_co_expr_meta.setObjectName("comboBox_co_expr_meta") - self.horizontalLayout_41.addWidget(self.comboBox_co_expr_meta) - self.gridLayout_47.addLayout(self.horizontalLayout_41, 0, 0, 1, 4) + sizePolicy.setHeightForWidth(self.radioButton_co_expr_bysample.sizePolicy().hasHeightForWidth()) + self.radioButton_co_expr_bysample.setSizePolicy(sizePolicy) + self.radioButton_co_expr_bysample.setObjectName("radioButton_co_expr_bysample") + self.gridLayout_47.addWidget(self.radioButton_co_expr_bysample, 3, 0, 1, 1) self.label_72 = QtWidgets.QLabel(self.tab_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -3180,315 +3503,263 @@ def setupUi(self, metaX_main): self.label_72.setSizePolicy(sizePolicy) self.label_72.setObjectName("label_72") self.gridLayout_47.addWidget(self.label_72, 5, 0, 1, 1) - self.pushButton_co_expr_add_to_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_to_list.setEnabled(False) - self.pushButton_co_expr_add_to_list.setObjectName("pushButton_co_expr_add_to_list") - self.gridLayout_47.addWidget(self.pushButton_co_expr_add_to_list, 5, 3, 1, 1) - self.toolBox_5 = QtWidgets.QToolBox(self.tab_5) - self.toolBox_5.setMinimumSize(QtCore.QSize(0, 150)) - self.toolBox_5.setMaximumSize(QtCore.QSize(16777215, 250)) - self.toolBox_5.setObjectName("toolBox_5") - self.page_12 = QtWidgets.QWidget() - self.page_12.setGeometry(QtCore.QRect(0, 0, 309, 41)) - self.page_12.setObjectName("page_12") - self.gridLayout_56 = QtWidgets.QGridLayout(self.page_12) - self.gridLayout_56.setObjectName("gridLayout_56") - self.pushButton_co_expr_plot = QtWidgets.QPushButton(self.page_12) - self.pushButton_co_expr_plot.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + self.gridLayout_co_expr_group = QtWidgets.QGridLayout() + self.gridLayout_co_expr_group.setObjectName("gridLayout_co_expr_group") + self.gridLayout_47.addLayout(self.gridLayout_co_expr_group, 2, 2, 1, 2) + self.listWidget_co_expr_focus_list = QtWidgets.QListWidget(self.tab_5) + self.listWidget_co_expr_focus_list.setObjectName("listWidget_co_expr_focus_list") + self.gridLayout_47.addWidget(self.listWidget_co_expr_focus_list, 7, 1, 1, 3) + self.line_5 = QtWidgets.QFrame(self.tab_5) + self.line_5.setFrameShape(QtWidgets.QFrame.HLine) + self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_5.setObjectName("line_5") + self.gridLayout_47.addWidget(self.line_5, 8, 0, 1, 4) + self.tabWidget.addTab(self.tab_5, "") + self.tab_15 = QtWidgets.QWidget() + self.tab_15.setObjectName("tab_15") + self.gridLayout_24 = QtWidgets.QGridLayout(self.tab_15) + self.gridLayout_24.setObjectName("gridLayout_24") + self.horizontalLayout_45 = QtWidgets.QHBoxLayout() + self.horizontalLayout_45.setObjectName("horizontalLayout_45") + self.checkBox_trends_in_condition = QtWidgets.QCheckBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_plot.setSizePolicy(sizePolicy) - self.pushButton_co_expr_plot.setObjectName("pushButton_co_expr_plot") - self.gridLayout_56.addWidget(self.pushButton_co_expr_plot, 0, 0, 1, 1) - self.pushButton_co_expr_heatmap_plot = QtWidgets.QPushButton(self.page_12) - self.pushButton_co_expr_heatmap_plot.setEnabled(False) - self.pushButton_co_expr_heatmap_plot.setObjectName("pushButton_co_expr_heatmap_plot") - self.gridLayout_56.addWidget(self.pushButton_co_expr_heatmap_plot, 0, 1, 1, 1) - self.toolBox_5.addItem(self.page_12, "") - self.page_13 = QtWidgets.QWidget() - self.page_13.setGeometry(QtCore.QRect(0, 0, 888, 145)) - self.page_13.setObjectName("page_13") - self.gridLayout_57 = QtWidgets.QGridLayout(self.page_13) - self.gridLayout_57.setObjectName("gridLayout_57") - self.gridLayout_58 = QtWidgets.QGridLayout() - self.gridLayout_58.setObjectName("gridLayout_58") - self.horizontalLayout_60 = QtWidgets.QHBoxLayout() - self.horizontalLayout_60.setObjectName("horizontalLayout_60") - self.label_190 = QtWidgets.QLabel(self.page_13) - self.label_190.setObjectName("label_190") - self.horizontalLayout_60.addWidget(self.label_190) - self.checkBox_corr_hetatmap_show_all_labels_x = QtWidgets.QCheckBox(self.page_13) - self.checkBox_corr_hetatmap_show_all_labels_x.setObjectName("checkBox_corr_hetatmap_show_all_labels_x") - self.horizontalLayout_60.addWidget(self.checkBox_corr_hetatmap_show_all_labels_x) - self.checkBox_corr_hetatmap_show_all_labels_y = QtWidgets.QCheckBox(self.page_13) - self.checkBox_corr_hetatmap_show_all_labels_y.setObjectName("checkBox_corr_hetatmap_show_all_labels_y") - self.horizontalLayout_60.addWidget(self.checkBox_corr_hetatmap_show_all_labels_y) - self.gridLayout_58.addLayout(self.horizontalLayout_60, 4, 1, 1, 1) - self.checkBox_co_expr_rename_taxa = QtWidgets.QCheckBox(self.page_13) - self.checkBox_co_expr_rename_taxa.setEnabled(True) + sizePolicy.setHeightForWidth(self.checkBox_trends_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_trends_in_condition.setSizePolicy(sizePolicy) + self.checkBox_trends_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_trends_in_condition.setObjectName("checkBox_trends_in_condition") + self.horizontalLayout_45.addWidget(self.checkBox_trends_in_condition) + self.comboBox_trends_condition_meta = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_condition_meta.setEnabled(False) + self.comboBox_trends_condition_meta.setObjectName("comboBox_trends_condition_meta") + self.horizontalLayout_45.addWidget(self.comboBox_trends_condition_meta) + self.horizontalLayout_76 = QtWidgets.QHBoxLayout() + self.horizontalLayout_76.setObjectName("horizontalLayout_76") + self.comboBox_trends_condition_group = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_condition_group.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_co_expr_rename_taxa.sizePolicy().hasHeightForWidth()) - self.checkBox_co_expr_rename_taxa.setSizePolicy(sizePolicy) - self.checkBox_co_expr_rename_taxa.setChecked(True) - self.checkBox_co_expr_rename_taxa.setObjectName("checkBox_co_expr_rename_taxa") - self.gridLayout_58.addWidget(self.checkBox_co_expr_rename_taxa, 1, 1, 1, 1) - self.label_66 = QtWidgets.QLabel(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_66.sizePolicy().hasHeightForWidth()) - self.label_66.setSizePolicy(sizePolicy) - self.label_66.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_66.setObjectName("label_66") - self.gridLayout_58.addWidget(self.label_66, 3, 1, 1, 1) - self.horizontalLayout_54 = QtWidgets.QHBoxLayout() - self.horizontalLayout_54.setObjectName("horizontalLayout_54") - self.label_65 = QtWidgets.QLabel(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.comboBox_trends_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_trends_condition_group.setSizePolicy(sizePolicy) + self.comboBox_trends_condition_group.setObjectName("comboBox_trends_condition_group") + self.horizontalLayout_76.addWidget(self.comboBox_trends_condition_group) + self.horizontalLayout_45.addLayout(self.horizontalLayout_76) + self.gridLayout_24.addLayout(self.horizontalLayout_45, 2, 1, 1, 2) + self.comboBox_trends_selection_list = QtWidgets.QComboBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_65.sizePolicy().hasHeightForWidth()) - self.label_65.setSizePolicy(sizePolicy) - self.label_65.setObjectName("label_65") - self.horizontalLayout_54.addWidget(self.label_65) - self.comboBox_co_expr_corr_method = QtWidgets.QComboBox(self.page_13) - self.comboBox_co_expr_corr_method.setObjectName("comboBox_co_expr_corr_method") - self.comboBox_co_expr_corr_method.addItem("") - self.comboBox_co_expr_corr_method.addItem("") - self.horizontalLayout_54.addWidget(self.comboBox_co_expr_corr_method) - self.gridLayout_58.addLayout(self.horizontalLayout_54, 0, 1, 1, 1) - self.horizontalLayout_30 = QtWidgets.QHBoxLayout() - self.horizontalLayout_30.setObjectName("horizontalLayout_30") - self.label_162 = QtWidgets.QLabel(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.comboBox_trends_selection_list.sizePolicy().hasHeightForWidth()) + self.comboBox_trends_selection_list.setSizePolicy(sizePolicy) + self.comboBox_trends_selection_list.setMinimumSize(QtCore.QSize(600, 0)) + self.comboBox_trends_selection_list.setObjectName("comboBox_trends_selection_list") + self.gridLayout_24.addWidget(self.comboBox_trends_selection_list, 5, 1, 1, 3) + self.listWidget_trends_list_for_ploting = QtWidgets.QListWidget(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_162.sizePolicy().hasHeightForWidth()) - self.label_162.setSizePolicy(sizePolicy) - self.label_162.setObjectName("label_162") - self.horizontalLayout_30.addWidget(self.label_162) - self.spinBox_co_expr_font_size = QtWidgets.QSpinBox(self.page_13) - self.spinBox_co_expr_font_size.setEnabled(True) + sizePolicy.setHeightForWidth(self.listWidget_trends_list_for_ploting.sizePolicy().hasHeightForWidth()) + self.listWidget_trends_list_for_ploting.setSizePolicy(sizePolicy) + self.listWidget_trends_list_for_ploting.setObjectName("listWidget_trends_list_for_ploting") + self.gridLayout_24.addWidget(self.listWidget_trends_list_for_ploting, 7, 1, 2, 4) + self.radioButton_trends_group = QtWidgets.QRadioButton(self.tab_15) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_co_expr_font_size.sizePolicy().hasHeightForWidth()) - self.spinBox_co_expr_font_size.setSizePolicy(sizePolicy) - self.spinBox_co_expr_font_size.setMinimum(1) - self.spinBox_co_expr_font_size.setProperty("value", 10) - self.spinBox_co_expr_font_size.setObjectName("spinBox_co_expr_font_size") - self.horizontalLayout_30.addWidget(self.spinBox_co_expr_font_size) - self.gridLayout_58.addLayout(self.horizontalLayout_30, 0, 3, 1, 1) - self.checkBox_co_expr_show_label = QtWidgets.QCheckBox(self.page_13) + sizePolicy.setHeightForWidth(self.radioButton_trends_group.sizePolicy().hasHeightForWidth()) + self.radioButton_trends_group.setSizePolicy(sizePolicy) + self.radioButton_trends_group.setChecked(True) + self.radioButton_trends_group.setObjectName("radioButton_trends_group") + self.gridLayout_24.addWidget(self.radioButton_trends_group, 2, 0, 1, 1) + self.pushButton_trends_add_top = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add_top.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_co_expr_show_label.sizePolicy().hasHeightForWidth()) - self.checkBox_co_expr_show_label.setSizePolicy(sizePolicy) - self.checkBox_co_expr_show_label.setObjectName("checkBox_co_expr_show_label") - self.gridLayout_58.addWidget(self.checkBox_co_expr_show_label, 3, 3, 1, 1) - self.horizontalLayout_62 = QtWidgets.QHBoxLayout() - self.horizontalLayout_62.setObjectName("horizontalLayout_62") - self.label_191 = QtWidgets.QLabel(self.page_13) - self.label_191.setObjectName("label_191") - self.horizontalLayout_62.addWidget(self.label_191) - self.comboBox_corr_hetatmap_cmap = QtWidgets.QComboBox(self.page_13) - self.comboBox_corr_hetatmap_cmap.setObjectName("comboBox_corr_hetatmap_cmap") - self.horizontalLayout_62.addWidget(self.comboBox_corr_hetatmap_cmap) - self.gridLayout_58.addLayout(self.horizontalLayout_62, 4, 2, 1, 1) - self.doubleSpinBox_co_expr_corr_threshold = QtWidgets.QDoubleSpinBox(self.page_13) + sizePolicy.setHeightForWidth(self.pushButton_trends_add_top.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add_top.setSizePolicy(sizePolicy) + self.pushButton_trends_add_top.setObjectName("pushButton_trends_add_top") + self.gridLayout_24.addWidget(self.pushButton_trends_add_top, 6, 4, 1, 1) + self.line_18 = QtWidgets.QFrame(self.tab_15) + self.line_18.setFrameShape(QtWidgets.QFrame.HLine) + self.line_18.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_18.setObjectName("line_18") + self.gridLayout_24.addWidget(self.line_18, 1, 0, 1, 5) + self.radioButton_trends_sample = QtWidgets.QRadioButton(self.tab_15) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.doubleSpinBox_co_expr_corr_threshold.sizePolicy().hasHeightForWidth()) - self.doubleSpinBox_co_expr_corr_threshold.setSizePolicy(sizePolicy) - self.doubleSpinBox_co_expr_corr_threshold.setMaximum(1.0) - self.doubleSpinBox_co_expr_corr_threshold.setSingleStep(0.01) - self.doubleSpinBox_co_expr_corr_threshold.setProperty("value", 0.5) - self.doubleSpinBox_co_expr_corr_threshold.setObjectName("doubleSpinBox_co_expr_corr_threshold") - self.gridLayout_58.addWidget(self.doubleSpinBox_co_expr_corr_threshold, 3, 2, 1, 1) - self.horizontalLayout_7 = QtWidgets.QHBoxLayout() - self.horizontalLayout_7.setObjectName("horizontalLayout_7") - self.label_125 = QtWidgets.QLabel(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.radioButton_trends_sample.sizePolicy().hasHeightForWidth()) + self.radioButton_trends_sample.setSizePolicy(sizePolicy) + self.radioButton_trends_sample.setObjectName("radioButton_trends_sample") + self.gridLayout_24.addWidget(self.radioButton_trends_sample, 3, 0, 1, 1) + self.label_98 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_125.sizePolicy().hasHeightForWidth()) - self.label_125.setSizePolicy(sizePolicy) - self.label_125.setObjectName("label_125") - self.horizontalLayout_7.addWidget(self.label_125) - self.spinBox_co_expr_width = QtWidgets.QSpinBox(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.label_98.sizePolicy().hasHeightForWidth()) + self.label_98.setSizePolicy(sizePolicy) + self.label_98.setObjectName("label_98") + self.gridLayout_24.addWidget(self.label_98, 7, 0, 1, 1) + self.horizontalLayout_46 = QtWidgets.QHBoxLayout() + self.horizontalLayout_46.setObjectName("horizontalLayout_46") + self.label_99 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_co_expr_width.sizePolicy().hasHeightForWidth()) - self.spinBox_co_expr_width.setSizePolicy(sizePolicy) - self.spinBox_co_expr_width.setMinimum(1) - self.spinBox_co_expr_width.setMaximum(99) - self.spinBox_co_expr_width.setSingleStep(1) - self.spinBox_co_expr_width.setProperty("value", 10) - self.spinBox_co_expr_width.setDisplayIntegerBase(10) - self.spinBox_co_expr_width.setObjectName("spinBox_co_expr_width") - self.horizontalLayout_7.addWidget(self.spinBox_co_expr_width) - self.label_124 = QtWidgets.QLabel(self.page_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.label_99.sizePolicy().hasHeightForWidth()) + self.label_99.setSizePolicy(sizePolicy) + self.label_99.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_99.setObjectName("label_99") + self.horizontalLayout_46.addWidget(self.label_99) + self.spinBox_trends_top_num = QtWidgets.QSpinBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_124.sizePolicy().hasHeightForWidth()) - self.label_124.setSizePolicy(sizePolicy) - self.label_124.setObjectName("label_124") - self.horizontalLayout_7.addWidget(self.label_124) - self.spinBox_co_expr_height = QtWidgets.QSpinBox(self.page_13) + sizePolicy.setHeightForWidth(self.spinBox_trends_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_trends_top_num.setSizePolicy(sizePolicy) + self.spinBox_trends_top_num.setMinimum(1) + self.spinBox_trends_top_num.setMaximum(99999) + self.spinBox_trends_top_num.setProperty("value", 10) + self.spinBox_trends_top_num.setObjectName("spinBox_trends_top_num") + self.horizontalLayout_46.addWidget(self.spinBox_trends_top_num) + self.label_91 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_91.sizePolicy().hasHeightForWidth()) + self.label_91.setSizePolicy(sizePolicy) + self.label_91.setObjectName("label_91") + self.horizontalLayout_46.addWidget(self.label_91) + self.comboBox_trends_top_by = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_top_by.setObjectName("comboBox_trends_top_by") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.horizontalLayout_46.addWidget(self.comboBox_trends_top_by) + self.checkBox_trends_top_filtered = QtWidgets.QCheckBox(self.tab_15) + self.checkBox_trends_top_filtered.setObjectName("checkBox_trends_top_filtered") + self.horizontalLayout_46.addWidget(self.checkBox_trends_top_filtered) + self.gridLayout_24.addLayout(self.horizontalLayout_46, 6, 1, 1, 3) + self.line_31 = QtWidgets.QFrame(self.tab_15) + self.line_31.setFrameShape(QtWidgets.QFrame.HLine) + self.line_31.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_31.setObjectName("line_31") + self.gridLayout_24.addWidget(self.line_31, 9, 0, 1, 5) + self.verticalLayout_trends_group = QtWidgets.QVBoxLayout() + self.verticalLayout_trends_group.setObjectName("verticalLayout_trends_group") + self.gridLayout_24.addLayout(self.verticalLayout_trends_group, 2, 3, 1, 2) + self.line_19 = QtWidgets.QFrame(self.tab_15) + self.line_19.setFrameShape(QtWidgets.QFrame.HLine) + self.line_19.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_19.setObjectName("line_19") + self.gridLayout_24.addWidget(self.line_19, 4, 0, 1, 5) + self.verticalLayout_trends_sample = QtWidgets.QVBoxLayout() + self.verticalLayout_trends_sample.setObjectName("verticalLayout_trends_sample") + self.gridLayout_24.addLayout(self.verticalLayout_trends_sample, 3, 1, 1, 4) + self.pushButton_trends_add = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_co_expr_height.sizePolicy().hasHeightForWidth()) - self.spinBox_co_expr_height.setSizePolicy(sizePolicy) - self.spinBox_co_expr_height.setMinimumSize(QtCore.QSize(20, 0)) - self.spinBox_co_expr_height.setMinimum(1) - self.spinBox_co_expr_height.setMaximum(99) - self.spinBox_co_expr_height.setSingleStep(1) - self.spinBox_co_expr_height.setProperty("value", 8) - self.spinBox_co_expr_height.setObjectName("spinBox_co_expr_height") - self.horizontalLayout_7.addWidget(self.spinBox_co_expr_height) - self.gridLayout_58.addLayout(self.horizontalLayout_7, 0, 2, 1, 1) - self.label_189 = QtWidgets.QLabel(self.page_13) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_189.setFont(font) - self.label_189.setObjectName("label_189") - self.gridLayout_58.addWidget(self.label_189, 4, 0, 1, 1) - self.label_187 = QtWidgets.QLabel(self.page_13) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_187.setFont(font) - self.label_187.setObjectName("label_187") - self.gridLayout_58.addWidget(self.label_187, 0, 0, 1, 1) - self.label_188 = QtWidgets.QLabel(self.page_13) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_188.setFont(font) - self.label_188.setObjectName("label_188") - self.gridLayout_58.addWidget(self.label_188, 3, 0, 1, 1) - self.checkBox_co_expr_plot_list_only = QtWidgets.QCheckBox(self.page_13) - self.checkBox_co_expr_plot_list_only.setChecked(True) - self.checkBox_co_expr_plot_list_only.setObjectName("checkBox_co_expr_plot_list_only") - self.gridLayout_58.addWidget(self.checkBox_co_expr_plot_list_only, 1, 2, 1, 1) - self.line_30 = QtWidgets.QFrame(self.page_13) - self.line_30.setFrameShape(QtWidgets.QFrame.HLine) - self.line_30.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_30.setObjectName("line_30") - self.gridLayout_58.addWidget(self.line_30, 2, 1, 1, 3) - self.gridLayout_57.addLayout(self.gridLayout_58, 1, 0, 1, 1) - self.toolBox_5.addItem(self.page_13, "") - self.gridLayout_47.addWidget(self.toolBox_5, 8, 0, 1, 4) - self.listWidget_co_expr_focus_list = QtWidgets.QListWidget(self.tab_5) - self.listWidget_co_expr_focus_list.setObjectName("listWidget_co_expr_focus_list") - self.gridLayout_47.addWidget(self.listWidget_co_expr_focus_list, 7, 1, 1, 3) - self.line_17 = QtWidgets.QFrame(self.tab_5) - self.line_17.setFrameShape(QtWidgets.QFrame.HLine) - self.line_17.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_17.setObjectName("line_17") - self.gridLayout_47.addWidget(self.line_17, 4, 0, 1, 4) - self.tabWidget.addTab(self.tab_5, "") - self.tab_15 = QtWidgets.QWidget() - self.tab_15.setObjectName("tab_15") - self.gridLayout_24 = QtWidgets.QGridLayout(self.tab_15) - self.gridLayout_24.setObjectName("gridLayout_24") - self.toolBox_6 = QtWidgets.QToolBox(self.tab_15) - self.toolBox_6.setMaximumSize(QtCore.QSize(16777215, 210)) - self.toolBox_6.setObjectName("toolBox_6") - self.page_14 = QtWidgets.QWidget() - self.page_14.setGeometry(QtCore.QRect(0, 0, 490, 81)) - self.page_14.setObjectName("page_14") - self.gridLayout_62 = QtWidgets.QGridLayout(self.page_14) - self.gridLayout_62.setObjectName("gridLayout_62") - self.gridLayout_61 = QtWidgets.QGridLayout() - self.gridLayout_61.setObjectName("gridLayout_61") - self.pushButton_trends_get_trends_table = QtWidgets.QPushButton(self.page_14) - self.pushButton_trends_get_trends_table.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.pushButton_trends_add.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add.setSizePolicy(sizePolicy) + self.pushButton_trends_add.setObjectName("pushButton_trends_add") + self.gridLayout_24.addWidget(self.pushButton_trends_add, 5, 4, 1, 1) + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.pushButton_trends_drop_item = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_get_trends_table.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_get_trends_table.setSizePolicy(sizePolicy) - self.pushButton_trends_get_trends_table.setObjectName("pushButton_trends_get_trends_table") - self.gridLayout_61.addWidget(self.pushButton_trends_get_trends_table, 2, 4, 1, 1) - self.line_20 = QtWidgets.QFrame(self.page_14) - self.line_20.setFrameShape(QtWidgets.QFrame.HLine) - self.line_20.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_20.setObjectName("line_20") - self.gridLayout_61.addWidget(self.line_20, 1, 1, 1, 4) - self.label_95 = QtWidgets.QLabel(self.page_14) - self.label_95.setObjectName("label_95") - self.gridLayout_61.addWidget(self.label_95, 0, 1, 1, 1) - self.label_93 = QtWidgets.QLabel(self.page_14) - self.label_93.setObjectName("label_93") - self.gridLayout_61.addWidget(self.label_93, 2, 1, 1, 1) - self.pushButton_trends_plot_trends = QtWidgets.QPushButton(self.page_14) - self.pushButton_trends_plot_trends.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHeightForWidth(self.pushButton_trends_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_drop_item.setSizePolicy(sizePolicy) + self.pushButton_trends_drop_item.setObjectName("pushButton_trends_drop_item") + self.verticalLayout_3.addWidget(self.pushButton_trends_drop_item) + self.pushButton_trends_clean_list = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_plot_trends.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_plot_trends.setSizePolicy(sizePolicy) - self.pushButton_trends_plot_trends.setObjectName("pushButton_trends_plot_trends") - self.gridLayout_61.addWidget(self.pushButton_trends_plot_trends, 0, 3, 1, 2) - self.pushButton_trends_plot_interactive_line = QtWidgets.QPushButton(self.page_14) - self.pushButton_trends_plot_interactive_line.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHeightForWidth(self.pushButton_trends_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_clean_list.setSizePolicy(sizePolicy) + self.pushButton_trends_clean_list.setObjectName("pushButton_trends_clean_list") + self.verticalLayout_3.addWidget(self.pushButton_trends_clean_list) + self.pushButton_trends_add_a_list = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_trends_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_trends_add_a_list.setObjectName("pushButton_trends_add_a_list") + self.verticalLayout_3.addWidget(self.pushButton_trends_add_a_list) + self.gridLayout_24.addLayout(self.verticalLayout_3, 8, 0, 1, 1) + self.horizontalLayout_44 = QtWidgets.QHBoxLayout() + self.horizontalLayout_44.setObjectName("horizontalLayout_44") + self.label_96 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_plot_interactive_line.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_plot_interactive_line.setSizePolicy(sizePolicy) - self.pushButton_trends_plot_interactive_line.setObjectName("pushButton_trends_plot_interactive_line") - self.gridLayout_61.addWidget(self.pushButton_trends_plot_interactive_line, 2, 3, 1, 1) - self.comboBox_trends_get_cluster_name = QtWidgets.QComboBox(self.page_14) - self.comboBox_trends_get_cluster_name.setObjectName("comboBox_trends_get_cluster_name") - self.gridLayout_61.addWidget(self.comboBox_trends_get_cluster_name, 2, 2, 1, 1) - self.spinBox_trends_num_cluster = QtWidgets.QSpinBox(self.page_14) - self.spinBox_trends_num_cluster.setMinimum(1) - self.spinBox_trends_num_cluster.setProperty("value", 5) - self.spinBox_trends_num_cluster.setObjectName("spinBox_trends_num_cluster") - self.gridLayout_61.addWidget(self.spinBox_trends_num_cluster, 0, 2, 1, 1) - self.label_145 = QtWidgets.QLabel(self.page_14) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_145.setFont(font) - self.label_145.setObjectName("label_145") - self.gridLayout_61.addWidget(self.label_145, 0, 0, 1, 1) - self.label_165 = QtWidgets.QLabel(self.page_14) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_165.setFont(font) - self.label_165.setObjectName("label_165") - self.gridLayout_61.addWidget(self.label_165, 2, 0, 1, 1) - self.gridLayout_62.addLayout(self.gridLayout_61, 0, 0, 1, 1) - self.toolBox_6.addItem(self.page_14, "") - self.page_15 = QtWidgets.QWidget() - self.page_15.setGeometry(QtCore.QRect(0, 0, 538, 63)) - self.page_15.setObjectName("page_15") - self.gridLayout_60 = QtWidgets.QGridLayout(self.page_15) + sizePolicy.setHeightForWidth(self.label_96.sizePolicy().hasHeightForWidth()) + self.label_96.setSizePolicy(sizePolicy) + self.label_96.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_96.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_96.setObjectName("label_96") + self.horizontalLayout_44.addWidget(self.label_96) + self.comboBox_trends_table = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_table.setEnabled(False) + self.comboBox_trends_table.setObjectName("comboBox_trends_table") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.horizontalLayout_44.addWidget(self.comboBox_trends_table) + self.label_148 = QtWidgets.QLabel(self.tab_15) + self.label_148.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_148.setObjectName("label_148") + self.horizontalLayout_44.addWidget(self.label_148) + self.comboBox_trends_meta = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_meta.setObjectName("comboBox_trends_meta") + self.horizontalLayout_44.addWidget(self.comboBox_trends_meta) + self.gridLayout_24.addLayout(self.horizontalLayout_44, 0, 0, 1, 5) + self.label_100 = QtWidgets.QLabel(self.tab_15) + self.label_100.setObjectName("label_100") + self.gridLayout_24.addWidget(self.label_100, 5, 0, 1, 1) + self.groupBox_expression_trends_plot_settings = QtWidgets.QGroupBox(self.tab_15) + self.groupBox_expression_trends_plot_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_expression_trends_plot_settings.setObjectName("groupBox_expression_trends_plot_settings") + self.gridLayout_60 = QtWidgets.QGridLayout(self.groupBox_expression_trends_plot_settings) self.gridLayout_60.setObjectName("gridLayout_60") + self.scrollArea_5 = QtWidgets.QScrollArea(self.groupBox_expression_trends_plot_settings) + self.scrollArea_5.setWidgetResizable(True) + self.scrollArea_5.setObjectName("scrollArea_5") + self.scrollAreaWidgetContents_6 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 1016, 69)) + self.scrollAreaWidgetContents_6.setObjectName("scrollAreaWidgetContents_6") + self.gridLayout_57 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_6) + self.gridLayout_57.setObjectName("gridLayout_57") self.gridLayout_59 = QtWidgets.QGridLayout() self.gridLayout_59.setObjectName("gridLayout_59") - self.label_174 = QtWidgets.QLabel(self.page_15) + self.label_174 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_174.setFont(font) self.label_174.setObjectName("label_174") self.gridLayout_59.addWidget(self.label_174, 0, 0, 1, 1) - self.spinBox_trends_height = QtWidgets.QSpinBox(self.page_15) + self.spinBox_trends_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3499,14 +3770,14 @@ def setupUi(self, metaX_main): self.spinBox_trends_height.setProperty("value", 9) self.spinBox_trends_height.setObjectName("spinBox_trends_height") self.gridLayout_59.addWidget(self.spinBox_trends_height, 0, 4, 1, 1) - self.label_175 = QtWidgets.QLabel(self.page_15) + self.label_175 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_175.setFont(font) self.label_175.setObjectName("label_175") self.gridLayout_59.addWidget(self.label_175, 1, 0, 1, 1) - self.checkBox_get_trends_cluster_intensity = QtWidgets.QCheckBox(self.page_15) + self.checkBox_get_trends_cluster_intensity = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3514,7 +3785,7 @@ def setupUi(self, metaX_main): self.checkBox_get_trends_cluster_intensity.setSizePolicy(sizePolicy) self.checkBox_get_trends_cluster_intensity.setObjectName("checkBox_get_trends_cluster_intensity") self.gridLayout_59.addWidget(self.checkBox_get_trends_cluster_intensity, 1, 3, 1, 2) - self.label_158 = QtWidgets.QLabel(self.page_15) + self.label_158 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3522,7 +3793,7 @@ def setupUi(self, metaX_main): self.label_158.setSizePolicy(sizePolicy) self.label_158.setObjectName("label_158") self.gridLayout_59.addWidget(self.label_158, 0, 5, 1, 1) - self.label_92 = QtWidgets.QLabel(self.page_15) + self.label_92 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3530,7 +3801,7 @@ def setupUi(self, metaX_main): self.label_92.setSizePolicy(sizePolicy) self.label_92.setObjectName("label_92") self.gridLayout_59.addWidget(self.label_92, 0, 3, 1, 1) - self.checkBox_trends_plot_interactive_show_legend = QtWidgets.QCheckBox(self.page_15) + self.checkBox_trends_plot_interactive_show_legend = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3539,7 +3810,7 @@ def setupUi(self, metaX_main): self.checkBox_trends_plot_interactive_show_legend.setChecked(True) self.checkBox_trends_plot_interactive_show_legend.setObjectName("checkBox_trends_plot_interactive_show_legend") self.gridLayout_59.addWidget(self.checkBox_trends_plot_interactive_show_legend, 1, 5, 1, 1) - self.checkBox_trends_plot_interactive_plot_samples = QtWidgets.QCheckBox(self.page_15) + self.checkBox_trends_plot_interactive_plot_samples = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3547,7 +3818,7 @@ def setupUi(self, metaX_main): self.checkBox_trends_plot_interactive_plot_samples.setSizePolicy(sizePolicy) self.checkBox_trends_plot_interactive_plot_samples.setObjectName("checkBox_trends_plot_interactive_plot_samples") self.gridLayout_59.addWidget(self.checkBox_trends_plot_interactive_plot_samples, 1, 1, 1, 2) - self.checkBox_trends_plot_interactive_rename_taxa = QtWidgets.QCheckBox(self.page_15) + self.checkBox_trends_plot_interactive_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3556,7 +3827,7 @@ def setupUi(self, metaX_main): self.checkBox_trends_plot_interactive_rename_taxa.setChecked(True) self.checkBox_trends_plot_interactive_rename_taxa.setObjectName("checkBox_trends_plot_interactive_rename_taxa") self.gridLayout_59.addWidget(self.checkBox_trends_plot_interactive_rename_taxa, 1, 6, 1, 1) - self.label_97 = QtWidgets.QLabel(self.page_15) + self.label_97 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3564,7 +3835,7 @@ def setupUi(self, metaX_main): self.label_97.setSizePolicy(sizePolicy) self.label_97.setObjectName("label_97") self.gridLayout_59.addWidget(self.label_97, 0, 1, 1, 1) - self.spinBox_trends_width = QtWidgets.QSpinBox(self.page_15) + self.spinBox_trends_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3575,7 +3846,7 @@ def setupUi(self, metaX_main): self.spinBox_trends_width.setProperty("value", 16) self.spinBox_trends_width.setObjectName("spinBox_trends_width") self.gridLayout_59.addWidget(self.spinBox_trends_width, 0, 2, 1, 1) - self.spinBox_trends_font_size = QtWidgets.QSpinBox(self.page_15) + self.spinBox_trends_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -3585,222 +3856,76 @@ def setupUi(self, metaX_main): self.spinBox_trends_font_size.setProperty("value", 10) self.spinBox_trends_font_size.setObjectName("spinBox_trends_font_size") self.gridLayout_59.addWidget(self.spinBox_trends_font_size, 0, 6, 1, 1) - self.gridLayout_60.addLayout(self.gridLayout_59, 0, 0, 1, 1) - self.toolBox_6.addItem(self.page_15, "") - self.gridLayout_24.addWidget(self.toolBox_6, 15, 0, 1, 6) - self.pushButton_trends_add = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add.setSizePolicy(sizePolicy) - self.pushButton_trends_add.setObjectName("pushButton_trends_add") - self.gridLayout_24.addWidget(self.pushButton_trends_add, 5, 5, 1, 1) - self.horizontalLayout_46 = QtWidgets.QHBoxLayout() - self.horizontalLayout_46.setObjectName("horizontalLayout_46") - self.label_99 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_99.sizePolicy().hasHeightForWidth()) - self.label_99.setSizePolicy(sizePolicy) - self.label_99.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_99.setObjectName("label_99") - self.horizontalLayout_46.addWidget(self.label_99) - self.spinBox_trends_top_num = QtWidgets.QSpinBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_trends_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_trends_top_num.setSizePolicy(sizePolicy) - self.spinBox_trends_top_num.setMinimum(1) - self.spinBox_trends_top_num.setMaximum(99999) - self.spinBox_trends_top_num.setProperty("value", 10) - self.spinBox_trends_top_num.setObjectName("spinBox_trends_top_num") - self.horizontalLayout_46.addWidget(self.spinBox_trends_top_num) - self.label_91 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_91.sizePolicy().hasHeightForWidth()) - self.label_91.setSizePolicy(sizePolicy) - self.label_91.setObjectName("label_91") - self.horizontalLayout_46.addWidget(self.label_91) - self.comboBox_trends_top_by = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_top_by.setObjectName("comboBox_trends_top_by") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.horizontalLayout_46.addWidget(self.comboBox_trends_top_by) - self.checkBox_trends_top_filtered = QtWidgets.QCheckBox(self.tab_15) - self.checkBox_trends_top_filtered.setObjectName("checkBox_trends_top_filtered") - self.horizontalLayout_46.addWidget(self.checkBox_trends_top_filtered) - self.gridLayout_24.addLayout(self.horizontalLayout_46, 6, 1, 1, 4) - self.pushButton_trends_add_top = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add_top.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add_top.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add_top.setSizePolicy(sizePolicy) - self.pushButton_trends_add_top.setObjectName("pushButton_trends_add_top") - self.gridLayout_24.addWidget(self.pushButton_trends_add_top, 6, 5, 1, 1) - self.comboBox_trends_selection_list = QtWidgets.QComboBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_trends_selection_list.sizePolicy().hasHeightForWidth()) - self.comboBox_trends_selection_list.setSizePolicy(sizePolicy) - self.comboBox_trends_selection_list.setMinimumSize(QtCore.QSize(600, 0)) - self.comboBox_trends_selection_list.setObjectName("comboBox_trends_selection_list") - self.gridLayout_24.addWidget(self.comboBox_trends_selection_list, 5, 1, 1, 4) - self.label_98 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_98.sizePolicy().hasHeightForWidth()) - self.label_98.setSizePolicy(sizePolicy) - self.label_98.setObjectName("label_98") - self.gridLayout_24.addWidget(self.label_98, 7, 0, 1, 1) - self.horizontalLayout_45 = QtWidgets.QHBoxLayout() - self.horizontalLayout_45.setObjectName("horizontalLayout_45") - self.checkBox_trends_in_condition = QtWidgets.QCheckBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_trends_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_trends_in_condition.setSizePolicy(sizePolicy) - self.checkBox_trends_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) - self.checkBox_trends_in_condition.setObjectName("checkBox_trends_in_condition") - self.horizontalLayout_45.addWidget(self.checkBox_trends_in_condition) - self.comboBox_trends_condition_meta = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_condition_meta.setEnabled(False) - self.comboBox_trends_condition_meta.setObjectName("comboBox_trends_condition_meta") - self.horizontalLayout_45.addWidget(self.comboBox_trends_condition_meta) - self.horizontalLayout_76 = QtWidgets.QHBoxLayout() - self.horizontalLayout_76.setObjectName("horizontalLayout_76") - self.comboBox_trends_condition_group = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_trends_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_trends_condition_group.setSizePolicy(sizePolicy) - self.comboBox_trends_condition_group.setObjectName("comboBox_trends_condition_group") - self.horizontalLayout_76.addWidget(self.comboBox_trends_condition_group) - self.horizontalLayout_45.addLayout(self.horizontalLayout_76) - self.gridLayout_24.addLayout(self.horizontalLayout_45, 2, 1, 1, 3) - self.label_100 = QtWidgets.QLabel(self.tab_15) - self.label_100.setObjectName("label_100") - self.gridLayout_24.addWidget(self.label_100, 5, 0, 1, 1) - self.radioButton_trends_sample = QtWidgets.QRadioButton(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_trends_sample.sizePolicy().hasHeightForWidth()) - self.radioButton_trends_sample.setSizePolicy(sizePolicy) - self.radioButton_trends_sample.setObjectName("radioButton_trends_sample") - self.gridLayout_24.addWidget(self.radioButton_trends_sample, 3, 0, 1, 1) - self.radioButton_trends_group = QtWidgets.QRadioButton(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_trends_group.sizePolicy().hasHeightForWidth()) - self.radioButton_trends_group.setSizePolicy(sizePolicy) - self.radioButton_trends_group.setChecked(True) - self.radioButton_trends_group.setObjectName("radioButton_trends_group") - self.gridLayout_24.addWidget(self.radioButton_trends_group, 2, 0, 1, 1) - self.verticalLayout_trends_sample = QtWidgets.QVBoxLayout() - self.verticalLayout_trends_sample.setObjectName("verticalLayout_trends_sample") - self.gridLayout_24.addLayout(self.verticalLayout_trends_sample, 3, 1, 1, 5) - self.verticalLayout_trends_group = QtWidgets.QVBoxLayout() - self.verticalLayout_trends_group.setObjectName("verticalLayout_trends_group") - self.gridLayout_24.addLayout(self.verticalLayout_trends_group, 2, 4, 1, 2) - self.line_18 = QtWidgets.QFrame(self.tab_15) - self.line_18.setFrameShape(QtWidgets.QFrame.HLine) - self.line_18.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_18.setObjectName("line_18") - self.gridLayout_24.addWidget(self.line_18, 1, 0, 1, 6) - self.line_19 = QtWidgets.QFrame(self.tab_15) - self.line_19.setFrameShape(QtWidgets.QFrame.HLine) - self.line_19.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_19.setObjectName("line_19") - self.gridLayout_24.addWidget(self.line_19, 4, 0, 1, 6) - self.verticalLayout_3 = QtWidgets.QVBoxLayout() - self.verticalLayout_3.setObjectName("verticalLayout_3") - self.pushButton_trends_drop_item = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_drop_item.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_drop_item.setSizePolicy(sizePolicy) - self.pushButton_trends_drop_item.setObjectName("pushButton_trends_drop_item") - self.verticalLayout_3.addWidget(self.pushButton_trends_drop_item) - self.pushButton_trends_clean_list = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_clean_list.setSizePolicy(sizePolicy) - self.pushButton_trends_clean_list.setObjectName("pushButton_trends_clean_list") - self.verticalLayout_3.addWidget(self.pushButton_trends_clean_list) - self.pushButton_trends_add_a_list = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + self.gridLayout_57.addLayout(self.gridLayout_59, 0, 0, 1, 1) + self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_6) + self.gridLayout_60.addWidget(self.scrollArea_5, 0, 0, 1, 1) + self.gridLayout_24.addWidget(self.groupBox_expression_trends_plot_settings, 11, 0, 1, 5) + self.gridLayout_61 = QtWidgets.QGridLayout() + self.gridLayout_61.setObjectName("gridLayout_61") + self.label_93 = QtWidgets.QLabel(self.tab_15) + self.label_93.setObjectName("label_93") + self.gridLayout_61.addWidget(self.label_93, 2, 1, 1, 1) + self.pushButton_trends_get_trends_table = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_get_trends_table.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_trends_add_a_list.setObjectName("pushButton_trends_add_a_list") - self.verticalLayout_3.addWidget(self.pushButton_trends_add_a_list) - self.gridLayout_24.addLayout(self.verticalLayout_3, 8, 0, 1, 1) - self.listWidget_trends_list_for_ploting = QtWidgets.QListWidget(self.tab_15) + sizePolicy.setHeightForWidth(self.pushButton_trends_get_trends_table.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_get_trends_table.setSizePolicy(sizePolicy) + self.pushButton_trends_get_trends_table.setObjectName("pushButton_trends_get_trends_table") + self.gridLayout_61.addWidget(self.pushButton_trends_get_trends_table, 2, 4, 1, 1) + self.label_165 = QtWidgets.QLabel(self.tab_15) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_165.setFont(font) + self.label_165.setObjectName("label_165") + self.gridLayout_61.addWidget(self.label_165, 2, 0, 1, 1) + self.comboBox_trends_get_cluster_name = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_get_cluster_name.setObjectName("comboBox_trends_get_cluster_name") + self.gridLayout_61.addWidget(self.comboBox_trends_get_cluster_name, 2, 2, 1, 1) + self.line_20 = QtWidgets.QFrame(self.tab_15) + self.line_20.setFrameShape(QtWidgets.QFrame.HLine) + self.line_20.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_20.setObjectName("line_20") + self.gridLayout_61.addWidget(self.line_20, 1, 1, 1, 4) + self.label_95 = QtWidgets.QLabel(self.tab_15) + self.label_95.setObjectName("label_95") + self.gridLayout_61.addWidget(self.label_95, 0, 1, 1, 1) + self.pushButton_trends_plot_trends = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_plot_trends.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.listWidget_trends_list_for_ploting.sizePolicy().hasHeightForWidth()) - self.listWidget_trends_list_for_ploting.setSizePolicy(sizePolicy) - self.listWidget_trends_list_for_ploting.setObjectName("listWidget_trends_list_for_ploting") - self.gridLayout_24.addWidget(self.listWidget_trends_list_for_ploting, 7, 1, 2, 5) - self.horizontalLayout_44 = QtWidgets.QHBoxLayout() - self.horizontalLayout_44.setObjectName("horizontalLayout_44") - self.label_96 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_96.sizePolicy().hasHeightForWidth()) - self.label_96.setSizePolicy(sizePolicy) - self.label_96.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_96.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_96.setObjectName("label_96") - self.horizontalLayout_44.addWidget(self.label_96) - self.comboBox_trends_table = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_table.setEnabled(False) - self.comboBox_trends_table.setObjectName("comboBox_trends_table") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.horizontalLayout_44.addWidget(self.comboBox_trends_table) - self.label_148 = QtWidgets.QLabel(self.tab_15) - self.label_148.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_148.setObjectName("label_148") - self.horizontalLayout_44.addWidget(self.label_148) - self.comboBox_trends_meta = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_meta.setObjectName("comboBox_trends_meta") - self.horizontalLayout_44.addWidget(self.comboBox_trends_meta) - self.gridLayout_24.addLayout(self.horizontalLayout_44, 0, 0, 1, 6) + sizePolicy.setHeightForWidth(self.pushButton_trends_plot_trends.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_plot_trends.setSizePolicy(sizePolicy) + self.pushButton_trends_plot_trends.setObjectName("pushButton_trends_plot_trends") + self.gridLayout_61.addWidget(self.pushButton_trends_plot_trends, 0, 3, 1, 2) + self.pushButton_trends_plot_interactive_line = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_plot_interactive_line.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_trends_plot_interactive_line.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_plot_interactive_line.setSizePolicy(sizePolicy) + self.pushButton_trends_plot_interactive_line.setObjectName("pushButton_trends_plot_interactive_line") + self.gridLayout_61.addWidget(self.pushButton_trends_plot_interactive_line, 2, 3, 1, 1) + self.spinBox_trends_num_cluster = QtWidgets.QSpinBox(self.tab_15) + self.spinBox_trends_num_cluster.setMinimum(1) + self.spinBox_trends_num_cluster.setProperty("value", 5) + self.spinBox_trends_num_cluster.setObjectName("spinBox_trends_num_cluster") + self.gridLayout_61.addWidget(self.spinBox_trends_num_cluster, 0, 2, 1, 1) + self.label_145 = QtWidgets.QLabel(self.tab_15) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_145.setFont(font) + self.label_145.setObjectName("label_145") + self.gridLayout_61.addWidget(self.label_145, 0, 0, 1, 1) + self.checkBox_5 = QtWidgets.QCheckBox(self.tab_15) + self.checkBox_5.setObjectName("checkBox_5") + self.gridLayout_61.addWidget(self.checkBox_5, 3, 0, 1, 1) + self.gridLayout_24.addLayout(self.gridLayout_61, 10, 0, 1, 5) self.tabWidget.addTab(self.tab_15, "") self.gridLayout_12.addWidget(self.tabWidget, 0, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_diff_stats, "") @@ -3816,104 +3941,6 @@ def setupUi(self, metaX_main): self.tab_8.setObjectName("tab_8") self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_8) self.gridLayout_4.setObjectName("gridLayout_4") - self.radioButton_tflink_sample = QtWidgets.QRadioButton(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_tflink_sample.sizePolicy().hasHeightForWidth()) - self.radioButton_tflink_sample.setSizePolicy(sizePolicy) - self.radioButton_tflink_sample.setObjectName("radioButton_tflink_sample") - self.gridLayout_4.addWidget(self.radioButton_tflink_sample, 3, 0, 1, 1) - self.label_18 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) - self.label_18.setSizePolicy(sizePolicy) - self.label_18.setObjectName("label_18") - self.gridLayout_4.addWidget(self.label_18, 6, 0, 1, 1) - self.label_19 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) - self.label_19.setSizePolicy(sizePolicy) - self.label_19.setObjectName("label_19") - self.gridLayout_4.addWidget(self.label_19, 7, 0, 1, 1) - self.comboBox_tflink_meta = QtWidgets.QComboBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_meta.setSizePolicy(sizePolicy) - self.comboBox_tflink_meta.setLayoutDirection(QtCore.Qt.LeftToRight) - self.comboBox_tflink_meta.setObjectName("comboBox_tflink_meta") - self.gridLayout_4.addWidget(self.comboBox_tflink_meta, 0, 1, 1, 1) - self.radioButton_tflink_group = QtWidgets.QRadioButton(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_tflink_group.sizePolicy().hasHeightForWidth()) - self.radioButton_tflink_group.setSizePolicy(sizePolicy) - self.radioButton_tflink_group.setChecked(True) - self.radioButton_tflink_group.setObjectName("radioButton_tflink_group") - self.gridLayout_4.addWidget(self.radioButton_tflink_group, 2, 0, 1, 1) - self.horizontalLayout_78 = QtWidgets.QHBoxLayout() - self.horizontalLayout_78.setObjectName("horizontalLayout_78") - self.checkBox_tflink_in_condition = QtWidgets.QCheckBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_in_condition.setSizePolicy(sizePolicy) - self.checkBox_tflink_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) - self.checkBox_tflink_in_condition.setObjectName("checkBox_tflink_in_condition") - self.horizontalLayout_78.addWidget(self.checkBox_tflink_in_condition) - self.comboBox_tflink_condition_meta = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_condition_meta.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_condition_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_condition_meta.setSizePolicy(sizePolicy) - self.comboBox_tflink_condition_meta.setObjectName("comboBox_tflink_condition_meta") - self.horizontalLayout_78.addWidget(self.comboBox_tflink_condition_meta) - self.horizontalLayout_49 = QtWidgets.QHBoxLayout() - self.horizontalLayout_49.setObjectName("horizontalLayout_49") - self.horizontalLayout_77 = QtWidgets.QHBoxLayout() - self.horizontalLayout_77.setObjectName("horizontalLayout_77") - self.comboBox_tflink_condition_group = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_condition_group.setSizePolicy(sizePolicy) - self.comboBox_tflink_condition_group.setMaximumSize(QtCore.QSize(300, 16777215)) - self.comboBox_tflink_condition_group.setObjectName("comboBox_tflink_condition_group") - self.horizontalLayout_77.addWidget(self.comboBox_tflink_condition_group) - self.horizontalLayout_49.addLayout(self.horizontalLayout_77) - self.horizontalLayout_78.addLayout(self.horizontalLayout_49) - self.gridLayout_4.addLayout(self.horizontalLayout_78, 2, 1, 1, 1) - self.label_149 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_149.sizePolicy().hasHeightForWidth()) - self.label_149.setSizePolicy(sizePolicy) - self.label_149.setObjectName("label_149") - self.gridLayout_4.addWidget(self.label_149, 0, 0, 1, 1) - self.gridLayout_tflink_group = QtWidgets.QGridLayout() - self.gridLayout_tflink_group.setObjectName("gridLayout_tflink_group") - self.gridLayout_4.addLayout(self.gridLayout_tflink_group, 2, 2, 1, 2) - self.gridLayout_tflink_sample = QtWidgets.QGridLayout() - self.gridLayout_tflink_sample.setObjectName("gridLayout_tflink_sample") - self.gridLayout_4.addLayout(self.gridLayout_tflink_sample, 3, 1, 1, 3) - self.line_6 = QtWidgets.QFrame(self.tab_8) - self.line_6.setFrameShape(QtWidgets.QFrame.HLine) - self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_6.setObjectName("line_6") - self.gridLayout_4.addWidget(self.line_6, 4, 0, 1, 4) self.comboBox_others_func = QtWidgets.QComboBox(self.tab_8) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -3923,15 +3950,6 @@ def setupUi(self, metaX_main): self.comboBox_others_func.setEditable(True) self.comboBox_others_func.setObjectName("comboBox_others_func") self.gridLayout_4.addWidget(self.comboBox_others_func, 6, 1, 1, 2) - self.comboBox_others_taxa = QtWidgets.QComboBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_others_taxa.sizePolicy().hasHeightForWidth()) - self.comboBox_others_taxa.setSizePolicy(sizePolicy) - self.comboBox_others_taxa.setEditable(True) - self.comboBox_others_taxa.setObjectName("comboBox_others_taxa") - self.gridLayout_4.addWidget(self.comboBox_others_taxa, 7, 1, 1, 2) self.horizontalLayout_81 = QtWidgets.QHBoxLayout() self.horizontalLayout_81.setObjectName("horizontalLayout_81") self.label_others_func_num = QtWidgets.QLabel(self.tab_8) @@ -3967,104 +3985,252 @@ def setupUi(self, metaX_main): sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_func.sizePolicy().hasHeightForWidth()) - self.pushButton_others_show_linked_func.setSizePolicy(sizePolicy) - self.pushButton_others_show_linked_func.setObjectName("pushButton_others_show_linked_func") - self.horizontalLayout_82.addWidget(self.pushButton_others_show_linked_func) - self.gridLayout_4.addLayout(self.horizontalLayout_82, 7, 3, 1, 1) - self.toolBox_8 = QtWidgets.QToolBox(self.tab_8) - self.toolBox_8.setMaximumSize(QtCore.QSize(16777215, 250)) - self.toolBox_8.setObjectName("toolBox_8") - self.page_18 = QtWidgets.QWidget() - self.page_18.setGeometry(QtCore.QRect(0, 0, 888, 196)) - self.page_18.setObjectName("page_18") - self.gridLayout_66 = QtWidgets.QGridLayout(self.page_18) - self.gridLayout_66.setObjectName("gridLayout_66") - self.pushButton_others_plot_heatmap = QtWidgets.QPushButton(self.page_18) - self.pushButton_others_plot_heatmap.setEnabled(False) + sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_func.sizePolicy().hasHeightForWidth()) + self.pushButton_others_show_linked_func.setSizePolicy(sizePolicy) + self.pushButton_others_show_linked_func.setObjectName("pushButton_others_show_linked_func") + self.horizontalLayout_82.addWidget(self.pushButton_others_show_linked_func) + self.gridLayout_4.addLayout(self.horizontalLayout_82, 7, 3, 1, 1) + self.radioButton_tflink_sample = QtWidgets.QRadioButton(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.radioButton_tflink_sample.sizePolicy().hasHeightForWidth()) + self.radioButton_tflink_sample.setSizePolicy(sizePolicy) + self.radioButton_tflink_sample.setObjectName("radioButton_tflink_sample") + self.gridLayout_4.addWidget(self.radioButton_tflink_sample, 3, 0, 1, 1) + self.line_3 = QtWidgets.QFrame(self.tab_8) + self.line_3.setFrameShape(QtWidgets.QFrame.HLine) + self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_3.setObjectName("line_3") + self.gridLayout_4.addWidget(self.line_3, 1, 0, 1, 4) + self.line_6 = QtWidgets.QFrame(self.tab_8) + self.line_6.setFrameShape(QtWidgets.QFrame.HLine) + self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_6.setObjectName("line_6") + self.gridLayout_4.addWidget(self.line_6, 4, 0, 1, 4) + self.gridLayout_tflink_group = QtWidgets.QGridLayout() + self.gridLayout_tflink_group.setObjectName("gridLayout_tflink_group") + self.gridLayout_4.addLayout(self.gridLayout_tflink_group, 2, 2, 1, 2) + self.radioButton_tflink_group = QtWidgets.QRadioButton(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.radioButton_tflink_group.sizePolicy().hasHeightForWidth()) + self.radioButton_tflink_group.setSizePolicy(sizePolicy) + self.radioButton_tflink_group.setChecked(True) + self.radioButton_tflink_group.setObjectName("radioButton_tflink_group") + self.gridLayout_4.addWidget(self.radioButton_tflink_group, 2, 0, 1, 1) + self.comboBox_others_taxa = QtWidgets.QComboBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_others_taxa.sizePolicy().hasHeightForWidth()) + self.comboBox_others_taxa.setSizePolicy(sizePolicy) + self.comboBox_others_taxa.setEditable(True) + self.comboBox_others_taxa.setObjectName("comboBox_others_taxa") + self.gridLayout_4.addWidget(self.comboBox_others_taxa, 7, 1, 1, 2) + self.gridLayout_62 = QtWidgets.QGridLayout() + self.gridLayout_62.setObjectName("gridLayout_62") + self.pushButton_others_plot_heatmap = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_plot_heatmap.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_plot_heatmap.sizePolicy().hasHeightForWidth()) + self.pushButton_others_plot_heatmap.setSizePolicy(sizePolicy) + self.pushButton_others_plot_heatmap.setMaximumSize(QtCore.QSize(16777215, 50)) + self.pushButton_others_plot_heatmap.setObjectName("pushButton_others_plot_heatmap") + self.gridLayout_62.addWidget(self.pushButton_others_plot_heatmap, 0, 0, 1, 1) + self.pushButton_others_plot_line = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_plot_line.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_plot_line.sizePolicy().hasHeightForWidth()) + self.pushButton_others_plot_line.setSizePolicy(sizePolicy) + self.pushButton_others_plot_line.setMaximumSize(QtCore.QSize(16777215, 50)) + self.pushButton_others_plot_line.setObjectName("pushButton_others_plot_line") + self.gridLayout_62.addWidget(self.pushButton_others_plot_line, 0, 1, 1, 1) + self.pushButton_others_get_intensity_matrix = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_get_intensity_matrix.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_get_intensity_matrix.sizePolicy().hasHeightForWidth()) + self.pushButton_others_get_intensity_matrix.setSizePolicy(sizePolicy) + self.pushButton_others_get_intensity_matrix.setObjectName("pushButton_others_get_intensity_matrix") + self.gridLayout_62.addWidget(self.pushButton_others_get_intensity_matrix, 1, 1, 1, 1) + self.checkBox_6 = QtWidgets.QCheckBox(self.tab_8) + self.checkBox_6.setObjectName("checkBox_6") + self.gridLayout_62.addWidget(self.checkBox_6, 1, 0, 1, 1) + self.gridLayout_4.addLayout(self.gridLayout_62, 9, 0, 1, 4) + self.label_149 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_149.sizePolicy().hasHeightForWidth()) + self.label_149.setSizePolicy(sizePolicy) + self.label_149.setObjectName("label_149") + self.gridLayout_4.addWidget(self.label_149, 0, 0, 1, 1) + self.label_18 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy) + self.label_18.setObjectName("label_18") + self.gridLayout_4.addWidget(self.label_18, 6, 0, 1, 1) + self.horizontalLayout_78 = QtWidgets.QHBoxLayout() + self.horizontalLayout_78.setObjectName("horizontalLayout_78") + self.checkBox_tflink_in_condition = QtWidgets.QCheckBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_tflink_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_in_condition.setSizePolicy(sizePolicy) + self.checkBox_tflink_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_tflink_in_condition.setObjectName("checkBox_tflink_in_condition") + self.horizontalLayout_78.addWidget(self.checkBox_tflink_in_condition) + self.comboBox_tflink_condition_meta = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_condition_meta.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_tflink_condition_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_condition_meta.setSizePolicy(sizePolicy) + self.comboBox_tflink_condition_meta.setObjectName("comboBox_tflink_condition_meta") + self.horizontalLayout_78.addWidget(self.comboBox_tflink_condition_meta) + self.horizontalLayout_49 = QtWidgets.QHBoxLayout() + self.horizontalLayout_49.setObjectName("horizontalLayout_49") + self.horizontalLayout_77 = QtWidgets.QHBoxLayout() + self.horizontalLayout_77.setObjectName("horizontalLayout_77") + self.comboBox_tflink_condition_group = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_condition_group.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_tflink_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_condition_group.setSizePolicy(sizePolicy) + self.comboBox_tflink_condition_group.setMaximumSize(QtCore.QSize(300, 16777215)) + self.comboBox_tflink_condition_group.setObjectName("comboBox_tflink_condition_group") + self.horizontalLayout_77.addWidget(self.comboBox_tflink_condition_group) + self.horizontalLayout_49.addLayout(self.horizontalLayout_77) + self.horizontalLayout_78.addLayout(self.horizontalLayout_49) + self.gridLayout_4.addLayout(self.horizontalLayout_78, 2, 1, 1, 1) + self.line_32 = QtWidgets.QFrame(self.tab_8) + self.line_32.setFrameShape(QtWidgets.QFrame.HLine) + self.line_32.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_32.setObjectName("line_32") + self.gridLayout_4.addWidget(self.line_32, 8, 0, 1, 4) + self.comboBox_tflink_meta = QtWidgets.QComboBox(self.tab_8) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_plot_heatmap.sizePolicy().hasHeightForWidth()) - self.pushButton_others_plot_heatmap.setSizePolicy(sizePolicy) - self.pushButton_others_plot_heatmap.setMaximumSize(QtCore.QSize(16777215, 50)) - self.pushButton_others_plot_heatmap.setObjectName("pushButton_others_plot_heatmap") - self.gridLayout_66.addWidget(self.pushButton_others_plot_heatmap, 0, 0, 1, 1) - self.pushButton_others_plot_line = QtWidgets.QPushButton(self.page_18) - self.pushButton_others_plot_line.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.comboBox_tflink_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_meta.setSizePolicy(sizePolicy) + self.comboBox_tflink_meta.setLayoutDirection(QtCore.Qt.LeftToRight) + self.comboBox_tflink_meta.setObjectName("comboBox_tflink_meta") + self.gridLayout_4.addWidget(self.comboBox_tflink_meta, 0, 1, 1, 1) + self.pushButton_others_fresh_taxa_func = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_fresh_taxa_func.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_plot_line.sizePolicy().hasHeightForWidth()) - self.pushButton_others_plot_line.setSizePolicy(sizePolicy) - self.pushButton_others_plot_line.setObjectName("pushButton_others_plot_line") - self.gridLayout_66.addWidget(self.pushButton_others_plot_line, 0, 1, 1, 1) - self.pushButton_others_get_intensity_matrix = QtWidgets.QPushButton(self.page_18) - self.pushButton_others_get_intensity_matrix.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.pushButton_others_fresh_taxa_func.sizePolicy().hasHeightForWidth()) + self.pushButton_others_fresh_taxa_func.setSizePolicy(sizePolicy) + self.pushButton_others_fresh_taxa_func.setObjectName("pushButton_others_fresh_taxa_func") + self.gridLayout_4.addWidget(self.pushButton_others_fresh_taxa_func, 5, 3, 1, 1) + self.label_19 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_get_intensity_matrix.sizePolicy().hasHeightForWidth()) - self.pushButton_others_get_intensity_matrix.setSizePolicy(sizePolicy) - self.pushButton_others_get_intensity_matrix.setObjectName("pushButton_others_get_intensity_matrix") - self.gridLayout_66.addWidget(self.pushButton_others_get_intensity_matrix, 1, 1, 1, 1) - self.toolBox_8.addItem(self.page_18, "") - self.page_19 = QtWidgets.QWidget() - self.page_19.setGeometry(QtCore.QRect(0, 0, 538, 127)) - self.page_19.setObjectName("page_19") - self.gridLayout_65 = QtWidgets.QGridLayout(self.page_19) - self.gridLayout_65.setObjectName("gridLayout_65") - self.gridLayout_67 = QtWidgets.QGridLayout() - self.gridLayout_67.setObjectName("gridLayout_67") - self.label_176 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy) + self.label_19.setObjectName("label_19") + self.gridLayout_4.addWidget(self.label_19, 7, 0, 1, 1) + self.gridLayout_tflink_sample = QtWidgets.QGridLayout() + self.gridLayout_tflink_sample.setObjectName("gridLayout_tflink_sample") + self.gridLayout_4.addLayout(self.gridLayout_tflink_sample, 3, 1, 1, 3) + self.horizontalLayout_50 = QtWidgets.QHBoxLayout() + self.horizontalLayout_50.setObjectName("horizontalLayout_50") + self.label_75 = QtWidgets.QLabel(self.tab_8) + self.label_75.setObjectName("label_75") + self.horizontalLayout_50.addWidget(self.label_75) + self.spinBox_tflink_top_num = QtWidgets.QSpinBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_176.sizePolicy().hasHeightForWidth()) - self.label_176.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_176.setFont(font) - self.label_176.setObjectName("label_176") - self.gridLayout_67.addWidget(self.label_176, 0, 0, 2, 1) - self.line_29 = QtWidgets.QFrame(self.page_19) - self.line_29.setFrameShape(QtWidgets.QFrame.HLine) - self.line_29.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_29.setObjectName("line_29") - self.gridLayout_67.addWidget(self.line_29, 2, 1, 1, 4) - self.horizontalLayout_48 = QtWidgets.QHBoxLayout() - self.horizontalLayout_48.setObjectName("horizontalLayout_48") - self.label_61 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.spinBox_tflink_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_tflink_top_num.setSizePolicy(sizePolicy) + self.spinBox_tflink_top_num.setMinimum(1) + self.spinBox_tflink_top_num.setMaximum(99999) + self.spinBox_tflink_top_num.setProperty("value", 10) + self.spinBox_tflink_top_num.setObjectName("spinBox_tflink_top_num") + self.horizontalLayout_50.addWidget(self.spinBox_tflink_top_num) + self.label_76 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_61.sizePolicy().hasHeightForWidth()) - self.label_61.setSizePolicy(sizePolicy) - self.label_61.setObjectName("label_61") - self.horizontalLayout_48.addWidget(self.label_61) - self.comboBox_tflink_cmap = QtWidgets.QComboBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) + self.label_76.setSizePolicy(sizePolicy) + self.label_76.setAlignment(QtCore.Qt.AlignCenter) + self.label_76.setObjectName("label_76") + self.horizontalLayout_50.addWidget(self.label_76) + self.comboBox_tflink_top_by = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_top_by.setObjectName("comboBox_tflink_top_by") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.horizontalLayout_50.addWidget(self.comboBox_tflink_top_by) + self.checkBox_tflink_top_filtered = QtWidgets.QCheckBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_cmap.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_cmap.setSizePolicy(sizePolicy) - self.comboBox_tflink_cmap.setObjectName("comboBox_tflink_cmap") - self.horizontalLayout_48.addWidget(self.comboBox_tflink_cmap) - self.gridLayout_67.addLayout(self.horizontalLayout_48, 3, 4, 1, 1) - self.label_177 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.checkBox_tflink_top_filtered.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_top_filtered.setSizePolicy(sizePolicy) + self.checkBox_tflink_top_filtered.setObjectName("checkBox_tflink_top_filtered") + self.horizontalLayout_50.addWidget(self.checkBox_tflink_top_filtered) + self.pushButton_tflink_filter = QtWidgets.QPushButton(self.tab_8) + self.pushButton_tflink_filter.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_177.sizePolicy().hasHeightForWidth()) - self.label_177.setSizePolicy(sizePolicy) + sizePolicy.setHeightForWidth(self.pushButton_tflink_filter.sizePolicy().hasHeightForWidth()) + self.pushButton_tflink_filter.setSizePolicy(sizePolicy) + self.pushButton_tflink_filter.setObjectName("pushButton_tflink_filter") + self.horizontalLayout_50.addWidget(self.pushButton_tflink_filter) + self.gridLayout_4.addLayout(self.horizontalLayout_50, 5, 1, 1, 2) + self.groupBox_taxa_func_link_plot_settings = QtWidgets.QGroupBox(self.tab_8) + self.groupBox_taxa_func_link_plot_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_taxa_func_link_plot_settings.setObjectName("groupBox_taxa_func_link_plot_settings") + self.gridLayout_65 = QtWidgets.QGridLayout(self.groupBox_taxa_func_link_plot_settings) + self.gridLayout_65.setObjectName("gridLayout_65") + self.scrollArea_6 = QtWidgets.QScrollArea(self.groupBox_taxa_func_link_plot_settings) + self.scrollArea_6.setWidgetResizable(True) + self.scrollArea_6.setObjectName("scrollArea_6") + self.scrollAreaWidgetContents_7 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 1016, 185)) + self.scrollAreaWidgetContents_7.setObjectName("scrollAreaWidgetContents_7") + self.gridLayout_69 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_7) + self.gridLayout_69.setObjectName("gridLayout_69") + self.gridLayout_67 = QtWidgets.QGridLayout() + self.gridLayout_67.setObjectName("gridLayout_67") + self.label_178 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) font = QtGui.QFont() font.setBold(True) font.setWeight(75) - self.label_177.setFont(font) - self.label_177.setObjectName("label_177") - self.gridLayout_67.addWidget(self.label_177, 3, 0, 1, 1) - self.checkBox_tflink_hetatmap_col_cluster = QtWidgets.QCheckBox(self.page_19) + self.label_178.setFont(font) + self.label_178.setObjectName("label_178") + self.gridLayout_67.addWidget(self.label_178, 3, 0, 1, 1) + self.checkBox_tflink_hetatmap_col_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -4073,32 +4239,8 @@ def setupUi(self, metaX_main): self.checkBox_tflink_hetatmap_col_cluster.setLayoutDirection(QtCore.Qt.LeftToRight) self.checkBox_tflink_hetatmap_col_cluster.setChecked(True) self.checkBox_tflink_hetatmap_col_cluster.setObjectName("checkBox_tflink_hetatmap_col_cluster") - self.gridLayout_67.addWidget(self.checkBox_tflink_hetatmap_col_cluster, 3, 1, 1, 1) - self.horizontalLayout_47 = QtWidgets.QHBoxLayout() - self.horizontalLayout_47.setObjectName("horizontalLayout_47") - self.label_23 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) - self.label_23.setSizePolicy(sizePolicy) - self.label_23.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_23.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_23.setObjectName("label_23") - self.horizontalLayout_47.addWidget(self.label_23) - self.comboBox_tflink_hetatmap_scale = QtWidgets.QComboBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_hetatmap_scale.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_hetatmap_scale.setSizePolicy(sizePolicy) - self.comboBox_tflink_hetatmap_scale.setObjectName("comboBox_tflink_hetatmap_scale") - self.comboBox_tflink_hetatmap_scale.addItem("") - self.comboBox_tflink_hetatmap_scale.addItem("") - self.comboBox_tflink_hetatmap_scale.addItem("") - self.horizontalLayout_47.addWidget(self.comboBox_tflink_hetatmap_scale) - self.gridLayout_67.addLayout(self.horizontalLayout_47, 3, 3, 1, 1) - self.checkBox_tflink_bar_plot_percent = QtWidgets.QCheckBox(self.page_19) + self.gridLayout_67.addWidget(self.checkBox_tflink_hetatmap_col_cluster, 2, 1, 1, 1) + self.checkBox_tflink_bar_plot_percent = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -4109,146 +4251,53 @@ def setupUi(self, metaX_main): self.checkBox_tflink_bar_plot_percent.setFont(font) self.checkBox_tflink_bar_plot_percent.setLayoutDirection(QtCore.Qt.LeftToRight) self.checkBox_tflink_bar_plot_percent.setObjectName("checkBox_tflink_bar_plot_percent") - self.gridLayout_67.addWidget(self.checkBox_tflink_bar_plot_percent, 4, 2, 1, 1) - self.checkBox_tflink_plot_mean = QtWidgets.QCheckBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + self.gridLayout_67.addWidget(self.checkBox_tflink_bar_plot_percent, 3, 2, 1, 1) + self.label_177 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_plot_mean.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_plot_mean.setSizePolicy(sizePolicy) - self.checkBox_tflink_plot_mean.setObjectName("checkBox_tflink_plot_mean") - self.gridLayout_67.addWidget(self.checkBox_tflink_plot_mean, 0, 4, 1, 1) - self.label_178 = QtWidgets.QLabel(self.page_19) + sizePolicy.setHeightForWidth(self.label_177.sizePolicy().hasHeightForWidth()) + self.label_177.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) - self.label_178.setFont(font) - self.label_178.setObjectName("label_178") - self.gridLayout_67.addWidget(self.label_178, 4, 0, 1, 1) + self.label_177.setFont(font) + self.label_177.setObjectName("label_177") + self.gridLayout_67.addWidget(self.label_177, 2, 0, 1, 1) self.horizontalLayout_53 = QtWidgets.QHBoxLayout() self.horizontalLayout_53.setObjectName("horizontalLayout_53") - self.label_110 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.label_110 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_110.sizePolicy().hasHeightForWidth()) self.label_110.setSizePolicy(sizePolicy) - self.label_110.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_110.setObjectName("label_110") - self.horizontalLayout_53.addWidget(self.label_110) - self.spinBox_tflink_label_font_size = QtWidgets.QSpinBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tflink_label_font_size.sizePolicy().hasHeightForWidth()) - self.spinBox_tflink_label_font_size.setSizePolicy(sizePolicy) - self.spinBox_tflink_label_font_size.setMinimum(1) - self.spinBox_tflink_label_font_size.setMaximum(999) - self.spinBox_tflink_label_font_size.setProperty("value", 10) - self.spinBox_tflink_label_font_size.setObjectName("spinBox_tflink_label_font_size") - self.horizontalLayout_53.addWidget(self.spinBox_tflink_label_font_size) - self.gridLayout_67.addLayout(self.horizontalLayout_53, 0, 3, 1, 1) - self.checkBox_tflink_bar_show_legend = QtWidgets.QCheckBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_bar_show_legend.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_bar_show_legend.setSizePolicy(sizePolicy) - self.checkBox_tflink_bar_show_legend.setChecked(True) - self.checkBox_tflink_bar_show_legend.setObjectName("checkBox_tflink_bar_show_legend") - self.gridLayout_67.addWidget(self.checkBox_tflink_bar_show_legend, 4, 1, 1, 1) - self.checkBox_tflink_hetatmap_row_cluster = QtWidgets.QCheckBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_row_cluster.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_hetatmap_row_cluster.setSizePolicy(sizePolicy) - self.checkBox_tflink_hetatmap_row_cluster.setChecked(True) - self.checkBox_tflink_hetatmap_row_cluster.setObjectName("checkBox_tflink_hetatmap_row_cluster") - self.gridLayout_67.addWidget(self.checkBox_tflink_hetatmap_row_cluster, 3, 2, 1, 1) - self.horizontalLayout_31 = QtWidgets.QHBoxLayout() - self.horizontalLayout_31.setObjectName("horizontalLayout_31") - self.label_21 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) - self.label_21.setSizePolicy(sizePolicy) - self.label_21.setObjectName("label_21") - self.horizontalLayout_31.addWidget(self.label_21) - self.spinBox_tflink_width = QtWidgets.QSpinBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tflink_width.sizePolicy().hasHeightForWidth()) - self.spinBox_tflink_width.setSizePolicy(sizePolicy) - self.spinBox_tflink_width.setMinimum(1) - self.spinBox_tflink_width.setMaximum(1000) - self.spinBox_tflink_width.setProperty("value", 16) - self.spinBox_tflink_width.setObjectName("spinBox_tflink_width") - self.horizontalLayout_31.addWidget(self.spinBox_tflink_width) - self.label_20 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) - self.label_20.setSizePolicy(sizePolicy) - self.label_20.setObjectName("label_20") - self.horizontalLayout_31.addWidget(self.label_20) - self.spinBox_tflink_height = QtWidgets.QSpinBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tflink_height.sizePolicy().hasHeightForWidth()) - self.spinBox_tflink_height.setSizePolicy(sizePolicy) - self.spinBox_tflink_height.setMinimum(1) - self.spinBox_tflink_height.setMaximum(1000) - self.spinBox_tflink_height.setProperty("value", 9) - self.spinBox_tflink_height.setObjectName("spinBox_tflink_height") - self.horizontalLayout_31.addWidget(self.spinBox_tflink_height) - self.gridLayout_67.addLayout(self.horizontalLayout_31, 0, 1, 1, 2) - self.horizontalLayout_52 = QtWidgets.QHBoxLayout() - self.horizontalLayout_52.setObjectName("horizontalLayout_52") - self.label_120 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_120.sizePolicy().hasHeightForWidth()) - self.label_120.setSizePolicy(sizePolicy) - self.label_120.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_120.setObjectName("label_120") - self.horizontalLayout_52.addWidget(self.label_120) - self.checkBox_tflink_hetatmap_rename_sample = QtWidgets.QCheckBox(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_rename_sample.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_hetatmap_rename_sample.setSizePolicy(sizePolicy) - self.checkBox_tflink_hetatmap_rename_sample.setChecked(True) - self.checkBox_tflink_hetatmap_rename_sample.setObjectName("checkBox_tflink_hetatmap_rename_sample") - self.horizontalLayout_52.addWidget(self.checkBox_tflink_hetatmap_rename_sample) - self.checkBox_tflink_hetatmap_rename_taxa = QtWidgets.QCheckBox(self.page_19) + self.label_110.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_110.setObjectName("label_110") + self.horizontalLayout_53.addWidget(self.label_110) + self.spinBox_tflink_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_rename_taxa.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_hetatmap_rename_taxa.setSizePolicy(sizePolicy) - self.checkBox_tflink_hetatmap_rename_taxa.setChecked(True) - self.checkBox_tflink_hetatmap_rename_taxa.setObjectName("checkBox_tflink_hetatmap_rename_taxa") - self.horizontalLayout_52.addWidget(self.checkBox_tflink_hetatmap_rename_taxa) - self.gridLayout_67.addLayout(self.horizontalLayout_52, 1, 3, 1, 1) - self.horizontalLayout_51 = QtWidgets.QHBoxLayout() - self.horizontalLayout_51.setObjectName("horizontalLayout_51") - self.label_132 = QtWidgets.QLabel(self.page_19) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHeightForWidth(self.spinBox_tflink_label_font_size.sizePolicy().hasHeightForWidth()) + self.spinBox_tflink_label_font_size.setSizePolicy(sizePolicy) + self.spinBox_tflink_label_font_size.setMinimum(1) + self.spinBox_tflink_label_font_size.setMaximum(999) + self.spinBox_tflink_label_font_size.setProperty("value", 10) + self.spinBox_tflink_label_font_size.setObjectName("spinBox_tflink_label_font_size") + self.horizontalLayout_53.addWidget(self.spinBox_tflink_label_font_size) + self.label_132 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_132.sizePolicy().hasHeightForWidth()) self.label_132.setSizePolicy(sizePolicy) self.label_132.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.label_132.setObjectName("label_132") - self.horizontalLayout_51.addWidget(self.label_132) - self.checkBox_tflink_bar_show_all_labels_x = QtWidgets.QCheckBox(self.page_19) + self.horizontalLayout_53.addWidget(self.label_132) + self.horizontalLayout_51 = QtWidgets.QHBoxLayout() + self.horizontalLayout_51.setObjectName("horizontalLayout_51") + self.checkBox_tflink_bar_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -4256,7 +4305,7 @@ def setupUi(self, metaX_main): self.checkBox_tflink_bar_show_all_labels_x.setSizePolicy(sizePolicy) self.checkBox_tflink_bar_show_all_labels_x.setObjectName("checkBox_tflink_bar_show_all_labels_x") self.horizontalLayout_51.addWidget(self.checkBox_tflink_bar_show_all_labels_x) - self.checkBox_tflink_bar_show_all_labels_y = QtWidgets.QCheckBox(self.page_19) + self.checkBox_tflink_bar_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -4264,226 +4313,176 @@ def setupUi(self, metaX_main): self.checkBox_tflink_bar_show_all_labels_y.setSizePolicy(sizePolicy) self.checkBox_tflink_bar_show_all_labels_y.setObjectName("checkBox_tflink_bar_show_all_labels_y") self.horizontalLayout_51.addWidget(self.checkBox_tflink_bar_show_all_labels_y) - self.gridLayout_67.addLayout(self.horizontalLayout_51, 1, 1, 1, 2) - self.gridLayout_65.addLayout(self.gridLayout_67, 2, 2, 1, 1) - self.toolBox_8.addItem(self.page_19, "") - self.gridLayout_4.addWidget(self.toolBox_8, 8, 0, 1, 4) - self.line_3 = QtWidgets.QFrame(self.tab_8) - self.line_3.setFrameShape(QtWidgets.QFrame.HLine) - self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_3.setObjectName("line_3") - self.gridLayout_4.addWidget(self.line_3, 1, 0, 1, 4) - self.horizontalLayout_50 = QtWidgets.QHBoxLayout() - self.horizontalLayout_50.setObjectName("horizontalLayout_50") - self.label_75 = QtWidgets.QLabel(self.tab_8) - self.label_75.setObjectName("label_75") - self.horizontalLayout_50.addWidget(self.label_75) - self.spinBox_tflink_top_num = QtWidgets.QSpinBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tflink_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_tflink_top_num.setSizePolicy(sizePolicy) - self.spinBox_tflink_top_num.setMinimum(1) - self.spinBox_tflink_top_num.setMaximum(99999) - self.spinBox_tflink_top_num.setProperty("value", 10) - self.spinBox_tflink_top_num.setObjectName("spinBox_tflink_top_num") - self.horizontalLayout_50.addWidget(self.spinBox_tflink_top_num) - self.label_76 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) - self.label_76.setSizePolicy(sizePolicy) - self.label_76.setAlignment(QtCore.Qt.AlignCenter) - self.label_76.setObjectName("label_76") - self.horizontalLayout_50.addWidget(self.label_76) - self.comboBox_tflink_top_by = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_top_by.setObjectName("comboBox_tflink_top_by") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.horizontalLayout_50.addWidget(self.comboBox_tflink_top_by) - self.checkBox_tflink_top_filtered = QtWidgets.QCheckBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_53.addLayout(self.horizontalLayout_51) + self.label_120 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_top_filtered.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_top_filtered.setSizePolicy(sizePolicy) - self.checkBox_tflink_top_filtered.setObjectName("checkBox_tflink_top_filtered") - self.horizontalLayout_50.addWidget(self.checkBox_tflink_top_filtered) - self.pushButton_tflink_filter = QtWidgets.QPushButton(self.tab_8) - self.pushButton_tflink_filter.setEnabled(False) + sizePolicy.setHeightForWidth(self.label_120.sizePolicy().hasHeightForWidth()) + self.label_120.setSizePolicy(sizePolicy) + self.label_120.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_120.setObjectName("label_120") + self.horizontalLayout_53.addWidget(self.label_120) + self.horizontalLayout_52 = QtWidgets.QHBoxLayout() + self.horizontalLayout_52.setObjectName("horizontalLayout_52") + self.checkBox_tflink_hetatmap_rename_sample = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tflink_filter.sizePolicy().hasHeightForWidth()) - self.pushButton_tflink_filter.setSizePolicy(sizePolicy) - self.pushButton_tflink_filter.setObjectName("pushButton_tflink_filter") - self.horizontalLayout_50.addWidget(self.pushButton_tflink_filter) - self.gridLayout_4.addLayout(self.horizontalLayout_50, 5, 1, 1, 2) - self.pushButton_others_fresh_taxa_func = QtWidgets.QPushButton(self.tab_8) - self.pushButton_others_fresh_taxa_func.setEnabled(False) + sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_rename_sample.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_hetatmap_rename_sample.setSizePolicy(sizePolicy) + self.checkBox_tflink_hetatmap_rename_sample.setChecked(True) + self.checkBox_tflink_hetatmap_rename_sample.setObjectName("checkBox_tflink_hetatmap_rename_sample") + self.horizontalLayout_52.addWidget(self.checkBox_tflink_hetatmap_rename_sample) + self.checkBox_tflink_hetatmap_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_fresh_taxa_func.sizePolicy().hasHeightForWidth()) - self.pushButton_others_fresh_taxa_func.setSizePolicy(sizePolicy) - self.pushButton_others_fresh_taxa_func.setObjectName("pushButton_others_fresh_taxa_func") - self.gridLayout_4.addWidget(self.pushButton_others_fresh_taxa_func, 5, 3, 1, 1) - self.tabWidget_2.addTab(self.tab_8, "") - self.tab_9 = QtWidgets.QWidget() - self.tab_9.setObjectName("tab_9") - self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_9) - self.gridLayout_6.setObjectName("gridLayout_6") - self.gridLayout_network_group = QtWidgets.QGridLayout() - self.gridLayout_network_group.setObjectName("gridLayout_network_group") - self.gridLayout_6.addLayout(self.gridLayout_network_group, 2, 2, 1, 1) - self.pushButton_tfnet_add_to_list = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_add_to_list.setEnabled(False) + sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_rename_taxa.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_hetatmap_rename_taxa.setSizePolicy(sizePolicy) + self.checkBox_tflink_hetatmap_rename_taxa.setChecked(True) + self.checkBox_tflink_hetatmap_rename_taxa.setObjectName("checkBox_tflink_hetatmap_rename_taxa") + self.horizontalLayout_52.addWidget(self.checkBox_tflink_hetatmap_rename_taxa) + self.horizontalLayout_53.addLayout(self.horizontalLayout_52) + self.gridLayout_67.addLayout(self.horizontalLayout_53, 0, 3, 1, 1) + self.label_176 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_to_list.sizePolicy().hasHeightForWidth()) - self.pushButton_tfnet_add_to_list.setSizePolicy(sizePolicy) - self.pushButton_tfnet_add_to_list.setMaximumSize(QtCore.QSize(100, 16777215)) - self.pushButton_tfnet_add_to_list.setObjectName("pushButton_tfnet_add_to_list") - self.gridLayout_6.addWidget(self.pushButton_tfnet_add_to_list, 6, 2, 1, 1) - self.radioButton_network_bysample = QtWidgets.QRadioButton(self.tab_9) + sizePolicy.setHeightForWidth(self.label_176.sizePolicy().hasHeightForWidth()) + self.label_176.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_176.setFont(font) + self.label_176.setObjectName("label_176") + self.gridLayout_67.addWidget(self.label_176, 0, 0, 1, 1) + self.checkBox_tflink_plot_mean = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_tflink_plot_mean.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_plot_mean.setSizePolicy(sizePolicy) + self.checkBox_tflink_plot_mean.setObjectName("checkBox_tflink_plot_mean") + self.gridLayout_67.addWidget(self.checkBox_tflink_plot_mean, 0, 4, 1, 1) + self.horizontalLayout_31 = QtWidgets.QHBoxLayout() + self.horizontalLayout_31.setObjectName("horizontalLayout_31") + self.label_21 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_network_bysample.sizePolicy().hasHeightForWidth()) - self.radioButton_network_bysample.setSizePolicy(sizePolicy) - self.radioButton_network_bysample.setObjectName("radioButton_network_bysample") - self.gridLayout_6.addWidget(self.radioButton_network_bysample, 4, 0, 1, 1) - self.pushButton_tfnet_add_top = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_add_top.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) + self.label_21.setSizePolicy(sizePolicy) + self.label_21.setObjectName("label_21") + self.horizontalLayout_31.addWidget(self.label_21) + self.spinBox_tflink_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_top.sizePolicy().hasHeightForWidth()) - self.pushButton_tfnet_add_top.setSizePolicy(sizePolicy) - self.pushButton_tfnet_add_top.setMaximumSize(QtCore.QSize(100, 16777215)) - self.pushButton_tfnet_add_top.setObjectName("pushButton_tfnet_add_top") - self.gridLayout_6.addWidget(self.pushButton_tfnet_add_top, 7, 2, 1, 1) - self.toolBox_7 = QtWidgets.QToolBox(self.tab_9) - self.toolBox_7.setMinimumSize(QtCore.QSize(0, 150)) - self.toolBox_7.setMaximumSize(QtCore.QSize(16777215, 210)) - self.toolBox_7.setObjectName("toolBox_7") - self.page_16 = QtWidgets.QWidget() - self.page_16.setGeometry(QtCore.QRect(0, 0, 98, 41)) - self.page_16.setObjectName("page_16") - self.gridLayout_63 = QtWidgets.QGridLayout(self.page_16) - self.gridLayout_63.setObjectName("gridLayout_63") - self.pushButton_plot_network = QtWidgets.QPushButton(self.page_16) - self.pushButton_plot_network.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHeightForWidth(self.spinBox_tflink_width.sizePolicy().hasHeightForWidth()) + self.spinBox_tflink_width.setSizePolicy(sizePolicy) + self.spinBox_tflink_width.setMinimum(1) + self.spinBox_tflink_width.setMaximum(1000) + self.spinBox_tflink_width.setProperty("value", 16) + self.spinBox_tflink_width.setObjectName("spinBox_tflink_width") + self.horizontalLayout_31.addWidget(self.spinBox_tflink_width) + self.label_20 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_network.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_network.setSizePolicy(sizePolicy) - self.pushButton_plot_network.setMaximumSize(QtCore.QSize(16777215, 50)) - self.pushButton_plot_network.setCheckable(False) - self.pushButton_plot_network.setObjectName("pushButton_plot_network") - self.gridLayout_63.addWidget(self.pushButton_plot_network, 0, 0, 1, 1) - self.toolBox_7.addItem(self.page_16, "") - self.page_17 = QtWidgets.QWidget() - self.page_17.setGeometry(QtCore.QRect(0, 0, 383, 68)) - self.page_17.setObjectName("page_17") - self.gridLayout_64 = QtWidgets.QGridLayout(self.page_17) - self.gridLayout_64.setObjectName("gridLayout_64") - self.horizontalLayout_56 = QtWidgets.QHBoxLayout() - self.horizontalLayout_56.setObjectName("horizontalLayout_56") - self.label_50 = QtWidgets.QLabel(self.page_17) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) + self.label_20.setSizePolicy(sizePolicy) + self.label_20.setObjectName("label_20") + self.horizontalLayout_31.addWidget(self.label_20) + self.spinBox_tflink_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_50.sizePolicy().hasHeightForWidth()) - self.label_50.setSizePolicy(sizePolicy) - self.label_50.setObjectName("label_50") - self.horizontalLayout_56.addWidget(self.label_50) - self.spinBox_network_width = QtWidgets.QSpinBox(self.page_17) + sizePolicy.setHeightForWidth(self.spinBox_tflink_height.sizePolicy().hasHeightForWidth()) + self.spinBox_tflink_height.setSizePolicy(sizePolicy) + self.spinBox_tflink_height.setMinimum(1) + self.spinBox_tflink_height.setMaximum(1000) + self.spinBox_tflink_height.setProperty("value", 9) + self.spinBox_tflink_height.setObjectName("spinBox_tflink_height") + self.horizontalLayout_31.addWidget(self.spinBox_tflink_height) + self.gridLayout_67.addLayout(self.horizontalLayout_31, 0, 1, 1, 2) + self.checkBox_tflink_bar_show_legend = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_network_width.sizePolicy().hasHeightForWidth()) - self.spinBox_network_width.setSizePolicy(sizePolicy) - self.spinBox_network_width.setMinimum(1) - self.spinBox_network_width.setMaximum(99) - self.spinBox_network_width.setSingleStep(1) - self.spinBox_network_width.setProperty("value", 10) - self.spinBox_network_width.setDisplayIntegerBase(10) - self.spinBox_network_width.setObjectName("spinBox_network_width") - self.horizontalLayout_56.addWidget(self.spinBox_network_width) - self.label_51 = QtWidgets.QLabel(self.page_17) + sizePolicy.setHeightForWidth(self.checkBox_tflink_bar_show_legend.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_bar_show_legend.setSizePolicy(sizePolicy) + self.checkBox_tflink_bar_show_legend.setChecked(True) + self.checkBox_tflink_bar_show_legend.setObjectName("checkBox_tflink_bar_show_legend") + self.gridLayout_67.addWidget(self.checkBox_tflink_bar_show_legend, 3, 1, 1, 1) + self.checkBox_tflink_hetatmap_row_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_tflink_hetatmap_row_cluster.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_hetatmap_row_cluster.setSizePolicy(sizePolicy) + self.checkBox_tflink_hetatmap_row_cluster.setChecked(True) + self.checkBox_tflink_hetatmap_row_cluster.setObjectName("checkBox_tflink_hetatmap_row_cluster") + self.gridLayout_67.addWidget(self.checkBox_tflink_hetatmap_row_cluster, 2, 2, 1, 1) + self.horizontalLayout_47 = QtWidgets.QHBoxLayout() + self.horizontalLayout_47.setObjectName("horizontalLayout_47") + self.label_23 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_51.sizePolicy().hasHeightForWidth()) - self.label_51.setSizePolicy(sizePolicy) - self.label_51.setObjectName("label_51") - self.horizontalLayout_56.addWidget(self.label_51) - self.spinBox_network_height = QtWidgets.QSpinBox(self.page_17) - self.spinBox_network_height.setEnabled(True) + sizePolicy.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) + self.label_23.setSizePolicy(sizePolicy) + self.label_23.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_23.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_23.setObjectName("label_23") + self.horizontalLayout_47.addWidget(self.label_23) + self.comboBox_tflink_hetatmap_scale = QtWidgets.QComboBox(self.scrollAreaWidgetContents_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_network_height.sizePolicy().hasHeightForWidth()) - self.spinBox_network_height.setSizePolicy(sizePolicy) - self.spinBox_network_height.setMinimumSize(QtCore.QSize(20, 0)) - self.spinBox_network_height.setMinimum(1) - self.spinBox_network_height.setMaximum(99) - self.spinBox_network_height.setSingleStep(1) - self.spinBox_network_height.setProperty("value", 8) - self.spinBox_network_height.setDisplayIntegerBase(10) - self.spinBox_network_height.setObjectName("spinBox_network_height") - self.horizontalLayout_56.addWidget(self.spinBox_network_height) - self.gridLayout_64.addLayout(self.horizontalLayout_56, 0, 0, 1, 1) - self.horizontalLayout_85 = QtWidgets.QHBoxLayout() - self.horizontalLayout_85.setObjectName("horizontalLayout_85") - self.checkBox_tf_link_net_plot_list_only = QtWidgets.QCheckBox(self.page_17) - self.checkBox_tf_link_net_plot_list_only.setObjectName("checkBox_tf_link_net_plot_list_only") - self.horizontalLayout_85.addWidget(self.checkBox_tf_link_net_plot_list_only) - self.checkBox_tf_link_net_plot_list_only_no_link = QtWidgets.QCheckBox(self.page_17) - self.checkBox_tf_link_net_plot_list_only_no_link.setEnabled(False) - self.checkBox_tf_link_net_plot_list_only_no_link.setChecked(False) - self.checkBox_tf_link_net_plot_list_only_no_link.setObjectName("checkBox_tf_link_net_plot_list_only_no_link") - self.horizontalLayout_85.addWidget(self.checkBox_tf_link_net_plot_list_only_no_link) - self.gridLayout_64.addLayout(self.horizontalLayout_85, 0, 1, 1, 1) - self.horizontalLayout_57 = QtWidgets.QHBoxLayout() - self.horizontalLayout_57.setObjectName("horizontalLayout_57") - self.checkBox_tf_link_net_show_label = QtWidgets.QCheckBox(self.page_17) - self.checkBox_tf_link_net_show_label.setObjectName("checkBox_tf_link_net_show_label") - self.horizontalLayout_57.addWidget(self.checkBox_tf_link_net_show_label) - self.checkBox_tf_link_net_rename_taxa = QtWidgets.QCheckBox(self.page_17) - self.checkBox_tf_link_net_rename_taxa.setEnabled(True) - self.checkBox_tf_link_net_rename_taxa.setChecked(True) - self.checkBox_tf_link_net_rename_taxa.setObjectName("checkBox_tf_link_net_rename_taxa") - self.horizontalLayout_57.addWidget(self.checkBox_tf_link_net_rename_taxa) - self.gridLayout_64.addLayout(self.horizontalLayout_57, 1, 0, 1, 1) - self.horizontalLayout_69 = QtWidgets.QHBoxLayout() - self.horizontalLayout_69.setObjectName("horizontalLayout_69") - self.label_163 = QtWidgets.QLabel(self.page_17) - self.label_163.setObjectName("label_163") - self.horizontalLayout_69.addWidget(self.label_163) - self.spinBox_network_font_size = QtWidgets.QSpinBox(self.page_17) - self.spinBox_network_font_size.setEnabled(True) - self.spinBox_network_font_size.setMinimum(1) - self.spinBox_network_font_size.setProperty("value", 10) - self.spinBox_network_font_size.setObjectName("spinBox_network_font_size") - self.horizontalLayout_69.addWidget(self.spinBox_network_font_size) - self.gridLayout_64.addLayout(self.horizontalLayout_69, 1, 1, 1, 1) - self.toolBox_7.addItem(self.page_17, "") - self.gridLayout_6.addWidget(self.toolBox_7, 17, 0, 1, 3) + sizePolicy.setHeightForWidth(self.comboBox_tflink_hetatmap_scale.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_hetatmap_scale.setSizePolicy(sizePolicy) + self.comboBox_tflink_hetatmap_scale.setObjectName("comboBox_tflink_hetatmap_scale") + self.comboBox_tflink_hetatmap_scale.addItem("") + self.comboBox_tflink_hetatmap_scale.addItem("") + self.comboBox_tflink_hetatmap_scale.addItem("") + self.horizontalLayout_47.addWidget(self.comboBox_tflink_hetatmap_scale) + self.label_61 = QtWidgets.QLabel(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_61.sizePolicy().hasHeightForWidth()) + self.label_61.setSizePolicy(sizePolicy) + self.label_61.setObjectName("label_61") + self.horizontalLayout_47.addWidget(self.label_61) + self.comboBox_tflink_cmap = QtWidgets.QComboBox(self.scrollAreaWidgetContents_7) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_tflink_cmap.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_cmap.setSizePolicy(sizePolicy) + self.comboBox_tflink_cmap.setObjectName("comboBox_tflink_cmap") + self.horizontalLayout_47.addWidget(self.comboBox_tflink_cmap) + self.gridLayout_67.addLayout(self.horizontalLayout_47, 2, 3, 1, 1) + self.line_29 = QtWidgets.QFrame(self.scrollAreaWidgetContents_7) + self.line_29.setFrameShape(QtWidgets.QFrame.HLine) + self.line_29.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_29.setObjectName("line_29") + self.gridLayout_67.addWidget(self.line_29, 1, 1, 1, 4) + self.gridLayout_69.addLayout(self.gridLayout_67, 0, 0, 1, 1) + self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_7) + self.gridLayout_65.addWidget(self.scrollArea_6, 0, 0, 1, 1) + self.gridLayout_4.addWidget(self.groupBox_taxa_func_link_plot_settings, 10, 0, 1, 4) + self.tabWidget_2.addTab(self.tab_8, "") + self.tab_9 = QtWidgets.QWidget() + self.tab_9.setObjectName("tab_9") + self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_9) + self.gridLayout_6.setObjectName("gridLayout_6") + self.line_27 = QtWidgets.QFrame(self.tab_9) + self.line_27.setFrameShape(QtWidgets.QFrame.HLine) + self.line_27.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_27.setObjectName("line_27") + self.gridLayout_6.addWidget(self.line_27, 1, 0, 1, 3) self.listWidget_tfnet_focus_list = QtWidgets.QListWidget(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) @@ -4492,6 +4491,49 @@ def setupUi(self, metaX_main): self.listWidget_tfnet_focus_list.setSizePolicy(sizePolicy) self.listWidget_tfnet_focus_list.setObjectName("listWidget_tfnet_focus_list") self.gridLayout_6.addWidget(self.listWidget_tfnet_focus_list, 8, 1, 1, 2) + self.radioButton_network_bysample = QtWidgets.QRadioButton(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.radioButton_network_bysample.sizePolicy().hasHeightForWidth()) + self.radioButton_network_bysample.setSizePolicy(sizePolicy) + self.radioButton_network_bysample.setObjectName("radioButton_network_bysample") + self.gridLayout_6.addWidget(self.radioButton_network_bysample, 4, 0, 1, 1) + self.verticalLayout_5 = QtWidgets.QVBoxLayout() + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.pushButton_tfnet_drop_item = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tfnet_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_tfnet_drop_item.setSizePolicy(sizePolicy) + self.pushButton_tfnet_drop_item.setObjectName("pushButton_tfnet_drop_item") + self.verticalLayout_5.addWidget(self.pushButton_tfnet_drop_item) + self.pushButton_tfnet_clean_list = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tfnet_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_tfnet_clean_list.setSizePolicy(sizePolicy) + self.pushButton_tfnet_clean_list.setObjectName("pushButton_tfnet_clean_list") + self.verticalLayout_5.addWidget(self.pushButton_tfnet_clean_list) + self.pushButton_tfnet_add_a_list = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_add_a_list.setEnabled(False) + self.pushButton_tfnet_add_a_list.setObjectName("pushButton_tfnet_add_a_list") + self.verticalLayout_5.addWidget(self.pushButton_tfnet_add_a_list) + self.gridLayout_6.addLayout(self.verticalLayout_5, 8, 0, 1, 1) + self.line_28 = QtWidgets.QFrame(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_28.sizePolicy().hasHeightForWidth()) + self.line_28.setSizePolicy(sizePolicy) + self.line_28.setFrameShape(QtWidgets.QFrame.HLine) + self.line_28.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_28.setObjectName("line_28") + self.gridLayout_6.addWidget(self.line_28, 5, 0, 1, 3) self.radioButton_network_bygroup = QtWidgets.QRadioButton(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -4502,9 +4544,78 @@ def setupUi(self, metaX_main): self.radioButton_network_bygroup.setChecked(True) self.radioButton_network_bygroup.setObjectName("radioButton_network_bygroup") self.gridLayout_6.addWidget(self.radioButton_network_bygroup, 2, 0, 1, 1) - self.gridLayout_network_sample = QtWidgets.QGridLayout() - self.gridLayout_network_sample.setObjectName("gridLayout_network_sample") - self.gridLayout_6.addLayout(self.gridLayout_network_sample, 4, 1, 1, 2) + self.line_33 = QtWidgets.QFrame(self.tab_9) + self.line_33.setFrameShape(QtWidgets.QFrame.HLine) + self.line_33.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_33.setObjectName("line_33") + self.gridLayout_6.addWidget(self.line_33, 9, 0, 1, 3) + self.pushButton_plot_network = QtWidgets.QPushButton(self.tab_9) + self.pushButton_plot_network.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_network.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_network.setSizePolicy(sizePolicy) + self.pushButton_plot_network.setMaximumSize(QtCore.QSize(16777215, 50)) + self.pushButton_plot_network.setCheckable(False) + self.pushButton_plot_network.setObjectName("pushButton_plot_network") + self.gridLayout_6.addWidget(self.pushButton_plot_network, 10, 1, 1, 2) + self.checkBox_7 = QtWidgets.QCheckBox(self.tab_9) + self.checkBox_7.setObjectName("checkBox_7") + self.gridLayout_6.addWidget(self.checkBox_7, 10, 0, 1, 1) + self.horizontalLayout_55 = QtWidgets.QHBoxLayout() + self.horizontalLayout_55.setObjectName("horizontalLayout_55") + self.checkBox_tfnetwork_in_condition = QtWidgets.QCheckBox(self.tab_9) + self.checkBox_tfnetwork_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) + self.checkBox_tfnetwork_in_condition.setObjectName("checkBox_tfnetwork_in_condition") + self.horizontalLayout_55.addWidget(self.checkBox_tfnetwork_in_condition) + self.comboBox_tfnetwork_condition_meta = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnetwork_condition_meta.setEnabled(False) + self.comboBox_tfnetwork_condition_meta.setObjectName("comboBox_tfnetwork_condition_meta") + self.horizontalLayout_55.addWidget(self.comboBox_tfnetwork_condition_meta) + self.horizontalLayout_80 = QtWidgets.QHBoxLayout() + self.horizontalLayout_80.setObjectName("horizontalLayout_80") + self.comboBox_tfnetwork_condition_group = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnetwork_condition_group.setEnabled(False) + self.comboBox_tfnetwork_condition_group.setObjectName("comboBox_tfnetwork_condition_group") + self.horizontalLayout_80.addWidget(self.comboBox_tfnetwork_condition_group) + self.horizontalLayout_55.addLayout(self.horizontalLayout_80) + self.gridLayout_6.addLayout(self.horizontalLayout_55, 2, 1, 1, 1) + self.pushButton_tfnet_add_top = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_add_top.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_top.sizePolicy().hasHeightForWidth()) + self.pushButton_tfnet_add_top.setSizePolicy(sizePolicy) + self.pushButton_tfnet_add_top.setMaximumSize(QtCore.QSize(100, 16777215)) + self.pushButton_tfnet_add_top.setObjectName("pushButton_tfnet_add_top") + self.gridLayout_6.addWidget(self.pushButton_tfnet_add_top, 7, 2, 1, 1) + self.horizontalLayout_9 = QtWidgets.QHBoxLayout() + self.horizontalLayout_9.setObjectName("horizontalLayout_9") + self.label_49 = QtWidgets.QLabel(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_49.sizePolicy().hasHeightForWidth()) + self.label_49.setSizePolicy(sizePolicy) + self.label_49.setObjectName("label_49") + self.horizontalLayout_9.addWidget(self.label_49) + self.comboBox_tfnet_table = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnet_table.setEnabled(False) + self.comboBox_tfnet_table.setObjectName("comboBox_tfnet_table") + self.comboBox_tfnet_table.addItem("") + self.comboBox_tfnet_table.addItem("") + self.comboBox_tfnet_table.addItem("") + self.horizontalLayout_9.addWidget(self.comboBox_tfnet_table) + self.label_150 = QtWidgets.QLabel(self.tab_9) + self.label_150.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_150.setObjectName("label_150") + self.horizontalLayout_9.addWidget(self.label_150) + self.comboBox_network_meta = QtWidgets.QComboBox(self.tab_9) + self.comboBox_network_meta.setObjectName("comboBox_network_meta") + self.horizontalLayout_9.addWidget(self.comboBox_network_meta) + self.gridLayout_6.addLayout(self.horizontalLayout_9, 0, 0, 1, 3) self.horizontalLayout_58 = QtWidgets.QHBoxLayout() self.horizontalLayout_58.setObjectName("horizontalLayout_58") self.label_78 = QtWidgets.QLabel(self.tab_9) @@ -4558,6 +4669,25 @@ def setupUi(self, metaX_main): self.checkBox_tfnet_top_filtered.setObjectName("checkBox_tfnet_top_filtered") self.horizontalLayout_58.addWidget(self.checkBox_tfnet_top_filtered) self.gridLayout_6.addLayout(self.horizontalLayout_58, 7, 1, 1, 1) + self.gridLayout_network_group = QtWidgets.QGridLayout() + self.gridLayout_network_group.setObjectName("gridLayout_network_group") + self.gridLayout_6.addLayout(self.gridLayout_network_group, 2, 2, 1, 1) + self.gridLayout_network_sample = QtWidgets.QGridLayout() + self.gridLayout_network_sample.setObjectName("gridLayout_network_sample") + self.gridLayout_6.addLayout(self.gridLayout_network_sample, 4, 1, 1, 2) + self.comboBox_tfnet_select_list = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnet_select_list.setObjectName("comboBox_tfnet_select_list") + self.gridLayout_6.addWidget(self.comboBox_tfnet_select_list, 6, 1, 1, 1) + self.pushButton_tfnet_add_to_list = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_add_to_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_to_list.sizePolicy().hasHeightForWidth()) + self.pushButton_tfnet_add_to_list.setSizePolicy(sizePolicy) + self.pushButton_tfnet_add_to_list.setMaximumSize(QtCore.QSize(100, 16777215)) + self.pushButton_tfnet_add_to_list.setObjectName("pushButton_tfnet_add_to_list") + self.gridLayout_6.addWidget(self.pushButton_tfnet_add_to_list, 6, 2, 1, 1) self.label_77 = QtWidgets.QLabel(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) @@ -4566,92 +4696,103 @@ def setupUi(self, metaX_main): self.label_77.setSizePolicy(sizePolicy) self.label_77.setObjectName("label_77") self.gridLayout_6.addWidget(self.label_77, 6, 0, 1, 1) - self.line_28 = QtWidgets.QFrame(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + self.groupBox_taxa_func_link_net_plot_settings = QtWidgets.QGroupBox(self.tab_9) + self.groupBox_taxa_func_link_net_plot_settings.setMaximumSize(QtCore.QSize(16777215, 220)) + self.groupBox_taxa_func_link_net_plot_settings.setObjectName("groupBox_taxa_func_link_net_plot_settings") + self.gridLayout_63 = QtWidgets.QGridLayout(self.groupBox_taxa_func_link_net_plot_settings) + self.gridLayout_63.setObjectName("gridLayout_63") + self.scrollArea_7 = QtWidgets.QScrollArea(self.groupBox_taxa_func_link_net_plot_settings) + self.scrollArea_7.setWidgetResizable(True) + self.scrollArea_7.setObjectName("scrollArea_7") + self.scrollAreaWidgetContents_8 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_8.setGeometry(QtCore.QRect(0, 0, 383, 68)) + self.scrollAreaWidgetContents_8.setObjectName("scrollAreaWidgetContents_8") + self.gridLayout_66 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_8) + self.gridLayout_66.setObjectName("gridLayout_66") + self.horizontalLayout_56 = QtWidgets.QHBoxLayout() + self.horizontalLayout_56.setObjectName("horizontalLayout_56") + self.label_50 = QtWidgets.QLabel(self.scrollAreaWidgetContents_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.line_28.sizePolicy().hasHeightForWidth()) - self.line_28.setSizePolicy(sizePolicy) - self.line_28.setFrameShape(QtWidgets.QFrame.HLine) - self.line_28.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_28.setObjectName("line_28") - self.gridLayout_6.addWidget(self.line_28, 5, 0, 1, 3) - self.comboBox_tfnet_select_list = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnet_select_list.setObjectName("comboBox_tfnet_select_list") - self.gridLayout_6.addWidget(self.comboBox_tfnet_select_list, 6, 1, 1, 1) - self.verticalLayout_5 = QtWidgets.QVBoxLayout() - self.verticalLayout_5.setObjectName("verticalLayout_5") - self.pushButton_tfnet_drop_item = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_drop_item.setEnabled(False) + sizePolicy.setHeightForWidth(self.label_50.sizePolicy().hasHeightForWidth()) + self.label_50.setSizePolicy(sizePolicy) + self.label_50.setObjectName("label_50") + self.horizontalLayout_56.addWidget(self.label_50) + self.spinBox_network_width = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_8) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tfnet_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_tfnet_drop_item.setSizePolicy(sizePolicy) - self.pushButton_tfnet_drop_item.setObjectName("pushButton_tfnet_drop_item") - self.verticalLayout_5.addWidget(self.pushButton_tfnet_drop_item) - self.pushButton_tfnet_clean_list = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tfnet_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_tfnet_clean_list.setSizePolicy(sizePolicy) - self.pushButton_tfnet_clean_list.setObjectName("pushButton_tfnet_clean_list") - self.verticalLayout_5.addWidget(self.pushButton_tfnet_clean_list) - self.pushButton_tfnet_add_a_list = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_add_a_list.setEnabled(False) - self.pushButton_tfnet_add_a_list.setObjectName("pushButton_tfnet_add_a_list") - self.verticalLayout_5.addWidget(self.pushButton_tfnet_add_a_list) - self.gridLayout_6.addLayout(self.verticalLayout_5, 8, 0, 1, 1) - self.horizontalLayout_55 = QtWidgets.QHBoxLayout() - self.horizontalLayout_55.setObjectName("horizontalLayout_55") - self.checkBox_tfnetwork_in_condition = QtWidgets.QCheckBox(self.tab_9) - self.checkBox_tfnetwork_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) - self.checkBox_tfnetwork_in_condition.setObjectName("checkBox_tfnetwork_in_condition") - self.horizontalLayout_55.addWidget(self.checkBox_tfnetwork_in_condition) - self.comboBox_tfnetwork_condition_meta = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnetwork_condition_meta.setEnabled(False) - self.comboBox_tfnetwork_condition_meta.setObjectName("comboBox_tfnetwork_condition_meta") - self.horizontalLayout_55.addWidget(self.comboBox_tfnetwork_condition_meta) - self.horizontalLayout_80 = QtWidgets.QHBoxLayout() - self.horizontalLayout_80.setObjectName("horizontalLayout_80") - self.comboBox_tfnetwork_condition_group = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnetwork_condition_group.setEnabled(False) - self.comboBox_tfnetwork_condition_group.setObjectName("comboBox_tfnetwork_condition_group") - self.horizontalLayout_80.addWidget(self.comboBox_tfnetwork_condition_group) - self.horizontalLayout_55.addLayout(self.horizontalLayout_80) - self.gridLayout_6.addLayout(self.horizontalLayout_55, 2, 1, 1, 1) - self.horizontalLayout_9 = QtWidgets.QHBoxLayout() - self.horizontalLayout_9.setObjectName("horizontalLayout_9") - self.label_49 = QtWidgets.QLabel(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_49.sizePolicy().hasHeightForWidth()) - self.label_49.setSizePolicy(sizePolicy) - self.label_49.setObjectName("label_49") - self.horizontalLayout_9.addWidget(self.label_49) - self.comboBox_tfnet_table = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnet_table.setEnabled(False) - self.comboBox_tfnet_table.setObjectName("comboBox_tfnet_table") - self.comboBox_tfnet_table.addItem("") - self.comboBox_tfnet_table.addItem("") - self.comboBox_tfnet_table.addItem("") - self.horizontalLayout_9.addWidget(self.comboBox_tfnet_table) - self.label_150 = QtWidgets.QLabel(self.tab_9) - self.label_150.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_150.setObjectName("label_150") - self.horizontalLayout_9.addWidget(self.label_150) - self.comboBox_network_meta = QtWidgets.QComboBox(self.tab_9) - self.comboBox_network_meta.setObjectName("comboBox_network_meta") - self.horizontalLayout_9.addWidget(self.comboBox_network_meta) - self.gridLayout_6.addLayout(self.horizontalLayout_9, 0, 0, 1, 3) - self.line_27 = QtWidgets.QFrame(self.tab_9) - self.line_27.setFrameShape(QtWidgets.QFrame.HLine) - self.line_27.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_27.setObjectName("line_27") - self.gridLayout_6.addWidget(self.line_27, 1, 0, 1, 3) + sizePolicy.setHeightForWidth(self.spinBox_network_width.sizePolicy().hasHeightForWidth()) + self.spinBox_network_width.setSizePolicy(sizePolicy) + self.spinBox_network_width.setMinimum(1) + self.spinBox_network_width.setMaximum(99) + self.spinBox_network_width.setSingleStep(1) + self.spinBox_network_width.setProperty("value", 10) + self.spinBox_network_width.setDisplayIntegerBase(10) + self.spinBox_network_width.setObjectName("spinBox_network_width") + self.horizontalLayout_56.addWidget(self.spinBox_network_width) + self.label_51 = QtWidgets.QLabel(self.scrollAreaWidgetContents_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_51.sizePolicy().hasHeightForWidth()) + self.label_51.setSizePolicy(sizePolicy) + self.label_51.setObjectName("label_51") + self.horizontalLayout_56.addWidget(self.label_51) + self.spinBox_network_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_8) + self.spinBox_network_height.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_network_height.sizePolicy().hasHeightForWidth()) + self.spinBox_network_height.setSizePolicy(sizePolicy) + self.spinBox_network_height.setMinimumSize(QtCore.QSize(20, 0)) + self.spinBox_network_height.setMinimum(1) + self.spinBox_network_height.setMaximum(99) + self.spinBox_network_height.setSingleStep(1) + self.spinBox_network_height.setProperty("value", 8) + self.spinBox_network_height.setDisplayIntegerBase(10) + self.spinBox_network_height.setObjectName("spinBox_network_height") + self.horizontalLayout_56.addWidget(self.spinBox_network_height) + self.gridLayout_66.addLayout(self.horizontalLayout_56, 0, 0, 1, 1) + self.horizontalLayout_85 = QtWidgets.QHBoxLayout() + self.horizontalLayout_85.setObjectName("horizontalLayout_85") + self.checkBox_tf_link_net_plot_list_only = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_8) + self.checkBox_tf_link_net_plot_list_only.setObjectName("checkBox_tf_link_net_plot_list_only") + self.horizontalLayout_85.addWidget(self.checkBox_tf_link_net_plot_list_only) + self.checkBox_tf_link_net_plot_list_only_no_link = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_8) + self.checkBox_tf_link_net_plot_list_only_no_link.setEnabled(False) + self.checkBox_tf_link_net_plot_list_only_no_link.setChecked(False) + self.checkBox_tf_link_net_plot_list_only_no_link.setObjectName("checkBox_tf_link_net_plot_list_only_no_link") + self.horizontalLayout_85.addWidget(self.checkBox_tf_link_net_plot_list_only_no_link) + self.gridLayout_66.addLayout(self.horizontalLayout_85, 0, 1, 1, 1) + self.horizontalLayout_57 = QtWidgets.QHBoxLayout() + self.horizontalLayout_57.setObjectName("horizontalLayout_57") + self.checkBox_tf_link_net_show_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_8) + self.checkBox_tf_link_net_show_label.setObjectName("checkBox_tf_link_net_show_label") + self.horizontalLayout_57.addWidget(self.checkBox_tf_link_net_show_label) + self.checkBox_tf_link_net_rename_taxa = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_8) + self.checkBox_tf_link_net_rename_taxa.setEnabled(True) + self.checkBox_tf_link_net_rename_taxa.setChecked(True) + self.checkBox_tf_link_net_rename_taxa.setObjectName("checkBox_tf_link_net_rename_taxa") + self.horizontalLayout_57.addWidget(self.checkBox_tf_link_net_rename_taxa) + self.gridLayout_66.addLayout(self.horizontalLayout_57, 1, 0, 1, 1) + self.horizontalLayout_69 = QtWidgets.QHBoxLayout() + self.horizontalLayout_69.setObjectName("horizontalLayout_69") + self.label_163 = QtWidgets.QLabel(self.scrollAreaWidgetContents_8) + self.label_163.setObjectName("label_163") + self.horizontalLayout_69.addWidget(self.label_163) + self.spinBox_network_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_8) + self.spinBox_network_font_size.setEnabled(True) + self.spinBox_network_font_size.setMinimum(1) + self.spinBox_network_font_size.setProperty("value", 10) + self.spinBox_network_font_size.setObjectName("spinBox_network_font_size") + self.horizontalLayout_69.addWidget(self.spinBox_network_font_size) + self.gridLayout_66.addLayout(self.horizontalLayout_69, 1, 1, 1, 1) + self.scrollArea_7.setWidget(self.scrollAreaWidgetContents_8) + self.gridLayout_63.addWidget(self.scrollArea_7, 0, 0, 1, 1) + self.gridLayout_6.addWidget(self.groupBox_taxa_func_link_net_plot_settings, 11, 0, 1, 3) self.tabWidget_2.addTab(self.tab_9, "") self.gridLayout_19.addWidget(self.tabWidget_2, 0, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_others_stats, "") @@ -5075,7 +5216,7 @@ def setupUi(self, metaX_main): self.statusbar.setObjectName("statusbar") metaX_main.setStatusBar(self.statusbar) self.menuBar = QtWidgets.QMenuBar(metaX_main) - self.menuBar.setGeometry(QtCore.QRect(0, 0, 972, 21)) + self.menuBar.setGeometry(QtCore.QRect(0, 0, 1122, 21)) self.menuBar.setObjectName("menuBar") self.menuTools = QtWidgets.QMenu(self.menuBar) self.menuTools.setObjectName("menuTools") @@ -5135,20 +5276,12 @@ def setupUi(self, metaX_main): self.retranslateUi(metaX_main) self.stackedWidget.setCurrentIndex(0) - self.tabWidget_TaxaFuncAnalyzer.setCurrentIndex(3) + self.tabWidget_TaxaFuncAnalyzer.setCurrentIndex(4) self.toolBox_2.setCurrentIndex(0) - self.tabWidget_4.setCurrentIndex(1) - self.toolBox_4.setCurrentIndex(1) - self.toolBox.setCurrentIndex(0) - self.tabWidget_3.setCurrentIndex(3) - self.toolBox_3.setCurrentIndex(1) - self.toolBox_9.setCurrentIndex(0) - self.tabWidget.setCurrentIndex(0) - self.toolBox_5.setCurrentIndex(1) - self.toolBox_6.setCurrentIndex(0) + self.tabWidget_4.setCurrentIndex(0) + self.tabWidget_3.setCurrentIndex(1) + self.tabWidget.setCurrentIndex(1) self.tabWidget_2.setCurrentIndex(0) - self.toolBox_8.setCurrentIndex(0) - self.toolBox_7.setCurrentIndex(0) self.tabWidget_6.setCurrentIndex(1) self.toolBox_metalab_res_anno.setCurrentIndex(0) self.tabWidget_5.setCurrentIndex(0) @@ -5179,6 +5312,14 @@ def setupUi(self, metaX_main): self.checkBox_co_expression_in_condition.clicked['bool'].connect(self.comboBox_co_expression_condition_group.setEnabled) # type: ignore self.checkBox_trends_in_condition.clicked['bool'].connect(self.comboBox_trends_condition_meta.setEnabled) # type: ignore self.checkBox_trends_in_condition.clicked['bool'].connect(self.comboBox_trends_condition_group.setEnabled) # type: ignore + self.checkBox_show_basic_plot_settings.toggled['bool'].connect(self.groupBox_basic_plot.setVisible) # type: ignore + self.checkBox.toggled['bool'].connect(self.groupBox_basic_heatmap_plot_settings.setVisible) # type: ignore + self.checkBox_2.toggled['bool'].connect(self.groupBox_cross_heatmap_settings.setVisible) # type: ignore + self.checkBox_3.toggled['bool'].connect(self.groupBox_deseq2_plot_settings.setVisible) # type: ignore + self.checkBox_4.toggled['bool'].connect(self.groupBox_co_expression_plot_settings.setVisible) # type: ignore + self.checkBox_5.toggled['bool'].connect(self.groupBox_expression_trends_plot_settings.setVisible) # type: ignore + self.checkBox_6.toggled['bool'].connect(self.groupBox_taxa_func_link_plot_settings.setVisible) # type: ignore + self.checkBox_7.toggled['bool'].connect(self.groupBox_taxa_func_link_net_plot_settings.setVisible) # type: ignore QtCore.QMetaObject.connectSlotsByName(metaX_main) metaX_main.setTabOrder(self.comboBox_taxa_level_to_stast, self.toolButton_meta_table_help) metaX_main.setTabOrder(self.toolButton_meta_table_help, self.comboBox_function_to_stast) @@ -5312,62 +5453,38 @@ def retranslateUi(self, metaX_main): self.label_45.setText(_translate("metaX_main", "Drag to change the processing order")) self.label_102.setText(_translate("metaX_main", "Outliers Handling by")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_set_taxa_func), _translate("metaX_main", "Set TaxaFunc")) - self.radioButton_basic_pca_sample.setText(_translate("metaX_main", "Samples")) - self.radioButton_basic_pca_group.setText(_translate("metaX_main", "Groups")) - self.checkBox_basic_in_condtion.setText(_translate("metaX_main", "In Condition")) - self.label_70.setText(_translate("metaX_main", "Table")) - self.comboBox_table4pca.setItemText(0, _translate("metaX_main", "Taxa")) - self.comboBox_table4pca.setItemText(1, _translate("metaX_main", "Functions")) - self.comboBox_table4pca.setItemText(2, _translate("metaX_main", "Taxa-Functions")) - self.comboBox_table4pca.setItemText(3, _translate("metaX_main", "Peptides")) - self.label_146.setText(_translate("metaX_main", "Meta")) - self.label_142.setText(_translate("metaX_main", "Sub Meta ")) - self.comboBox_sub_meta_pca.setItemText(0, _translate("metaX_main", "None")) - self.pushButton_plot_corr.setText(_translate("metaX_main", "Correlation Heatmap")) - self.pushButton_basic_plot_number_bar.setText(_translate("metaX_main", "Bar")) - self.label_170.setText(_translate("metaX_main", "Bar of Counts")) - self.pushButton_plot_box_sns.setText(_translate("metaX_main", "Box")) - self.pushButton_plot_beta_div.setText(_translate("metaX_main", "Beta Diversity")) - self.pushButton_plot_pca_js.setText(_translate("metaX_main", "3D PCA")) - self.label_121.setText(_translate("metaX_main", "PCA")) - self.label_171.setText(_translate("metaX_main", "Diversity")) - self.pushButton_plot_alpha_div.setText(_translate("metaX_main", "Alpha Diversity")) - self.pushButton_plot_pca_sns.setText(_translate("metaX_main", "PCA")) - self.label_119.setText(_translate("metaX_main", "Correlation")) - self.pushButton_plot_basic_treemap.setText(_translate("metaX_main", "TreeMap")) - self.pushButton_plot_sunburst.setText(_translate("metaX_main", "Sunburst")) - self.label_172.setText(_translate("metaX_main", "Taxa Overview")) - self.pushButton_plot_basic_sankey.setText(_translate("metaX_main", "Sankey")) - self.label_173.setText(_translate("metaX_main", "Sankey")) - self.toolBox_4.setItemText(self.toolBox_4.indexOf(self.page_10), _translate("metaX_main", "Plot")) - self.label_169.setText(_translate("metaX_main", "Box Plot")) - self.label_137.setText(_translate("metaX_main", "Sunburst")) - self.label_107.setText(_translate("metaX_main", "Font Size")) - self.checkBox_pca_if_adjust_pca_label.setToolTip(_translate("metaX_main", "Adjust label text to reduce overlap")) - self.checkBox_pca_if_adjust_pca_label.setText(_translate("metaX_main", "Adjust Labels")) + self.checkBox_show_basic_plot_settings.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.groupBox_basic_plot.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_122.setText(_translate("metaX_main", "general")) - self.label_118.setText(_translate("metaX_main", "Beta Diversity")) - self.comboBox_beta_div_method.setItemText(0, _translate("metaX_main", "braycurtis")) - self.comboBox_beta_div_method.setItemText(1, _translate("metaX_main", "jaccard")) - self.comboBox_beta_div_method.setItemText(2, _translate("metaX_main", "euclidean")) - self.comboBox_beta_div_method.setItemText(3, _translate("metaX_main", "manhattan")) - self.comboBox_beta_div_method.setItemText(4, _translate("metaX_main", "canberra")) - self.comboBox_beta_div_method.setItemText(5, _translate("metaX_main", "chebyshev")) - self.comboBox_beta_div_method.setItemText(6, _translate("metaX_main", "dice")) - self.comboBox_beta_div_method.setItemText(7, _translate("metaX_main", "hamming")) - self.comboBox_beta_div_method.setItemText(8, _translate("metaX_main", "yule")) - self.checkBox_basic_plot_number_plot_sample.setText(_translate("metaX_main", "Plot Samples")) self.label_94.setText(_translate("metaX_main", "Width")) self.label_101.setText(_translate("metaX_main", "Height")) - self.checkBox_corr_cluster.setText(_translate("metaX_main", "Cluster")) - self.label_192.setText(_translate("metaX_main", "Theme")) - self.label_168.setText(_translate("metaX_main", "Correlation Heatmap")) - self.label_167.setText(_translate("metaX_main", "Diversity")) - self.checkBox_box_if_show_fliers.setText(_translate("metaX_main", "show Fliers")) self.label_159.setToolTip(_translate("metaX_main", "The number of columns in the legend, set 0 to hide")) self.label_159.setText(_translate("metaX_main", "Legend Cols")) self.label_151.setText(_translate("metaX_main", "Theme")) + self.label_107.setText(_translate("metaX_main", "Font Size")) + self.checkBox_pca_if_show_group_name_in_label.setToolTip(_translate("metaX_main", "Add group name to Sample names")) + self.checkBox_pca_if_show_group_name_in_label.setText(_translate("metaX_main", "Rename Samples")) + self.checkBox_pca_if_show_lable.setToolTip(_translate("metaX_main", "Show label text in diagram")) + self.checkBox_pca_if_show_lable.setText(_translate("metaX_main", "Show Labels")) + self.label_179.setText(_translate("metaX_main", "Scatter Plot")) + self.checkBox_pca_if_adjust_pca_label.setToolTip(_translate("metaX_main", "Adjust label text to reduce overlap")) + self.checkBox_pca_if_adjust_pca_label.setText(_translate("metaX_main", "Adjust Labels")) + self.label_116.setToolTip(_translate("metaX_main", "Transparency of labes")) + self.label_116.setText(_translate("metaX_main", "Transparency")) + self.label_160.setToolTip(_translate("metaX_main", "Dots size for PCA and Beta Diversity")) + self.label_160.setText(_translate("metaX_main", "Dot Size")) + self.label_168.setText(_translate("metaX_main", "Correlation Heatmap")) + self.checkBox_corr_cluster.setText(_translate("metaX_main", "Cluster")) + self.label_192.setText(_translate("metaX_main", "Theme")) + self.label_129.setText(_translate("metaX_main", "Show All Labels")) + self.checkBox_corr_show_all_labels_x.setText(_translate("metaX_main", "X")) + self.checkBox_corr_show_all_labels_y.setText(_translate("metaX_main", "Y")) self.label_155.setText(_translate("metaX_main", "Bar Plot")) + self.checkBox_basic_plot_number_plot_sample.setText(_translate("metaX_main", "Plot Samples")) + self.label_169.setText(_translate("metaX_main", "Box Plot")) + self.checkBox_box_plot_samples.setText(_translate("metaX_main", "Plot Samples")) + self.checkBox_box_if_show_fliers.setText(_translate("metaX_main", "show Fliers")) + self.label_167.setText(_translate("metaX_main", "Diversity")) self.label_117.setText(_translate("metaX_main", "Alpha Diversity")) self.checkBox_alpha_div_plot_all_samples.setText(_translate("metaX_main", "Plot Samples")) self.comboBox_alpha_div_method.setItemText(0, _translate("metaX_main", "shannon")) @@ -5378,42 +5495,46 @@ def retranslateUi(self, metaX_main): self.comboBox_alpha_div_method.setItemText(5, _translate("metaX_main", "fisher_alpha")) self.comboBox_alpha_div_method.setItemText(6, _translate("metaX_main", "dominance")) self.comboBox_alpha_div_method.setItemText(7, _translate("metaX_main", "menhinick")) - self.checkBox_pca_if_show_group_name_in_label.setToolTip(_translate("metaX_main", "Add group name to Sample names")) - self.checkBox_pca_if_show_group_name_in_label.setText(_translate("metaX_main", "Rename Samples")) - self.checkBox_pca_if_show_lable.setToolTip(_translate("metaX_main", "Show label text in diagram")) - self.checkBox_pca_if_show_lable.setText(_translate("metaX_main", "Show Labels")) - self.label_116.setToolTip(_translate("metaX_main", "Transparency of labes")) - self.label_116.setText(_translate("metaX_main", "Transparency")) - self.label_160.setToolTip(_translate("metaX_main", "Dots size for PCA and Beta Diversity")) - self.label_160.setText(_translate("metaX_main", "Dot Size")) + self.label_118.setText(_translate("metaX_main", "Beta Diversity")) + self.comboBox_beta_div_method.setItemText(0, _translate("metaX_main", "braycurtis")) + self.comboBox_beta_div_method.setItemText(1, _translate("metaX_main", "jaccard")) + self.comboBox_beta_div_method.setItemText(2, _translate("metaX_main", "euclidean")) + self.comboBox_beta_div_method.setItemText(3, _translate("metaX_main", "manhattan")) + self.comboBox_beta_div_method.setItemText(4, _translate("metaX_main", "canberra")) + self.comboBox_beta_div_method.setItemText(5, _translate("metaX_main", "chebyshev")) + self.comboBox_beta_div_method.setItemText(6, _translate("metaX_main", "dice")) + self.comboBox_beta_div_method.setItemText(7, _translate("metaX_main", "hamming")) + self.comboBox_beta_div_method.setItemText(8, _translate("metaX_main", "yule")) + self.label_137.setText(_translate("metaX_main", "Sunburst")) self.checkBox_sunburst_show_all_lables.setText(_translate("metaX_main", "Show All Lables for Sunburst")) - self.checkBox_box_plot_samples.setText(_translate("metaX_main", "Plot Samples")) - self.label_179.setText(_translate("metaX_main", "Scatter Plot")) - self.label_129.setText(_translate("metaX_main", "Show All Labels")) - self.checkBox_corr_show_all_labels_x.setText(_translate("metaX_main", "X")) - self.checkBox_corr_show_all_labels_y.setText(_translate("metaX_main", "Y")) - self.toolBox_4.setItemText(self.toolBox_4.indexOf(self.page_11), _translate("metaX_main", "Plotting Parameter")) + self.checkBox_basic_in_condtion.setText(_translate("metaX_main", "In Condition")) + self.radioButton_basic_pca_group.setText(_translate("metaX_main", "Groups")) + self.radioButton_basic_pca_sample.setText(_translate("metaX_main", "Samples")) + self.label_170.setText(_translate("metaX_main", "Bar of Counts")) + self.label_172.setText(_translate("metaX_main", "Taxa Overview")) + self.label_121.setText(_translate("metaX_main", "PCA")) + self.pushButton_plot_corr.setText(_translate("metaX_main", "Correlation Heatmap")) + self.pushButton_plot_pca_sns.setText(_translate("metaX_main", "PCA")) + self.pushButton_plot_pca_js.setText(_translate("metaX_main", "3D PCA")) + self.label_119.setText(_translate("metaX_main", "Correlation")) + self.label_171.setText(_translate("metaX_main", "Diversity")) + self.label_173.setText(_translate("metaX_main", "Sankey")) + self.pushButton_basic_plot_number_bar.setText(_translate("metaX_main", "Bar")) + self.pushButton_plot_box_sns.setText(_translate("metaX_main", "Box")) + self.pushButton_plot_alpha_div.setText(_translate("metaX_main", "Alpha Diversity")) + self.pushButton_plot_beta_div.setText(_translate("metaX_main", "Beta Diversity")) + self.pushButton_plot_basic_treemap.setText(_translate("metaX_main", "TreeMap")) + self.pushButton_plot_sunburst.setText(_translate("metaX_main", "Sunburst")) + self.pushButton_plot_basic_sankey.setText(_translate("metaX_main", "Sankey")) + self.label_70.setText(_translate("metaX_main", "Table")) + self.comboBox_table4pca.setItemText(0, _translate("metaX_main", "Taxa")) + self.comboBox_table4pca.setItemText(1, _translate("metaX_main", "Functions")) + self.comboBox_table4pca.setItemText(2, _translate("metaX_main", "Taxa-Functions")) + self.comboBox_table4pca.setItemText(3, _translate("metaX_main", "Peptides")) + self.label_146.setText(_translate("metaX_main", "Meta")) + self.label_142.setText(_translate("metaX_main", "Sub Meta ")) + self.comboBox_sub_meta_pca.setItemText(0, _translate("metaX_main", "None")) self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_12), _translate("metaX_main", "Basic Plot")) - self.label_34.setText(_translate("metaX_main", "List for Plotting")) - self.pushButton_basic_heatmap_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_basic_heatmap_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.radioButton_basic_heatmap_sample.setText(_translate("metaX_main", "Sample")) - self.checkBox_basic_heatmap_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_32.setText(_translate("metaX_main", "Select for plotting")) - self.label_67.setText(_translate("metaX_main", "Select Top")) - self.label_68.setText(_translate("metaX_main", "Sort by")) - self.comboBox_basic_heatmap_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) - self.comboBox_basic_heatmap_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) - self.comboBox_basic_heatmap_top_by.setItemText(2, _translate("metaX_main", "Number of links")) - self.comboBox_basic_heatmap_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) - self.comboBox_basic_heatmap_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) - self.comboBox_basic_heatmap_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) - self.comboBox_basic_heatmap_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) - self.checkBox_basic_heatmap_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) self.label_80.setText(_translate("metaX_main", "Table")) self.comboBox_basic_table.setItemText(0, _translate("metaX_main", "Taxa")) self.comboBox_basic_table.setItemText(1, _translate("metaX_main", "Functions")) @@ -5422,18 +5543,13 @@ def retranslateUi(self, metaX_main): self.label_144.setText(_translate("metaX_main", "Meta")) self.label_164.setText(_translate("metaX_main", "Sub Meta ")) self.comboBox_3dbar_sub_meta.setToolTip(_translate("metaX_main", "Sub Meta for Bar Plot")) + self.label_32.setText(_translate("metaX_main", "Select for plotting")) + self.checkBox.setText(_translate("metaX_main", "Show Plotting Parameter")) self.radioButton_basic_heatmap_group.setText(_translate("metaX_main", "Group")) + self.checkBox_basic_heatmap_in_condition.setText(_translate("metaX_main", "In Condition")) self.pushButton_basic_heatmap_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) self.pushButton_basic_heatmap_add.setText(_translate("metaX_main", "Add to List")) - self.pushButton_basic_heatmap_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_basic_heatmap_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_basic_heatmap_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_basic_heatmap_add_a_list.setText(_translate("metaX_main", "Add A List")) - self.pushButton_basic_heatmap_get_table.setText(_translate("metaX_main", "Get Table")) - self.pushButton_basic_heatmap_sankey_plot.setText(_translate("metaX_main", "Plot Sankey")) - self.pushButton_basic_bar_plot.setText(_translate("metaX_main", "Plot Bar")) - self.pushButton_basic_heatmap_plot.setText(_translate("metaX_main", "Plot Heatmap")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_7), _translate("metaX_main", "Plot")) + self.groupBox_basic_heatmap_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_35.setText(_translate("metaX_main", "Width")) self.label_33.setText(_translate("metaX_main", "Height")) self.label_185.setText(_translate("metaX_main", "Bar")) @@ -5461,14 +5577,37 @@ def retranslateUi(self, metaX_main): self.checkBox_basic_hetatmap_rename_taxa.setToolTip(_translate("metaX_main", "Only show the last level of name")) self.checkBox_basic_hetatmap_rename_taxa.setText(_translate("metaX_main", "Taxa")) self.label_108.setText(_translate("metaX_main", "Label Font Size")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_6), _translate("metaX_main", "Plotting Parameter")) + self.label_34.setText(_translate("metaX_main", "List for Plotting")) + self.pushButton_basic_heatmap_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_basic_heatmap_add_top.setText(_translate("metaX_main", "Add Top to List")) + self.pushButton_basic_heatmap_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_basic_heatmap_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_basic_heatmap_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_basic_heatmap_add_a_list.setText(_translate("metaX_main", "Add A List")) + self.label_67.setText(_translate("metaX_main", "Select Top")) + self.label_68.setText(_translate("metaX_main", "Sort by")) + self.comboBox_basic_heatmap_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) + self.comboBox_basic_heatmap_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) + self.comboBox_basic_heatmap_top_by.setItemText(2, _translate("metaX_main", "Number of links")) + self.comboBox_basic_heatmap_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) + self.comboBox_basic_heatmap_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) + self.comboBox_basic_heatmap_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) + self.comboBox_basic_heatmap_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) + self.checkBox_basic_heatmap_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) + self.pushButton_basic_heatmap_get_table.setText(_translate("metaX_main", "Get Table")) + self.pushButton_basic_heatmap_sankey_plot.setText(_translate("metaX_main", "Plot Sankey")) + self.pushButton_basic_bar_plot.setText(_translate("metaX_main", "Plot Bar")) + self.pushButton_basic_heatmap_plot.setText(_translate("metaX_main", "Plot Heatmap")) + self.radioButton_basic_heatmap_sample.setText(_translate("metaX_main", "Sample")) self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_13), _translate("metaX_main", "Heatmap and Bar")) self.label_81.setText(_translate("metaX_main", "Peptide")) self.pushButton_basic_peptide_query.setText(_translate("metaX_main", "Query")) self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_10), _translate("metaX_main", "Peptide Query")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_basic_stast), _translate("metaX_main", "Basic Stats")) - self.pushButton_ttest.setText(_translate("metaX_main", "Run T-Test")) - self.label_42.setText(_translate("metaX_main", "Group 1")) self.label_36.setText(_translate("metaX_main", "Table")) self.comboBox_table_for_ttest.setItemText(0, _translate("metaX_main", "Taxa-Functions")) self.comboBox_table_for_ttest.setItemText(1, _translate("metaX_main", "Taxa")) @@ -5477,23 +5616,21 @@ def retranslateUi(self, metaX_main): self.comboBox_table_for_ttest.setItemText(4, _translate("metaX_main", "Significant Taxa-Func")) self.label_103.setText(_translate("metaX_main", "Meta")) self.checkBox_ttest_in_condition.setText(_translate("metaX_main", "In Condition")) + self.pushButton_ttest.setText(_translate("metaX_main", "Run T-Test")) self.label_52.setText(_translate("metaX_main", "Group 2")) + self.label_42.setText(_translate("metaX_main", "Group 1")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_3), _translate("metaX_main", "T-TEST")) - self.label_53.setText(_translate("metaX_main", "Groups (Default all)")) + self.pushButton_anova_test.setText(_translate("metaX_main", "Run ANOVA Test")) self.label_37.setText(_translate("metaX_main", "Table")) self.comboBox_table_for_anova.setItemText(0, _translate("metaX_main", "Taxa-Functions")) self.comboBox_table_for_anova.setItemText(1, _translate("metaX_main", "Taxa")) self.comboBox_table_for_anova.setItemText(2, _translate("metaX_main", "Functions")) self.comboBox_table_for_anova.setItemText(3, _translate("metaX_main", "peptides")) self.comboBox_table_for_anova.setItemText(4, _translate("metaX_main", "Significant Taxa-Func")) + self.label_104.setText(_translate("metaX_main", "Meta")) self.checkBox_anova_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_104.setText(_translate("metaX_main", "Group by")) - self.pushButton_anova_test.setText(_translate("metaX_main", "Run ANOVA Test")) + self.label_53.setText(_translate("metaX_main", "Groups (Default all)")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_7), _translate("metaX_main", "ANOVA TEST")) - self.label_115.setText(_translate("metaX_main", "Control Group")) - self.checkBox_comparing_group_control_in_condition.setText(_translate("metaX_main", "Comparing in Each Condition")) - self.label_140.setText(_translate("metaX_main", " By:")) - self.label_114.setText(_translate("metaX_main", "Groups (Default all)")) self.pushButton_dunnett_test.setText(_translate("metaX_main", "Run Dunnett\'s TEST")) self.label_112.setText(_translate("metaX_main", "Table")) self.comboBox_table_for_dunnett.setItemText(0, _translate("metaX_main", "Taxa-Functions")) @@ -5503,22 +5640,27 @@ def retranslateUi(self, metaX_main): self.label_113.setText(_translate("metaX_main", "Meta")) self.checkBox_group_control_in_condition.setText(_translate("metaX_main", "In Condition")) self.pushButton_multi_deseq2.setText(_translate("metaX_main", "Run Deseq2")) + self.label_114.setText(_translate("metaX_main", "Groups (Default all)")) + self.label_115.setText(_translate("metaX_main", "Control Group")) + self.checkBox_comparing_group_control_in_condition.setText(_translate("metaX_main", "Comparing in Each Condition")) + self.label_140.setText(_translate("metaX_main", " By:")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_16), _translate("metaX_main", "Group-Control TEST ")) - self.label_166.setText(_translate("metaX_main", "Groups")) + self.pushButton_deseq2.setText(_translate("metaX_main", "Run DESeq2")) self.label_2.setText(_translate("metaX_main", "Group 1")) self.label_3.setText(_translate("metaX_main", "Group 2")) - self.pushButton_deseq2.setText(_translate("metaX_main", "Run DESeq2")) + self.label_4.setText(_translate("metaX_main", "Table")) + self.label_166.setText(_translate("metaX_main", "Groups")) + self.checkBox_deseq2_comparing_in_condition.setText(_translate("metaX_main", "In Condition")) self.comboBox_table_for_deseq2.setItemText(0, _translate("metaX_main", "Taxa-Functions")) self.comboBox_table_for_deseq2.setItemText(1, _translate("metaX_main", "Taxa")) self.comboBox_table_for_deseq2.setItemText(2, _translate("metaX_main", "Functions")) self.comboBox_table_for_deseq2.setItemText(3, _translate("metaX_main", "Peptides")) self.label_147.setText(_translate("metaX_main", "Meta")) - self.label_4.setText(_translate("metaX_main", "Table")) - self.checkBox_deseq2_comparing_in_condition.setText(_translate("metaX_main", "In Condition")) - self.pushButton_deseq2_plot_sankey.setText(_translate("metaX_main", "Plot Sankey")) + self.groupBox.setTitle(_translate("metaX_main", "Plot")) self.label_64.setText(_translate("metaX_main", "Tables")) self.pushButton_deseq2_plot_vocano.setText(_translate("metaX_main", "Plot Volcano")) - self.toolBox_3.setItemText(self.toolBox_3.indexOf(self.page_8), _translate("metaX_main", "Plot")) + self.pushButton_deseq2_plot_sankey.setText(_translate("metaX_main", "Plot Sankey")) + self.groupBox_deseq2_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_16.setText(_translate("metaX_main", "Width")) self.label_17.setText(_translate("metaX_main", "Height")) self.label_14.setText(_translate("metaX_main", "Threshold")) @@ -5527,7 +5669,7 @@ def retranslateUi(self, metaX_main): self.label_71.setText(_translate("metaX_main", "Log2FC Range")) self.label_156.setText(_translate("metaX_main", "Font Size")) self.label_63.setText(_translate("metaX_main", "-")) - self.toolBox_3.setItemText(self.toolBox_3.indexOf(self.page_9), _translate("metaX_main", "Plotting Parameter")) + self.checkBox_3.setText(_translate("metaX_main", "Show Plotting Parameter")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_19), _translate("metaX_main", "DESeq2")) self.label_55.setText(_translate("metaX_main", "Taxon")) self.label_tukey_func_num.setText(_translate("metaX_main", "Linked Number: -")) @@ -5545,52 +5687,73 @@ def retranslateUi(self, metaX_main): self.label_106.setText(_translate("metaX_main", "Meta")) self.checkBox_tukey_in_condition.setText(_translate("metaX_main", "In Condition")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_4), _translate("metaX_main", "TUKEY TEST")) - self.label_56.setText(_translate("metaX_main", "Table")) - self.pushButton_plot_top_heatmap.setText(_translate("metaX_main", "Plot Top Heatmap")) + self.groupBox_cross_heatmap_plot.setTitle(_translate("metaX_main", "Plot")) self.pushButton_get_top_cross_table.setText(_translate("metaX_main", "Get Top Table")) - self.toolBox_9.setItemText(self.toolBox_9.indexOf(self.page_20), _translate("metaX_main", "Plot")) + self.pushButton_plot_top_heatmap.setText(_translate("metaX_main", "Plot Top Heatmap")) + self.checkBox_2.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.label_56.setText(_translate("metaX_main", "Table")) + self.groupBox_cross_heatmap_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.label_131.setText(_translate("metaX_main", "Show All Labels")) + self.checkBox_top_heatmap_rename_taxa.setText(_translate("metaX_main", " Taxa")) + self.checkBox_top_heatmap_rename_sample.setText(_translate("metaX_main", "Sample")) + self.label_62.setText(_translate("metaX_main", "Scale By")) + self.comboBox_top_heatmap_scale.setItemText(0, _translate("metaX_main", "row")) + self.comboBox_top_heatmap_scale.setItemText(1, _translate("metaX_main", "column")) + self.comboBox_top_heatmap_scale.setItemText(2, _translate("metaX_main", "None")) + self.label_38.setText(_translate("metaX_main", "Theme")) + self.label_153.setText(_translate("metaX_main", "Rename")) + self.label_109.setText(_translate("metaX_main", "Font Size")) + self.label_60.setText(_translate("metaX_main", "Height")) + self.checkBox_top_heatmap_show_all_labels_x.setText(_translate("metaX_main", "X")) + self.checkBox_top_heatmap_show_all_labels_y.setText(_translate("metaX_main", "Y")) + self.label_181.setText(_translate("metaX_main", "Group-Control")) + self.label_182.setText(_translate("metaX_main", "General")) + self.label_59.setText(_translate("metaX_main", "Width")) self.label_57.setText(_translate("metaX_main", "Sort By")) self.comboBox_top_heatmap_sort_type.setItemText(0, _translate("metaX_main", "p-value")) self.comboBox_top_heatmap_sort_type.setItemText(1, _translate("metaX_main", "f-statistic (ANOVA)")) self.comboBox_top_heatmap_sort_type.setItemText(2, _translate("metaX_main", "t-statistic (T-Test)")) self.label_180.setText(_translate("metaX_main", "T & ANOVA")) - self.label_59.setText(_translate("metaX_main", "Width")) - self.label_60.setText(_translate("metaX_main", "Height")) - self.label_182.setText(_translate("metaX_main", "General")) - self.label_58.setText(_translate("metaX_main", "Top Number")) - self.label_109.setText(_translate("metaX_main", "Font Size")) - self.checkBox_cross_heatmap_col_cluster.setText(_translate("metaX_main", "Col Cluster")) + self.label_30.setText(_translate("metaX_main", "p")) self.checkBox_cross_heatmap_row_cluster.setText(_translate("metaX_main", "Row Cluster")) - self.label_131.setText(_translate("metaX_main", "Show All Labels")) - self.checkBox_top_heatmap_show_all_labels_x.setText(_translate("metaX_main", "X")) - self.checkBox_top_heatmap_show_all_labels_y.setText(_translate("metaX_main", "Y")) - self.label_30.setText(_translate("metaX_main", "P-value")) - self.label_153.setText(_translate("metaX_main", "Rename")) - self.checkBox_top_heatmap_rename_taxa.setText(_translate("metaX_main", " Taxa")) - self.checkBox_top_heatmap_rename_sample.setText(_translate("metaX_main", "Sample")) + self.checkBox_cross_heatmap_col_cluster.setText(_translate("metaX_main", "Col Cluster")) + self.label_138.setText(_translate("metaX_main", "Log2FC")) + self.label_139.setText(_translate("metaX_main", "To")) + self.label_58.setText(_translate("metaX_main", "Top Number")) self.label_141.setText(_translate("metaX_main", "Plot Type")) self.comboBox_cross_3_level_plot_df_type.setItemText(0, _translate("metaX_main", "all_sig")) self.comboBox_cross_3_level_plot_df_type.setItemText(1, _translate("metaX_main", "no_na")) self.comboBox_cross_3_level_plot_df_type.setItemText(2, _translate("metaX_main", "same_trends")) - self.label_181.setText(_translate("metaX_main", "Group-Control DESeq2")) - self.label_138.setText(_translate("metaX_main", "Log2FC")) - self.label_139.setText(_translate("metaX_main", "To")) self.checkBox_cross_3_level_plot_remove_zero_col.setText(_translate("metaX_main", "Remove Zero Col")) - self.label_62.setText(_translate("metaX_main", "Scale By")) - self.comboBox_top_heatmap_scale.setItemText(0, _translate("metaX_main", "row")) - self.comboBox_top_heatmap_scale.setItemText(1, _translate("metaX_main", "column")) - self.comboBox_top_heatmap_scale.setItemText(2, _translate("metaX_main", "None")) - self.label_38.setText(_translate("metaX_main", "Theme")) - self.toolBox_9.setItemText(self.toolBox_9.indexOf(self.page_21), _translate("metaX_main", "Plotting Parameter")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_2), _translate("metaX_main", "Cross Test")) - self.pushButton_co_expr_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_co_expr_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_co_expr_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_co_expr_add_a_list.setText(_translate("metaX_main", "Add a list")) + self.groupBox_co_expression_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.label_190.setText(_translate("metaX_main", "Show All Labels")) + self.checkBox_corr_hetatmap_show_all_labels_x.setText(_translate("metaX_main", "X")) + self.checkBox_corr_hetatmap_show_all_labels_y.setText(_translate("metaX_main", "Y")) + self.checkBox_co_expr_rename_taxa.setText(_translate("metaX_main", "Rename Taxa")) + self.label_66.setText(_translate("metaX_main", "Threshold for Plot")) + self.label_65.setText(_translate("metaX_main", "Method of Correlation")) + self.comboBox_co_expr_corr_method.setItemText(0, _translate("metaX_main", "pearson")) + self.comboBox_co_expr_corr_method.setItemText(1, _translate("metaX_main", "spearman")) + self.label_162.setText(_translate("metaX_main", "Font Size")) + self.checkBox_co_expr_show_label.setText(_translate("metaX_main", "Show Labels")) + self.label_191.setText(_translate("metaX_main", "Theme")) + self.label_125.setText(_translate("metaX_main", "Height")) + self.label_124.setText(_translate("metaX_main", "Width")) + self.label_189.setText(_translate("metaX_main", "Heatmap")) + self.label_187.setText(_translate("metaX_main", "General")) + self.label_188.setText(_translate("metaX_main", "Network")) + self.checkBox_co_expr_plot_list_only.setText(_translate("metaX_main", "Plot List Only")) self.pushButton_co_expr_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) self.pushButton_co_expr_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.radioButton_co_expr_bysample.setText(_translate("metaX_main", "Sample")) - self.checkBox_co_expression_in_condition.setText(_translate("metaX_main", "In Condition")) + self.label_29.setText(_translate("metaX_main", "Table")) + self.comboBox_co_expr_table.setItemText(0, _translate("metaX_main", "Taxa")) + self.comboBox_co_expr_table.setItemText(1, _translate("metaX_main", "Functions")) + self.comboBox_co_expr_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) + self.comboBox_co_expr_table.setItemText(3, _translate("metaX_main", "Peptides")) + self.label_143.setText(_translate("metaX_main", "Meta")) + self.pushButton_co_expr_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_co_expr_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) self.label_73.setText(_translate("metaX_main", "Select Top")) self.label_74.setText(_translate("metaX_main", "Sort by")) self.comboBox_co_expr_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -5605,58 +5768,24 @@ def retranslateUi(self, metaX_main): self.comboBox_co_expr_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_co_expr_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_co_expr_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.radioButton_co_expr_bygroup.setText(_translate("metaX_main", "Group")) - self.label_29.setText(_translate("metaX_main", "Table")) - self.comboBox_co_expr_table.setItemText(0, _translate("metaX_main", "Taxa")) - self.comboBox_co_expr_table.setItemText(1, _translate("metaX_main", "Functions")) - self.comboBox_co_expr_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) - self.comboBox_co_expr_table.setItemText(3, _translate("metaX_main", "Peptides")) - self.label_143.setText(_translate("metaX_main", "Meta")) - self.label_72.setText(_translate("metaX_main", "Focus List")) - self.pushButton_co_expr_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_co_expr_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) self.pushButton_co_expr_plot.setText(_translate("metaX_main", "Plot Co-Expression Network")) self.pushButton_co_expr_heatmap_plot.setText(_translate("metaX_main", "Plot Co-Expression Heatmap")) - self.toolBox_5.setItemText(self.toolBox_5.indexOf(self.page_12), _translate("metaX_main", "Plotting")) - self.label_190.setText(_translate("metaX_main", "Show All Labels")) - self.checkBox_corr_hetatmap_show_all_labels_x.setText(_translate("metaX_main", "X")) - self.checkBox_corr_hetatmap_show_all_labels_y.setText(_translate("metaX_main", "Y")) - self.checkBox_co_expr_rename_taxa.setText(_translate("metaX_main", "Rename Taxa")) - self.label_66.setText(_translate("metaX_main", "Threshold for Plot")) - self.label_65.setText(_translate("metaX_main", "Method of Correlation")) - self.comboBox_co_expr_corr_method.setItemText(0, _translate("metaX_main", "pearson")) - self.comboBox_co_expr_corr_method.setItemText(1, _translate("metaX_main", "spearman")) - self.label_162.setText(_translate("metaX_main", "Font Size")) - self.checkBox_co_expr_show_label.setText(_translate("metaX_main", "Show Labels")) - self.label_191.setText(_translate("metaX_main", "Theme")) - self.label_125.setText(_translate("metaX_main", "Height")) - self.label_124.setText(_translate("metaX_main", "Width")) - self.label_189.setText(_translate("metaX_main", "Heatmap")) - self.label_187.setText(_translate("metaX_main", "General")) - self.label_188.setText(_translate("metaX_main", "Network")) - self.checkBox_co_expr_plot_list_only.setText(_translate("metaX_main", "Plot List Only")) - self.toolBox_5.setItemText(self.toolBox_5.indexOf(self.page_13), _translate("metaX_main", "Plotting Parameter")) + self.checkBox_co_expression_in_condition.setText(_translate("metaX_main", "In Condition")) + self.checkBox_4.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.radioButton_co_expr_bygroup.setText(_translate("metaX_main", "Group")) + self.pushButton_co_expr_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_co_expr_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_co_expr_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_co_expr_add_a_list.setText(_translate("metaX_main", "Add a list")) + self.radioButton_co_expr_bysample.setText(_translate("metaX_main", "Sample")) + self.label_72.setText(_translate("metaX_main", "Focus List")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("metaX_main", "Co-Expression")) - self.pushButton_trends_get_trends_table.setText(_translate("metaX_main", "Get ClusterTable")) - self.label_95.setText(_translate("metaX_main", "Cluster Number")) - self.label_93.setText(_translate("metaX_main", "Select Cluster")) - self.pushButton_trends_plot_trends.setText(_translate("metaX_main", "Plot Trends")) - self.pushButton_trends_plot_interactive_line.setText(_translate("metaX_main", "Plot Interactive Line")) - self.label_145.setText(_translate("metaX_main", "Calculate Cluster")) - self.label_165.setText(_translate("metaX_main", "Plot Specific Cluster")) - self.toolBox_6.setItemText(self.toolBox_6.indexOf(self.page_14), _translate("metaX_main", "Plot")) - self.label_174.setText(_translate("metaX_main", "General")) - self.label_175.setText(_translate("metaX_main", "Specific cluster")) - self.checkBox_get_trends_cluster_intensity.setText(_translate("metaX_main", "Get Intnsity Results")) - self.label_158.setText(_translate("metaX_main", "Font Size")) - self.label_92.setText(_translate("metaX_main", "Height")) - self.checkBox_trends_plot_interactive_show_legend.setText(_translate("metaX_main", "Show Legend")) - self.checkBox_trends_plot_interactive_plot_samples.setText(_translate("metaX_main", "Plot Samples")) - self.checkBox_trends_plot_interactive_rename_taxa.setText(_translate("metaX_main", "Simplify Taxa Names")) - self.label_97.setText(_translate("metaX_main", "Width")) - self.toolBox_6.setItemText(self.toolBox_6.indexOf(self.page_15), _translate("metaX_main", "Plotting Parameter")) - self.pushButton_trends_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_trends_add.setText(_translate("metaX_main", "Add to List")) + self.checkBox_trends_in_condition.setText(_translate("metaX_main", "In Condition")) + self.radioButton_trends_group.setText(_translate("metaX_main", "Group")) + self.pushButton_trends_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_trends_add_top.setText(_translate("metaX_main", "Add Top to List")) + self.radioButton_trends_sample.setText(_translate("metaX_main", "Sample")) + self.label_98.setText(_translate("metaX_main", "List for Plotting")) self.label_99.setText(_translate("metaX_main", "Select Top")) self.label_91.setText(_translate("metaX_main", "Sort by")) self.comboBox_trends_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -5671,13 +5800,8 @@ def retranslateUi(self, metaX_main): self.comboBox_trends_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_trends_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_trends_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.pushButton_trends_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_trends_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.label_98.setText(_translate("metaX_main", "List for Plotting")) - self.checkBox_trends_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_100.setText(_translate("metaX_main", "Select for plotting")) - self.radioButton_trends_sample.setText(_translate("metaX_main", "Sample")) - self.radioButton_trends_group.setText(_translate("metaX_main", "Group")) + self.pushButton_trends_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_trends_add.setText(_translate("metaX_main", "Add to List")) self.pushButton_trends_drop_item.setText(_translate("metaX_main", "Drop Item")) self.pushButton_trends_clean_list.setText(_translate("metaX_main", "Clean List")) self.pushButton_trends_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) @@ -5688,45 +5812,43 @@ def retranslateUi(self, metaX_main): self.comboBox_trends_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) self.comboBox_trends_table.setItemText(3, _translate("metaX_main", "Peptides")) self.label_148.setText(_translate("metaX_main", "Meta")) + self.label_100.setText(_translate("metaX_main", "Select for plotting")) + self.groupBox_expression_trends_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.label_174.setText(_translate("metaX_main", "General")) + self.label_175.setText(_translate("metaX_main", "Specific cluster")) + self.checkBox_get_trends_cluster_intensity.setText(_translate("metaX_main", "Get Intnsity Results")) + self.label_158.setText(_translate("metaX_main", "Font Size")) + self.label_92.setText(_translate("metaX_main", "Height")) + self.checkBox_trends_plot_interactive_show_legend.setText(_translate("metaX_main", "Show Legend")) + self.checkBox_trends_plot_interactive_plot_samples.setText(_translate("metaX_main", "Plot Samples")) + self.checkBox_trends_plot_interactive_rename_taxa.setText(_translate("metaX_main", "Simplify Taxa Names")) + self.label_97.setText(_translate("metaX_main", "Width")) + self.label_93.setText(_translate("metaX_main", "Select Cluster")) + self.pushButton_trends_get_trends_table.setText(_translate("metaX_main", "Get ClusterTable")) + self.label_165.setText(_translate("metaX_main", "Plot Specific Cluster")) + self.label_95.setText(_translate("metaX_main", "Cluster Number")) + self.pushButton_trends_plot_trends.setText(_translate("metaX_main", "Plot Trends")) + self.pushButton_trends_plot_interactive_line.setText(_translate("metaX_main", "Plot Interactive Line")) + self.label_145.setText(_translate("metaX_main", "Calculate Cluster")) + self.checkBox_5.setText(_translate("metaX_main", "Show Plotting Parameter")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_15), _translate("metaX_main", "Expression Trends")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_diff_stats), _translate("metaX_main", "Expression Analysis")) - self.radioButton_tflink_sample.setText(_translate("metaX_main", "Sample")) - self.label_18.setText(_translate("metaX_main", "Function")) - self.label_19.setText(_translate("metaX_main", "Taxa")) - self.radioButton_tflink_group.setText(_translate("metaX_main", "Group")) - self.checkBox_tflink_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_149.setText(_translate("metaX_main", "Meta")) self.label_others_func_num.setText(_translate("metaX_main", "Linked Number: -")) self.pushButton_others_show_linked_taxa.setText(_translate("metaX_main", "Show Linked Taxa Only")) self.label_others_taxa_num.setText(_translate("metaX_main", "Linked Number: -")) self.pushButton_others_show_linked_func.setText(_translate("metaX_main", "Show Linked Func Only")) + self.radioButton_tflink_sample.setText(_translate("metaX_main", "Sample")) + self.radioButton_tflink_group.setText(_translate("metaX_main", "Group")) self.pushButton_others_plot_heatmap.setText(_translate("metaX_main", "Plot Heatmap")) self.pushButton_others_plot_line.setText(_translate("metaX_main", "Plot Bar")) self.pushButton_others_get_intensity_matrix.setText(_translate("metaX_main", "Get Intensity Table")) - self.toolBox_8.setItemText(self.toolBox_8.indexOf(self.page_18), _translate("metaX_main", "Plot")) - self.label_176.setText(_translate("metaX_main", "General")) - self.label_61.setText(_translate("metaX_main", "Theme")) - self.label_177.setText(_translate("metaX_main", "Heatmap")) - self.checkBox_tflink_hetatmap_col_cluster.setText(_translate("metaX_main", "Col Cluster")) - self.label_23.setText(_translate("metaX_main", "Scale")) - self.comboBox_tflink_hetatmap_scale.setItemText(0, _translate("metaX_main", "row")) - self.comboBox_tflink_hetatmap_scale.setItemText(1, _translate("metaX_main", "column")) - self.comboBox_tflink_hetatmap_scale.setItemText(2, _translate("metaX_main", "None")) - self.checkBox_tflink_bar_plot_percent.setText(_translate("metaX_main", "Bar Percent")) - self.checkBox_tflink_plot_mean.setText(_translate("metaX_main", "Plot Mean")) - self.label_178.setText(_translate("metaX_main", "Bar")) - self.label_110.setText(_translate("metaX_main", "Label Font Size")) - self.checkBox_tflink_bar_show_legend.setText(_translate("metaX_main", "Show Legend")) - self.checkBox_tflink_hetatmap_row_cluster.setText(_translate("metaX_main", "Row Cluster")) - self.label_21.setText(_translate("metaX_main", "Width")) - self.label_20.setText(_translate("metaX_main", "Height")) - self.label_120.setText(_translate("metaX_main", "Rename")) - self.checkBox_tflink_hetatmap_rename_sample.setText(_translate("metaX_main", " Samples")) - self.checkBox_tflink_hetatmap_rename_taxa.setText(_translate("metaX_main", "Taxa")) - self.label_132.setText(_translate("metaX_main", "Show All Labels")) - self.checkBox_tflink_bar_show_all_labels_x.setText(_translate("metaX_main", "X")) - self.checkBox_tflink_bar_show_all_labels_y.setText(_translate("metaX_main", "Y")) - self.toolBox_8.setItemText(self.toolBox_8.indexOf(self.page_19), _translate("metaX_main", "Plotting Parameter")) + self.checkBox_6.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.label_149.setText(_translate("metaX_main", "Meta")) + self.label_18.setText(_translate("metaX_main", "Function")) + self.checkBox_tflink_in_condition.setText(_translate("metaX_main", "In Condition")) + self.pushButton_others_fresh_taxa_func.setToolTip(_translate("metaX_main", "Restore both lists to their original full items")) + self.pushButton_others_fresh_taxa_func.setText(_translate("metaX_main", "Reset List")) + self.label_19.setText(_translate("metaX_main", "Taxa")) self.label_75.setText(_translate("metaX_main", "Filter Top")) self.label_76.setText(_translate("metaX_main", "By")) self.comboBox_tflink_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -5743,25 +5865,46 @@ def retranslateUi(self, metaX_main): self.checkBox_tflink_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) self.pushButton_tflink_filter.setToolTip(_translate("metaX_main", "Filter items in the two lists by condition")) self.pushButton_tflink_filter.setText(_translate("metaX_main", "Filter")) - self.pushButton_others_fresh_taxa_func.setToolTip(_translate("metaX_main", "Restore both lists to their original full items")) - self.pushButton_others_fresh_taxa_func.setText(_translate("metaX_main", "Reset List")) + self.groupBox_taxa_func_link_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.label_178.setText(_translate("metaX_main", "Bar")) + self.checkBox_tflink_hetatmap_col_cluster.setText(_translate("metaX_main", "Col Cluster")) + self.checkBox_tflink_bar_plot_percent.setText(_translate("metaX_main", "Bar Percent")) + self.label_177.setText(_translate("metaX_main", "Heatmap")) + self.label_110.setText(_translate("metaX_main", "Label Font Size")) + self.label_132.setText(_translate("metaX_main", "Show All Labels")) + self.checkBox_tflink_bar_show_all_labels_x.setText(_translate("metaX_main", "X")) + self.checkBox_tflink_bar_show_all_labels_y.setText(_translate("metaX_main", "Y")) + self.label_120.setText(_translate("metaX_main", "Rename")) + self.checkBox_tflink_hetatmap_rename_sample.setText(_translate("metaX_main", " Samples")) + self.checkBox_tflink_hetatmap_rename_taxa.setText(_translate("metaX_main", "Taxa")) + self.label_176.setText(_translate("metaX_main", "General")) + self.checkBox_tflink_plot_mean.setText(_translate("metaX_main", "Plot Mean")) + self.label_21.setText(_translate("metaX_main", "Width")) + self.label_20.setText(_translate("metaX_main", "Height")) + self.checkBox_tflink_bar_show_legend.setText(_translate("metaX_main", "Show Legend")) + self.checkBox_tflink_hetatmap_row_cluster.setText(_translate("metaX_main", "Row Cluster")) + self.label_23.setText(_translate("metaX_main", "Scale")) + self.comboBox_tflink_hetatmap_scale.setItemText(0, _translate("metaX_main", "row")) + self.comboBox_tflink_hetatmap_scale.setItemText(1, _translate("metaX_main", "column")) + self.comboBox_tflink_hetatmap_scale.setItemText(2, _translate("metaX_main", "None")) + self.label_61.setText(_translate("metaX_main", "Theme")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_8), _translate("metaX_main", "Taxa-Func Link")) - self.pushButton_tfnet_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_tfnet_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) self.radioButton_network_bysample.setText(_translate("metaX_main", "Sample")) + self.pushButton_tfnet_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_tfnet_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_tfnet_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_tfnet_add_a_list.setText(_translate("metaX_main", "Add a list")) + self.radioButton_network_bygroup.setText(_translate("metaX_main", "Group")) + self.pushButton_plot_network.setText(_translate("metaX_main", "Plot Ntework")) + self.checkBox_7.setText(_translate("metaX_main", "Show Parameter")) + self.checkBox_tfnetwork_in_condition.setText(_translate("metaX_main", "In Condition")) self.pushButton_tfnet_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) self.pushButton_tfnet_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.pushButton_plot_network.setText(_translate("metaX_main", "Plot Ntework")) - self.toolBox_7.setItemText(self.toolBox_7.indexOf(self.page_16), _translate("metaX_main", "Plot")) - self.label_50.setText(_translate("metaX_main", "Width")) - self.label_51.setText(_translate("metaX_main", "Height")) - self.checkBox_tf_link_net_plot_list_only.setText(_translate("metaX_main", "Plot List Only")) - self.checkBox_tf_link_net_plot_list_only_no_link.setText(_translate("metaX_main", "Without Links")) - self.checkBox_tf_link_net_show_label.setText(_translate("metaX_main", "Show Labels")) - self.checkBox_tf_link_net_rename_taxa.setText(_translate("metaX_main", "Raname Taxa")) - self.label_163.setText(_translate("metaX_main", "Font Size")) - self.toolBox_7.setItemText(self.toolBox_7.indexOf(self.page_17), _translate("metaX_main", "Plotting Parameter")) - self.radioButton_network_bygroup.setText(_translate("metaX_main", "Group")) + self.label_49.setText(_translate("metaX_main", "Table")) + self.comboBox_tfnet_table.setItemText(0, _translate("metaX_main", "Taxa")) + self.comboBox_tfnet_table.setItemText(1, _translate("metaX_main", "Functions")) + self.comboBox_tfnet_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) + self.label_150.setText(_translate("metaX_main", "Meta")) self.label_78.setText(_translate("metaX_main", "Select Top")) self.label_79.setText(_translate("metaX_main", "Sort by")) self.comboBox_tfnet_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -5776,17 +5919,17 @@ def retranslateUi(self, metaX_main): self.comboBox_tfnet_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_tfnet_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_tfnet_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) + self.pushButton_tfnet_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_tfnet_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) self.label_77.setText(_translate("metaX_main", "Focus List")) - self.pushButton_tfnet_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_tfnet_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_tfnet_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_tfnet_add_a_list.setText(_translate("metaX_main", "Add a list")) - self.checkBox_tfnetwork_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_49.setText(_translate("metaX_main", "Table")) - self.comboBox_tfnet_table.setItemText(0, _translate("metaX_main", "Taxa")) - self.comboBox_tfnet_table.setItemText(1, _translate("metaX_main", "Functions")) - self.comboBox_tfnet_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) - self.label_150.setText(_translate("metaX_main", "Meta")) + self.groupBox_taxa_func_link_net_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.label_50.setText(_translate("metaX_main", "Width")) + self.label_51.setText(_translate("metaX_main", "Height")) + self.checkBox_tf_link_net_plot_list_only.setText(_translate("metaX_main", "Plot List Only")) + self.checkBox_tf_link_net_plot_list_only_no_link.setText(_translate("metaX_main", "Without Links")) + self.checkBox_tf_link_net_show_label.setText(_translate("metaX_main", "Show Labels")) + self.checkBox_tf_link_net_rename_taxa.setText(_translate("metaX_main", "Raname Taxa")) + self.label_163.setText(_translate("metaX_main", "Font Size")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_9), _translate("metaX_main", "Taxa-Func Network")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_others_stats), _translate("metaX_main", "Taxa-Func Link")) self.pushButton_view_table.setText(_translate("metaX_main", "View Table")) diff --git a/metax/utils/version.py b/metax/utils/version.py index ba761bc..9dffc68 100644 --- a/metax/utils/version.py +++ b/metax/utils/version.py @@ -1,2 +1,2 @@ -__version__ = '1.109.2' +__version__ = '1.109.3' API_version = '2' \ No newline at end of file

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 Z?^riY5 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�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 literal 34892 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 VI!^Oo+MewAjCp;6o(KUjEusmfEx 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 literal 30009 zcmdqJ1yGz{(X|?!g^`TW}8+Ja}*!29iKvaCZw1g9Ud8!94_bcOQJP zeaL^`ck9-zy0!a#xAv>uQw5yiInOz#`$%{Hx_bhZ6{Vj)d;JUq0zH?Nkx&JJP``jc z55u3J0RO>pOUwuUJpCl2;{*a>w%`9eh-Jhi0{)5ZEUE3RW^eB7X5?rFQnR!CWaQ** zrcW?92Lh3UWFG?Qrb+{jp4)79CxJ!vY!@7>{dn!@h)ED^k|(K^TnvO67 z{2ZjAP+3y!v*+b~Fs1$Y{3Z*od!u=iyT45U6~R(6*3e4jciB$yyc{b~zf2ZyAuCn%*)|%9Vw^PfA`b=#fB)s<-j&8`xiiINd zu(hBJD~uFV-*u|d<9MBr4d%802Tvn zaEptMHR@DA%7eAPO6dG3o`LILiCiC^kj-D-)P)anb8(H0kB@H)kqcw?X`~y-fQ)7nGWFQgz)OpJIPVzO){Pbodk6|ve=cf7OpfX&Q7KgdxOgtGRXAw2MYN}%tV zDL%LT9;eS~mC}lYT()BdTty3xeg7=hJG z4eQ*u0k)$18Gj|h|1RUUOT78uJFy=hxfaHb_~uf#XJLqr?D*KgD>Ab5IKD3{(`9$f zm+d8F6QkW^UpEw+30_9ZvlP3e_-y`cN(+v!XSrhy4_ui>*?8Td4y_`N4Z0_hj~Ex- zdrS=x`iJ8!5gLdBLq%5ZPjo2*BTPruzinyy(`02to5j$z<<*2w)jm?B1+jwL)n>nU z=f3NEY$Y)`SSQnEsXo0Vnr4((*~#A)2=FFyMvmz({`S0ciW7qf24vs5AjtZcKHQyArnb3wco+saoc%RRVR3UDq z5&LC_-<+)aUyotc2;oC^N#8zEXru_aEWg!2uwYf1z1@z53B@RQTCO`qElo|fBa zeG!G|7zyKN2OnF85P2;+r=;duehP*04VxVdffbyM3|E$a?U4z9Fw>Lx9ol{aB;34)QWN zo&|E?%aPX7K$)EGigC8!a{f4{KvqJ~$1UK%=UPU>V7|#(txHSNbg!NpJ1{gaTecD7 z{?NBh5v+Zux?!q_aqH~$2=3*!2Yp~;@dF4O)L+vSHEw(1@rc~{DRm;tW9-x0bj7=i ztqk!N5lu$+^HJ%Ekn5v*k?TuAp}HiDhi;Ygt}`vypL9=#?7j9{$7k$MICQzzZX z#_J}4C7D<#LS6$~E$gn}4t`f~Rcd&*ZW3;H**QUaJ?K``S@O~SAZ>E$rQsD}#Vwxs zS>xGsIgvf*%a+#5tA!gDBY(z{MnreyaLOMhT)nFdy_gvzd^NR8GTh^Cqx5V#JF4RK-X9aBm*{^onsk{DnCO2#R3{_sU>WKt zIY3KfZDsY#@^N*FNXt?XW9ewy1A)g^El0)DnIe0yc12DG1rDH})|;>fYj3SO!dh=d z?*@}KOOQP!>HCmlEin7$Lcv}Aa;^q485?IS{6%tDiN{v?W|05+e%*2}Bga`(cc%iQ z*6Ep-v=YaSE|poZxvyg@A;5Xnut2`G3I?8MAowc+Ni%wnS28yuH+Aj>PFhEqS`QMh zM1koOi@Zz|C|&nGZ#!lwEGUd7-00gyw_>T6`DK*ItuP3+>9>gcb%SN&y*tbdMkp;@ zBNyr?r1B0t_NvJ2AaV;?3m4PA5CaIaQS0WDNRe4?wzE!vh`w0H=A$aKXldBV^&H8= zAt72Y@JlOSi|X->Knw7MHBD$m1bVp-kjfyFq`B;gwf5DCIiip$eDVIe#c{Ay_g3`& z)VV7HZGYS67k$f^vB~)AsfqZiXp4EzvVO?x%frg+1K$l{en#nVzdLvEbzU^Px71)t zQXJ)+ z`YbdTP`ZBV&9B;-KKa-IoPs|M@~hcLh`ua`2&nxd%~?|k;uFDLU`1FD<~1Uk@#B{6 zrBww}uPF6dUQys3>l#LE4$e6W2v7EM)(jjSmEItyA!^+9S%x%|UBuGl1;N7;d~fZg46! zJZ!x(YREeK6};R#WnOrhoprVnZsy%*!8-k$nZw31YI^i&EH{@ChabC0f1(=L$OO^` zKZYMZyC+C~=g#}6Dt#EDv?;Q6L+%M_KJM-7)MAiWZSlTI_NmxDe#&Uov{xPPb`S(z zp@hh(jbK&Z6*fyv7#9C_x&p*XNb?=8zRTrG5GJ5?=D+cyAV=i*OfFu#O-R^BXWi)^ zZ!sR+23(7m&t$@|Z)Tw`>&)BXz9-GXh)^*SK6 zJ}rMmw+Y+jGoL*iP$0MoP)uZN_~9W&%KJ_u&5B<~^^QSt8jC@z*lKRoYK{e@@w1%KZ(E>L zV`{w}UcVz1Y@I$v5x(rq)eU}}Q2||!3Kilhz6x-wc2;aT{N-P26Imz6#_p%5p)a0> z0^e=K$$hE$eY-*LAt(kvxb!)1sYZ}hqunS^J_F;2NLQ_KwkP^+U;C~M=)|}q^5E9L z)ZS{4rh`Dy8g_YTENmb=X)b??Y)?w;j!AvKPI6^Mc-fI=!?pmE3Ob|usfHxztxnmk zFo%ar%5JY_EYMUAvWn;BhV7fLt}$&>`2Lh6BL5pc90>=5zGK8*3s*4MqZLa1Dk;b; z?DbP92;7B#IM_ZPC&m! z%{$J=j_wPCwAFUrGIH1o-G(dtLM;JU2awyqfgN$`kWKB5#xqhO>V!kBBzr$QoMZDJ2V$ z;82b00GMST>#`%}8<|E%Kawu7ze8YO>!$zlcswsfiUnsRyv2m|{R#b?E5Nv>h33Iq z&q`-f7O|hE&I@X{e$S#Aw0dH9#);)BGqkUhI-^)=S1=`^d~VOcbMuskCieh+*H&-C04MsF zW?+fYC*$W3w10YoAu@AGd1>l452&KHax~)%U-L44#NPGE7d)MYI43=!7s{9fE~J&)U)sj<c3^i^Yj^Lc$*^xYW_hT3;t~#AD?78tr+;`|8SVyCu`LOxte5Xr|)cB$S z1LR?6iagJDc;e0kZ+vftGMoK5=7E>-?^-sc#B?TZ4yX?ET&39@$1<};m-E&cse!{s^>`^r&6WSowYyIjk5FK^11Nj}I-Asfijh5E~kiFg*BGsafs?gS_jC*2{+1 z_ndgE(S4&I;tA1PaL*d5yFAHnyE@wwU^+bwp0IJhSYqCxTG9vmDS6#@>KKsuRV zG?wf+}NN>phR{rNC%D+XEm@O|c ziwgkg0Of5gfM1>bYm9%3p*IQ=<^xF@+cy97&mb-GpOa?)9{WEl7XNp5^t~Sy3Fyhw zNR*sGv|K7U8C*M2;~=7?u(-ImkF3|WjD04kfG$}7`@wAQoV+WEU-TK_U|n< zi4bls7nPgoL470j<9n5PhIGFt)-^iDrWW@5%}MwMg)KEpS*aPHjccnImMV>fR5{yO z4OK?TDhI_m4u3;|Ha&#r2Et&=2pcQ6Jl4FJE3x#1qBpV38H0Fl)^Oye^KG7qa8Uy zcuGoc1{&oNF<)~`ZH#5B<;vWlI`sPv0$;cS988!Ca5SIQXD(MbA0(8HN8#dvVzO{L z$T5PJ9eKZsYN$aCxU@^O=JE5pQHeHp5bz`zT@W}aw_rZ(!!V0r>fYSVUWZKW1qzhJ zKtlpAzHgF#NoLw{-DS#?gHi zrRhS)V|g$beLWaPJj;5%7vDt|i7%;ZGGexDKm|r5XE`3im=ajE3~9iQV~v@`<(td8 zI$PFK55h|_en!xMGoPc1*)`-OYvyh|kq?`BD(CWwbwocxivCPdeYHL2&N376j2MIy z!~J;aqpiJLP-VciK8f(y%*5=%{wNuZCoXB3(xXca`(*EyWGimmFU{Pg@LEA;_Ej}5 z?2eI&o@Q}FejNYtiABe{uU5OJ*n!YZ5w`>1VelgN8?zJp#DQwHTbbU0tH^@l@j#3Za-FLmQqWqobS=Bv{A31u(xo@N~ z+cL5@HK~4@eZwZev5qy|H?tC0nHw0R$`un8WTOsoGECMQ`GofX|@)t zf6h5Gr`YwDTY(8G&jj`GKA^^qyb@R~sRKtww6B!*2Gx}>5=Kfo-l=%JTkQzVgk2x< zdDyhTy1z;yCT%-$8z$}W_Qw$2jw6BmW_5yKu&1;?rQ@lB0|_CGr)+MDA*lB zU$&@BK zQP=mR@DwnfHwlT$=qWE#&B-cNC&83Jgp;~ z-hY%R%9@#dN+)toco7TL^@0<-qhdT!I$Box^tq&Ngq!qRcFq_aj_v3y(Rb(r2_?0H zsig7j!?z|lvMpcC8wC1j%-MC5uC=#5Ur3rZdkG^D-^!I|gIBjVF|I;&q1cy8n!t(z z=V|}a@l(reqXs87A32W*CE7;cjUnE-*HH@<7U`SB1XM~8o8fG*X)AVJsk8x`PRE9Q z)YV2XaMv)O#~$iq;1(pqSvq>U6G-=*(vh`Ezdx{&IKVUSN z4I`EWWqE1LbNqU#b9;)B=EEypxIQ0SRj`{LrY%p6?o|hKo>zHjxbXhok0B9et}hav ztD#)v9w)(7yyfMFm}P0B7Pg;hk7|K44f&9qHzBWI{mG<&8M$N@iG`J5rW;gysz$P7 z$imH}O~#Y>Q(YU{CZ(QQfsuqlc(4B$Q&LlZaI2~JZ-lQOyI$aQuD=0%ThPeJ5gQA> z2~WJSyi5K@Ft|k1ZC$9)a|T>mV169Y{*j(S`bS$HsyKz^?{ghf$Jvq8sK6;Y6~W|L zS2pI#?zOr1H6tv~&(=5DD8MmB4;9?p;uM&Ss+Gybz2z3m6Wk&;dMRrFsX@w>V1M#C z;vr%ZJ5rL}JsH*w-&k$FK{P!?tgQfdYe{s&%b@;fjV_7xKv(jPcAMR4kus@0_PR^z zDVMiNs>Nc7j0*OF#F2#?FWpXpcByL0)fKo*`y-s$gY=apPy|#-q+Y9zt@e-6e{jqV z7T{2$$I$Njk)mI9Wdxkj68<1 zx`<4WjF&Vo_Kk{6kU%+;MW52ixDXXCma<76QC@aA7Ok%S4`gf>Kk-L-I%FFuyIBY}AIA5qsI@C#M1Uwwbq?VAA`#Ci~*TTKHz_zHyrEuyoMsb6) z;4JP~qF^r2w?Ds1_~+`ZfuE9x)$-h?Ke*kaDX(OL)5KzWZtiAZ5Qm<#V`R#T;OTR$ z3-y7C9k*>QOZq<1meFIE%IEYYapP5r7Gg7ljrZqJ7Pw?hynE%T1T(h2eC`YBQHT$O zU9Z>Dp_{eJJ04Q&9LhTw(i$4j_3A~&;Bx#CFe8pkCQC^$uMa{*Wya>%z{}n#@zVrg zM<+#R@OQZ42kBaJ2Pji|5AWhdR*_07_^ePzDc~kN5tBI?>`Sv`WXKuATdXA!sLd#> z@F~76Ef)zXgflqIL3@?CyEaCjQ_XNd^ghkzNOvj37uN$Uei4ZX6x}3t%|a`uOB+-e z^dEj(%Hxo4As$yDDiNge!y){!@k5fxw_goM{YG+@5tZCZ*Ha(D(bw_}xiua6k+GJa z+_fc$2dqg%$9Ud+&zAiK&QO-wbK24@7=D|h^M27xA-XzBO&dtrOU_5fgz$kzZ6(SwI&BmSG^0s-C>jD+{MZUSI za|Swp<7Fu&#!ZYrO^9(a`yp3(S1=awrh7rT-p6a)M+6vyW*p@0k18CWTwWnvAGHI!dTwFGLDH}_wD-psOIJ5nLYWk1 zHE*UWIKQT7tiNeLQS_-mgqVtnj6&ytU&y}ly&I&{87YaL@? zFe|By5L<;u`CExFnGrFaGG$FBJZv4K@*qU~tU7K&n)5qMN_uO>&TY;>j#LMfPm=VR z`fFy)|B3|&xB5`uGsX2_MZ;YoI1Q8CPST_5HSRY)yP3H?m2VA+tVkohqmvVNyo!2* z$K^#S1w=B{7Ov9P5D0*1Tn9|NV*BMa1+Qm8`3(DW=KBQm*B`=@te0>JA3H- zUt1IQKSd7OZ@*3V8?R0t;-*h3tzq2!^k}TR7?N#W0Ms32l<(l3@AG8-Tyn5Ls4))- zsy>9C&jTtR-0g70blD6Nm~uh2?raHM*j@%2r`4#TLoZ*8JJIH)R@y8lspXguSX9WX zbCvgnh{(;Zyg}O8&qVaCy@0|XlmWR!QEJTP$@@%M_Rc%GRT=Y`=|`NxT{I?Xp4(HQ z2EUv1MFTbs1+06rtfh@m(U3@gN<+gD^aU34WPEiEjpuR}g+iR!K@J7n*kav3zHGU= zRVy&LR#z1qtFapzFyF?nmXUfmM0Tt2xl2f_Hm^kVTJ7JsrSu+Dax?CB+0mW(PgZ3M_^I?aVOLseayJa?f>xW=Odot)W-m zA4T3Sw(NQPH4Zht1td@Y6yE8rSYgAZPw?Qa#JxQ_H_fG>p`n1=v9=Y05xHw~FxsW6 z=^OSk9*3i5ZtnG^8RvjabY?Aa=4&zoc1Ke;w{v&Bpxgp@EE9ua&8w#jfy7%hV7h&k+QI%qY@M!(|40d-@PdoFXgISW$jK49pf|^Da zy#)F~HZgeW+@r}LoqPC})^zfx^S!q9Qb2e8T3cR+h1FZ-<-Gxe7JjcSyGw5quk><=UPp%^0zU9+NH z@ZGDsz*#&h?>Gh8G-GrNWs7UO_M90Re;WywyxwqV!o5U+)eyJ5k81v@Px#(!Jf0sp zYkewAfz0FSk1x)>7YEo+1KPM)8xMaC@GR(Ur^I}@7<%&%q>Pdh0!D$_8pM7D;8A$v z#d7c(7Y#K4E^dn<3C!I;p@ZJyGla9z1DG~O21QdBWO{HHXo+*g@)tA%(bW?edPREw zhj8(K0|37&RV_duWoL9!CKpVG*;Z+}Q~=@p41fD?r~)YpdV9LUCJbO0y$}BXhDs7N z;rJrA<$|}41)6CsS9VcXb_^~wf8mn+x70AvM^dXt@f}lCXk=yHYtg3{edXTCvu@G6 z$K+%&K22@+v*0yk-&)3AH*|u*RDpBD+cm@2uV1eZB*z~3YFxxXZi_|0j089FL zzozA;ILAb_*-30LCAM%ww{9@A*0VWUDRuFeHH5+xSNX%~<8NW|EgBuz=*fe_pkh)R>NOX_oweY3frp%=cQfMn*;wa+q^+ za^mqzYm{VU7U%j|;9H3>^HFD5DmgT!` zCcaS{L~lNuw&t04H^FvPzX4pDofCjFJRFt&7%oZzleE;PKe*?>Tc#c37h|JO#p0#4 zV1{?diFgCgE$VnZ)f8flI(e45)j#sAH>agOsUxZ}9$XoJc^6~&m)#$h zGjyS$jWH_`FCb^TI@LBh4&@xwOuE%JLuo>M%wmaJg#Qrg5yK5k8Alt>*WLb|w~wBk za*>2N+LSd09o)6bzae%jr7v4yVLx9Din+I3FU!lF$TK1Uc})(&QvjdKb&;0XWBVq_IP$>|>-SnmTh7!BDPijS$po&>7XS6_tQ42(g}Q zZvfe=+FB3puIm^7(ri$w;+$D4SZqC~2$`mS#=?yr-6N`6)vcDei_8a)e^I_(Z;$h) z+h87$zHSb$oOKS;dcAcP(@w%eRZ>npDnLotF*34;k()4SOtxqR*YP6`3fF_$+g}6bGmrGz zqIcb8eq$|L;b?!+d%79JKJLenSG=G82L=VXo`dl(8t%MvDa75}`Ey{52cQTe>h{vV zfr(Vlq%sF7jZ`k?!^-qNXyaq&bkq*WRn$KY=v%|Ve)<@YhLR3^!~jkfSb8Oy7YO6s z^)vuLBp4k_JSBjkjZI+3q}jQ>EJ*w#?cawWC9h!*pSNHD9_GW7wvXYhvJ34S#$fay zaAqtynryGdgfxB`ChS#mmIZ&=iPPkt*|rx_a>IU&BvAt;tg4pTGiq5=RODcs&5^#& ziXPi|<+l=1eZRL(=-^7ndrxX-Qo%TrOCu6^L(>V&tm$$IYJWFyB0d{TZ3SU}(0zW; zZ)N@u2-Lj@(}Su74L;dg=d-)MgVyu}UF5j#5ny{kmi#dRFckPcPXiA1?KQ-vC^|-qB*tx0pdp3sP&}e$ z7eB!|0&rZ;_&z{cV;-nL_%UtDO0+4gTRVFQvagOr@6V3z$82U9jm^9~IdPtGGmX7d z|I6%BOqh(b)AZ?|^D{1`M<|X{s(I}$Hn6>k7tD~3HOG87{2b@iZ?$bZw;(@a0DxqE z^-Q+288pwPQH)3;pUua0XY2Sez1de?cW6UnBa1 zj>yY>u(R?@l32lri^9x6ShqgW+9D;NA5s5isfp>yar)hL{Z2_?VINo%JEQB7UTP`} zwo1T5S&om*^X&xZp}b!U`5a~cLRJUUdW21m+^gT-L+CF6-#5Qpj}hkyun*|3O1w`z6H)WIW;3vwDBaa=&A^HC(voZH_~Syo`5F^ z>^Px-Smpq1Z~*;?ymY)%aMYpzQx=v+wx;(j7^E9j&vt#`Fh&_r%&V2qp!H;h!GIf1 ztDmZ-m3@hsm(4bx5FA_^ps%Abab*5Pol@n#80aw?eapz@GPXLkEP&5(@V|&wt9X894!2Ye-5R4)A-bWD;61uRb)QKqy4< zH6sGs8RkdMUc$m5=^$At!E$o%I}if!OE4I?!d#u#V)Su!!W2ak1y~@#eQT;Qeg%=6 zpRt<*{X9=Lid&Vdg`U!^W1Un<<}fG9mX!UtR5G3`2`~SS3G4o-9Go7}7q{K?p3_iT z7bwZ3mQVb}o_h+x{rp)RzLB6@y!F< zB#q4`8`f>6!yG9{>gTFwT2iFV!Wb7!9Pc6oK&97*$Bq-TJ?n}-BrA7s$g-Kj<$Z2$ zsn4d;sDycI8hAYX`Mo+Hc4?QjDbmbJ0rdK#JP1S=H8s$eqMwIjeiJjU5deTmw}#=G zpUzAJvzs*!EakX1*lT7;z)73-i!-VFu6ak*?rf51UC{{-j*QVBJo$!_mG$R$gasOE zuy*}U)-yx2cf7l<*f;ZB@yugBntEyD>w%$mKje`Oi*F6%Z|9PU7kYmbah7Mh^XvK= zlqLzA6tj$wvD`t+lc-3psr5ZZvM3g zy-~@mprOR-o=Nmza`(3NYEI3cfrzUyINO`IC#`An*f%a)wROAu3P|}oT(xCsuNP0L zG1bZ*=JF?R z!rRjJQU}_vUELrtGifQ`euiO|P6)h6*nN$jeAgdT2kdTTv}H+uX&Xgc44H}?&vP7w zT}6Fg8Q+mK?Te?@yMP}`*k3FRlC_zG-8Wge$xU^>_o=Erb?{6vep7t*rFm5y{np`>Bby$wb2L2rFFE9CYjazi*T5X(c?b7DrNow!yOt|y5 z5s-a-qoY4wBi8z*xp}FZENs2XZsYw;GK9odoF!iTL`f{WC97}RLgZ@d!27&mWo3mP zZL%+~|8#z_=Td>AaC`4rJu!}Y)kieP262fIuO_Id^qYj*#`T@OXZ*y-H-7Ye6fEdC zfI|&z-<4c6EchWa-0VB%iR?#P$S(uVKA$vET6s69I@|VVK=9*+#CXpVVe{D*%=2p4 z>;Asr&c2PrYkB~mXL0Dzi0US%3R-@$zqymFEvc#S<6};woau+e1chL-!Ldb~1Lpz* zuG<-KkC}GFq81^E4{%T-q#Uk98xf3`vw5q6jKa;4n~UB@(zlSK+P_lhNb;`@do69+ z>gCZ$c?1o;PSIjazlv!@6pps6v%NM8>MHGQ8(9rF>8$9Sd^#tTiX^}ZvFAFY@@iG{ znI>(r=(cpR{FuaVL`Ma7b#qh7yCr!7*zzhdDUgJ`$aNLdv~VxAb)HjRB=9u6E9YYp z+$w1~$ot*M6e<1H_pA=w77GanJ_)5sv$HY~B|36`M8d%XOl@A>$*DW?x44jLI!z-JHm9M_54v)r2e@=R4SY{26gS~a%2ibcaJ!bBFmaI9);l&vFd25 zjHUzm*MIVLCV2!Jz5BmoE@Q<0nlynE zY``c8<@Q$+M$NrCd?&2VG>h9U`3&n}eSfup4apF2egc2Q`!Ci~-{PgdQQSwbMW7kK zK#eB$<#kwYZ#ZbaDo}#LCHUap>B!N%dFc5Z5Naxsr@XHA+=cvQj#19)U$aT7BS^F{ zqX*w<%~&@widC9mW;Lh|;m^&sRyASJaMVd8AD2+H>l7N&QWs zioMZEY=4SHiBnO?Z%4E__CXqHR2B05`E^r}EJgueOmzB54F71=xe6L;7S{(nUx{u^=m zpNJdzclhGJU-~~S;Nvet{y!r#|Eo#Me;&}5GYCK>K*@Jp`jqg$1f;zw9wh``{Ap@= z(2Hi_sB3zLp~AwfXa@w@sjRWVDlCTl+l-n;f*92P77p9#O5k+hnERf6+g76qMepue zigvuKK-dQ$bk2}c9=omu>Ct2TKqA~qLin~Ct`YY`F0wHOlQq^Tc&Mmfo6*hVf>FW; z&y-q@MF3pmWNSp;F;C)3tct;71qJcxuEOzy`o0cDyne#WSLr(@k&DFHyCOj+C4auQ zr9%J&LkvRzm^WA$)KE2r1OrJ!j+f{ zqtObAV@?y}ovRGcFOk+-#YLG&Ul@-Bgr`lOkoZ{T^w-j--d7T`><_i+&DL1qaFXaK z@yEGeRmYsB3E-r$#Ia&z55W_pFH|PH9l?>DAF=a2=^6RB$ke`^o~FEdq}&R`?@EeM z1FA8dKS1NV&fi&#xO2xgKSt|N;2poSrmFKZq_u?kslcrk2W+}jr%I8iPJJ3B!5~mM zo2w0#v!h@iUwCL>_eD>{6u7`Ah$%t0#8LkdfV}i5i{S@bK3y@P4gZGYgO>ZO(B#FJ z=4uK3Tjg!SD-<0Crp7ol*Ms>c$oYPNR*#08$bD_DA-!=<<@yu_6=&1hTHb~caH8v2 zM@O{uMdilwbnPi6asA>HdGHw~^L=P{F`f=@b0@3f3V<7R$EgCYBEO@o zxPP{zk$Jrl6ih+nt*@_70ZEe#F87XjXQ|s~sQ#STW~%frX932J^&P}%)$Dodmb^bb zjK->j!DJ4nAp5gt)!o3Q%hl1pHGT7WWeU>Fe3u_U{I#>i7pcT-Nf2^v#i=%JImT$W zA{Gnip6)pnc?*^VPcIwzJ#SEJ74L&9=5!QNa5}?6L&o%(Ob$Xr=H0<7vyG=#)Xb&u7 zP1c681)GDhpPig~YA68O33rvW(nT9ozjJgD(Eq1^C=Ptd!zp_aDmTHVh7N46vowL0 zo859+d$&sW{oCQx=8PGkfaa#+t))3;nhJaor+j7ZfI#h9B# zz2vRo%#SuoabXSlX0IogXzE%PEovg`Q**^>8DHLZ+tvj8T|=9iFS0UaRVjS50+eu7 z^jM_(<&v+G16IN+v!J$Z13(y55A_iP8#j$BWTf$^%p@b4w#(LO+jLiZvuW#i*Hw4! zqQ@kIt*oP8pQn$eODS{+NN_q*GciuqrFG;^Qcpr%2~8LDez!iEY~!**E1t1JYcU*| zxji~Q9u^*+E(GB=0aMKX8yZ4kZv%#S8LERyDLqA_Qq;efwryTt4g0ju)RZh6+(#VK?uh6a;?kXCKu^hESKZ|@I8o)#wClY4BY zVT1+jY7v}?Djm92VqPQcP%Qn_-+1sRfRe6Tjrlm&)YHV#!57mY`#N=wYrU~;A3uKl#J`gEiCL#SJ0qjj=9ZW@S${g>R@mu-wo6q#b-wKS zy2&^x^XTZudB)Z!VpIX-?98viUHMV*${aGj(laBEid!T1j+oyRF{D)uZlVVA6TgvV za8-1x@X#u1#3{8K$xB{HBou|MzL3a8T}c(fe-;`76u-?IgQ{GGWNxSR{z-Zci@_A` z;>y%!TW+BzY{11>9iFXn*;|gtQzPXgdhUGc`Z4KNy0@bGB{6=WAm6L!R+*kNnc=VS z0%Xdr=rM(mzYF`)=Wnvx+zY*o5#1VEO}5Tpp48`W&L@0sCR(o7Sb;2VacsW3>tn4_ z1AUmfZ-(;K`=Ph?I1Y?M{Z_`GbWLt#Lwh{bvRpr6M1pAi>xx}UW-ZovHNunp@poDtB8W7_mv2FwMxxw&afxMvzwH&DllFc^Ja zul>dX|K1?6ni^fWFDojlL%0(n<*gZXX=%6lcJgSh&-OjI5R06zmPcIv6$@~&8}3?M zztTfXW;cDd*B<_`v;T3nNyStqYksL-UHRt#jD`wH04KToyloXGwH1}DbdB%Cy;qj- zUaxR|ex2x9kj$ZuixvVS%&bqk+LlOm8#U5Xv};XkPc=Z|T@uw^Wj%hWL&h`eGu|f` z4d4S$#gh(RV(_Xa~#txVh`5dfH*1|&4iRF)Se%0$#R~$6CaTgFsY@_B) zND527@wQ^(n~ZP-!=(VV<3!oMVyf4eQ#g5m+jaL<6S=bKn)c;Dtk(KT#ueqL(T$1b z7XZ86@A*161#Tum#){JY=II%-Fw5(3avLdhE77Y%kfw9$Q-cA0fbyXzaB0WcHfM}h zJRq#9tkm<|$^i^T{d#9hijgV--S&;sK#O7y@AsMmw9P{AbJxD)9guo#4#qNSd0&yp zauxYzmC>_@NUWoh)GU-)t!4lZO0LfY6e0sFN9eP)L(#{&_U&8>=DXS0R>=-!gGWkQ zCIJ66%pjt@-5IxiaEnY+VVzx{3c5Vj&pqUQG-Z+jc-H{jp)0m1SyU4)F|D7kn$!f_~4zO+^cMpQ#*9mh@w8ZX5BOH|4C>vS*-cZhIS1?c(8C zKWDyI_BoT8F*i`5lHz6|vh(;e)nMYGv@!T8dQhd{At1+aXmYLcjtVm0;}rv2f)6n1 zuRH~&fuOsfLZ|3?g?_-SXQN?cQBq0@SLdC92_keB(~QlDGgQP>iN!c`DlWvZXy$8etiX3d*IS56&a-o@vo$)0|Nmmx0_@iSkkd! zw#P|P@a*=Q2j4;Ww;>*oE$9t=7sZ0-PI1nl>{2S9Q|_n^sOXJJC&rGJ+|@62<)}{7 z)$QVlN+A}*JKefH)?=OPx;yHH>#~yt+KFuF_v523vWWN{u%?{-~T&V;NOA#e+{zlssm{hV8@do50(;E-sDy#5J)poa~lJ%4^R*aDnQyx zBk8x5r;IsJBL+Izd-Yk5VS=X@%bTX_mTAJ9y~Zs3R>wQP_cSz9FUd&JAKa<_#(KQS zkABqa9d=J_OFo?Yv5HpLM*0`y4CsTmm+rf+b$2>bNB+C+lpAKH_Ay--F}$FkVj4ug zwaY<_z&CAtw;FB+efJt2inQ3r-qXJ%?~<;rurS?!kWq1gO{h$hfBBY8-S)4$a=V*7 z2{3pq+3q6@fbyTttoyIF-~OL#15oszP8w7u!VHj4y@%?7fQYqUOK<*T!4CghO!Zuy z#^$yFEZs(_ztfFSg+iNR3oG~^8y&6xg*HC3xBmD2{J)qn`G4QK{uiMsR&7h43XcCS z4+yTuOPovgAIfP>&-+!Gq z@Y%exKkznL;Xin|aA%Im6(i%+R&*x`mSFS`?siEPaWqY^+H_yJ-a_Y#u+^at`PJRT z3MTlL;sS!~%r)5=S1Oo1bYM2YZqUwd5FP($I*qMLP)lI>kQPH?0-pLS3>RNvyu1=` zXHqOSOb{o4pX0nknMyJ;lgcS=NjZHeImlvNaD%YEwf_>qXOZMg4*LEys?_(@+|9{h zy#QJ2b(Z8p+{}J(6WeR-h6A77#pze1VFF}Oclm|U1>W)J^OqeYx=66`!ODz5ZAMv= zk@NY@IccNGL|ACq`H?Ma`(o=-r`iGJVzdL3$W5@3&Di-oEe|u-I~DY)Rpw${*pqI2 z-a~gq21>+JJQIzqLIE8}AzWSrVD1~%Saz28G>7U|zq_ryTbvdkojW~@Yo5HiXo~h( zaX$%jxBAkOgVFWeaJI^NBI~@E#5>zVo&ogPgUZY4V5T-lg%xbHPheZY9Y(mLopnn>zvlGkm)u?wfP(FhRU- z|E;<2fNCo1{=Ez;Bj{j8q=^w zfJkpifT2l8A#{k;Pz*>(s7e0kGBfY3Z@stP`rh~d{%gLh1?1jy@45TzyU#Aaz0X1B zt{-K4!zq;STgXklMOfROGQGf6?i5(vb?zNJwA=BB8R zmPVDp9xskEerl+yQy23>x6cmyHh*Tuc@Faz-tqSK-fDTU{JYbz=pdycpp5qf^s8N! z$~v)2s}$+TCJtlOHhZ@N=MYf0EH{O@7*y^#_-X!jdbto~ZZ9OwH8#TG5IjT-4dSU0 zfRVn6h?37%PjyOtnq@JkI3lJS($pbo>%Jf1NqWW&E~LB2eH5Ohzuw=)Z(qOoo0~2b z+TqJX;7uE9&zs}>^B;h3ka72M@H>J}5nfDqeD6URa{lSZzpY8l%D4CN-c_;Qma?z z+c)3B7fHB=yQ1Fp9-L@+d|2xR5S(}Y3#Sd!FN9UYt$M4(VwD>_eLtSi5{KSf%vf{9 zho6FKtIK!#f80p<2BH}}fFh=yH&vp7CO_McGF$Mp)Jm7Gey!kjdl65K3M!ryxc;S? zBjO}2X8e;LR&~1P18?RW!LQ;F0(Agiu_~1zwy96m!&)rYms=|$A&2XwCJ!vOhgEFp z%yFUkn_XYm@l|u>{kmT^hek2ykC_u{0{l3k&iW(fRCBiC_W0VP2@11>m5N(f4rJ8w zI&OW$3;bj4cgmd zmq;hZ1_aE*CK{UM9=rKJ>9;zk1X)acCnj@%nAow|-M6q3Eob#az@Y5Lg9}QRuAKfB z`Yi1q6vSS6R)c2J`(3>-pokCys?o}w^%3;6f?W2dM`L7PzxYHX{s^8l({Kb)sD*K3 zPAQCS1T$6*jBGx>+~lbJjlNX9AV;#hyBRasuVNFVL*r4AZG;fC02y8FJmzS%mQt{4 z6Lx$FGhaYSIu3pIJi`4D&gET`l&+A^mfB}Daz0p9cX=t?YFO*;ylYN*F<1CC_Uf>Q zOsX&>?eg%_2wVO1En=hqj}PUx@UvKDk3)#GeZmMw@Gg)_6}jYMjtE8(SYjI^tkOB+ z3x(Rt7zqqLDC}Mrq1kTiZ44?Mqqb&YkO?uT<>4!^+=SNb&ih zi4=>(C`@#G(hEOVIiB1Vvw(oky`d1bFf-YChn6d23_=iKy&g7pj2G!s24TK7Q09)a{F8Q606>UsO6bWjo*06svT>z-XWi7Y9VJ zrd}6=B2F%7%wIMr8Q*o9Ba~nNp*i^$=qJOvt^f_?AoR9>;ZIfjnsj=40bhgNh=OXx zt!lya*`0$~Hc;i~zoDME3E32Nf%=QisJ5klVWk43YyH zdba&HYv%tD1MyFj;eSGFY+%4*LISoHepbYgfL55vkL}?F?C-TJ_+k6_-?Ji;eG7E6 zF7U=6iKBQG8#9!lV3K~ z4F=-J)>Y>s&$_0|_OZlH{6qX<2JP_DaUDAmn(8W zKt-3T7g^pls~Zf`3sJ3!7}ts98ss$vHBW4r6>58jf7w`50tiACfPaVC{|>w0N~_ zMb)D`zdOTo*!=ZQ1_a%%1TmS-wI?XTji+yIgPW%JcM*?dj;WD0iw4$ro}h?K+1N7t zDuY^Facg2hWqRArdf7hQ20huFEk`sPA<#Dztc9)T?Mb0%KW!TYR=d|Xdmw2)AZE1> z$4fioNPQdTUaMEh)v}LMkg|E~j>pw~{bP5l86#h|)zj0&m>SU^YP=U3Vy+XYu7jPK zE|K91;^JemQd-I^-XH-=#cTd}CG3}X2O$dv@b)Us*(fj5g(ta?R?8#!`OFOquW_o; zS=Lgy#0-veTMen!EBWnaKeeJx+lOt9h!2~KtIjFAg3b!*vd+%v!lM^ATRh}DX*VE< zb_IA#JoVY7!u?bg-Q~)xFLL2Fgym!B8+K$yk*wsN1sDLFJvlU9{$vqIdH6SY4Zs3NtA*6f&_!<*%-&j-)PIs z=-0b%;11q5$|jRiK~gq<@OCu7NfZz__$8*C2Z=6Qvu7NkZ1~JEPMd{$P^LbUXSY9H<9{~8vlJrQ7l-sSA+gM*NQ%9c z3iI|B_SF+kWW4=h^+>ZZR>KqU;!>?wTh1`SJ#j@U&(H6N9C9T!m}@=O<#(>4dnr3z z%e?H;-!@)=X>?H=y%tv;&Ull{tEQ;vEb`wE1-hT_Tdpfzt}V`xQB?#_u=%hkHoxPI zA)bs}bZfcJUSr(-T0N-8uE6~@^&__z?6+;QPQsd@Vx?$zFVYl z@#w!6q%?*Q$L3W*Ur<}-e~5PeBk1ZOF9iJEVa&f4O{qOsT+|k2uPnSZozxzCEdet( zI#(jPz?iV4St#z&xzQo$FCJ%45GoB(XaY-Ipyw0d`atPe(KwteO8=2tYpEc6#e)Mj z%R|Qba924`M-um4&sBCZ1?P@GJeAR}lKo=^7c7h=cyP3BcK~kqGw{o@q;v#h$3~b9 znVR&Orw5 zLUzaHddg<;gUpTkNPIZub7{YhVv{Q0GrSPNGeEl``&sr~Q11oRUNI>CF^@R6e)Qvb z*|^>!vo32qlUU`%B#b-wZ?Hwe{hH<E2K?BujP*09#W316?E|ct7Ls>Msfvv-B9gJQ(-9m5^YMG@ zp@S10MC4WrE2`ql3TZF4@)qr+LU@J$)x)Rvf(z0kvx8-tz6LFdU|F|2GF0q@Z(fJT zUs9Ysc>L7T&q9c2;j?9R9s*W-5Qxa{NFqMIXBx7~zf(ei0w1V$)8hF-$9Zg`>-b7c ze_rr>M^l*8>7}1Hf5!pt^pKyapdP`ORa!njIC0=REjFzg6Sxv-fGl2%%|d z_4shVVVuW4e9X8xuTDdi(Maj^Zwd!sB3_dN4?42bm^e6Xcuq4^H#d+lNFf6?9>S7`uH64l_BbZJsOi3g+M$#W@1$%)yDUrN@q0LYy#J z9XF&Kw#RzX3!Im(mpB z1wq~6XgOH!|5G59f7)aI&%%R5^0B~AKSo%EQ+lh0`DWIIjygE%H&DBWqvJ~pX;8Nd zK5vk)+g&SuA!N-h-^_z94MjX8yO)Bk$bshwd%w}I?C^LyVimaQ*<>_dwBa?eLiwd|txO9~vm~ zIs`jRYA8Gaa$w3XB=mf9UN5<)_-ypsWZq{uOLNrHJI{jAchmLL?zz+n>?aM*tKX?CL9XdW zSC#^|?sa}n#~zTztFL4c@-EJX!4MQEPw#uLIryalWsXoVYAjL=+zFH z)bG#XrKOVe5!dHceJX4;&tdN<}u!i)<1Kj_Dsug>N3sE56tFO*2q$LeXD&Ck(}Wy<5Qoy)!_ z7v@`~k_hn@hNi7#bcjn+?lvQ_GsvvgxQuU+OTKEmP;VkuFNiiopUrsyW5E8t+unK1 zi2~bdQ6h@=RU&RFgV0#t!sd*9EUS|}eNHX?lfFhHkW``?okFp*_o+{@Z zd!JpnT&CVHaxCMcknZ~8Ao8x>WSvaV0mCH#(tLcbu$Do=%!Z(OWEO9nC)$gykqsC{J)3 zc`2UxbPtf4`qP=d;&BAEV4tSol&bemveb?9_fC2M9s)@%a_xClExH&j2$B*+E^0_; zRjC5&Qt>TXRX|Yq$AdB)pEUqj2umksRRwbxk-0NxqVAnG<=_&8xy(oQ1DZz>uR=4!+}T4Up}H*8WX|3B!6w_|y6al34ZC#^ zxcI%l-IMd@dSDSjK{vWhgrE7mw2rCNv=iCA(m3XW+8Ztof=2kgn;L$(eX_Tyv9AYQz0vwM|0Lx@NN_hry_^1s5zr_IJOGc^Nf= zv_yYF+L)Fgm)LNb7iO|r&akrYC8|weDRieW6l`}N!zB|1Ncz=f5QzWx2^hrQA;a7^ zR@1(F~=RA*Oj_z4K=WMKT zvWso@vTvzz!7UR5{v20wPjF6M(Tz7tp?1aJB$xdT=H6n(WUQHy({fB)TzLpL^!`9V zU}xA-A0WR`6<`B_9z!mR12L$&be3UP_RZU!+{q8kh#p7~?Ev2&yYUt%_1cFyc6hn` zKk&0QvN0UKLEUPD@5Z9dOGCbYWBI)Jn=z4vF_kik0O{X^2&z| zJ2gbZAsEhny`U+6f6;7ye(veAezujWapx`PM+&X~r$y%9!|!tF^Zi%AwYXTFYj!r+ zIU!n1KRXZo`nNdqSEkSHMB9Vn*ZCd%~{dm!uMWo+C@=U-b424-cC>d7B((`tCZQ z^z1ZQf73!)=o@e!Px^S*fWo^ZiRt;?LUFawDt$}4{KU8p(uN~La9Ur~R+Fe{YiTEw zc}yY>l$oYF{W4grxjI|x>i|O%C3yGEuTz!bedOVQmq$V0mN%XdJP1}o_?gpf_1~EP zY})*W@$>@l9`cX18DvLAw}=JL-S0EF0!`T1!!Gz&=Z7%fMDk3{Z$tX(5iL&0T@D z^Uj-Yfvv<7r=|u2uI+8?4oDzs8wUt+D4+9bAE8KO=@SYfEz1?z2>@w7L0*(*NmK zJ-d8S;mqLo!MZ7!vf7nh+J;-q=nTU#$s(IvT{Cy|f)1>(6Q`4WD{UU<;Sw|2kB~R< z@otjzwZJ6M?=#%>=Pd4+C}~H6O~H(1uE)J$t6Mnm)_}oT**LQxS>%aD%%sS?Z?A;q zf9QJIyEj2(OV187x*d9J)ez&bxGb(#9b!&Tzsaw#?+ks-PGezNHC8ihp*1*ezqI+E zz_bMn=C-?x9pQthEo%Q4Jl7lS%Hn{ya^*@1Q2w=+x5ul?fTt{d-?7jFM+RlX`q{?2 zF#*mhpP&1oW1*6{4vg$u>;Vc?X6GU&l%5SPmE;2@%^+0^bRU?$py{2F0+=6Po4J8j z{0mq3`x46kKCSvUB+3CGbO!`KX1G$Td^^0#9GnEH6+g?z4Gf;?S&;v{^^}qraEKnl z+*qCr#`3`J-Lmua5G)n^|0~p|IW!2vORa9e>(5?@C>40RHGKeqI_OQP9yYi8;mF*w z-%-)Y0vsK`7g)8caUJ;oz|a0bgPO3RU+-mcDk!hJ#RaS2sWF`gspOP7aL6d4}J+1AxXO?Jy6H)Apq zBC+z6;*jeKVoQ`Qa-?$Rh;ry6lhYc5*`7(Q?=0-^y=TZgnNbu>|I(tZ&F;hB5ejn{ zv;Uw`tx*!}S@$y_y*BY=-|20)&ePb~V}e3Ms^`^$f>Ksi5_pxxFM=|qV;8&~ zoT;3ztZTNq1Hw2tIT0~F-=!Z@e2EIk!?LqfW4?qh77Nd)Rb$m^mc#^Sg+)|*(A3cD zPIAP%$HgaVqvc|}wCI9wzO2-`wMX%}4tVtW8)^9!v?#9SKPDG`mUCvvy2}3y7?)C} zD6CCMrp2tTc4@7D=Df_M%ODZL>Iu|Rr!JbP>bXf2+X;-kwlh8pr4clGdAM9pyP?e} z_KU_jO*id^nN6|hJ@;`JN;{iJD9!a*3)f8M2|!i*dw_ElZdEO8OE|7| z4-kw}HJU{S?yl_Ir9X<{{CMG@eS7XP!L260VlH&>(ofoJ_L$LL)%8a-Ud^@c%V}ML ziiW}0W9E2A{JJh`Km8K6`P4*EQ}vz#jZC2+C&_WdwTXMPfN#jO{tCgI)4(x+6l7@o z-S>&U`;%z~@R6qi6Tuc3&tx{-z%?N8Ix+bc@zg*wXH zG!lR*i!hPt*e4%WHC*n)D8JH9tDUuI=w%+&qqaaxzt4Bn)X*Eb9_a=yrWbl$wQsm5 zsHw;=Y=$3uAH4mjW%x|{?N|YFMe<}~@rH@-B@Fu_#ko&#;5hFk-15ceJO?ful8|r> z7H;aX@14@-+Gl8YMqcf_?~COOeubc5RjnF7XP6tpDx>Kb{DSz)cqe81pfGkf_}q)S zCzEF0EQC^6mhDj8m1M8m%25iSP;M$A)QHu+K1fS5$Bz+QJ~w7aNT?%`pOEJcNyMP$ zJe!m_a4IMv!6DVj`%hX76u`E^r(Yu}b*iO<*K-l+YY3ZEJ*D6>;42JM7_oAr#) zeY%0MSHj07=%HJ)?}NOHROKd2?6|t-nsMzsD)j zbE@V(xHpm%(sdEja4$Zd6T#$MN7L8vA8q)A%P0!ot&hlQVq5c?oJ^*VgR`^q)Wx-R z-jP*uu@(0@#>irP3i(?z{9JS;>7!Gl&CW8fVE}>ZXBSm)?t+*B0Rb|L5dh$Eul^(5Vg2bixcYy=S~-eQ zAhvjV6O15Y&vSn}3V_|Et?a-dM0@u$m3~#I#PqBs_wMoAYm$lj*|(mKkj3{rIJjsmz?Mn=ZfqsKrmZt8bNz#r(}S4YSWP;#JgE{%^^evX# zZj$YNiq@Lm8=L#`IuGE-@|$FxTMz7aguh4M?mH=HlK02?x;#|fg)oD{a};h^c}3^| zxXC6Oei735d*td;m_)%w$K`=Sr~Plh+=ryacx0%@DKmU%D5aJV6C(8;&l+1I=Z@2Ln+&1=61m+X{Laz2mr7)nq!#@HLQhr2|dV`; wz=Zju0VWJah%?Kt0%HR1D0nmlkVmTynVoU!-6ny8r+H diff --git a/Docs/MetaX_Cookbook.assets/taxa_func_link_net_settings.png b/Docs/MetaX_Cookbook.assets/taxa_func_link_net_settings.png index 182af48ed65bdf315aba7dde21af1c5c3fbf00c6..a684d6ce7e72ce4c3f6e04cdfbc65fe6f0b42c14 100644 GIT binary patch literal 11076 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 B&7}YU diff --git a/Docs/MetaX_Cookbook.assets/taxa_func_link_page.png b/Docs/MetaX_Cookbook.assets/taxa_func_link_page.png index c32879b902ff83c67834701cdea684d17d550cc0..f279bb51780e7a45ed12aed203e9459aa913b32c 100644 GIT binary patch literal 56793 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