# SynExtend 1.24.0 (Bioconductor)

Tools for Comparative Genomics

[Record of Bioconductor 3.23](/bioc/SynExtend/v/3.23.md) | Compare: [With 3.22](/bioc/SynExtend/compare/3.22...3.23.md), [With another package](/compare/SynExtend.md#add), [Downloads](/downloads/compare/SynExtend.md#add) | [Licences](/bioc/SynExtend/licences.md) | [SBOM](/bioc/SynExtend/sbom.md)

Install from Bioconductor: `BiocManager::install("SynExtend")`

Also from:

- Bioconda: `conda install -c bioconda bioconductor-synextend` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._

- Bioconductor build: OK (release 3.23)
- Distinct IPs a month: 586 (Rank 1,494 in its category)
- Dependent packages: 0 (none suggest it)
- Bioconductor releases: 13 (since 2020)
- Advisories: None published (for Bioconductor)

## About

[Method](/about/licenses.md)

A multitude of tools for comparative genomics, focused on large-scale analyses of biological data. SynExtend includes tools for working with syntenic data, clustering massive network structures, and estimating functional relationships among genes.

- Maintainer: Nicholas Cooley
- Licence: [GPL-3](/licences/GPL-3.md)
- Last updated: 28 Apr 2026
- First release: Bioconductor 3.11, 28 Apr 2020

- [Bioconductor page](https://bioconductor.org/packages/SynExtend)
- [Source repository](https://github.com/npcooley/synextend)
- [Issues](https://github.com/npcooley/SynExtend/issues/new/)
- [Source of every release](https://github.com/bioc/SynExtend)

[Compare with another package](/compare/SynExtend.md#add)

**More details**

- Releases: 13 of 49 Bioconductor releases
- Category: software
- Needs R: >= 4.5.0

**biocViews (4)**

- [Genetics](/topics/bioc/Genetics.md)
- [Clustering](/topics/bioc/Clustering.md)
- [ComparativeGenomics](/topics/bioc/ComparativeGenomics.md)
- [DataImport](/topics/bioc/DataImport.md)

**Cite**

#### Package

Run in R for the authors' preferred citation:

`citation("SynExtend")`

APA: Cooley, N., Fernando, A., Lakshman, A., & Wright, E. (2026). SynExtend: Tools for Comparative Genomics (Version 1.24.0) [Computer software]. https://bioconductor.org/packages/SynExtend

BibTeX:

```
@Manual{SynExtend,
  title  = {SynExtend: Tools for Comparative Genomics},
  author = {Cooley, Nicholas and Fernando, Adelle and Lakshman, Aidan and Wright, Erik},
  year   = {2026},
  note   = {R package version 1.24.0},
  url    = {https://bioconductor.org/packages/SynExtend}
}
```

This package has no citation file, so `citation()` returns this entry built from `DESCRIPTION`.

#### R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA: Balamuta, J. J. (2026). R Observatory: Metrics for SynExtend version 1.24.0 [Data set]. HJJB, LLC. Data release v2026-10-27. https://doi.org/10.5281/zenodo.21843040

BibTeX:

```
@misc{robservatorySynExtend,
  author    = {Balamuta, James Joseph},
  title     = {{R} {Observatory}: Metrics for {SynExtend} version 1.24.0},
  year      = {2026},
  publisher = {HJJB, LLC},
  doi       = {10.5281/zenodo.21843040},
  url       = {https://r-observatory.thecoatlessprofessor.com/bioc/SynExtend},
  note      = {Data set. Data release v2026-10-27}
}
```

From data release v2026-10-27, which the citation names so these numbers can be found later.

## Health

[Method](/about/checks-health.md)

Release 3.23: OK 23 Oct 2026

6 build steps: 6 OK.

**Machines (2)**

| Machine | Install | Build | Check |
| --- | --- | --- | --- |
| kunpeng2 | OK | OK | OK |
| nebbiolo1 | OK | OK | OK |

**Devel 3.24: Timeout**

10 build steps: 1 Timeout, 9 OK.

| Machine | Install | Build | Check | Build binary |
| --- | --- | --- | --- | --- |
| lconway | OK | OK | Timeout | OK |
| nebbiolo2 | OK | OK | OK |  |
| taishan | OK | OK | OK |  |

**Built files (3)**

| Platform | Kind | File |
| --- | --- | --- |
| macOS (Intel) | binary | `SynExtend_1.24.0.tgz` |
| macOS (Apple Silicon) | binary | `SynExtend_1.24.0.tgz` |
| source | source | `SynExtend_1.24.0.tar.gz` |

## Downloads

[Method](/about/downloads.md)

- Downloads in the latest complete month: 4,830 (It comes from Bioconductor alone. Bioconda was counted over another window, so it is not added.)

Bioconductor alone: rank in its category, by distinct IPs a month: 1,494 of 3,170.

| Channel | Downloads in the latest complete month | In the total | Rank in that channel | Change |
| --- | ---: | --- | --- | --- |
| Bioconductor | 4,830 | yes |  |  |

- Bioconductor: Distinct IP addresses average 586 a month over 12 months, which is a different measure and is never added.
- Bioconda: 83 in the last 30 days. It is not added because it has no figure for the latest complete month.

Other windows: [Last 12 complete months](/bioc/SynExtend.md?win=12_months#downloads).

Downloads over time are drawn for CRAN packages only.

[Compare downloads](/downloads/compare/SynExtend.md#add)

## Dependencies

[Method](/about/reverse-dependencies.md)

- Needs: 12
- Dependent packages: 0 (0 on CRAN, 0 on Bioconductor)
- Suggested by: 0

**Needs (12)**

- [Biostrings](/bioc/Biostrings.md)
- [DBI](/cran/DBI.md)
- [DECIPHER](/bioc/DECIPHER.md)
- graphics
- grDevices
- [IRanges](/bioc/IRanges.md)
- methods
- parallel
- [RSQLite](/cran/RSQLite.md)
- [S4Vectors](/bioc/S4Vectors.md)
- stats
- utils

- Needed in total: 32 packages

**Optional extras (5)**

- [BiocStyle](/bioc/BiocStyle.md)
- [igraph](/cran/igraph.md)
- [knitr](/cran/knitr.md)
- [markdown](/cran/markdown.md)
- [rmarkdown](/cran/rmarkdown.md)

## Code

[Method](/about/code-metrics.md)

Selected function: `dendrapply`

- Kind: Public R function
- File: R/dendrapply.R, line 1
- Lines: 45
- Complexity: 7

Called by 6: [`fastCoph`](/bioc/SynExtend.md?fn=fastCoph&view=focus#code), [`validate_EvoWeaver`](/bioc/SynExtend.md?fn=validate_EvoWeaver&view=focus#code), [`FitchParsimony`](/bioc/SynExtend.md?fn=FitchParsimony&view=focus#code), [`as.dendrogram.DecisionTree`](/bioc/SynExtend.md?fn=as.dendrogram.DecisionTree&view=focus#code), [`plot.DecisionTree`](/bioc/SynExtend.md?fn=plot.DecisionTree&view=focus#code), [`subset.dendrogram`](/bioc/SynExtend.md?fn=subset.dendrogram&view=focus#code)

Calls 2: [`do_dendrapply`](/bioc/SynExtend.md?fn=do_dendrapply&view=focus#code), [`free_dendrapply_list`](/bioc/SynExtend.md?fn=free_dendrapply_list&view=focus#code)

Paths: 2 steps each way.

Called by 6:

- [`fastCoph`](/bioc/SynExtend.md?fn=fastCoph&view=focus#code), called by 2
  - [`MoransI.EvoWeaver`](/bioc/SynExtend.md?fn=MoransI.EvoWeaver&view=focus#code)
  - [`RandCophProfiles.EvoWeaver`](/bioc/SynExtend.md?fn=RandCophProfiles.EvoWeaver&view=focus#code)
- [`validate_EvoWeaver`](/bioc/SynExtend.md?fn=validate_EvoWeaver&view=focus#code), called by 2
  - [`[.EvoWeaver`](/bioc/SynExtend.md?fn=%5B.EvoWeaver&view=focus#code)
  - [`EvoWeaver`](/bioc/SynExtend.md?fn=EvoWeaver&view=focus#code)
- [`FitchParsimony`](/bioc/SynExtend.md?fn=FitchParsimony&view=focus#code)
- [`as.dendrogram.DecisionTree`](/bioc/SynExtend.md?fn=as.dendrogram.DecisionTree&view=focus#code)
- [`plot.DecisionTree`](/bioc/SynExtend.md?fn=plot.DecisionTree&view=focus#code)
- [`subset.dendrogram`](/bioc/SynExtend.md?fn=subset.dendrogram&view=focus#code)

Calls 2:

- [`do_dendrapply`](/bioc/SynExtend.md?fn=do_dendrapply&view=focus#code), calls 2
  - [`new_apply_dend_func`](/bioc/SynExtend.md?fn=new_apply_dend_func&view=focus#code), calls 2
  - [`free_dendrapply_list`](/bioc/SynExtend.md?fn=free_dendrapply_list&view=focus#code)
- [`free_dendrapply_list`](/bioc/SynExtend.md?fn=free_dendrapply_list&view=focus#code)

The open file in the files map is `R/dendrapply.R`.

- Functions: 1
- Lines: 45
- Calls that stay inside it: 0
- Calls to other files: 2, to 1
- Calls from other files: 6, from 5

It calls: `src/dendrapply.c` (2 calls)

Called from: `R/RandForest.R` (2 calls), `R/EvoWeaver-utils.R` (1 call), `R/EvoWeaver-class.R` (1 call), `R/FitchParsimony.R` (1 call), `R/subset-dendrogram.R` (1 call)

| Function in dendrapply.R | Calls in other files |
| --- | --- |
| [`dendrapply`](/bioc/SynExtend.md?fn=dendrapply&view=focus#code) selected | [`do_dendrapply`](/bioc/SynExtend.md?fn=do_dendrapply&view=focus#code), [`free_dendrapply_list`](/bioc/SynExtend.md?fn=free_dendrapply_list&view=focus#code) |


18 files with no calls to or from another: `R/BlastSeqs.R`, `R/BlockExpansion.R`, `R/BlockReconciliation.R`, `R/CheckAgainstReport.R`, `R/EstimRearrScen.R`, `R/EvoWeb-class.R`, `R/ExpandDiagonal.R`, `R/ExtractBy.R`, `R/FastQFromSRR.R`, `R/gffToDataFrame.R`, `R/LinkedPairs-class.R`, `R/NucleotideOverlap.R`, `R/PairSummaries.R`, `R/PrepareSeqs.R`, `R/SequenceSimilarity.R`, `R/SubSetPairs.R`, `src/R_init_synextend.c`, `src/tabulate_mod.f95`.

The whole package has 405 function names in 73 files and 603 calls between them. Most calls between files: `R/EvoWeaver-PPPreds.R` and `R/EvoWeaver-utils.R` (39 calls), `src/ExoLabel/ExoLabel.c` and `src/ExoLabel/FallbackDefines.h` (31 calls), `src/ExoLabel/ExoLabel.c` and `src/ExoLabel/FileHandlers.c` (21 calls), `R/EvoWeaver-PPPreds.R` and `src/CDend.c` (20 calls), `src/ExoLabel/FallbackDefines.h` and `src/ExoLabel/FileHandlers.c` (16 calls).

Graph: the whole call graph has 333 function names that take part in a call and 603 calls between them, set out in 10 layers with callers before what they call. 72 function names have no calls and are left out. Called by the most functions: `error` (34), `ProcessSubset` (21), `safe_malloc` (18), `Diag` (15), `R_CheckUserInterrupt` (15). Calling the most functions: `R_LPOOM_cluster` (25), `kway_mergesort_file_inplace` (18), `kway_mergesort_file` (17), `csr_compress_edgelist_trie` (11), `PAOverlap.EvoWeaver` (11).

Most connected functions: [`ProcessSubset`](/bioc/SynExtend.md?fn=ProcessSubset&view=focus#code) 21, [`Diag`](/bioc/SynExtend.md?fn=Diag&view=focus#code) 15, [`BuildSimMatInternal`](/bioc/SynExtend.md?fn=BuildSimMatInternal&view=focus#code) 14, [`PAProfiles`](/bioc/SynExtend.md?fn=PAProfiles&view=focus#code) 13, [`findSpeciesTree`](/bioc/SynExtend.md?fn=findSpeciesTree&view=focus#code) 11, [`PAOverlap.EvoWeaver`](/bioc/SynExtend.md?fn=PAOverlap.EvoWeaver&view=focus#code) 11

To select another function, add ?fn=NAME to this address.

The call graph also has an address of its own: /bioc/SynExtend/graph.md?fn=dendrapply&view=focus

- Functions: 414
- Public exports: 44
- Lines of R code: 17,411
- Median complexity: 5

**Functions (414)**

| Function (sorted, low to high) | Kind | File | Lines | Complexity |
| --- | --- | --- | ---: | ---: |
| [`AAHitScoping`](/bioc/SynExtend.md?fn=AAHitScoping#code) | Public | R/AAHitScoping.R | 90 | 1 |
| [`ApproximateBackground`](/bioc/SynExtend.md?fn=ApproximateBackground#code) | Public | R/ApproximateBackground.R | 43 | 4 |
| [`BlastSeqs`](/bioc/SynExtend.md?fn=BlastSeqs#code) | Public | R/BlastSeqs.R | 58 | 12 |
| [`BlockByRank`](/bioc/SynExtend.md?fn=BlockByRank#code) | Public | R/BlockByRank.R | 127 | 10 |
| [`BlockExpansion`](/bioc/SynExtend.md?fn=BlockExpansion#code) | Public | R/BlockExpansion.R | 1,055 | 77 |
| [`BlockReconciliation`](/bioc/SynExtend.md?fn=BlockReconciliation#code) | Public | R/BlockReconciliation.R | 508 | 52 |
| [`CheckAgainstReport`](/bioc/SynExtend.md?fn=CheckAgainstReport#code) | Public | R/CheckAgainstReport.R | 81 | 6 |
| [`ClusterByK`](/bioc/SynExtend.md?fn=ClusterByK#code) | Public | R/ClusterByK.R | 288 | 23 |
| [`CompetePairs`](/bioc/SynExtend.md?fn=CompetePairs#code) | Public | R/CompetePairs.R | 234 | 20 |
| [`DPhyloStatistic`](/bioc/SynExtend.md?fn=DPhyloStatistic#code) | Public | R/DPhyloStatistic.R | 58 | 14 |
| [`Diag`](/bioc/SynExtend.md?fn=Diag#code) | Public | R/simMat-class.R | 1 | 1 |
| [`DisjointSet`](/bioc/SynExtend.md?fn=DisjointSet#code) | Public | R/DisjointSet.R | 91 | 7 |

This page lists 1 to 12 of 414 functions. [Next](/bioc/SynExtend.md?sort=name&order=asc&fpage=2#functions)

**Size and composition**

#### Lines by kind (30,118)

| Kind | Lines | Share |
| --- | ---: | ---: |
| R code | 17,411 | 58% |
| Tests | 210 | 0.7% |
| Documentation | 4,721 | 16% |
| Guides | 157 | 0.5% |
| Compiled code | 7,619 | 25% |

#### Lines by language

| Language | Lines | Share |
| --- | ---: | ---: |
| R | 17,515 | 58% |
| C | 7,350 | 24% |
| Rd | 4,721 | 16% |
| Fortran | 375 | 1% |
| Vignettes | 157 | 0.5% |

Languages are counted from file extensions.

- Files: 174
- R functions: 183
- Compiled functions: 231
- Object systems: S3: 57 methods, S4: 1 classes, S4: 6 generics, S4: 9 methods

**Complexity**

- Median: 5
- Mean: 11.52
- Highest: 106
- Median lines per function: 34

_About complexity: Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only._

**Call graph figures**

- R functions: 183
- Calls: 180
- Unconnected: 62
- Groups: 11

**Growth (13 releases)**

Total lines by release: from 2,448 (on 27 Apr 2020) to 30,118 (on 28 Apr 2026). The lowest is 2,336 and the highest is 30,118.

**Release changes**

[Both releases side by side](/bioc/SynExtend/compare/3.22...3.23.md)

**3.22 to 3.23**, 29 Oct 2025 to 28 Apr 2026

- Files changed: 2
- Lines added: 19
- Lines deleted: 19
- Exports: No change

**Changed measures (1)**

| Measure | Subject | Before | After |
| --- | --- | ---: | ---: |
| Mean complexity | Complexity | 11.52 | 11.53 |

**Most changed files (2 of 2)**

| File | Lines added | Lines deleted |
| --- | ---: | ---: |
| `R/EvoWeaver-class.R` | 18 | 18 |
| `DESCRIPTION` | 1 | 1 |

## Tests

[Method](/about/coverage.md)

Test coverage is measured for CRAN packages only. Nothing is known for Bioconductor packages, which is not the same as no coverage.

- Lines of tests: 210
- Exports named in tests: 0%

- Has tests: Yes
- Test frameworks: R scripts, 1 script file
- Test lines per line of code: 0.01

## Documentation

[Method](/about/code-metrics.md)

- Exports documented: 97.7%
- Arguments documented: 97.6%
- Return value documented: 100%
- Help pages with examples: 92.4%
- Examples run in checks: 86.9%

**Guides (1)**

- [UsingSynExtend](https://bioconductor.org/packages/3.23/bioc/vignettes/SynExtend/inst/doc/UsingSynExtend.html)

**Other documentation**

- README: Yes, 665 words
- Release notes file: Yes
- Help pages: 66
- Lines of documentation: 4,721

## Datasets

[Method](/about/objects.md)

| Dataset | Size | Columns |
| --- | --- | --- |
| [BuiltInEnsembles](/bioc/SynExtend/data/BuiltInEnsembles.md), Pretrained EvoWeaver Ensemble Models | length 2 |  |
| [CI_DISTANCE_INTERNAL](/bioc/SynExtend/data/CI_DISTANCE_INTERNAL.md) | 13 × 197 |  |
| [Endosymbionts_GeneCalls](/bioc/SynExtend/data/Endosymbionts_GeneCalls.md), Example genecalls | length 4 |  |
| [Endosymbionts_Gene_Communities](/bioc/SynExtend/data/Endosymbionts_Gene_Communities.md) | length 545 |  |
| [Endosymbionts_LinkedFeatures](/bioc/SynExtend/data/Endosymbionts_LinkedFeatures.md), Example synteny links | 4 × 4 |  |
| [Endosymbionts_Pairs01](/bioc/SynExtend/data/Endosymbionts_Pairs01.md), Example predicted pairs | 3,691 × 15 | p1, p2, Consensus, p1featurelength, p2featurelength, blocksize and 9 more |
| [Endosymbionts_Pairs02](/bioc/SynExtend/data/Endosymbionts_Pairs02.md), Example predicted pairs | 3,691 × 16 | p1, p2, Consensus, p1featurelength, p2featurelength, blocksize and 10 more |
| [Endosymbionts_Pairs03](/bioc/SynExtend/data/Endosymbionts_Pairs03.md), Example predicted pairs | 2,574 × 16 | p1, p2, Consensus, p1featurelength, p2featurelength, blocksize and 10 more |
| [Endosymbionts_Sets](/bioc/SynExtend/data/Endosymbionts_Sets.md), A list of disjoint sets. | length 655 |  |
| [Endosymbionts_Synteny](/bioc/SynExtend/data/Endosymbionts_Synteny.md), A synteny object | 4 × 4 |  |
| [ExampleStreptomycesData](/bioc/SynExtend/data/ExampleStreptomycesData.md), Example EvoWeaver Input Data from *Streptomyces* Species | length 2 |  |
| [Generic](/bioc/SynExtend/data/Generic.md), Model for predicting PID based on k-mer statistics | length 22 |  |
| [exData](/bioc/SynExtend/data/exData.md) | length 4 |  |

## People

[Method](/about/author-identity.md)

- [Nicholas Cooley](/people/Nicholas+Cooley.md): Maintainer, author. ORCID https://orcid.org/0000-0002-6029-304X
- [Adelle Fernando](/people/Adelle+Fernando.md): Contributor
- [Aidan Lakshman](/people/Aidan+Lakshman.md): Author, contributor. ORCID https://orcid.org/0000-0002-9465-6785
- [Erik Wright](/people/Erik+Wright.md): Author

## Repository

[Method](/about/repo-signals.md#figures)

[npcooley](/repos/npcooley.md) / [synextend](https://github.com/npcooley/synextend) on github.com

- Stars: 2 (no change on 30 days ago)
- Forks: 1
- Open issues: 2
- Last commit: 3 Oct 2026

**Activity**

- Commits: 722
- Open pull requests: 0
- Tagged releases: 0
- Latest tagged release: –
- Issues closed in: –
- Pull requests closed in: 2 days (median)
- Pull requests merged: 98%
- Created: 13 Feb 2020
- Licence file reads as: –

**Development practices (3)**

| Kind | Found |
| --- | --- |
| Continuous integration | GitHub Actions, R CMD check workflow The `R CMD check` workflow runs on Linux and Windows |
| Docs source | README.Rmd |

[Across npcooley](/repos/npcooley.md#practices)

[Bioconductor git](https://git.bioconductor.org/packages/SynExtend)

## History

[Method](/about/archive.md)

The line runs from the first Bioconductor release of SynExtend on 28 Apr 2020 to 27 Oct 2026 and marks the 13 Bioconductor releases it was in.

| Release | Released | R |
| --- | --- | ---: |
| [3.23](/bioc/SynExtend/v/3.23.md) current | 29 Apr 2026 | 4.6 |
| [3.22](/bioc/SynExtend/v/3.22.md) | 30 Oct 2025 | 4.5 |
| [3.21](/bioc/SynExtend/v/3.21.md) | 16 Apr 2025 | 4.5 |
| [3.20](/bioc/SynExtend/v/3.20.md) | 30 Oct 2024 | 4.4 |
| [3.19](/bioc/SynExtend/v/3.19.md) | 1 May 2024 | 4.4 |
| [3.18](/bioc/SynExtend/v/3.18.md) | 25 Oct 2023 | 4.3 |
| [3.17](/bioc/SynExtend/v/3.17.md) | 26 Apr 2023 | 4.3 |
| [3.16](/bioc/SynExtend/v/3.16.md) | 2 Nov 2022 | 4.2 |

**Earlier releases (5)**

| Release | Released | R |
| --- | --- | ---: |
| [3.15](/bioc/SynExtend/v/3.15.md) | 27 Apr 2022 | 4.2 |
| [3.14](/bioc/SynExtend/v/3.14.md) | 27 Oct 2021 | 4.1 |
| [3.13](/bioc/SynExtend/v/3.13.md) | 20 May 2021 | 4.1 |
| [3.12](/bioc/SynExtend/v/3.12.md) | 28 Oct 2020 | 4.0 |
| [3.11](/bioc/SynExtend/v/3.11.md) | 28 Apr 2020 | 4.0 |

- Entered Bioconductor: Release 3.11, 28 Apr 2020

---

R Observatory is independent of the R Project, CRAN and Bioconductor. The same page for people is at /bioc/SynExtend, and every address is listed at /llms.txt.
