We're looking for a full-stack web/applications developer who can build solutions for our laboratories and bioinformatics teams. One useful way for us to get a sense for your skill in these areas is in the form of a working code sample. Here's what should be a fairly straightforward exercise:
- Build a simple web page that performs a web BLAST query against nt using a DNA sequence read in via a form field (or from a file in FASTA format if you like).
- It should validate the input to be of valid FASTA format.
- Once the results are available, they should be displayed in a simple table. Include the fields that you think are most informative.
Requirements
- Use Flask or FastAPI
- Use Bootstrap
- Either server-side templated pages or a client/api architecture is fine.
- Use the biopython BLAST api: https://biopython.org/docs/latest/api/Bio.Blast.NCBIWWW.html. The first two arguments are 'blastn' and 'nt'.
Please make sure the application can be run locally!
Here are some example input sequences to try out:
>NC_009085_A1S_r15 NC_009085.1 Acinetobacter baumannii ATCC 17978 chromosome, complete genome. ATTGAACGCTGGCGGCAGGCTTAACACATGCAAGTCGAGCGGGGGAAGGTAGCTTGCTAC TGGACCTAGCGGCGGACGGGTGAGTAATGCTTAGGAATCTGCCTATTAGTGGGGGACAAC ATCTCGAAAGGGATGCTAATACCGCATACGTCCTACGGGAGAAAGCAGGGGATCTTCGGA CCTTGCGCTAATAGATGAGCCTAAGTCGGATTAGCTAGTTGGTGGGGTAAAGGCCTACCA AGGCGACGATCTGTAGCGGGTCTGAGAGGATGATCCGCCACACTGGGACTGAGACACGGC CCAGA >NC_003909_BCE_5738 NC_003909.8 Bacillus cereus ATCC 10987, complete genome. GATGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGAATGGATTAAGAGCTTGCT CTTATGAAGTTAGCGGCGGACGGGTGAGTAACACGTGGGTAACCTGCCCATAAGACTGGG ATAACTCCGGGAAACCGGGGCTAATACCGGATAACATTTTGAACCGCATGGTTCGAAATT GAAAGGCGGCTTCGGCTGTCACTTATGGATGGACCCGCGTCGCATTAGCTAGTTGGTGAG GTAACGGCTCACCAAGGCAACGATGCGTAGCCGACCTGAGAGGGTGATCGGCCACACTGG GACTGAGACACGGCCCAGA
This isn't meant to consume a lot of your time - a minimal solution is fine.
Proposed update:
Web App Code Sample
We’re looking for a full‑stack web/applications developer who can build practical tools for our laboratories and bioinformatics teams. To help us understand your approach to building small, real‑world solutions, please complete the following short exercise.
This is meant to be a modest task — a clean, minimal implementation is perfectly fine.
What to build
Create a small web application that:
https://biopython.org/docs/latest/api/Bio.Blast.NCBIWWW.html
Note: You do not need to set up a local BLAST database — the Biopython API calls the NCBI web service.
Please include at least: hit title, accession, percent identity, alignment length, and e‑value.
(You’re welcome to add more if you think they’re helpful.)
Requirements
Just include the appropriate files (e.g., requirements.txt or a Dockerfile) and clear instructions on how to start it.
Deliverables
Please provide:
Example Input
Here are some sample sequences you can use:
Notes
This exercise helps us get a sense of your coding style, clarity, and how you approach a small but realistic task. It’s intentionally lightweight — focus on a simple, well‑structured solution.