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 3For a more detailed example and complete workflow, check out the vignette or online.