--------------------------------------------------------------------------------------- name: log: c:\STATA_output.log log type: text opened on: 24 Jun 2013, 16:24:35 . . insheet using "Dataset_R_format.csv", case /* First row: variable names. rows 2-951: > experimental data. Rows 952-983: data for prediction purposes. > Explanations of variables are shown > at the bottom of this file*/ (70 vars, 982 obs) . . *baseline model of main effects as shown in Supp Table S1 . *(excluding data testing activator-activator & inhibitor-inhibitor synergy): . regress rdadp A C U T E M W S B Y K if enant==1 Source | SS df MS Number of obs = 550 -------------+------------------------------ F( 11, 538) = 105.98 Model | 307156.088 11 27923.2807 Prob > F = 0.0000 Residual | 141755.783 538 263.486586 R-squared = 0.6842 -------------+------------------------------ Adj R-squared = 0.6778 Total | 448911.871 549 817.690111 Root MSE = 16.232 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 37.48444 3.076686 12.18 0.000 31.44065 43.52824 C | 31.51778 3.076686 10.24 0.000 25.47399 37.56157 U | 31.28444 3.076686 10.17 0.000 25.24065 37.32824 T | 54.80111 3.076686 17.81 0.000 48.75732 60.8449 E | 15.01778 3.076686 4.88 0.000 8.973987 21.06157 M | -31.32 2.650719 -11.82 0.000 -36.52703 -26.11297 W | -16.52 2.650719 -6.23 0.000 -21.72703 -11.31297 S | -17.53667 2.650719 -6.62 0.000 -22.74369 -12.32964 B | -14.93667 2.650719 -5.63 0.000 -20.14369 -9.72964 Y | -5.753333 2.650719 -2.17 0.030 -10.96036 -.5463064 K | 61.85444 2.186731 28.29 0.000 57.55887 66.15002 _cons | 15.71 1.623227 9.68 0.000 12.52136 18.89864 ------------------------------------------------------------------------------ . ereturn list /* 550 obs; adjR2=0.678; LL null -2624.20 fit -2307.21 */ scalars: e(N) = 550 e(df_m) = 11 e(df_r) = 538 e(F) = 105.9760995796414 e(r2) = .684223580351609 e(rmse) = 16.23226990046178 e(mss) = 307156.0875757574 e(rss) = 141755.7833333333 e(r2_a) = .6777671851543371 e(ll) = -2307.200447329316 e(ll_0) = -2624.198680686866 e(rank) = 12 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K if enant==1" e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 12 e(V) : 12 x 12 functions: e(sample) . . * The following three models, compare choice of 3, 4 and 5 enantergy term models by c > omparing log likelihood (LL) differences . . *3 enantergy term model: . regress rdadp A C U T E M W S B Y K iMU iSU iBT if enant==1 Source | SS df MS Number of obs = 550 -------------+------------------------------ F( 14, 535) = 106.28 Model | 330191.664 14 23585.1189 Prob > F = 0.0000 Residual | 118720.207 535 221.906928 R-squared = 0.7355 -------------+------------------------------ Adj R-squared = 0.7286 Total | 448911.871 549 817.690111 Root MSE = 14.897 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 35.77941 2.829877 12.64 0.000 30.22038 41.33844 C | 29.81274 2.829877 10.53 0.000 24.25371 35.37178 U | 37.43812 3.122726 11.99 0.000 31.30381 43.57242 T | 60.58268 2.9531 20.51 0.000 54.78158 66.38377 E | 13.31274 2.829877 4.70 0.000 7.753712 18.87178 M | -30.002 2.590862 -11.58 0.000 -35.09151 -24.91249 W | -17.54302 2.435257 -7.20 0.000 -22.32686 -12.75918 S | -13.042 2.590862 -5.03 0.000 -18.13151 -7.952491 B | -8.473089 2.591089 -3.27 0.001 -13.56305 -3.383132 Y | -6.776354 2.435257 -2.78 0.006 -11.56019 -1.992516 K | 61.17243 2.008223 30.46 0.000 57.22746 65.1174 iMU | -14.04611 5.765729 -2.44 0.015 -25.37236 -2.719869 iSU | -33.10611 5.765729 -5.74 0.000 -44.43236 -21.77987 iBT | -44.91959 5.658088 -7.94 0.000 -56.03438 -33.80479 _cons | 15.71 1.489654 10.55 0.000 12.78371 18.63629 ------------------------------------------------------------------------------ . ereturn list /* 550 obs; adjR2=0.729; LL null -2624.20 fit -2258.43 */ scalars: e(N) = 550 e(df_m) = 14 e(df_r) = 535 e(F) = 106.2838330212789 e(r2) = .7355378322660457 e(rmse) = 14.89654080789737 e(mss) = 330191.6644069676 e(rss) = 118720.2065021231 e(r2_a) = .7286173269421665 e(ll) = -2258.43298614648 e(ll_0) = -2624.198680686866 e(rank) = 15 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K iMU iSU iBT .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 15 e(V) : 15 x 15 functions: e(sample) . . *4 enantergy term model: shown in Supp Table S2 . regress rdadp A C U T E M W S B Y K iMC iMU iSU iBT if enant==1 Source | SS df MS Number of obs = 550 -------------+------------------------------ F( 15, 534) = 100.06 Model | 331107.957 15 22073.8638 Prob > F = 0.0000 Residual | 117803.913 534 220.606579 R-squared = 0.7376 -------------+------------------------------ Adj R-squared = 0.7302 Total | 448911.871 549 817.690111 Root MSE = 14.853 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 35.53066 2.824212 12.58 0.000 29.98273 41.07859 C | 31.51669 2.94284 10.71 0.000 25.73573 37.29765 U | 37.57493 3.114287 12.07 0.000 31.45717 43.69269 T | 60.23442 2.949389 20.42 0.000 54.44059 66.02825 E | 13.06399 2.824212 4.63 0.000 7.516065 18.61192 M | -27.8105 2.798128 -9.94 0.000 -33.30719 -22.31381 W | -17.69227 2.429215 -7.28 0.000 -22.46426 -12.92028 S | -13.19374 2.584333 -5.11 0.000 -18.27044 -8.117034 B | -8.721841 2.586368 -3.37 0.001 -13.80254 -3.641137 Y | -6.925604 2.429215 -2.85 0.005 -11.69759 -2.153615 K | 61.07293 2.002925 30.49 0.000 57.13835 65.00751 iMC | -11.71619 5.748816 -2.04 0.042 -23.00926 -.4231212 iMU | -16.37443 5.861229 -2.79 0.005 -27.88832 -4.860534 iSU | -33.09119 5.748816 -5.76 0.000 -44.38426 -21.79812 iBT | -44.32258 5.649086 -7.85 0.000 -55.41974 -33.22543 _cons | 15.71 1.485283 10.58 0.000 12.79229 18.62771 ------------------------------------------------------------------------------ . ereturn list /* 550 obs; adjR2=0.730; LL null -2624.20 fit -2256.30 */ scalars: e(N) = 550 e(df_m) = 15 e(df_r) = 534 e(F) = 100.0598617235135 e(r2) = .7375789747408421 e(rmse) = 14.85283068740714 e(mss) = 331107.9574941205 e(rss) = 117803.9134149703 e(r2_a) = .7302075976268208 e(ll) = -2256.302278634472 e(ll_0) = -2624.198680686866 e(rank) = 16 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K iMC iMU iSU .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 16 e(V) : 16 x 16 functions: e(sample) . . *5 enantergy term model: . regress rdadp A C U T E M W S B Y K iMC iMU iMT iSU iBT if enant==1 Source | SS df MS Number of obs = 550 -------------+------------------------------ F( 16, 533) = 94.14 Model | 331576.4 16 20723.525 Prob > F = 0.0000 Residual | 117335.471 533 220.141597 R-squared = 0.7386 -------------+------------------------------ Adj R-squared = 0.7308 Total | 448911.871 549 817.690111 Root MSE = 14.837 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 35.26529 2.827093 12.47 0.000 29.71168 40.8189 C | 31.5963 2.940243 10.75 0.000 25.82042 37.37219 U | 37.6294 3.111227 12.09 0.000 31.51763 43.74117 T | 61.69256 3.111227 19.83 0.000 55.58079 67.80433 E | 12.79862 2.827093 4.53 0.000 7.245012 18.35223 M | -25.82023 3.110394 -8.30 0.000 -31.93037 -19.7101 W | -17.85149 2.429107 -7.35 0.000 -22.62329 -13.07969 S | -13.37391 2.584561 -5.17 0.000 -18.45109 -8.296736 B | -8.62128 2.584561 -3.34 0.001 -13.69845 -3.544105 Y | -7.084826 2.429107 -2.92 0.004 -11.85662 -2.313028 K | 60.96678 2.002136 30.45 0.000 57.03374 64.89983 iMC | -13.78607 5.915459 -2.33 0.020 -25.40654 -2.165595 iMU | -18.41917 6.020499 -3.06 0.002 -30.24598 -6.59235 iMT | -8.782325 6.020499 -1.46 0.145 -20.60914 3.044492 iSU | -32.96549 5.743401 -5.74 0.000 -44.24797 -21.68301 iBT | -45.88128 5.743401 -7.99 0.000 -57.16376 -34.5988 _cons | 15.71 1.483717 10.59 0.000 12.79535 18.62465 ------------------------------------------------------------------------------ . ereturn list /* 550 obs; adjR2=0.731; LL null -2624.20 fit -2255.21 */ scalars: e(N) = 550 e(df_m) = 16 e(df_r) = 533 e(F) = 94.13725210489648 e(r2) = .7386224810183827 e(rmse) = 14.83716943135502 e(mss) = 331576.3998494765 e(rss) = 117335.4710596142 e(r2_a) = .7307762515555198 e(ll) = -2255.206572626441 e(ll_0) = -2624.198680686866 e(rank) = 17 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K iMC iMU iMT .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 17 e(V) : 17 x 17 functions: e(sample) . . * Full dataset adds the synergy data to the enantergy data used above . regress rdadp A C U T E M W S B Y K if enantsyn==1 Source | SS df MS Number of obs = 850 -------------+------------------------------ F( 11, 838) = 68.95 Model | 309012.857 11 28092.0779 Prob > F = 0.0000 Residual | 341410.919 838 407.411597 R-squared = 0.4751 -------------+------------------------------ Adj R-squared = 0.4682 Total | 650423.775 849 766.105742 Root MSE = 20.184 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 19.83338 1.99442 9.94 0.000 15.91873 23.74802 C | 14.46414 1.99442 7.25 0.000 10.5495 18.37879 U | 17.84876 1.99442 8.95 0.000 13.93411 21.7634 T | 34.68722 1.99442 17.39 0.000 30.77258 38.60187 E | 1.156452 1.99442 0.58 0.562 -2.758193 5.071097 M | -7.267371 1.940181 -3.75 0.000 -11.07556 -3.459185 W | 8.355705 1.940181 4.31 0.000 4.54752 12.16389 S | 6.717244 1.940181 3.46 0.001 2.909058 10.52543 B | 7.632629 1.940181 3.93 0.000 3.824443 11.44081 Y | 15.92494 1.940181 8.21 0.000 12.11675 19.73312 K | 47.6097 2.279357 20.89 0.000 43.13579 52.08362 _cons | 22.12609 1.846786 11.98 0.000 18.50122 25.75095 ------------------------------------------------------------------------------ . ereturn list /*850 obs; adjR2=0.468; LL null -4028.16 fit -3754.23 */ scalars: e(N) = 850 e(df_m) = 11 e(df_r) = 838 e(F) = 68.95257295557462 e(r2) = .4750946513449044 e(rmse) = 20.18443948461935 e(mss) = 309012.8567497953 e(rss) = 341410.9185443224 e(r2_a) = .4682044856704342 e(ll) = -3754.230184658793 e(ll_0) = -4028.158546049966 e(rank) = 12 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K if enantsyn=.." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 12 e(V) : 12 x 12 functions: e(sample) . . * Add in the four enantergy terms identified above . regress rdadp A C U T E M W S B Y K iMC iMU iSU iBT if enantsyn==1 Source | SS df MS Number of obs = 850 -------------+------------------------------ F( 15, 834) = 69.13 Model | 360497.88 15 24033.192 Prob > F = 0.0000 Residual | 289925.895 834 347.632968 R-squared = 0.5543 -------------+------------------------------ Adj R-squared = 0.5462 Total | 650423.775 849 766.105742 Root MSE = 18.645 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 18.85274 1.844206 10.22 0.000 15.23291 22.47257 C | 15.49081 1.897283 8.16 0.000 11.7668 19.21482 U | 22.99494 1.957419 11.75 0.000 19.15289 26.83698 T | 37.29991 1.898055 19.65 0.000 33.57438 41.02543 E | .1758141 1.844206 0.10 0.924 -3.444017 3.795645 M | -3.734811 1.910913 -1.95 0.051 -7.485575 .015952 W | 7.404107 1.794044 4.13 0.000 3.882735 10.92548 S | 9.415608 1.848899 5.09 0.000 5.786566 13.04465 B | 10.27436 1.849658 5.55 0.000 6.643823 13.90489 Y | 14.97334 1.794044 8.35 0.000 11.45197 18.49471 K | 47.23219 2.105752 22.43 0.000 43.099 51.36539 iMC | -26.09497 6.378797 -4.09 0.000 -38.61535 -13.57459 iMU | -32.19909 6.395764 -5.03 0.000 -44.75278 -19.64541 iSU | -47.44951 6.378797 -7.44 0.000 -59.96989 -34.92913 iBT | -46.71323 6.362578 -7.34 0.000 -59.20178 -34.22468 _cons | 22.03897 1.705943 12.92 0.000 18.69052 25.38741 ------------------------------------------------------------------------------ . ereturn list /* 850 obs; adjR2=0.546; LL null -4028.16 fit -3684.76 */ scalars: e(N) = 850 e(df_m) = 15 e(df_r) = 834 e(F) = 69.13381122720251 e(r2) = .5542507724812108 e(rmse) = 18.64491802347673 e(mss) = 360497.8798969102 e(rss) = 289925.8953972075 e(r2_a) = .5462337000438224 e(ll) = -3684.759075076176 e(ll_0) = -4028.158546049966 e(rank) = 16 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K iMC iMU iSU .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 16 e(V) : 16 x 16 functions: e(sample) . . * Table S4: add in 5 synergy terms from separate pair-wise Wilcoxon comparisons . regress rdadp A C U T E M W S B Y K iMC iMU iSU iBT iiWB iiWS iiSB aaA > U aaAC if enantsyn==1 Source | SS df MS Number of obs = 850 -------------+------------------------------ F( 20, 829) = 55.31 Model | 371794.196 20 18589.7098 Prob > F = 0.0000 Residual | 278629.579 829 336.103232 R-squared = 0.5716 -------------+------------------------------ Adj R-squared = 0.5613 Total | 650423.775 849 766.105742 Root MSE = 18.333 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 15.49618 1.939948 7.99 0.000 11.68839 19.30397 C | 14.32755 1.936048 7.40 0.000 10.52742 18.12769 U | 20.76409 2.000622 10.38 0.000 16.83721 24.69097 T | 37.70083 1.868691 20.17 0.000 34.03291 41.36875 E | .5444535 1.817347 0.30 0.765 -3.022688 4.111595 M | -3.559445 1.88373 -1.89 0.059 -7.256886 .137997 W | 6.385077 1.874362 3.41 0.001 2.706025 10.06413 S | 8.793568 1.942756 4.53 0.000 4.980269 12.60687 B | 10.08782 1.944758 5.19 0.000 6.270588 13.90505 Y | 15.35123 1.767533 8.69 0.000 11.88186 18.8206 K | 47.11189 2.077046 22.68 0.000 43.035 51.18878 iMC | -25.31234 6.293169 -4.02 0.000 -37.66476 -12.95992 iMU | -30.34887 6.31133 -4.81 0.000 -42.73694 -17.96081 iSU | -44.80189 6.328853 -7.08 0.000 -57.22435 -32.37942 iBT | -47.13287 6.296853 -7.49 0.000 -59.49252 -34.77323 iiWB | 7.782877 6.322925 1.23 0.219 -4.627948 20.1937 iiWS | 10.37713 6.32108 1.64 0.101 -2.030078 22.78433 iiSB | -.0256139 6.341473 -0.00 0.997 -12.47284 12.42162 aaAU | 29.2955 6.313242 4.64 0.000 16.90368 41.68732 aaAC | 19.13204 6.295295 3.04 0.002 6.775444 31.48863 _cons | 22.24423 1.679409 13.25 0.000 18.94784 25.54062 ------------------------------------------------------------------------------ . ereturn list /*850 obs; adjR2=0.561; LL null -4028.16 fit -3667.87 */ scalars: e(N) = 850 e(df_m) = 20 e(df_r) = 829 e(F) = 55.30952402996175 e(r2) = .5716183970978925 e(rmse) = 18.333118450454 e(mss) = 371794.1958679833 e(rss) = 278629.5794261343 e(r2_a) = .5612834971485051 e(ll) = -3667.86866989526 e(ll_0) = -4028.158546049966 e(rank) = 21 macros: e(cmdline) : "regress rdadp A C U T E M W S B Y K iMC iMU iSU .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 21 e(V) : 21 x 21 functions: e(sample) . . * carry out predictions on the 32 lines of artificial data . predict predenantsyn if fake==1 (option xb assumed; fitted values) (950 missing values generated) . egen zpred=std(predenantsyn) if fake==1 (950 missing values generated) . sort predenantsyn . list predictedinhibitors zpred if fake==1 +----------------------+ | predic~s zpred | |----------------------| 1. | MSB -2.060042 | 2. | MSBY -1.672322 | 3. | MWSB -1.440116 | 4. | MB -1.149946 | 5. | MS -1.123762 | |----------------------| 6. | MWSBY -1.052396 | 7. | MWB -.7921114 | 8. | MBY -.7622257 | 9. | MSY -.7360412 | 10. | MWS -.7004048 | |----------------------| 11. | SB -.5643275 | 12. | MWBY -.4043907 | 13. | MWSY -.3126841 | 14. | M -.2143125 | 15. | SBY -.1766069 | |----------------------| 16. | MW -.0530468 | 17. | WSB .0555988 | 18. | MY .173408 | 19. | MWY .3346736 | 20. | B .3457687 | |----------------------| 21. | S .3719532 | 22. | WSBY .4433195 | 23. | WB .7036034 | 24. | BY .7334893 | 25. | SY .7596737 | |----------------------| 26. | WS .7953103 | 27. | WBY 1.091324 | 28. | WSY 1.183031 | 29. | 1.281402 | 30. | W 1.442668 | |----------------------| 31. | Y 1.669123 | 32. | WY 1.830389 | +----------------------+ . . * For comparison purposes, a Boolean model (shown in Table S3) equivalent to Table S2 > model above. . regress rdadp A modC modU modT E modM W modS modB Y K if enant==1 Source | SS df MS Number of obs = 550 -------------+------------------------------ F( 11, 538) = 120.27 Model | 319129.32 11 29011.7564 Prob > F = 0.0000 Residual | 129782.551 538 241.231507 R-squared = 0.7109 -------------+------------------------------ Adj R-squared = 0.7050 Total | 448911.871 549 817.690111 Root MSE = 15.532 ------------------------------------------------------------------------------ rdadp | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- A | 31.47804 2.721115 11.57 0.000 26.13273 36.82335 modC | 28.40333 2.907271 9.77 0.000 22.69233 34.11432 modU | 34.73634 3.103992 11.19 0.000 28.63891 40.83377 modT | 52.14653 2.778056 18.77 0.000 46.68937 57.6037 E | 9.011375 2.721115 3.31 0.001 3.666062 14.35669 modM | -19.28635 2.73659 -7.05 0.000 -24.66206 -13.91064 W | -13.93352 2.472731 -5.63 0.000 -18.79091 -9.076125 modS | -9.206003 2.631227 -3.50 0.001 -14.37474 -4.037264 modB | -5.783965 2.665185 -2.17 0.030 -11.01941 -.5485207 Y | -3.16685 2.472731 -1.28 0.201 -8.024241 1.690541 K | 59.31704 1.885058 31.47 0.000 55.61406 63.02002 _cons | 15.93474 1.327136 12.01 0.000 13.32774 18.54174 ------------------------------------------------------------------------------ . ereturn list /* 550 obs; adjR2=0.705; LL null -2624.20 fit -2282.93 */ scalars: e(N) = 550 e(df_m) = 11 e(df_r) = 538 e(F) = 120.2652038048704 e(r2) = .7108952575106871 e(rmse) = 15.53162924926887 e(mss) = 319129.3200695225 e(rss) = 129782.5508395684 e(r2_a) = .7049841940025412 e(ll) = -2282.932968599291 e(ll_0) = -2624.198680686866 e(rank) = 12 macros: e(cmdline) : "regress rdadp A modC modU modT E modM W modS modB Y K if .." e(title) : "Linear regression" e(marginsok) : "XB default" e(vce) : "ols" e(depvar) : "rdadp" e(cmd) : "regress" e(properties) : "b V" e(predict) : "regres_p" e(model) : "ols" e(estat_cmd) : "regress_estat" matrices: e(b) : 1 x 12 e(V) : 12 x 12 functions: e(sample) . . log close name: log: c:\STATA_output.log log type: text closed on: 24 Jun 2013, 16:24:37 ---------------------------------------------------------------------------------------