# pcadapt 4.4.1 (CRAN)

Fast Principal Component Analysis for Outlier Detection

[Record of 4.4.1](/cran/pcadapt/v/4.4.1.md) | Compare: [With 4.4.0](/cran/pcadapt/compare/4.4.0...4.4.1.md), [With another package](/compare/pcadapt.md#add), [Downloads](/downloads/compare/pcadapt.md#add) | [Licences](/cran/pcadapt/licences.md) | [SBOM](/cran/pcadapt/sbom.md)

Install from CRAN: `install.packages("pcadapt")`

Also from:

- r2u (Ubuntu binaries): `sudo apt install r-cran-pcadapt` _Listed from recorded download activity on this channel, not from a live index, so read it as last known. Bioconductor packages are named r-bioc-<name> there._
- autoCRAN (openSUSE): `sudo zypper install R-pcadapt` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._
- conda-forge: `conda install -c conda-forge r-pcadapt` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._

- CRAN checks: All OK (13 platforms)
- CRAN 30-day downloads: 707 (down 24% on the 30 days before, the worse direction)
- Dependent packages: 0 (2 more suggest it)
- Test coverage: No tests (nothing to run)
- Advisories: None known

## About

[Method](/about/licenses.md)

Methods to detect genetic markers involved in biological adaptation. 'pcadapt' provides statistical tools for outlier detection based on Principal Component Analysis. Implements the method described in (Luu, 2016) <DOI:10.1111/1755-0998.12592> and later revised in (Privé, 2020) <DOI:10.1093/molbev/msaa053>.

- Maintainer: Florian Privé
- Licence: [GPL (>= 2)](/cran/pcadapt/licences.md)
- Latest release: 25 Jul 2025
- First release: 5 Sep 2015

- [CRAN page](https://cran.r-project.org/package=pcadapt)
- [Source repository](https://github.com/bcm-uga/pcadapt)
- [Issues](https://github.com/bcm-uga/pcadapt/issues)
- [Source of every release](https://github.com/cran/pcadapt)

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

**More details**

- Releases: 20
- Needs compilation: Yes
- Date: 2025-07-25
- Language: en-US
- RoxygenNote: 7.3.2

**Task views (1)**

- [Anomaly Detection](/topics/cran/AnomalyDetection.md)

**Subjects (1) [Method](/about/subjects.md#found)**

- [Principal component analysis](/topics/subjects/principal-component-analysis-2.md)

**Cite**

#### Package

Run in R for the authors' entry:

`citation("pcadapt")`

The package provides a citation file, so `citation()` returns the authors' own entry.

It points to 10.1093/molbev/msaa053.

#### 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 pcadapt version 4.4.1 [Data set]. HJJB, LLC. Data release v2026-10-28. https://doi.org/10.5281/zenodo.21843040

BibTeX:

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

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

## Health

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

All 13 check platforms pass.

13 CRAN platforms: 13 OK.

Platforms now:

- r-devel-linux-x86_64-debian-clang: OK
- r-devel-linux-x86_64-debian-gcc: OK
- r-devel-linux-x86_64-fedora-clang: OK
- r-devel-linux-x86_64-fedora-gcc: OK
- r-devel-windows-x86_64: OK
- r-oldrel-macos-arm64: OK
- r-oldrel-macos-x86_64: OK
- r-oldrel-windows-x86_64: OK
- r-patched-linux-x86_64: OK
- r-release-linux-x86_64: OK
- r-release-macos-arm64: OK
- r-release-macos-x86_64: OK
- r-release-windows-x86_64: OK

#### Over time

No change since 5 Aug 2026

**As a list (6)**

| Changed | Worst status | OK | Notes | Warnings | Errors |
| --- | --- | ---: | ---: | ---: | ---: |
| 5 Aug 2026 | OK | 13 | 0 | 0 | 0 |
| 1 Aug 2026 | Note | 12 | 1 | 0 | 0 |
| 2 May 2026 | OK | 13 | 0 | 0 | 0 |
| 22 Apr 2026 | Note | 12 | 2 | 0 | 0 |
| 18 Apr 2026 | Error | 11 | 2 | 0 | 1 |
| 10 Mar 2026 | Note | 12 | 2 | 0 | 0 |

Since March 2026

[Check results on CRAN](https://cran.r-project.org/web/checks/check_results_pcadapt.html)

## Downloads

[Method](/about/downloads.md)

- Downloads in the last 30 days: 448 (up 215% on the 30 days before, the better direction. It is the sum of 3 channels: r2u, autoCRAN and conda-forge. CRAN is switched off.)

CRAN alone: rank among CRAN packages, last 30 days: 4,481 of 26,530.

| Channel | Downloads in the last 30 days | In the total | Rank in that channel | Change |
| --- | ---: | --- | --- | --- |
| CRAN | 707 | no, switched off | 4,481 of 26,530 | down 24% on the 30 days before, the worse direction |
| r2u | 94 | yes | 2,393 of 30,526 | up 185% on the 30 days before, the better direction |
| autoCRAN | 4 | yes | 13,992 of 29,212 | down 73.3% on the 30 days before, the worse direction |
| conda-forge | 350 | yes | 1,840 of 3,828 | up 272% on the 30 days before, the better direction |

Other windows: [Last 90 days](/cran/pcadapt.md?win=90d&off=cran#downloads), [Last 365 days](/cran/pcadapt.md?win=365d&off=cran#downloads), [All time](/cran/pcadapt.md?win=all&off=cran#downloads).

To leave channels out of the total, name them in the address, joined by dots: `?off=autocran.conda_forge`.

#### Over time

Downloads over time, the last 12 whole months:

| Month | r2u | autoCRAN | conda-forge | Sum |
| --- | ---: | ---: | ---: | ---: |
| Oct 2025 | 30 | no figure | 394 | 424 |
| Nov 2025 | 34 | no figure | 378 | 412 |
| Dec 2025 | 31 | no figure | 656 | 687 |
| Jan 2026 | 28 | no figure | 300 | 328 |
| Feb 2026 | 37 | no figure | 202 | 239 |
| Mar 2026 | 52 | no figure | 178 | 230 |
| Apr 2026 | 52 | no figure | 96 | 148 |
| May 2026 | 42 | no figure | 254 | 296 |
| Jun 2026 | 25 | no figure | 159 | 184 |
| Jul 2026 | 52 | 35 | 172 | 259 |
| Aug 2026 | 33 | 30 | 95 | 158 |
| Sep 2026 | 90 | 11 | 350 | 451 |

First day on record: r2u 22 May 2022, autoCRAN 29 Jun 2026, conda-forge 18 Oct 2023.

Every channel here counts downloads, so the channels can be stacked and summed for one period. Each channel counts in its own way and covers a different span of years, so read a sum as a rough total, and read a rise where a channel begins as that channel starting, not as growth.

Weeks start on Monday. A first or last week or month that the channel does not cover in full is left out, so every point is a whole period.

Days with no record add nothing to their week or month. For a little-used package that is usually a day with no downloads, but it can also be a gap in collection.

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

## Dependencies

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

- Needs: 8
- Dependent packages: 0
- Suggested by: 2

**Needs (8)**

- [bigutilsr](/cran/bigutilsr.md)
- [data.table](/cran/data.table.md)
- [ggplot2](/cran/ggplot2.md)
- [magrittr](/cran/magrittr.md)
- [mmapcharr](/cran/mmapcharr.md)
- [Rcpp](/cran/Rcpp.md)
- [rmio](/cran/rmio.md)
- [RSpectra](/cran/RSpectra.md)

- Installing it adds: 40 packages, 42.9 MB of source
- Of those, need compilation: 22

**Optional extras (5)**

- [plotly](/cran/plotly.md)
- [shiny](/cran/shiny.md)
- [spelling](/cran/spelling.md)
- [testthat](/cran/testthat.md)
- [vcfR](/cran/vcfR.md)

## Code

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

Selected function: `pcadapt0`

- Kind: Internal R function
- File: R/pcadapt.R, line 229
- Lines: 38
- Complexity: 7

Called by 2: [`pcadapt.pcadapt_bed`](/cran/pcadapt.md?fn=pcadapt.pcadapt_bed&view=focus#code), [`pcadapt.pcadapt_matrix`](/cran/pcadapt.md?fn=pcadapt.pcadapt_matrix&view=focus#code)

Calls 2: [`iram_and_reg`](/cran/pcadapt.md?fn=iram_and_reg&view=focus#code), [`get_statistics`](/cran/pcadapt.md?fn=get_statistics&view=focus#code)

Paths: 2 steps each way.

Called by 2:

- [`pcadapt.pcadapt_bed`](/cran/pcadapt.md?fn=pcadapt.pcadapt_bed&view=focus#code)
- [`pcadapt.pcadapt_matrix`](/cran/pcadapt.md?fn=pcadapt.pcadapt_matrix&view=focus#code)

Calls 2:

- [`iram_and_reg`](/cran/pcadapt.md?fn=iram_and_reg&view=focus#code), calls 7
  - [`total_var_scaled`](/cran/pcadapt.md?fn=total_var_scaled&view=focus#code), calls 1
  - [`clumping`](/cran/pcadapt.md?fn=clumping&view=focus#code)
  - [`cpMatVec4`](/cran/pcadapt.md?fn=cpMatVec4&view=focus#code)
  - [`get_af`](/cran/pcadapt.md?fn=get_af&view=focus#code)
  - [`multLinReg`](/cran/pcadapt.md?fn=multLinReg&view=focus#code)
  - [`nb_nona`](/cran/pcadapt.md?fn=nb_nona&view=focus#code)
  - [`pMatVec4`](/cran/pcadapt.md?fn=pMatVec4&view=focus#code)
- [`get_statistics`](/cran/pcadapt.md?fn=get_statistics&view=focus#code)

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

- Functions: 7
- Lines: 179
- Calls that stay inside it: 4
- Calls to other files: 2, to 2
- Calls from other files: 0

It calls: `R/RcppExports.R` (1 call), `R/iram.R` (1 call)

| Function in pcadapt.R | Calls in other files |
| --- | --- |
| [`pcadapt0`](/cran/pcadapt.md?fn=pcadapt0&view=focus#code) selected | [`iram_and_reg`](/cran/pcadapt.md?fn=iram_and_reg&view=focus#code) |
| [`pcadapt.pcadapt_bed`](/cran/pcadapt.md?fn=pcadapt.pcadapt_bed&view=focus#code) | [`bedXPtr`](/cran/pcadapt.md?fn=bedXPtr&view=focus#code) |
| [`get_statistics`](/cran/pcadapt.md?fn=get_statistics&view=focus#code) | nothing outside this file |
| [`pcadapt`](/cran/pcadapt.md?fn=pcadapt&view=focus#code) | nothing outside this file |
| [`pcadapt.pcadapt_matrix`](/cran/pcadapt.md?fn=pcadapt.pcadapt_matrix&view=focus#code) | nothing outside this file |

**More functions (2)**

| Function in pcadapt.R | Calls in other files |
| --- | --- |
| [`pcadapt.pcadapt_pool`](/cran/pcadapt.md?fn=pcadapt.pcadapt_pool&view=focus#code) | nothing outside this file |
| [`run.pcadapt`](/cran/pcadapt.md?fn=run.pcadapt&view=focus#code) | nothing outside this file |


3 files with no calls to or from another: `R/pcadaptUtils.R`, `R/plotUtils.R`, `src/bed-acc-xptr.cpp`.

The whole package has 78 function names in 18 files and 68 calls between them. Most calls between files: `R/iram.R` and `R/RcppExports.R` (7 calls), `R/RcppExports.R` and `src/RcppExports.cpp` (5 calls), `R/RcppExports.R` and `src/clumping.cpp` (4 calls), `src/bed2matrix.cpp` and `src/vcfUtils.cpp` (3 calls), `R/bed2matrix.R` and `R/RcppExports.R` (2 calls).

Graph: the whole call graph has 64 function names that take part in a call and 68 calls between them, set out in 8 layers with callers before what they call. Of these calls, 2 close a loop and run the other way. 14 function names have no calls and are left out. Called by the most functions: `macc` (7), `bedXPtr` (3), `total_var_scaled` (3), `writebed` (3), `fopen_read` (3). Calling the most functions: `iram_and_reg` (7), `plot.pcadapt` (5), `ped2geno` (4), `file2other` (4), `res` (4).

Most connected functions: [`iram_and_reg`](/cran/pcadapt.md?fn=iram_and_reg&view=focus#code) 8, [`file2other`](/cran/pcadapt.md?fn=file2other&view=focus#code) 5, [`plot.pcadapt`](/cran/pcadapt.md?fn=plot.pcadapt&view=focus#code) 5, [`pcadapt0`](/cran/pcadapt.md?fn=pcadapt0&view=focus#code) 4, [`ped2pcadapt`](/cran/pcadapt.md?fn=ped2pcadapt&view=focus#code) 4, [`total_var_scaled`](/cran/pcadapt.md?fn=total_var_scaled&view=focus#code) 4

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

The call graph also has an address of its own: /cran/pcadapt/graph.md?fn=pcadapt0&view=focus

- Functions: 93
- Public exports: 14
- Lines of R code: 1,297
- Median complexity: 2

**Functions (93)**

| Function (sorted, low to high) | Kind | File | Lines | Complexity |
| --- | --- | --- | ---: | ---: |
| [`bed2matrix`](/cran/pcadapt.md?fn=bed2matrix#code) | Public | R/bed2matrix.R | 16 | 4 |
| [`get.pc`](/cran/pcadapt.md?fn=get.pc#code) | Public | R/pcadaptUtils.R | 7 | 1 |
| [`get.pop.names`](/cran/pcadapt.md?fn=get.pop.names#code) | Public | R/pcadaptUtils.R | 11 | 3 |
| [`get.score.color`](/cran/pcadapt.md?fn=get.score.color#code) | Public | R/pcadaptUtils.R | 17 | 3 |
| [`hist_plot`](/cran/pcadapt.md?fn=hist_plot#code) | Public | R/plotUtils.R | 27 | 3 |
| [`manhattan_plot`](/cran/pcadapt.md?fn=manhattan_plot#code) | Public | R/plotUtils.R | 69 | 9 |
| [`pcadapt`](/cran/pcadapt.md?fn=pcadapt#code) | Public | R/pcadapt.R | 23 | 4 |
| [`qq_plot`](/cran/pcadapt.md?fn=qq_plot#code) | Public | R/plotUtils.R | 23 | 3 |
| [`read.pcadapt`](/cran/pcadapt.md?fn=read.pcadapt#code) | Public | R/pcadaptRead.R | 28 | 8 |
| [`run.pcadapt`](/cran/pcadapt.md?fn=run.pcadapt#code) | Public | R/pcadapt.R | 8 | 2 |
| [`score_plot`](/cran/pcadapt.md?fn=score_plot#code) | Public | R/plotUtils.R | 77 | 14 |
| [`scree_plot`](/cran/pcadapt.md?fn=scree_plot#code) | Public | R/plotUtils.R | 15 | 3 |

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

**Size and composition**

#### Lines by kind (3,122)

| Kind | Lines | Share |
| --- | ---: | ---: |
| R code | 1,297 | 42% |
| Documentation | 573 | 18% |
| Compiled code | 1,252 | 40% |

#### Lines by language

| Language | Lines | Share |
| --- | ---: | ---: |
| R | 1,297 | 42% |
| C++ | 1,252 | 40% |
| Rd | 573 | 18% |

Languages are counted from file extensions.

- Files: 91
- R functions: 40
- Compiled functions: 53
- Object systems: S3: 5 methods

**Complexity**

- Median: 2
- Mean: 3.45
- Highest: 14
- Median lines per function: 11

_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: 40
- Calls: 32
- Unconnected: 6
- Groups: 2

**Growth (20 releases)**

Total lines by release: from 1,682 (on 5 Sep 2015) to 3,122 (on 25 Jul 2025). The lowest is 1,602 and the highest is 62,830.

**Release changes**

[Both releases side by side](/cran/pcadapt/compare/4.4.0...4.4.1.md)

**4.4.0 to 4.4.1**, 24 Sep 2024 to 25 Jul 2025

- Files changed: 6
- Lines added: 152
- Lines deleted: 152
- Exports: No change

**Changed measures (7)**

| Measure | Subject | Before | After |
| --- | --- | ---: | ---: |
| Total lines | Structure | 3,124 | 3,122 |
| Lines of R code | Structure | 1,299 | 1,297 |
| Compiled share | Languages | 40% | 40% |
| Mean complexity | Complexity | 3.5 | 3.45 |
| Highest complexity | Complexity | 15 | 14 |
| Lines per function (mean) | Complexity | 20.3 | 20.1 |
| S3 methods | Object system | 4 | 5 |

**Most changed files (6 of 6)**

| File | Lines added | Lines deleted |
| --- | ---: | ---: |
| `R/plotUtils.R` | 136 | 139 |
| `DESCRIPTION` | 7 | 7 |
| `MD5` | 5 | 5 |
| `NAMESPACE` | 2 | 0 |
| `man/plot.pcadapt.Rd` | 1 | 1 |
| `R/iram.R` | 1 | 0 |

## Tests

[Method](/about/coverage.md)

The package was built and has no tests to run.

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

**Test suite**

- Has tests: No
- Test frameworks: testthat
- Test lines per line of code: 0

## Documentation

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

- Exports documented: 100%
- Arguments documented: 98.7%
- Return value documented: 21.4%
- Help pages with examples: 21.1%
- Examples run in checks: 25%

**Other documentation**

- README: Yes, 177 words
- Release notes file: Yes
- Help pages: 19
- Lines of documentation: 573

## Datasets

[Method](/about/objects.md)

1 dataset, 0 can be loaded by name

| Dataset | Size |
| --- | --- |
| [SSMPG2017](/cran/pcadapt/data/SSMPG2017.md) | 5,940 × 500 |

## People

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

- [Florian Privé](/people/Florian+Priv%C3%A9.md): Maintainer since 4.3.1 (2020), previously Michael Blum (4.0.0 to 4.1.0) and Keurcien Luu (1.0 to 3.0.4), author
- [Eric Bazin](/people/Eric+Bazin.md): Contributor
- [Michael Blum](/people/Michael+Blum.md): Author
- [Nicolas Duforet-Frebourg](/people/Nicolas+Duforet-Frebourg.md): Contributor
- [Keurcien Luu](/people/Keurcien+Luu.md): Author

**Earlier names (1)**

- Michael G.B. Blum

## Repository

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

[bcm-uga](/repos/bcm-uga.md) / [pcadapt](https://github.com/bcm-uga/pcadapt) on github.com

- Stars: 47 (up 2.2% on 30 days ago, the better direction)
- Forks: 12
- Open issues: 3
- Last commit: 8 Sep 2026

**Activity**

- Commits: 368
- Open pull requests: 8
- Tagged releases: 0
- Latest tagged release: –
- In development: Default branch at 4.4.2, ahead of CRAN 4.4.1 (checked 2026-10-25)
- Issues closed in: 32 days (median)
- Pull requests closed in: 0 days (median)
- Pull requests merged: 100%
- Created: 20 Sep 2016
- Licence file reads as: –

**Development practices (4)**

| Kind | Found |
| --- | --- |
| Continuous integration | GitHub Actions, R CMD check workflow The `R CMD check` workflow runs on Linux, macOS and Windows, and on R-devel |
| Docs source | GitHub Pages site last deployed 2026-09-08 |
| Lint, format, editor | RStudio project |

[Across bcm-uga](/repos/bcm-uga.md#practices)

## History

[Method](/about/archive.md)

The line runs from the first release of pcadapt on 5 Sep 2015 to 28 Oct 2026 and marks all 20 of its releases. CRAN archived it 4 times, and it came back 4 times.

#### Archived and back

| Archived | Back | CRAN's reason | Kind |
| --- | --- | --- | --- |
| 19 Feb 2020 | 28 Feb 2020 | "check problems were not corrected despite reminders" | Checks not fixed |
| 14 Apr 2018 | 3 Jul 2018 | "there are out-of-memory writes" | Other |
| 6 Apr 2018 | 13 Apr 2018 | "compiled code made illegal writes" | Other |
| 21 Feb 2018 | 5 Apr 2018 | "policy violation. Misrepresentation of authorship of contents of 'src_Lapack' and 'src_convert' directories" | Policy |

| Version | Released | R | Events |
| --- | --- | ---: | --- |
| [4.4.1](/cran/pcadapt/v/4.4.1.md) current | 25 Jul 2025 | 4.5.1 |  |
| [4.4.0](/cran/pcadapt/v/4.4.0.md) | 24 Sep 2024 | 4.4.1 |  |
| [4.3.5](/cran/pcadapt/v/4.3.5.md) | 29 Aug 2023 | 4.3.1 |  |
| [4.3.3](/cran/pcadapt/v/4.3.3.md) | 5 May 2020 | 4.0.0 |  |
| [4.3.1](/cran/pcadapt/v/4.3.1.md) | 28 Feb 2020 | 3.6.2 | Back on CRAN 28 Feb 2020. Maintainer: Florian Privé |
| [4.1.0](/cran/pcadapt/v/4.1.0.md) | 27 Feb 2019 | 3.5.2 | Archived 19 Feb 2020. “check problems were not corrected despite reminders” |
| [4.0.3](/cran/pcadapt/v/4.0.3.md) | 3 Jul 2018 | 3.5.0 | Back on CRAN 3 Jul 2018. |
| [4.0.1](/cran/pcadapt/v/4.0.1.md) | 13 Apr 2018 | 3.4.4 | Back on CRAN 13 Apr 2018. Archived 14 Apr 2018. “there are out-of-memory writes” |

**Earlier versions (12)**

| Version | Released | R | Events |
| --- | --- | ---: | --- |
| [4.0.0](/cran/pcadapt/v/4.0.0.md) | 5 Apr 2018 | 3.4.4 | Back on CRAN 5 Apr 2018. Archived 6 Apr 2018. “compiled code made illegal writes” Maintainer: Michael Blum |
| [3.0.4](/cran/pcadapt/v/3.0.4.md) | 2 Jan 2017 | 3.3.2 | Archived 21 Feb 2018. “policy violation. Misrepresentation of authorship of contents of 'src_Lapack' and 'src_convert' directories” |
| [3.0.3](/cran/pcadapt/v/3.0.3.md) | 3 Nov 2016 | 3.3.2 |  |
| [3.0.2](/cran/pcadapt/v/3.0.2.md) | 21 Jun 2016 | 3.3.1 |  |
| [3.0.1](/cran/pcadapt/v/3.0.1.md) | 14 Jun 2016 | 3.3.0 |  |
| [3.0](/cran/pcadapt/v/3.0.md) | 15 Apr 2016 | 3.2.5 |  |
| [2.2](/cran/pcadapt/v/2.2.md) | 13 Feb 2016 | 3.2.3 |  |
| [2.1.1](/cran/pcadapt/v/2.1.1.md) | 5 Jan 2016 | 3.2.3 |  |
| [2.1](/cran/pcadapt/v/2.1.md) | 18 Dec 2015 | 3.2.3 |  |
| [2.0.1](/cran/pcadapt/v/2.0.1.md) | 9 Nov 2015 | 3.2.2 |  |
| [2.0](/cran/pcadapt/v/2.0.md) | 4 Nov 2015 | 3.2.2 |  |
| [1.0](/cran/pcadapt/v/1.0.md) | 5 Sep 2015 | 3.2.2 |  |

---

R Observatory is independent of the R Project, CRAN and Bioconductor. The same page for people is at /cran/pcadapt?off=cran, and every address is listed at /llms.txt.
