Software for RNA-Seq analysis to create sample-specific proteoform databases from RNA-Seq data
Software for RNA-Seq analysis on Windows, including creating sample-specific proteoform databases from genomic data
Spritz can be downloaded here.
Spritz uses snakemake and a container runtime to install and run commandline tools for Next-Generation Sequencing (NGS) analysis. These tools include an adapted version of SnpEff to annotate sequence variations and create an annotated protein database in XML format. The combinatorics of producing full-length proteoforms from these annotations is written in mzLib’s VariantApplication class.

Install a container runtime. Podman is recommended: it is Apache-2.0, needs no paid subscription, and is what Spritz uses by default.
brew install podman, then podman machine init && podman machine startwinget install RedHat.PodmanDocker still works if you already have it — pass --container-runtime docker. On a cluster, see
Running Spritz on a cluster with Apptainer.
Launch Spritz.
Step 1: Input SRA accessions and/or add FASTQ files.
Step 2: Create and customize your Spritz workflow.
Step 3: Run Spritz!

Spritz runs on the commandline on macOS, Linux and Windows by running the published container: see Running Spritz from the command line. It needs a container runtime and nothing else, and it is the route CI exercises on every push.
Running snakemake directly on the host also works on Linux and macOS, and is covered on the same page as the advanced route.
Spritz drives one of three runtimes, all running the same published image:
| Runtime | Use it for | Flag |
|---|---|---|
| Podman | the default; macOS, Windows, Linux, no Docker Desktop | (nothing — it is the default) |
| Docker | you already have it installed | --container-runtime docker |
| Apptainer | HPC clusters, where a root daemon is not permitted | --container-runtime apptainer |
The image is published to both Docker Hub and GitHub
Container Registry (ghcr.io/smith-chem-wisc/spritz). Prefer GHCR on a cluster: Docker Hub rate-limits
anonymous pulls per IP address, and everyone on a login node shares one. Each release also attaches a
.sif for compute nodes with no outbound network.
Add SRR629563 to the SRA list.
Create the Spritz workflow. Select “release-97” and “homo_sapiens.”
Run Spritz!
Monitor progress in the Information textbox. The final database named final/combined.spritz.snpeff.protein.withmods.xml.gz can be used to search MS/MS with MetaMorpheus to find variant peptides and proteoforms, possibly with modifications. We recommend performing 1) Calibration, 2) Global PTM Discovery (G-PTM-D), and 3) Search tasks to get the best results.

The final database named final/combined.spritz.snpeff.protein.fasta is generated to contain variant protein sequences, and it may be used in other search software, such as Proteome Discoverer, ProSight, and MASH Explorer.
The final database named final/combined.spritz.snpeff.protein.withdecoys.fasta contains the same variant
protein sequences with decoy sequences appended.
final/Each database is written in several forms for different search engines, plus two tables describing it.
| File | Use |
|---|---|
*.protein.withmods.xml.gz |
MetaMorpheus. Carries sequence variants and the UniProt modifications transferred onto them. |
*.protein.fasta |
Proteome Discoverer, ProSight, MASH Explorer. Targets only. |
*.protein.withdecoys.fasta |
The same, with decoys appended. |
*.protein.fragpipe.fasta |
FragPipe/Philosopher. Same sequences, headers rewritten to the UniProt form Philosopher parses. |
*.protein.withdecoys.fragpipe.fasta |
The same, with decoys, using Philosopher’s rev_ prefix. |
*.protein.accname.tsv |
One row per variant-bearing entry: accession, full name, sequence. |
*.protein.vardesc.tsv |
One row per applied variant, with the SnpEff annotation split into named columns. |
The FASTA header mzLib writes embeds the original VCF line as the protein description, which Philosopher
cannot parse — it requires a description free of commas and other special characters. The .fragpipe.fasta
copies drop that description and the per-variant detail is carried by *.protein.vardesc.tsv instead, keyed
on the same accession, so nothing is lost. Sequences are byte-identical between a database and its
.fragpipe.fasta copy.
*.protein.vardesc.tsv columns follow the SnpEff ANN field
spec: accession, variant, allele, effects,
putative_impact, gene_name, gene_id, feature_type, feature_id, transcript_biotype, rank,
total, hgvs_c, hgvs_p, cdna_position, cdna_length, cds_position, cds_length,
protein_position, protein_length, distance_to_feature, warnings, raw_vcf_line. The last column is
the annotation verbatim, so every parsed field can be checked against its source.
If you use this Spritz, please cite:
Spritz: Cesnik, A. J.; Miller, R. M.; Ibrahim, K.; Lu, L.; Millikin, R. J.; Shortreed, M. R.; Frey, B. L.; Smith, L. M. “Spritz: A Proteogenomic Database Engine.” J. Proteome Res. 2021, 20, 4, 1826–1834. https://pubs.acs.org/doi/abs/10.1021/acs.jproteome.0c00407The FragPipe-ready header format follows Philosopher’s database documentation. Thanks to @MiguelCos, who worked out what FragPipe needed and shared a header adaptation script in issue #221 long before this was built in.
This pipeline uses the following tools:
sra-toolkit: Leinonen, R.; et al. International Nucleotide Sequence Database Collaboration. The Sequence Read Archive. Nucleic Acids Res. 2011, 39 (Database issue), D19-21. https://doi.org/10.1093/nar/gkq1019.fastp: Chen, S.; et al. fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics 2018, 34 (17), i884-i890. https://academic.oup.com/bioinformatics/article/34/17/i884/5093234hisat2: Kim, D.; et al. Graph-Based Genome Alignment and Genotyping with HISAT2 and HISAT-Genotype. Nat. Biotechnol. 2019, 37 (8), 907-915. https://doi.org/10.1038/s41587-019-0201-4.”samtools: Li, H.; et al. The Sequence Alignment/Map format and SAMtools. Bioinformatics 2009, 25 (16), 2078-2079. https://academic.oup.com/bioinformatics/article/25/16/2078/204688.GATK: McKenna, A.; et al. The Genome Analysis Toolkit: A MapReduce Framework for Analyzing next-Generation DNA Sequencing Data. Genome Res. 2010, 20 (9), 1297-1303. https://doi.org/10.1101/gr.107524.110.SnpEff: Cingolani, P.; et al. A Program for Annotating and Predicting the Effects of Single Nucleotide Polymorphisms, SnpEff: SNPs in the Genome of Drosophila Melanogaster Strain W1118; Iso-2; Iso-3. Fly (Austin) 2012, 6 (2), 80-92. https://doi.org/10.4161/fly.19695.StringTie2: Kovaka, S.; et al. Transcriptome assembly from long-read RNA-seq alignments with StringTie2. Genome Biol 2019, 20 (278), 1-13. https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1910-1