Skip to content
Life sciences

Potato for life sciences and biocuration

Review variant calls in igv.js and mark residues on 3D protein structures or AlphaFold models, with each reviewer's call stored on your own server.

Potato puts a genome locus in igv.js or a protein structure in a 3D viewer in front of reviewers and records each reviewer's call, such as a variant judged real or the residues of a binding site. Potato is free and open source and runs on your own server, so unpublished data stays on your machines.

Manual review is a standard step after automated analysis in genomics and structural biology. Variant callers are followed by people checking the reads under each call, and predicted structures are checked residue by residue against their confidence scores. A published standard operating procedure for somatic variant refinement gives reviewers four calls, Somatic, Germline, Ambiguous, and Fail, and was written to reduce how much reviewers differ from one another (Barnell et al., 2019). Potato runs that kind of review as a study, which means each locus or structure goes to the reviewers you assign, every call is stored with the person who made the call, and agreement between reviewers can be measured.

Life sciences tasks in Potato

Each row is a display or scheme that ships with Potato 2.12, and the linked page has its configuration.

TaskHow Potato does itDocs
Manual variant reviewA genome_locus display opens each call in igv.js with the reference, reads, variant calls, and other tracks, beside a radio question for the callGenome loci
Mark residues on a structureA protein_structure display shows mmCIF or PDB files in 3D, and a viewer_selection scheme stores the residues clicked, such as a binding site or an interfaceProtein structures
Review a predicted modelThe same display colors the cartoon by pLDDT and shows a PAE image beside it, so reviewers can flag regions where the model looks wrongProtein structures
Curate biomedical textSpan labels for genes, chemicals, or diseases, plus relations between themSpan annotation
Classify imagesLabels, boxes, and polygons on microscopy or histology images, with deep zoom for gigapixel slidesDeep zoom

A variant review project

The part of a config below opens each item's locus in igv.js with a local reference, a VCF of calls and the sample's reads, and asks the reviewer for a call. The labels follow the four calls of the Barnell et al. procedure, and the full configuration with the data format is on the genome loci page.

yaml
instance_display:
  fields:
    - key: locus
      type: genome_locus
      label: "Locus"
      display_options:
        reference:
          fasta: genome/ref.fa           # .fai next to it
          name: ref
        flank: 60
        tracks:
          - name: "Calls"
            url: calls/cohort.vcf.gz     # .tbi next to it
          - name: "Reads"
            field: bam                   # each item names its BAM file
 
annotation_schemes:
  - annotation_type: radio
    name: call_review
    description: "What is this call?"
    labels: ["Somatic", "Germline", "Ambiguous", "Fail"]
    label_requirement:
      required: true

igv.js ships with Potato and reads indexed BAM, CRAM, VCF, and FASTA files a slice at a time from the media directory. With a local reference and local tracks, the page loads nothing from outside the Potato server.

Working alongside IGV, Mol*, and curation tools

Desktop IGV is where most people look at reads, and tools such as igver and BatchIGVPictures script batches of IGV screenshots for reviewing many calls. Mol* and ChimeraX are the viewers for exploring a structure in depth. Potato embeds igv.js and a 3D structure viewer (3Dmol.js by default, Mol* as an option) so that a review becomes a queue of items with one stored answer per reviewer. Potato does not call variants, predict structures, or replace a lab's analysis software.

Frequently asked questions

Can reviewers see reads in igv.js and record a call for each variant?

Yes. The genome_locus display opens each item's locus in igv.js with the reference sequence, read alignments, variant calls, and any other tracks you list, and a radio question beside the viewer records the call. A viewer_selection scheme can also record which call or feature the reviewer clicked as evidence. The radio shortcuts work while igv.js is on the page.

Can experts review an AlphaFold model's confidence region by region?

Yes. The protein_structure display colors the structure by pLDDT and can show the PAE image beside the structure, and reviewers click the residues where the model looks wrong, which a viewer_selection scheme stores. A structure loads from the project's media directory, or from an AlphaFold DB URL when the display sets allow_remote: true.

Can it run on our own server so unpublished data never leaves the institution?

Yes. Potato runs on your server, and both viewers read their files from the project's media directory by default. The genome display loads nothing from outside the Potato server when the reference and tracks are local, and a structure URL is fetched only when allow_remote: true is set.

Further reading

References

  1. Barnell et al. (2019). Standard operating procedure for somatic variant refinement of sequencing data with paired tumor and normal samples. Genetics in Medicine 21. https://doi.org/10.1038/s41436-018-0278-z

Start here

Example designs

Each design is a working Potato configuration you can download and run.

ChemProt - Chemical-Protein Interaction AnnotationIdentify chemical and gene/protein entities and classify their interaction types in biomedical text, based on the ChemProt corpus from BioCreative VI (Krallinger et al., 2017). Supports relation extraction for drug-target interaction mining from literature.BioNLP 2011 - Gene Regulation Event ExtractionBiomedical event extraction for gene regulation, based on the BioNLP 2011 Shared Task (Kim et al., ACL Workshop 2011). Annotators identify biological entities and mark regulatory events such as gene expression, transcription, and protein catabolism in scientific abstracts.Biomedical Named Entity Recognition (JNLPBA)Named entity recognition for biomedical text based on the JNLPBA shared task. Annotate the five GENIA bio-entity classes (protein, DNA, RNA, cell line, cell type) in molecular-biology MEDLINE abstracts, following BioNLP community standards.Biomedical Entity Linking (MedMentions)Entity mention detection and UMLS concept linking for biomedical text based on MedMentions. Annotators identify biomedical entity mentions in PubMed abstracts and link them to UMLS Concept Unique Identifiers (CUIs), supporting large-scale biomedical knowledge base construction and clinical NLP.Camelyon17 - Breast Cancer Metastasis Detection in PathologyPathology slide annotation for breast cancer metastasis detection. Based on the CAMELYON grand challenge (Ehteshami Bejnordi et al., JAMA 2017), annotators delineate tumor regions in whole-slide histopathology images and classify slides as positive or negative for metastasis.

Other fields

All use cases