Problems & solutions · Custom Software

Genomics Pipeline Platform Problems: The 5 That Cost Real Money, and How to Avoid Them

Genomics Pipeline Platform Development code editor and API illustration showing common problems and fixes.
The short answer

The most expensive failure in a genomics platform build is recording container tags instead of resolved image digests. A tag can be re-pushed, so the environment you believe you pinned is not the environment that ran. The bill arrives two years later, when a reviewer asks you to reproduce a finding and you cannot demonstrate that the result came from a specific environment. At that point the only honest option is reprocessing the cohort, which on a population scale collection is a compute bill nobody planned for and a delay measured in months. Everything else in this category is recoverable. Losing the ability to say what produced a published number is not.

Why does provenance scope get cut down to the workflow file?

Teams arrive at a platform project believing reproducibility is solved because the workflow lives in version control. That belief survives the whole scoping conversation, because it is half true and it sounds rigorous. The workflow file is the smallest part of a reproducible run.

Reproducing a result requires the resolved container image digests rather than tags, the exact reference assembly files and index versions with checksums, the complete parameter set including any per sample overrides, the input sample identifiers with their file checksums, and enough detail about the execution environment to know whether a retry landed on different hardware in a way that could change numerical behaviour. When a project prices reproducibility as storing a repository commit, the cost of capturing the rest lands mid build, and it lands as an argument about whether it is really necessary.

The fix is to make the run registry the deliverable and treat the execution engine as replaceable. Every run stores the workflow commit, resolved digests, reference checksums, full parameters, input checksums, environment details and the output manifest with checksums, as an immutable record. Ask a developer what they store to make a run reproducible before you sign. If the answer stops at a repository and a tag, they have not been burned yet, and they will learn on your data. The payoff is that reproduction becomes a command and drift between two analyses becomes a readable difference rather than a debate.

What goes wrong when you assign provenance and consent to historical samples?

Backfilling the samples you processed before the platform existed is usually the largest single work package and it is almost never in the original estimate. It is genuine archaeology. Runs from three years ago may have a workflow name and a date and nothing else. Reference files have been moved. Container tags point at images that have since been rebuilt. Consent scope lives in a research operations registry maintained separately, and the join key between that registry and your sample manifest is a spreadsheet column somebody maintained by hand.

The tempting shortcut is to synthesise the missing provenance, marking a historical run as having used the pipeline version that was current at the time. Do not. A provenance record that is inferred and looks identical to one that is observed destroys the value of the whole registry, because nobody downstream can tell which is which.

The fix is a confidence flag on every historical record and an explicit unknown state. Mark what was observed, what was inferred and from what evidence, and what could not be established. Then decide, deliberately and with the science leads in the room, which historical cohorts are worth reprocessing to bring them onto a known footing and which will simply carry a caveat forever. That is a scientific decision with a cost attached, and it belongs in a meeting rather than in a data migration script.

Why do the billing, engine and sample registry integrations break after launch?

Three integrations carry this platform and each fails in its own way. Cloud billing exports are the first. Cost attribution depends on tags applied at job submission, and tags applied at submission are only as good as the enforcement. One team submits through a path that bypasses the tagging layer, usually for a good reason during an incident, and three weeks of spend lands as untagged. By the time the finance report shows it, the jobs are gone and the attribution cannot be recovered.

The execution engine is second. Nextflow, WDL and CWL runners evolve, and behaviour around retries, resource requests and reporting changes between versions in ways that quietly alter what your registry records. Third is the sample registry, where identifiers get corrected and samples get re-flagged for quality, so a change made for good laboratory reasons silently alters cohort membership downstream.

The fix is enforcement plus reconciliation rather than trust. Make tagging a hard precondition of submission with no bypass path, and run a daily reconciliation that reports untagged spend as an exception with an owner. Pin and test the engine version like any other dependency, with a regression suite that runs a known sample and compares output checksums after every upgrade. And subscribe to changes in the sample registry rather than polling it, so a quality flag applied on Tuesday surfaces against the cohorts that used that sample rather than sitting unnoticed.

What happens when consent scope is not wired into sample selection?

This is the gap that turns a technical project into a governance incident. Execution platforms implement workspace and project permissions, which answer the question of who may enter a room. Consent scope answers a completely different question: which samples may be used for which purpose by which requester, at this moment.

Where the two are not connected, and at most organisations they are not, the bridge is a person. An analyst asks research operations whether a cohort is permissible, gets an answer by email, and builds the cohort. The failure mode is not malice. It is a well meaning analyst assembling a cohort that includes samples consented for cardiovascular research only, or samples from a site whose data use agreement restricts jurisdiction, or a participant who withdrew last year. Nobody notices until an audit or, worse, a publication.

The fix is purpose bound selection at the point of query. Samples carry consent scope with effective dates. A cohort request declares its purpose. The selection layer returns only what is permitted for that purpose at that moment, records the decision, and can replay later exactly which samples were available and why. Withdrawal has to propagate, removing the participant from future cohorts and generating a task list for derived data already produced. No general execution platform is designed to do this, which is usually the argument that gets the build funded.

Should you build custom or configure what you already own?

Keep the execution engine. This is the clearest advice in the category and it runs against our own commercial interest. Nextflow with Seqera Platform is excellent at running and observing workflows at scale, Terra suits academic work in its ecosystem, and DNAnexus brings a stronger compliance posture for regulated work. Rebuilding any of that is a waste of scientific budget, and a proposal that includes an execution engine should be questioned hard.

If you are a single laboratory running a few hundred samples a year on stable pipelines, stop at the platform you already have. Configure its cost reporting, tidy your storage buckets, write down your reference file versions, and spend the money on sequencing instead. A governance layer above three workflows is engineering for its own sake.

Build the layer above the engine when two or more of these apply. You cannot attribute cloud spend to a programme or a grant. You hold identifiable data under consent scopes your execution platform cannot express. You have been asked to reproduce an analysis from more than a year ago and it was difficult. Reprocessing decisions get deferred because nobody can price them. Or an egress or licensing arrangement is starting to make your data expensive to move, which is the moment to notice that a supplier now has real power over your science.

How do hidden costs get into the quote?

Five things move the number in this category. The count of distinct pipelines is first, because each one needs cost profiling and its outputs classified for lifecycle before any of the storage savings become available. Historical backfill is second and usually the largest, for the reasons above. Multi cloud or on premise compute alongside cloud is third, and it roughly doubles the execution abstraction work rather than adding a connector.

Regulatory posture is fourth. A platform supporting clinical rather than research use carries validation documentation that is real effort and has nothing to do with features. Federated access across contributing institutions is fifth, and it is the element most likely to extend a schedule, because each site brings its own data use agreement, identity system and review committee, none of which move at engineering speed.

The fix is to phase against value rather than against completeness. The run registry and cost attribution pay for themselves quickest and make every later decision cheaper to argue, because once you can price a reprocessing run you can have the conversation about whether to do it. Start there, deliberately exclude backfill from the first release, and decide on historical cohorts once the model has proven itself on new work.

What separates a genomics platform build that works from one that fails?

Working platforms answer three questions on demand. What did this result come from, exactly. What will this reprocessing run cost, within a usable range, before I launch it. And which samples am I permitted to use for this purpose today. A platform that cannot answer all three is a job launcher with extra screens.

The cost question deserves a specific test during selection. Ask how a developer would estimate the cost of a 40,000 sample reprocessing run before it launches. The answer you want involves per sample historical cost by pipeline version and by stage, with a stated confidence range. A spreadsheet of instance prices is not an estimate, it is a hope. Ask separately what they have run on spot or preemptible capacity and how they handled interruption, because a large share of genomics compute savings lives there and handling interruption properly is the difference between a platform that is cheap and one that merely looks modern.

Storage discipline is the third marker. Classify every output at generation as raw and irreplaceable, derived and regeneratable, or published and immutable, and attach an expiry to the regeneratable class. This works only because the run registry pins the environment, which is why the provenance decision is also the storage decision. Without it nobody will authorise deletion.

Finally, run in your own cloud accounts and hold the repository from the first commit. Egress charges and platform lock in give whoever holds the billing relationship real influence over which science happens, and that influence should not sit with a supplier. Settle it in the contract before kickoff, not at handover.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
  2. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  3. Total US training expenditure rose 4.9% to $102.8 billion; learning management systems were used at 89% of organizations (90% of large, 97% of midsize, 84% of small companies), with average training at 40 hours per employee and $874 spent per learner. Source: Training Magazine (2025) →
  4. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
Theo C. · Senior Brand Strategist · New York

Before anything gets designed, someone has to decide what the company is claiming and who it is claiming it to. That is Theo's work: positioning, messaging hierarchy and the language a business uses about itself. Readers get a practical account of how brand decisions later constrain product and site design.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Is storing the workflow repository commit enough for reproducibility?
No, and this is the most common mistake in the category. The workflow is the smallest part of the environment. You also need resolved container image digests rather than tags, since a tag can be re-pushed, plus reference assembly files with checksums, the full parameter set including per sample overrides, input file checksums, and enough execution environment detail to know whether a retry ran somewhere that could change numerical behaviour. Anything less means reproduction is an investigation rather than a command.
How should we handle samples processed before the platform existed?
Backfill them with an explicit confidence flag rather than synthesising provenance that looks the same as observed provenance. Record what was directly observed, what was inferred and from what evidence, and what could not be established at all. Then have the science leads decide which historical cohorts justify reprocessing onto a known footing and which will carry a caveat permanently. That is a scientific and budgetary decision, not something to settle inside a migration script.
Why does cloud cost attribution stop working a few weeks after launch?
Almost always a submission path that bypasses the tagging layer, usually created in good faith during an incident and never removed. The spend lands untagged, the jobs finish, and the attribution cannot be reconstructed afterwards. Make tagging a hard precondition of submission with no bypass, then run a daily reconciliation that surfaces untagged spend as an exception with a named owner rather than as a line in a monthly report.
Can workspace permissions in Terra or Seqera stand in for consent enforcement?
No. Workspace permissions answer who may enter a room. Consent answers which samples may be used for which purpose by which requester, at this moment, with effective dates and withdrawal that propagates. Where the two are not connected, a person is the bridge, and the failure is a well meaning analyst building a cohort that includes samples restricted to a different research purpose. That gap is usually what funds the build.
Should we build our own workflow execution engine?
No, and be sceptical of anyone who proposes it. Nextflow with Seqera Platform, Terra, or a solid WDL runner represent years of work you should not reproduce. Build the layer above: the run registry, cost attribution, consent aware selection, versioned cohorts and storage lifecycle. Keeping the engine replaceable is also what protects you later, because a platform migration should not invalidate your provenance records.
Why do two runs of the same cohort criteria return different sample counts?
Because criteria are not a cohort. New samples arrive, some get quality flagged by the laboratory, and data use agreements change, so the same query resolves differently over time. Make the cohort a versioned object holding the criteria, the resolved sample list, the consent decisions applied, the timestamp and the author, then have analyses reference a cohort version. Refreshing it should show exactly what entered and what left, which is often informative in itself.
What makes federated access across institutions so slow to deliver?
Nothing technical. Each contributing site brings its own data use agreement, its own identity system and its own review committee, and none of those move at engineering speed. The integration work is modest and the approval work is not. If federation is in scope, start the institutional conversations before the build begins and treat their timelines as fixed constraints, because a platform waiting on a review committee looks identical to a platform that is late.
How do we know whether we can safely delete intermediate files?
Only if the environment that produced them is pinned properly. Classify every output at generation as raw and irreplaceable, derived and regeneratable, or published and immutable, and attach expiry to the regeneratable class. Regeneration then becomes a defined operation using stored digests, checksums and parameters rather than a gamble. Without that provenance nobody will sign off on deletion, which is why storage keeps growing at organisations that consider provenance a nice to have.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?