Skip to contents

The goal of clusimp is to implement the plasma proteomics-based HFrEF clustering model derived in the accompanying article.

Installation

The development version of clusimp can be installed from GitLab with:

# install dependencies
if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install(c("limma", "DEqMS"))

# install.packages("devtools")
devtools::install_github("mvvugt/clusimp")

Online documentation for the package can be found here.

Data

To illustrate the package functionality, simulated example data is provided on protein measurements from 50 individuals.

Example

This is a basic implementation example:

library(clusimp)

# load the correct data and check
data(simulated_proteins)
simulated_proteins[1:10, 1:10]
#>        ID CRYBB2.10000.28 RAF1.10001.7 ZNF41.10003.15 ELK1.10006.25
#> 1   iid_1       1189.6556     790.9968      115.92559      738.5527
#> 2   iid_2        514.8923     890.7230      175.48376     5209.7939
#> 3   iid_3        480.9877     209.1188      183.60497     -440.7868
#> 4   iid_4        412.4593     559.3203      151.14369      335.2649
#> 5   iid_5        506.7018     552.5684       61.25431     4955.1621
#> 6   iid_6        243.7580     628.9691       47.59215     1098.6115
#> 7   iid_7        683.5296     476.7935      108.75884      541.1203
#> 8   iid_8       1366.7018     891.3948       91.78104      606.1469
#> 9   iid_9        718.3251     460.6092       85.30898     2522.7345
#> 10 iid_10        765.0208     528.6842      165.02427      756.9223
#>    GUCA1A.10008.43 OCRL.10011.65 SPDEF.10012.5 SNAI2.10014.31 KCNAB2.10015.119
#> 1        525.32353     -60.78564      1231.916       876.0798         642.5451
#> 2        621.29962    2222.95359      1443.444      1295.4519         750.0532
#> 3        471.83581    2352.71221      1179.906      1231.3975        1011.7872
#> 4       -147.77092    2424.77599      1320.550       839.8676         648.3861
#> 5        486.79941    2803.88132      1354.828      1075.8311         456.0530
#> 6        -15.09704    2489.21062      1584.422       947.6771         696.8050
#> 7        422.25675    1873.06754      2346.538       780.9675         650.7865
#> 8        586.21275    2280.32002      2361.394      1260.7715         555.7567
#> 9        590.99935    2736.23602      1542.284      1398.8035         119.8074
#> 10       398.49298    7117.93426      1797.882       846.4424         729.5507

# implement clustering model on these data
res <- clusimp(df = simulated_proteins, id = "ID", column = "Predicted class",
               local_stand = FALSE, local_cut = FALSE)

# Show part of the results
res[1:10, c(names(res)[1:9], "Predicted class")]
#>        ID CRYBB2.10000.28 RAF1.10001.7 ZNF41.10003.15 ELK1.10006.25
#> 1   iid_1       1189.6556     790.9968      115.92559      738.5527
#> 2  iid_10        765.0208     528.6842      165.02427      756.9223
#> 3  iid_11        459.5117    1144.9050      138.42330     1253.0504
#> 4  iid_12        562.0939     960.6412      162.72764    -2046.2862
#> 5  iid_13       2440.3261    1211.2036      138.09536     8288.8834
#> 6  iid_14       1423.1605     638.8177      166.55149    -1183.6374
#> 7  iid_15       1526.9971     650.9955      142.26936     -854.1417
#> 8  iid_16        665.3274     699.0825       71.78264      819.9623
#> 9  iid_17        268.2033     749.4060      114.41848     3589.8155
#> 10 iid_18       1521.2916     651.4972      127.55401      710.3454
#>    GUCA1A.10008.43 OCRL.10011.65 SPDEF.10012.5 SNAI2.10014.31 Predicted class
#> 1         525.3235     -60.78564      1231.916       876.0798               3
#> 2         398.4930    7117.93426      1797.882       846.4424               3
#> 3         548.4289    2382.75539      1637.463      1555.3851               2
#> 4         671.9001    2815.69995      1417.637       920.6288               2
#> 5         554.7208    2695.19124      1884.066      1598.4853               2
#> 6         315.5605    2210.60750      1476.639      1172.5597               2
#> 7         340.7058    2325.48952      1886.126       799.1076               2
#> 8         569.7486    2239.35240      1573.179      1051.6279               1
#> 9         488.4740    2288.18602      1406.470       571.9415               2
#> 10        449.7857    1929.98637      1653.534       879.5093               3

For a more detailed example and complete workflow, check out the vignette or online.