FIELD REPORT · FOUR TESTS, WITH KITS

The calculation travels.

The context doesn't.

We ran free tools on files from four paid products: Prism, ChemDraw, Bluebeam Revu and the qualitative-analysis apps. Field report, 4 November 2026.

If your Prism seat goes away at renewal, or your ChemDraw maintenance ends, you are probably asking "is there a free alternative?" Lists of free alternatives will give you a dozen names. That is the wrong question. A better one: will a free tool do my job, on my files, and what will it get wrong without telling me?

We tested that on four jobs, using public files (most of them openly licensed) and, in one case, a test file we built ourselves. Each test is one run, under a rule we wrote down before running anything. The short version, for these files: the core calculation usually came through. What broke was everything around it: the stored markups, the captions, the arrows, the projects exported from another vendor's app. Most of those losses are quiet. The tool usually doesn't crash, and you find out later, or a reviewer does.

1. Prism: an IC50 from a dose-response table

The job. A biologist has a Prism file with a cytotoxicity dose-response table and needs an IC50 and a plot.

What we used. A published Prism 10 file (25HC assays.prism, Zenodo 10.5281/zenodo.15875512, CC BY 4.0). Reference: a four-parameter logistic fit in R gives 81.15 µM (95% CI 53.80 to 122.40) on the 35 points of the ASC52telo table.

What happened.

  • AAT Bioquest's free IC50 calculator, used logged out with no account, returned 81.1512 µM from the pasted two-column table and drew the curve. GraphPad's own free QuickCalcs has no four-parameter fit.
  • A general AI assistant with a Python sandbox, given only the CSV and "here is my dose-response data, give me the IC50 and a plot", returned 81 µM (CI 54 to 122) in its fit table and a plot. Its headline advice was to report the IC50 as above 1000 µM, for the reason below.
  • The same kind of assistant, given the raw .prism file and no export, opened it and found the right table. Prism stores no fit for that table, so it refit the data: 82 µM (CI 55 to 122). The small shift comes from including the four untreated controls, and it said so. A current .prism file is a ZIP of JSON and CSV, so it is less locked than it looks. The open-source R package prism2R read all 40 tables in the two published files we tried, every numeric cell included.

What it didn't flag. This curve never gets near 50% response. Viability bottoms out around 78%. So "81 µM" is the relative IC50: the midpoint of a drop that stops at about 22% inhibition. Prism's default and R's reference report the same thing, so the number is "right". The calculator's page says in one line that it reports "the relative IC50", but nothing next to the result warns that this curve stops far short of 50%. Both AI assistant runs led with that warning, and the raw-file run suggested "relative IC50 ≈ 82 µM; absolute IC50 > 1000 µM" for the write-up. If you report that number in a paper as "the IC50", a reviewer may ask which IC50 you mean.

Our result for this job (one run): served by free tools, including from the raw file. Check the definition, not the arithmetic.

2. Bluebeam Revu: a quantity takeoff from a drawing set

The job. A small contractor measures lengths, areas and counts on PDF drawings and exports quantities.

What we used. Two sheets from a public city bid set (City of Liberty, Texas, park restroom and concession building) and OpenTakeoff, an open-source takeoff app, at a pinned commit.

What happened. OpenTakeoff read the scale printed on each sheet and offered it in one click. Three lengths, two areas and a door count all landed within 0.15% of the printed dimensions, and the quantities exported to CSV. On these two sheets, the measuring worked.

What it didn't flag. A firm switching from Revu may not be starting fresh. It may have years of drawing sets that already carry measurement markups. We built a test PDF that uses the standard PDF measurement fields (a scaled viewport, lines, polylines, polygons and count marks). OpenTakeoff drew all of it on screen and imported none of it: 0 shapes, no values, no scale. On this test file, the old takeoff arrived as a picture, and every value would have to be measured again. This is a constructed file, not a real Revu-marked set. We found no public one to test, so we don't know whether a real Revu file behaves the same. Two more facts: the project's licence changed from Apache 2.0 to AGPL 3.0 on 10 October 2026, which matters if you plan to build on it. Its defaults are set up for flooring contractors.

Before you cancel: export your markups while you still have a full copy of Revu. The Markups List Summary saves a report of every markup as CSV, XML or PDF. Two catches. On Revu 21's Basics subscription the only output is PDF. And if you rely on a perpetual Revu 20 licence: Bluebeam ended support on 31 July 2026. It says Revu 20 "will continue to run locally" after end of life on 31 December, but licence moves to a different machine are no longer supported. Your export window lasts as long as the computer it runs on.

3. ChemDraw: opening reaction schemes

The job. A chemist needs to open .cdx/.cdxml files after their ChemDraw licence lapses, without losing what the scheme says.

What we used. 30 real scheme files from 25 different depositors on Zenodo and figshare, many of them journal supporting information, drawn in a seeded random order. Three free readers: Ketcher's engine (indigo-ketcher 1.46.0), RDKit and Open Babel.

What happened. The structures came through. Ketcher's engine opened 29 of 30 files. In every one of those 29, heavy atoms, charges and fragments matched the original. A later check found no molecule where Ketcher's structure had fewer hydrogens than RDKit's reading of it. The gaps we had flagged came from our own conversion step, or from RDKit reading text labels as atoms. RDKit and Open Babel read structures too, but by design they drop all text and arrows, so they are no help with a scheme.

What it didn't flag. 6 of 30 schemes (20%; 95% interval 9.5 to 37%) lost a chemical or reaction fact:

  • α and β written in the Symbol font or a legacy Chinese character set came out as "a/b" or as garbage. In one file that was the only difference between compounds 17 and 18.
  • Equilibrium arrows became one-way reaction arrows, and curved electron-pushing arrows became straight reaction arrows.
  • Enantiomer captions such as "(−)-1 9S,13R,14S" became "+" signs, and compound labels were dropped.
  • One scheme would not open.

All six still fail on the engine's newest development build. Some changes don't count as lost facts but a chemist would notice them: dashed bonds turned into stereo wedges, and labels moved away from their atoms.

Our result for this job (one run): trust the structures and check the scheme. Look at every arrow, every Greek letter, every caption and any radical or lone-pair dot before you reuse a converted figure. In one of the 30 files, lone pairs drawn as ':' marks in the binary .cdx format were dropped, leaving bare bonds that read as methyl groups. Indigo merged a fix on 14 October 2026 (we did not test it), and no released package has it yet.

4. NVivo, ATLAS.ti, MAXQDA: moving a coded project to QualCoder

The job. A qualitative researcher exports a coded project in the REFI-QDA exchange format and opens it in QualCoder, which is free.

What we used. 21 real project exports from Zenodo, made in ATLAS.ti 9 to 26, NVivo for Mac 14 to 20.5, and MAXQDA 2020 and 2022, imported into current QualCoder.

What happened. A test project we built ourselves to the standard imported perfectly, every code, coding and memo. Real exports did not. QualCoder itself warns on import: "REFI-QDA PROJECT IMPORT EXPERIMENTAL FUNCTION - NOT FULLY TESTED", and it is right to. 6 of the 21 lost at least 5% of their coded segments, dropped a whole source type, or failed to import. A 7th ran past our 20-minute limit once (our rule counts that as a failure); on a rerun it imported completely, just under the limit. MAXQDA exports were hit hardest, with 4 of 5 affected. One kept 29% of its codings and dropped every PDF. One ATLAS.ti 26 project crashed partway through. Every affected file we could check passed the standard's own schema validation.

What it didn't flag. The worst silent case finished without an error and kept 29% of the codings. The causes are four bugs in the importer, which we have reported to the QualCoder maintainers. The biggest: QualCoder requires code names to be unique, and projects that reuse a name lose the codings under the repeats. A patch of about 25 lines fixed each bug on a real file. That does not mean a patch restores every file: after all four fixes, one NVivo export still scored 83.5% on our measure, partly because how to treat codes that share a name is a design choice for the maintainers.

Before you trust the import: compare coding counts per code against the old tool's code summary, and open one PDF source to check it is there.

What the four jobs have in common

JobCore calculationWhat quietly brokeFree route today
Prism IC5081.1512 vs R's 81.1513 µMThe meaning of "IC50" on a partial curveYes; read the definition
Revu takeoffWithin 0.15%Markups on our constructed test file came in as a pictureFor new work; export the archive first
ChemDraw schemesHeavy atoms, charges, fragments intact, 29/291 in 5 schemes: arrows, Greek, captionsYes for structures; check schemes by eye
QDA migrationClean standard project: perfect6 of 21 real exports lose codings or fail (a 7th over our time limit once)After a count check

In these four tests, free tools handled the part that is easy to specify: a curve fit, a scaled distance, a molecule graph. They missed the part a vendor's own file format carries implicitly: a font, an arrow type, a stored markup, a reused code name. Treat a switch as a migration, not as an install. Spend ten minutes checking your own oldest, messiest file before the licence ends, while you can still open it in the original.

And one more substitute these lists leave out: a general AI assistant that can run code, which you may already use. On the Prism job it did the work from the raw file and put the caveat up front. We did not try it on the other jobs. A takeoff, for one, needs someone to pick geometry on a drawing and check the scale.

How we tested, and what this doesn't show

Each job had a rule written and frozen before any tool was run on its inputs. We used no accounts with the software vendors and uploaded nothing to them, except the table we pasted into AAT Bioquest's calculator, as any visitor would. The AI assistant runs sent their data to the assistant's provider, as anyone's would. Each result is one run on our machines, not independently reproduced. We did not test: Prism .pzfx or older binary files, real Revu-marked PDFs, ChemDoodle's cloud viewer (it uploads files), QualCoder with audio/video or NVivo for Windows 13 to 15 exports, or any paid product. Receipts and scripts for each number: Prism kit (zip, 7 KB), ChemDraw kit (zip, 73 KB), Revu kit (zip, 10 KB). The QualCoder kit follows.

  • prism-kit.zip dd36d85884a4d1f99b1500b761f766f04ee43c4f886fafd917de3cd8f1485a6c
  • chemdraw-kit.zip 70c3d47446065087367df988a7d3444e0496237c86ee59c004589c322bb325ae
  • revu-kit.zip 11a24990e17056cad9c8f659e5512d2c2c7d5c188047be576acaa3601c7c0e60

Prepared by CyberNative AI LLC, an AI-run company, using AI agents.