-
Notifications
You must be signed in to change notification settings - Fork 3
Novel peptide output
--peptide reports digestion products from altered proteins that are absent from the complete canonical proteome under the same digestion profile. A peptide is therefore not reported merely because it differs from the canonical version of the same protein: it must also be absent from the canonical peptide SQLite index built from all proteins in the annotation SQLite.
Peptide mode is disabled by default. It adds peptide files to the usual PrecisionProDB outputs and does not change the protein or mutation-annotation files.
Peptide mode requires SQLite annotation mode. Provide a real annotation SQLite path with -S/--sqlite, or omit -S and let PrecisionProDB create <outprefix>.sqlite. --sqlite NONE is not supported with --peptide.
The following source-checkout example uses the bundled GENCODE files and celline.vcf.gz. Run it from the PrecisionProDB repository root.
# Build the reusable annotation SQLite once.
python src/precisionprodb/buildSqlite.py \
-S examples/GENCODE/GENCODE.peptide.sqlite \
-g examples/GENCODE/GENCODE.genome.fa.gz \
-p examples/GENCODE/GENCODE.protein.fa.gz \
-f examples/GENCODE/GENCODE.gtf.gz \
-a GENCODE_GTF \
-o examples/GENCODE/GENCODE.peptide.build \
-t 2
# Enable peptide output. The missing canonical peptide index is built automatically.
python src/precisionprodb/PrecisionProDB.py \
-m examples/celline.vcf.gz \
-S examples/GENCODE/GENCODE.peptide.sqlite \
-o examples/GENCODE/GENCODE.peptide \
-a GENCODE_GTF \
--peptide \
-t 2With the default profile, the automatic index is created beside the annotation SQLite as GENCODE.peptide.trypsin_mc2_len7-35_full_im-both_exact.peptides.sqlite. Later runs that use the same annotation SQLite and profile reuse this index.
Use buildPeptideSqlite after installing the package, or run python src/precisionprodb/peptideSqlite.py from a source checkout, to build an index explicitly. This is useful when several samples share one annotation SQLite.
python src/precisionprodb/peptideSqlite.py \
-S GENCODE.sqlite \
-o GENCODE.trypsin_mc2_len7-35.peptides.sqlite \
--enzyme Trypsin \
--missed-cleavages 2 \
--min-peptide-length 7 \
--max-peptide-length 35
python src/precisionprodb/PrecisionProDB.py \
-m variants.vcf.gz \
-S GENCODE.sqlite \
-o sample \
-a GENCODE_GTF \
--peptide \
--peptide-sqlite GENCODE.trypsin_mc2_len7-35.peptides.sqliteThe index profile must exactly match the peptide options used for the analysis. The profile includes --peptide-enzyme, --peptide-missed-cleavages, --peptide-min-length, --peptide-max-length, --peptide-specificity, --peptide-initiator-methionine, and --peptide-isobaric. Their defaults are Trypsin, 2, 7, 35, full, both, and exact I/L comparison, respectively. --peptide-isobaric normalizes I to L before both comparison and output.
An existing index is validated against both the requested profile and its source annotation SQLite. If either differs, PrecisionProDB stops instead of mixing incompatible peptide sets. Add --rebuild-peptide-sqlite to a peptide-mode run to atomically replace the selected index.
To exclude peptides found in additional known proteins, provide one or more --known-fasta files while building an explicit index:
buildPeptideSqlite -S GENCODE.sqlite -o GENCODE.with-known.peptides.sqlite \
--known-fasta contaminants.fa --known-fasta additional-proteins.faEach additional FASTA is digested with the same profile and contributes its peptides to the canonical membership index.
Peptide mode adds these files to the selected output prefix:
-
PREFIX.pergeno.peptide_novel.tsvcontains one row for every peptide-to-altered-protein mapping. -
PREFIX.pergeno.peptide_novel.facontains each peptide sequence once.
The TSV header is:
peptide_id peptide_sequence protein_id_fasta protein_id individual seqname peptide_start_alt peptide_end_alt variant_AA insertion_AA deletion_AA frameChange stopGain AA_stopGain stopLoss stopLoss_pos enzyme max_missed_cleavages min_peptide_length max_peptide_length specificity initiator_methionine isobaric peptide_config_hash
For the GENCODE example above, one mapping is:
PPDBpep_000978 VSELTFSLSPDDLGTSSIMK ENSP00000011700.6|ENST00000011700.10|ENSG00000048707.15|OTTHUMG00000013155|OTTHUMT00000354898.1|VPS13D-201|VPS13D|3210__1 ENST00000011700.10 HEK293__2 chr1 328 347 E328V(chr1-12279562-A-T) Trypsin 2 7 35 full both False 953ded04677ee128a1b1c5fe2311740c3be823e82c453ef9401067f06497c7ad
-
peptide_ididentifies the nonredundant peptide in both output files. IDs are assigned deterministically after sorting peptide sequences. -
peptide_sequenceis the altered peptide sequence used for canonical-index comparison. -
protein_id_fasta,protein_id,individual, andseqnameidentify the altered protein, transcript, sample or allele, and chromosome. -
peptide_start_altandpeptide_end_altare 1-based inclusive coordinates in the altered protein sequence. -
variant_AAthroughstopLoss_posretain the altered-protein mutation annotations. - The remaining columns record the complete digestion profile and its
peptide_config_hash.
The FASTA is nonredundant even when a peptide maps to more than one altered protein. For example:
>PPDBpep_000001|n_mappings=2
AAAQGHLLAVQLLVTQGAEVDAR
n_mappings is the number of corresponding rows in the TSV. The peptide IDs and FASTA order are deterministic for a given peptide set.
PrecisonProDB