MCS Scientific LLC

PHARM/PCS V5.0

What’s New in the Modern Web Rebuild

Faithful to the original. Smarter at the edges.

MCS Scientific LLC
pharmpcs.com  ·  MCSscientific.com

The original Pharmacologic Calculation System (PHARM/PCS V4.0) was published in 1987 as Appendix B of the Manual of Pharmacologic Calculations with Computer Programs. It was written in BASIC for DOS, distributed on floppy diskette, and required the user to consult a printed appendix of statistical tables for many procedures. Forty years on, the same forty-eight calculations can be done with greater precision, no table lookups, and no installation — directly in any web browser. This page summarizes what has changed under the hood and at the user’s fingertips.

New in Version 5.4

Version 5.4 adds two features aimed squarely at helping users get the most from every procedure:

  • Built-in guidance — the Reference panel. Every procedure now opens with a set of expandable help boxes beneath its description — Equations, Expected output, and a new Reference panel. The Reference box explains, in plain language, what the procedure computes, when to use it, and how to read its result — with live links to related procedures, so choosing the right method and interpreting its output no longer means flipping through the book.
  • A complete user’s guide, linked from the app. A full, illustrated user’s guide — covering getting started, data entry, reading and exporting results, and a reference to all forty-eight procedures — is now linked directly from within the app, so help is always one click away.

All forty-eight procedures, faithful to the book

PHARM/PCS V5.0 implements all forty-eight computational procedures from the Manual of Pharmacologic Calculations, organized in the sidebar into nine pharmacology categories that follow the structure of the book itself: Dosage & Statistics, Dose-Response & Potency, Receptor Pharmacology, Enzyme Kinetics, Drug Decay & Binding, Pharmacokinetics, ANOVA & Comparisons, Pairwise & Nonparametric, and Special Methods.

Each procedure carries the same number, the same equations (with their original equation numbers), and the same worked example as the printed book, so a user can verify any procedure against the page they already know. Every implemented procedure has been validated against its book example by an automated self-test that runs each time the page loads — 265 numeric assertions in total — with a green/red indicator in the header showing the result at a glance.

Lookup tables replaced by direct computation

Every statistical lookup the 1987 program required has been replaced with a direct computation, performed in JavaScript at full double precision. The user no longer must find a value in a printed table, interpolate between rows, and type it in. The computed values are also more accurate than the printed tables themselves, because the underlying distributions are evaluated to far more digits than Appendix A could print.

  • Critical t-values (replaces Table A.2). Computed from the inverse Student’s t distribution using the regularized incomplete beta function with bisection.
  • Critical F-values (replaces Table A.5). Computed from the inverse F distribution.
  • Probit values (replaces Table A.3). Computed from the inverse standard normal CDF (Beasley-Springer-Moro), with no interpolation error in the tails.
  • Chi-square p-values (replaces Table A.8). Computed from the regularized incomplete gamma function.
  • Studentized range, q (replaces Tables A.13 and A.14). Critical q values for the Newman-Keuls and Duncan tests are computed directly from the studentized range distribution by numerical integration — the same approach used by R’s qtukey and SciPy’s studentized range. Verified against every printed cell of Table A.14 (df 5–60, p 2–10) at both the 5% and 1% levels, to within ±0.01.
  • Dunnett’s d (replaces Tables A.9a and A.9b). Computed from the multivariate t-distribution; verified against 130 printed cells (p 1–10, df 5–60) at both confidence levels, to within ±0.01.
  • Litchfield-Wilcoxon 0%/100% correction (Table A.12). Encoded directly inside the program and looked up automatically using the expected percent from the first-pass probit regression.
  • Two-tailed p-values. Reported automatically alongside the test statistic, something the original program could not do at all.

With these in place, every statistical lookup the 1987 program required has been replaced with a direct computation. The user no longer needs the printed appendix to run any of the forty-eight procedures.

A note on the new “Advanced” override fields

For the three procedures where the rebuild now computes a value that the original program asked the user to type in (Newman-Keuls, Duncan, and Dunnett’s test), each input form has a small Advanced section. Leaving it blank uses the computed value, which is what most users will want. Filling it in overrides the computation with a value from a specific published table — useful in two situations: matching a result that was originally generated against a particular textbook table or comparing the rebuild against a specialized statistical package that uses a slightly different convention.

Improved precision

All arithmetic is now done in IEEE 754 double precision, giving roughly fifteen to sixteen significant digits internally — about a thousand times more headroom than the 1987 BASIC interpreter’s single precision. In side-by-side comparisons against the book, small differences in the fifth significant figure occasionally appear; in every case the new value matches an independent hand calculation more closely than the 1987 output did. For example, in Procedure 7 (parallel-line construction) the rebuild returns a common slope of 60.2139 against the printed 60.2165 — a rounding artifact of the 1987 single-precision arithmetic, not a calculation difference.

A modern user experience

The original PHARM/PCS was driven by a sequence of keyboard prompts and stored each data series as a separately named disk file (LINE1, LINE2, and so on). The rebuild keeps the same procedural structure but presents it through interface conventions that any modern user already knows.

  • Categorized, searchable sidebar. The forty-eight procedures are grouped into nine pharmacology categories, with a search box that filters by name or keyword as the user types.
  • Spreadsheet-style data grid. Procedures that take multiple groups of values use an editable grid with named groups and add/remove buttons for rows and groups. A plain text area is still available for pasting data straight from a clipboard.
  • One-click book examples. Every procedure has a “Load book example” button that fills in the textbook’s worked example, so the user can see exactly what the procedure does and verify the output against the printed page.
  • Quick Start guide. A short welcome panel appears on the user’s first visit and is reachable any time from the footer.
  • Phone, tablet, and desktop support. On narrow screens the sidebar collapses into a slide-in drawer behind a hamburger button. The same code runs unchanged on phones, tablets, and desktops.
  • Publication-style charts. Charts are now drawn for forty-four of the forty-eight procedures — up from nine in an earlier build — rendered directly from the computed results and scaled to fit any screen. They span linear regressions with confidence bands, graded and quantal dose-response and probit curves, double-reciprocal (Lineweaver-Burk) and Schild plots, Scatchard binding plots, exponential growth and decay curves, shaded area-under-the-curve plots, pharmacokinetic concentration–time profiles, “homogeneous subsets” plots for the ANOVA range tests, and Runge-Kutta numerical integration. The four procedures without a chart (1, 2, 41, and 43) each return a single summary value with no relationship to plot.
  • Copy and CSV export. Every results panel has always-visible buttons to copy the formatted output to the clipboard or download it as a CSV file.

At-a-glance comparison

AspectOriginal PHARM/PCS V4.0 (1987, BASIC for DOS)New Web Version V5.0 (2026)
PlatformDOS-only; required a specific BASIC interpreter and 1980s-era PC hardware. Distributed on floppy diskette or downloaded zip file.Runs in any modern web browser on Windows, Mac, Chromebook, iPad, or phone. No installation, no diskette, no DOS.
Numeric precisionSingle-precision floating point (~6–7 significant digits), with rounding artifacts visible in the printed output.Double-precision floating point throughout (~15–16 significant digits). Tiny 5th-digit differences vs. the 1987 output are improvements, not errors.
Student’s t valuesUser had to look up t in Table A.2 and type it in. Limited to the confidence levels printed in the table.Computed directly from the inverse Student’s t distribution. Any df, any confidence level. No table lookup.
F values (ANOVA, regression)Read from Table A.5, then typed in.Computed directly from the inverse F distribution.
Probit conversionLooked up in Table A.3 (percent → probit) with linear interpolation.Computed directly from the inverse normal CDF — more accurate than table interpolation, especially in the tails.
Studentized range (Newman-Keuls, Duncan)Critical values for q (Tables A.13 and A.14) had to be loaded from disk files prepared from the printed appendix.Computed directly from the studentized range distribution by numerical integration — the same approach used by R’s qtukey and SciPy.
Dunnett’s d (vs. control)Read from Tables A.9a and A.9b and typed in.Computed directly from the multivariate t-distribution.
Litchfield-Wilcoxon 0%/100% correctionRead from Table A.12 and typed in for each affected dose.Encoded directly inside the program and looked up automatically using the expected percent from the first-pass probit regression.
p-valuesNot reported. The user only learned whether a result was significant at the chosen α.Exact two-tailed p-values reported alongside the test statistic, so the strength of the evidence is visible at a glance.
Data entryOne named disk file per data series (LINE1, LINE2, …), entered through a sequence of keyboard prompts.Spreadsheet-style data grid, with named groups and add/remove buttons for rows and groups. A text area is also available for paste-from-clipboard. One-click “Load book example” populates the worked example for instant verification.
OutputFixed-width text on screen, optionally sent to a dot-matrix printer.Formatted on-screen results with one-click Copy and CSV export. Forty-four of the forty-eight procedures now generate publication-style charts directly from the computed results.
ValidationVerified by hand against worked examples during 1987 development.An automated self-test of 265 numeric assertions re-verifies every procedure against the book’s worked examples each time the page loads. The status indicator in the header turns green only when all assertions pass.

What has not changed

The procedures, the formulas, and the worked examples are exactly those of the Manual of Pharmacologic Calculations with Computer Programs. Each procedure carries the same number, the same equations (with their original equation numbers), and the same book example as before. The intent has been to modernize the engine and the user experience, not to revise the science.