Complete canonical API text; task articles explain the workflows. Tutorials
Site guide · find your task
Setup and learning paths
HomeInstall and prepare the environmentChoose your learning moduleModule I · Chord
1.1 Tables and field meanings1.2 Produce and import comparisons1.3 Build the layers step by step1.4 Direction, curvature and clearance1.5 Filter and summarize links1.6 Full source-file workflow1.7 Complete chord showcaseModule II · Collinear
2.1 Reuse chord input tables2.2 Switch coordinates and add layers2.3 Routes, clearance and the ruler2.4 Compare CDS neighbourhoods2.5 Focus, anchors and segments2.6 Complete collinear showcaseModule III · Plasmid
3.1 DNA, annotations and 13 references3.2 From a circle to annotation layers3.3 Features, primers and restriction3.4 Thirteen plasmid references3.5 Complete plasmid casesConsult as needed · Data and layers
Prepare tables and coordinatesImport and convert dataImport nucleotide and protein alignmentsProject protein intervals to genomic coordinatesFeatures, stacking and genomic decorationLabels and local placementQuantitative tracksMappings, scales, guides and themesSet values by sequence and strandCommon adjustments and grammarExport, preview and diagnosticsLearning map and reference
Articles and complete workflowsFunction referenceReproducible galleryFrequently asked questionsMigrate to the candidate APITerminology and design sourcesDevelopment status and changes
Project explicitly ungapped protein links to genomic coding segments
Source:R/data-project.R
project_ggchord_links.RdSplits paired protein intervals wherever either CDS crosses a segment
boundary, retaining query/subject roles and genomic endpoint directions.
This is a codon-coordinate correspondence, not a new nucleotide alignment.
Source protein identity and length remain prefixed metadata and are never
emitted as nucleotide pident or alignment length. General gapped
alignments require explicit per-column alignment information and cannot be
projected by this endpoint-only helper.
Arguments
- link_data
Data frame with
qfeature_id,sfeature_ididentifying CDS models and ordered inclusive proteinqstart,qend,sstart,send. Query and subject residue spans must be equal. If present,gapopenmust be zero and sourcelengthmust equal this residue span.- cds
A map from
build_ggchord_cds().- ungapped
Must explicitly be
TRUE, confirming an ungapped residue correspondence rather than inferring it from equal endpoint spans.
Value
A paired genomic interval table with CDS parent IDs, source row,
piece number, genomic strands, projected_bases, source-prefixed input
metadata and projection provenance. No alignment identity is computed.
Examples
Code
library(dplyr)
data(plasmid_example_pUC19)
feature_source <- find_common_features(plasmid_example_pUC19)
features <- feature_source |>
select(accver, start, end, strand, type, anno)
coding <- features |>
filter(anno == "AmpR", type == "CDS") |>
select(accver, start, end, strand) |>
mutate(feature_id = paste(accver, "AmpR", sep = ":"), phase = 0)
cds <- build_ggchord_cds(coding, genetic_code = 11)
# Self-correspondence of one real CDS, solely to demonstrate coordinate conversion.
# The same observed residues are paired, so the correspondence is ungapped.
selected <- tibble(
qfeature_id = coding$feature_id, sfeature_id = coding$feature_id,
qstart = 1, qend = 20, sstart = 1, send = 20
)
project_ggchord_links(selected, cds, ungapped = TRUE)