Local engine · research use only

Build the BAM control
you meant to build.

Choose a BAM on the computer or paste a direct HTTPS download link. Then add a defined number of ALT-supporting alignment records and verify every changed record before the output is published.

Python 3.10+ · Windows, macOS, Linux · no runtime dependencies · BAMs stay on your computer

Preflight EGFR T790M
exact target feasible
GRCh37 chr7:55,249,071 C>T
Eligible depth186
Baseline ALT0
Planned edits10
Projected ALT10
Candidate BAM will be verified before atomic publication
230automated checks pass
10independent ALT delta confirmed
0runtime dependencies
Localno BAM upload

Two ways to provide the input

Choose a local path
or paste a download link.

The downloaded SpikeForge app supports both methods. In either case, the BAM is processed on the colleague’s own computer and the modified output is written to a local folder.

02 Downloads locally first

Direct HTTPS download link

Paste a link that downloads a BAM without requiring the colleague’s browser login. SpikeForge downloads, checks, and hashes it locally before enabling the mutation workflow.

HTTPS link https://data.example.org/sample.bam
  • Public Dropbox shared-file links can work when anonymous download is enabled.
  • Private Dropbox /home/, folder, and login pages are not direct BAM downloads.
  • Signed link details are not shown in progress or result summaries.
The public website never receives a BAM. The local app either opens the selected path or downloads the HTTPS source onto that computer, then runs SpikeForge there. Outputs are always local.

A precise question deserves a precise control

“Insert ten T790M reads”
has more than one meaning.

01

Add ten ALT records

Edit ten additional eligible BAM alignment records. If the input already contains three ALT reads, the output aims for thirteen.

target_mode = added_alt_reads
02

Finish with ten ALT records

Measure the baseline first, then edit only what is needed. Three existing ALT reads means seven additional edits.

target_mode = final_alt_reads
03

Target an allele fraction

Retain the original VAF workflow when a proportion, rather than a record count, is the intended control.

target_mode = vaf

Try the count logic

What should SpikeForge edit?

This illustrates count semantics. The real preflight also considers eligibility and molecular-family sizes.

Designed for real sequencing files

The website explains it.
The local app does the work.

A hosted page cannot safely browse arbitrary BAM paths on a colleague’s hard drive. SpikeForge therefore uses a browser interface backed by a loopback-only engine, which can open a chosen local path or download a direct HTTPS source onto that same computer.

Single BAM

Preflight before writing

  • Choose a local BAM path or download and inspect a direct HTTPS BAM link.
  • Choose GRCh37 or GRCh38 EGFR T790M, or enter another variant.
  • Review baseline ALT, eligible depth, planned edits, projected VAF, and feasibility.
  • Enable strict exact count to fail closed if family coherence makes the count impossible.
Batch CSV

One plan for a cohort

  • Use exactly one input_bam path or input_url link per row.
  • Linked BAMs download locally before header and mutation-plan validation.
  • Validate headers, contigs, paths, collisions, and estimated disk space first.
  • Process samples sequentially with isolated failures and per-sample truth folders.

Verification is a gate, not a badge

The final path appears only
after the candidate passes.

spikeforge · pre-publication verification
$ survey      chr1:500 A>T
 requested   added_alt_reads = 10
 planned     10 records · exact feasible
 rewrite     private candidate BAM
 verify      in=3,270 out=3,270
 identical   3,260
 modified    10 expected records
 unexpected  0
PASS atomic publication completed
182

Focused pytest cases

Count targeting, transaction behavior, truth fields, batch parsing, server APIs, verifier and realism regressions.

48

Original registry checks

The pre-existing BAM, FASTQ, fusion, indexing, batch, and reproducibility registry remains green.

10

Independent ALT delta

Bamnostic independently parsed all 3,270 output records and measured exactly ten new ALT bases.

BAI

Independent indexed fetch

Bamnostic loaded the generated index and fetched the edited interval from an official HTSlib fixture-derived output.

Audit trail included

A BAM is only one part
of the result.

.bamModified alignment file
.bam.baiIndex for coordinate-sorted input
truth.vcfRequested, baseline, planned, achieved, and exactness fields
edit_ledger.tsvOne row per record-level edit
planted_read_names.tsvRecord identities and digests
manifest.jsonConfiguration, checksums, audit and verification outcome

Scientific boundaries

Useful for validation.
Not a clinical claim.

BAM-stage scope

BAM editing tests processing from the aligned-read stage. It does not test extraction, library preparation, sequencing, or alignment. Use FASTQ controls through the production aligner for full-pipeline experiments.

Records are not molecules

A BAM alignment record is not automatically a unique DNA molecule. SpikeForge preserves mate, UMI, and duplicate-family coherence; exact small counts can therefore be infeasible.

External validation remains yours

Run the intended samtools/Picard stack, caller, filters, and visual review on representative outputs. A modeled or synthetic result is not clinical sensitivity or clinical validation.

Research preview 1.1.0rc2

Run it where the BAMs live.

Download one complete ZIP. On Windows, extract it and double-click Launch SpikeForge.cmd. Then choose a local BAM path or paste a direct HTTPS BAM link. The package includes the source, wheel, examples, test suite, and biologist quick start.

Download complete package SHA-256 checksum 366.0 KiB ZIP · SHA-256 verified