The advent of mass spectrometry based analytical technologies coupled with multivariate statistical methods offers tremendous new opportunities for understanding the pharmacokinetics of multicomponent herbal medicines. In recent years, Jia’s group proposed a polyPK strategy, in a few review papers (Science 2015, Current Drug Metabolism 2010, Evidence-Based Complementary and Alternative Medicine 2013), to characterize the concentration-time profile and the metabolic response profile of multicomponent drugs, using an integrated phytochemical and metabolomics approach. The brand new strategy has been successfully applied in examining the complex pharmacokinetics and pharmacodynamics profiles of tea (Journal of Proteome Research 2012) and Huangqi decoction (Clinical Pharmacology & Therapeutics 2016). This package is the first implementation of the `polyPK`

strategy with 10 easy-to-use functions. The absorbed drug constitutes, the downstream metabolites of the drug constituents and the endogenous metabolites impacted by them can be identified. The association of different types of compounds and their alterations along time can be illustrated by various figures and tables. The representative PK parameters of all compounds can be calculated.

10 functions of the package of polyPK:
`DataPre`

,`GetDiffData`

,`GetEndo`

,`GetAbso`

,`GetSecdAbso`

,`PKs`

,`Simi`

,`ScatPlot`

,`HeatMap`

,`CorrPlot`

`DataPre`

Preprocess the input data. Variables with a lot of zeros and outliers may be removed. Missing values may be imputed and filled by various methods. Data may be transformed by logarithm transformation.

```
library(polyPK)
```

data("postData") pred_post<-polyPK::DataPre(tes=postData,mv="min",rz=80,sv=TRUE,log=FALSE,filepath=getwd())

An example of preprocessed post-dose dataset:

pred_post[c(1:10),c(1:10)]

`Simi`

A function which can get the similar metabolites of two datas.Especially the similar metabolites between drug and pre-dose metabolites.

data("preData") data("drugData") Simi(data1<-preData,data2<-drugData,filepath=getwd())

`GetDiffData`

A function to get all the differential compounds between the pre-dose and every post-dose datasets:

data("preData") data("postData") data("design") data("simidata") dif<-GetDiffData(preData,postData,simidata,mv="min",rz=80,sv=TRUE,log=FALSE,t="Ttest",r.adj="fdr",filepath=getwd(),design=FALSE) #'

An example of the differential compounds, with preprocessed data:

prepoA<-dif$A as.data.frame(prepoA)

An example of the differential compounds, with original data:

orgA<-dif$A_pre as.data.frame(orgA)

The p values:

p<-dif$p p

The adjusted p values:

padj<-dif$p_adj padj

`GetEndo`

A function to get the altered endogenous metabolites by similarity analysis on the list of differential compounds and the list of pre-dose compounds：

data("preData") data("A") data("design") data("simidata") GetEndo(preData,A,simidata,sim=80,filepath=getwd(),design=FALSE)

`GetAbso`

A function to get the absorbed drug constitutes by similarity analysis on the list of differential compounds and the list of drug constitutes:

GetAbso(drugData, A, simidata,sim = 80, filepath=getwd(),design = FALSE)

`GetSecdAbso`

A function to get secondary metabolites of the absorbed drug constitutes:

GetSecdAbso(A,B,C,simidata,sim=80,filepath=getwd(),design=FALSE)

`PKs`

A function to calculate the 7 pharmacokinetics parameters (Tmax, Cmax, AUC, CL, Tlast, Tfirst, Cmin) and plot the time-intensity curves for specified compounds.

A list of metabolites and 7 pharmacokinetics parameters (Tmax,Cmax,AUC,CL,Tlast,Tfirst,Cmin) of specified compound:

data("C") data("design") pks<-PKs(C,d.point="mean",d.ebar="SE",filepath=getwd(),design=FALSE) knitr::kable(pks[c(1:10),],align = 'c')

The time-intensity curves for specified compounds are in the folder named “PKs” which is created automatically.

`CorrPlot`

A function to calculate the correlation coefficients and plot the correlation diagram (8 types) of two input datasets.

data("B") data("C") CorrPlot(dataset1=B,dataset2=C,cor.method="pearson",filepath=getwd(),fig.form="heatmap",design = FALSE)

`ScatPlot`

A function to plot the PCA or PLSDA score figures and trajectories on input data:

data("A") ScatPlot(scat.data=A,scform="PCA",num.of.cp=2,filepath=getwd(),design=FALSE)

`HeatMap`

A function to plot the heatmap and clusters of input data:

data("A") HeatMap(data=A,cluster="both",scale="row",filepath=getwd(),design=FALSE)

help(package = 'polyPK', help_type = 'html') # or see a standalone list of vignettes browseVignettes('polyPK')

**Any scripts or data that you put into this service are public.**

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.