djwooten/synergy

MuSyC fits are concentration-scale dependent

Closed this issue · 1 comments

## use the github test dataset "sample_data_1.csv"
## https://github.com/djwooten/synergy/tree/master/datasets

## all concs x 10
model.fit(df['drug1.conc']*10, df['drug2.conc']*10, df['effect'], bootstrap_iterations=100)
print(model.summary(confidence_interval=95))

# result
# beta    0.59    (0.44,0.71)     (>0) synergistic
# alpha12 0.37    (0.32,0.49)     (<1) antagonistic
# alpha21 2.00    (1.55,2.46)     (>1) synergistic
# gamma12 3.29    (1.97,93.37)    (>1) synergistic

## all concs x1000 
model.fit(df['drug1.conc']*1000, df['drug2.conc']*1000, df['effect'], bootstrap_iterations=100)
print(model.summary(confidence_interval=95))

# result
# beta    0.50    (0.31,0.74)     (>0) synergistic
# alpha21 1.89    (1.37,2.75)     (>1) synergistic

## only conc2 x1000
model.fit(df['drug1.conc'], df['drug2.conc']*1000, df['effect'], bootstrap_iterations=100)
print(model.summary(confidence_interval=95))

# result
# beta    0.39    (0.24,0.53)     (>0) synergistic
# alpha12 0.57    (0.49,0.75)     (<1) antagonistic
# alpha21 2.21    (1.76,2.56)     (>1) synergistic
# gamma12 3.11    (2.28,5.39)     (>1) synergistic
# gamma21 0.87    (0.77,0.97)     (<1) antagonistic

Changed fitting procedure to fit r1 and r2, which are parameters containing dose-scale information.