Peptide mapping and junction review for fusion proteins.
FusionPep maps peptide sequences, supplied directly or from a peptide-spectrum match (PSM) export, to a proposed fusion protein and its two parent proteins. It reports every mapped occurrence, parent sharing, residue coverage, and global and local fusion-to-parent alignments. When junction coordinates are supplied, it checks whether each occurrence crosses a junction with the required number of residues on both sides. The results come together in an HTML report, with CSV tables, an R result object, and publication-sized PNG and PDF figures.
FusionPep analyzes sequence matches. It does not search spectra, validate PSMs, or establish peptide detection, FDR-controlled evidence, or biological fusion expression. Absence from the two supplied parents does not show that a peptide is unique across the proteome.
The example report for the bundled PML::RARA data. Tour every report section.
FusionPep needs R 4.6.0 or newer. Setup bootstraps renv and installs the locked dependency versions into a project-local library:
git clone https://github.com/LangeLab/FusionPep.git
cd FusionPep
Rscript setup_renv.R
Rscript run_fusion_mapper.R --output=results/exampleOpen results/example/fusion_peptide_mapper_report.html. The bundled PML::RARA example uses literature reference peptides and controls, not PSMs measured by this project. The worked example explains its decisions, and the input source notes record the verified sources and the longer peptide's unconfirmed literature attribution.
Setup needs network access, and compiling dependencies can need a system build toolchain; on Linux, also install the zlib development headers (for example zlib1g-dev). PDF figures need an R build with Cairo graphics.
Supply a protein FASTA with records named Fusion, ParentA, and ParentB, a peptide CSV with a peptide column, and a junction CSV:
Rscript run_fusion_mapper.R \
--fasta=input/my-fusion.fasta \
--peptides=input/my-peptides.csv \
--junctions=input/my-junctions.csv \
--output=results/my-fusionPass every input explicitly: an omitted input falls back to the bundled example file. Relative paths resolve from the project root. Input formats describes each file, and Rscript run_fusion_mapper.R --help lists all options.
The same analysis is available as R functions, which return the results without writing files:
for (path in list.files("R", pattern = "[.]R$", full.names = TRUE)) source(path)
result <- run_fusion_analysis(
sequence_file = "input/sequences.fasta",
peptide_file = "input/peptides.csv",
junction_file = "input/fusion_junctions.csv"
)
result$peptide_summaryR interface covers the arguments, the returned object, and writing outputs and reports.
The documentation lives in the wiki/ directory, which is also the source of the GitHub Wiki.
- Getting started: prerequisites, setup, commands, options, and path behavior.
- Input formats: protein records, peptide tables, and junction definitions.
- Interpreting results: mapping classes, junction decisions, coverage, and scientific limits.
- Reports and figures: report navigation, figures, printing, and saved outputs.
- Worked example: the bundled PML::RARA inputs and their results.
- Troubleshooting: setup, input, and interpretation checks.
- Architecture: analysis flow, source organization, and development checks.
Run the tests with the project library installed:
Rscript -e 'testthat::test_dir("tests/testthat")'Rscript check_project.R runs the full local gate: parsing, lint, tests, the bundled example, and output checks. It regenerates results/, so keep any earlier run elsewhere. Continuous integration runs the same gate with a coverage floor on Linux, and the tests on macOS and Windows. Changes are recorded in CHANGELOG.md. Pushing a vX.Y.Z tag that matches the version publishes a GitHub release with that version's changelog section as notes.
Issue reports and contributions are welcome through GitHub issues.
If you use FusionPep in your work, please cite it:
@software{ergin_fusionpep_2026,
author = {Ergin, Enes K. and Conrrero, Agustina and Lange, Philipp F.},
title = {{FusionPep}: Peptide mapping and junction review for fusion proteins},
year = {2026},
url = {https://github.com/LangeLab/FusionPep},
license = {MIT},
}CITATION.cff carries the same metadata for tools that read it, including GitHub's Cite this repository button.
MIT License; see LICENSE. The bundled reference sequences keep the source attribution in input/README.md.
