{"example":"Bimodal DNA Content (Cell Cycle)","labtools_version":"0.14.3","generated":"2026-09-23","calls":[{"label":"stats.describe","method":"stats.describe","params":{},"result":{"columns":[{"excess_kurtosis":-1.0276074455844704,"iqr":183.225,"max":482.9,"mean":259.34360000000015,"median":206.6,"min":151.0,"n":1500,"n_missing":0,"name":"DNA content","q1":193.775,"q3":377.0,"range":331.9,"sd":94.11638703530356,"sem":2.430074663952949,"skewness":0.8939044389984646,"sum":389015.40000000026,"variance":8857.894308579056}],"n_columns":1,"notes":[],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"shapiro_wilk"},"result":{"all_normal":false,"alpha":0.05,"method":"shapiro_wilk","notes":["Group 'DNA content' rejects normality (p = 0.0000); prefer a rank-based test.","Group 'DNA content' has n = 1500; at this size a normality test flags departures far too small to affect a t-test. Judge by the skewness/kurtosis and a QQ plot instead."],"results":[{"excess_kurtosis":-1.0276074455844704,"group":"DNA content","interpretation":"Data significantly deviates from normality (W = 0.7311, p = 0.0000)","n":1500,"normality_rejected":true,"p_value":6.564682809092936e-44,"skewness":0.8939044389984646,"statistic":0.731138611169375,"test":"Shapiro-Wilk"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"anderson_darling"},"result":{"all_normal":false,"alpha":0.05,"method":"anderson_darling","notes":["Group 'DNA content' rejects normality (p = 0.0000); prefer a rank-based test.","Group 'DNA content' has n = 1500; at this size a normality test flags departures far too small to affect a t-test. Judge by the skewness/kurtosis and a QQ plot instead."],"results":[{"excess_kurtosis":-1.0276074455844704,"group":"DNA content","interpretation":"Data significantly deviates from normality (A² = 196.0509, p = 0.0000)","n":1500,"normality_rejected":true,"p_value":3.7e-24,"skewness":0.8939044389984646,"statistic":196.05091313847834,"test":"Anderson-Darling"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"kolmogorov_smirnov"},"result":{"all_normal":false,"alpha":0.05,"method":"kolmogorov_smirnov","notes":["Group 'DNA content' rejects normality (p = 0.0000); prefer a rank-based test.","Group 'DNA content' has n = 1500; at this size a normality test flags departures far too small to affect a t-test. Judge by the skewness/kurtosis and a QQ plot instead."],"results":[{"excess_kurtosis":-1.0276074455844704,"group":"DNA content","interpretation":"Data significantly deviates from normality (D = 0.3208, p = 0.0000)","n":1500,"normality_rejected":true,"p_value":0.0,"skewness":0.8939044389984646,"statistic":0.32082228869312884,"test":"Kolmogorov-Smirnov (Lilliefors)"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.gmm","method":"stats.gmm","params":{"k_max":3},"result":{"n_init":10,"notes":["'DNA content': BIC prefers 2 components over 1 — the column looks like a mixture, not a single population."],"results":[{"best_fit":{"aic":14551.425876832938,"bic":14577.99197876839,"components":[{"mean":198.91361903235247,"sigma":13.97860050484863,"weight":0.6999999997513674},{"mean":400.3468887575672,"sigma":25.454672141329738,"weight":0.30000000024863266}],"converged":true,"k":2,"k_fitted":2,"log_likelihood":-7270.712938416469,"n_iter":8,"n_parameters":5},"best_k_aic":2,"best_k_bic":2,"error":null,"fits":[{"aic":17893.41179512891,"bic":17904.038235903092,"components":[{"mean":259.34360000000015,"sigma":94.08500968117434,"weight":1.0}],"converged":true,"k":1,"k_fitted":1,"log_likelihood":-8944.705897564456,"n_iter":3,"n_parameters":2},{"aic":14551.425876832938,"bic":14577.99197876839,"components":[{"mean":198.91361903235247,"sigma":13.97860050484863,"weight":0.6999999997513674},{"mean":400.3468887575672,"sigma":25.454672141329738,"weight":0.30000000024863266}],"converged":true,"k":2,"k_fitted":2,"log_likelihood":-7270.712938416469,"n_iter":8,"n_parameters":5},{"aic":14555.8956926588,"bic":14598.401455755522,"components":[{"mean":198.91361844744432,"sigma":13.978599708716324,"weight":0.69999999006294},{"mean":398.1834364336385,"sigma":28.459376364681162,"weight":0.17890931416535494},{"mean":403.5433377241995,"sigma":19.785444427743563,"weight":0.12109069577170499}],"converged":false,"k":3,"k_fitted":3,"log_likelihood":-7269.9478463294,"n_iter":100,"n_parameters":8}],"group":"DNA content","n":1500}],"seed":42,"source":{"kind":"arrays"}},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"grubbs"},"result":{"alpha":0.05,"method":"grubbs","notes":["Grubbs tests only the single most extreme point, so a second outlier can mask the first. On larger samples use method='generalized_esd'."],"results":[{"critical_value":4.138202303617332,"group":"DNA content","interpretation":"No outliers detected (G = 2.375, critical = 4.138)","n":1500,"outlier_count":0,"outliers":[],"test":"Grubbs"}],"source":{"kind":"arrays"},"total_outliers":0},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"generalized_esd","max_outliers":5},"result":{"alpha":0.05,"method":"generalized_esd","notes":[],"results":[{"critical_value":4.138202303617332,"group":"DNA content","interpretation":"No outliers detected (tested up to 5 outliers)","n":1500,"outlier_count":0,"outliers":[],"test":"Generalized ESD"}],"source":{"kind":"arrays"},"total_outliers":0},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"modified_z"},"result":{"alpha":0.05,"method":"modified_z","notes":["Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported."],"results":[{"critical_value":3.5,"group":"DNA content","interpretation":"Detected 450 outlier(s) using modified Z-score (threshold = 3.50)","n":1500,"outlier_count":450,"outliers":[{"index":1,"test_statistic":7.3157307692307665,"value":389.9},{"index":7,"test_statistic":7.966284023668637,"value":406.2},{"index":13,"test_statistic":10.4367899408284,"value":468.1},{"index":21,"test_statistic":10.48468343195266,"value":469.3},{"index":24,"test_statistic":8.712624260355026,"value":424.9},{"index":32,"test_statistic":8.201760355029585,"value":412.1},{"index":34,"test_statistic":8.257636094674552,"value":413.5},{"index":38,"test_statistic":7.307748520710056,"value":389.7},{"index":48,"test_statistic":7.91439940828402,"value":404.9},{"index":50,"test_statistic":8.257636094674552,"value":413.5},{"index":56,"test_statistic":8.453201183431949,"value":418.4},{"index":58,"test_statistic":9.219497041420116,"value":437.6},{"index":61,"test_statistic":7.491340236686389,"value":394.3},{"index":63,"test_statistic":6.788902366863903,"value":376.7},{"index":65,"test_statistic":9.035905325443785,"value":433.0},{"index":66,"test_statistic":9.82614792899408,"value":452.8},{"index":69,"test_statistic":8.924153846153843,"value":430.2},{"index":70,"test_statistic":8.736571005917158,"value":425.5},{"index":74,"test_statistic":8.632801775147925,"value":422.9},{"index":76,"test_statistic":8.505085798816566,"value":419.7},{"index":80,"test_statistic":6.150322485207099,"value":360.7},{"index":82,"test_statistic":7.842559171597631,"value":403.1},{"index":85,"test_statistic":7.918390532544375,"value":405.0},{"index":86,"test_statistic":8.185795857988163,"value":411.7},{"index":92,"test_statistic":7.718834319526624,"value":400.0},{"index":97,"test_statistic":8.129920118343193,"value":410.3},{"index":99,"test_statistic":6.912627218934909,"value":379.8},{"index":102,"test_statistic":6.377816568047335,"value":366.4},{"index":103,"test_statistic":7.627038461538459,"value":397.7},{"index":107,"test_statistic":8.109964497041418,"value":409.8},{"index":108,"test_statistic":6.345887573964496,"value":365.6},{"index":111,"test_statistic":7.718834319526624,"value":400.0},{"index":117,"test_statistic":9.187568047337276,"value":436.8},{"index":119,"test_statistic":7.69089644970414,"value":399.3},{"index":120,"test_statistic":6.932582840236685,"value":380.3},{"index":121,"test_statistic":8.205751479289939,"value":412.2},{"index":127,"test_statistic":6.3818076923076905,"value":366.5},{"index":128,"test_statistic":9.562733727810647,"value":446.2},{"index":131,"test_statistic":6.6053106508875725,"value":372.1},{"index":133,"test_statistic":7.7747100591715945,"value":401.4},{"index":134,"test_statistic":8.481139053254436,"value":419.1},{"index":143,"test_statistic":8.038124260355026,"value":408.0},{"index":159,"test_statistic":8.39732544378698,"value":417.0},{"index":164,"test_statistic":6.880698224852068,"value":379.0},{"index":173,"test_statistic":6.202207100591714,"value":362.0},{"index":176,"test_statistic":7.8186124260355,"value":402.5},{"index":177,"test_statistic":8.257636094674552,"value":413.5},{"index":181,"test_statistic":8.453201183431949,"value":418.4},{"index":183,"test_statistic":8.888233727810649,"value":429.3},{"index":185,"test_statistic":8.493112426035498,"value":419.4},{"index":186,"test_statistic":7.718834319526624,"value":400.0},{"index":192,"test_statistic":8.840340236686389,"value":428.1},{"index":197,"test_statistic":7.762736686390531,"value":401.1},{"index":198,"test_statistic":7.12814792899408,"value":385.2},{"index":199,"test_statistic":7.527260355029583,"value":395.2},{"index":200,"test_statistic":7.587127218934907,"value":396.7},{"index":201,"test_statistic":7.746772189349109,"value":400.7},{"index":203,"test_statistic":8.086017751479286,"value":409.2},{"index":210,"test_statistic":8.812402366863902,"value":427.4},{"index":213,"test_statistic":7.838568047337276,"value":403.0},{"index":221,"test_statistic":8.078035502958578,"value":409.0},{"index":225,"test_statistic":7.17604142011834,"value":386.4},{"index":226,"test_statistic":6.964511834319525,"value":381.1},{"index":227,"test_statistic":8.544997041420116,"value":420.7},{"index":229,"test_statistic":7.259855029585797,"value":388.5},{"index":230,"test_statistic":7.5232692307692295,"value":395.1},{"index":232,"test_statistic":8.121937869822485,"value":410.1},{"index":234,"test_statistic":7.830585798816566,"value":402.8},{"index":235,"test_statistic":7.487349112426033,"value":394.2},{"index":236,"test_statistic":7.654976331360943,"value":398.4},{"index":240,"test_statistic":8.672713017751477,"value":423.9},{"index":250,"test_statistic":6.297994082840233,"value":364.4},{"index":251,"test_statistic":9.259408284023666,"value":438.6},{"index":254,"test_statistic":6.92060946745562,"value":380.0},{"index":255,"test_statistic":8.796437869822482,"value":427.0},{"index":258,"test_statistic":8.417281065088755,"value":417.5},{"index":260,"test_statistic":7.239899408284021,"value":388.0},{"index":261,"test_statistic":8.668721893491123,"value":423.8},{"index":269,"test_statistic":8.377369822485205,"value":416.5},{"index":270,"test_statistic":9.415062130177512,"value":442.5},{"index":273,"test_statistic":8.417281065088755,"value":417.5},{"index":282,"test_statistic":7.670940828402364,"value":398.8},{"index":288,"test_statistic":7.2917840236686375,"value":389.3},{"index":294,"test_statistic":7.379588757396448,"value":391.5},{"index":296,"test_statistic":6.733026627218933,"value":375.3},{"index":297,"test_statistic":6.006642011834319,"value":357.1},{"index":298,"test_statistic":7.746772189349109,"value":400.7},{"index":304,"test_statistic":8.784464497041418,"value":426.7},{"index":305,"test_statistic":6.884689349112425,"value":379.1},{"index":306,"test_statistic":7.682914201183431,"value":399.1},{"index":310,"test_statistic":8.501094674556212,"value":419.6},{"index":311,"test_statistic":7.347659763313607,"value":390.7},{"index":313,"test_statistic":7.5551982248520675,"value":395.9},{"index":323,"test_statistic":7.846550295857985,"value":403.2},{"index":324,"test_statistic":5.898881656804731,"value":354.4},{"index":325,"test_statistic":8.952091715976328,"value":430.9},{"index":326,"test_statistic":7.17604142011834,"value":386.4},{"index":329,"test_statistic":7.714843195266268,"value":399.9},{"index":332,"test_statistic":9.247434911242602,"value":438.3},{"index":335,"test_statistic":9.34322189349112,"value":440.7},"… 350 more entries omitted"],"test":"Modified Z-Score"}],"source":{"kind":"arrays"},"total_outliers":450},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"iqr"},"result":{"alpha":0.05,"method":"iqr","notes":["The IQR rule is descriptive — it has no p-value and flags roughly 0.7% of a perfectly normal sample by construction."],"results":[{"critical_value":1.5,"group":"DNA content","interpretation":"No outliers detected (bounds: [-81.062, 651.837], k = 1.5)","n":1500,"outlier_count":0,"outliers":[],"test":"IQR Method"}],"source":{"kind":"arrays"},"total_outliers":0},"error":null}]}