MetidaNCA.DoseTime
— TypeDoseTime(dose::D, time::T, tau::TAU) where D <: Number where T <: Number where TAU <: Number
Dose settings.
dose
- dose;time
- dose time;tau
- tau (τ);
Dose time set 0 by default.
MetidaNCA.ElimRange
— TypeElimRange(kelstart::Int, kelend::Int, kelexcl::Vector{Int})::ElimRange
Elimination settings for PK subject.
kelstart
- start point;kelend
- end point;kelexcl
- excluded points.
MetidaNCA.LimitRule
— TypeLimitRule(lloq::T, btmax, atmax, nan, rm::Bool) where T <: Real
LimitRule(;lloq = NaN, btmax = NaN, atmax = NaN, nan = NaN, rm::Bool = false)
lloq
- LLOQ - low limit of quantification;btmax
- value for points before Tmax;atmat
- values for points after Tmax;nan
- values for replacingNaN
;rm
- iftrue
, removee allNaN
points.
Rule for PK subject.
- STEP 1 (NaN step): replace all
NaN
andmissing
values with nan keyword value (ifnan
not NaN); - STEP 2 (LLOQ step): replace values below
lloq
withbtmax
value if this value befor Tmax or with atmax if this value after Tmax (iflloq
not NaN); - STEP 3 (remove NaN):
rm
== true, then remove allNaN
andmissing
values.
MetidaNCA.applylimitrule!
— Methodapplylimitrule!(data::PKSubject, rule::LimitRule)
Apply rule to PK subject .
- STEP 1 (NaN step): replace all
NaN
andmissing
values with nan keyword value (ifnan
not NaN); - STEP 2 (LLOQ step): replace values below
lloq
withbtmax
value if this value befor Tmax or with atmax if this value after Tmax (iflloq
not NaN); - STEP 3 (remove NaN):
rm
== true, then remove allNaN
andmissing
values.
MetidaNCA.getdosetime
— Methodgetdosetime(data::T) where T <: PKSubject
Return dosetime.
MetidaNCA.getkelauto
— Methodgetkelauto!(data::T) where T <: PKSubject
MetidaNCA.getkeldata
— Methodgetkeldata(data::T) where T <: PKSubject
MetidaNCA.getkeldata
— Methodgetkeldata(data::T) where T <: PKSubject
MetidaNCA.getkelrange
— Methodgetkelrange(data::T) where T <: PKSubject
MetidaNCA.nca!
— Methodnca!(data::DataSet{T1}; adm = :ev, calcm = :lint, intpm = nothing, verbose = 0, warn = true, io::IO = stdout) where T1 <: PKSubject{T,O} where T where O
Non-compartmental (NCA) analysis of pharmacokinetic (PK) data.
MetidaNCA.nca!
— Methodnca!(data::PKSubject{T,O}; adm = :ev, calcm = :lint, intpm = nothing, limitrule = nothing, verbose = 0, warn = true, io::IO = stdout, modify! = nothing) where T where O
adm
- administration::ev
- extra vascular;:iv
- intravascular bolus;
calcm
- AUC/AUMC calculation method::lint
- linear trapezoidal;:logt
- log-trapezoidal after Tmax;:luld
- linar up log down;:luldt
- linear up log down after Tmax;
intpm
- interpolation method::lint
- linear trapezoidal;:logt
- log-trapezoidal after Tmax;:luld
- linar up log down;:luldt
- linear up log down after Tmax;
limitrule
use limitrule for data;verbose
- print toio
;warn
- show warnings;io
- output stream;modify!
- function to modify output paramaters, callmodify!(data, result)
if difined.
MetidaNCA.pkimport
— Methodpkimport(data, time, conc, sort; kelauto = true, elimrange = ElimRange(), dosetime = DoseTime())
Import PK data from table data
.
time
- time column;conc
- concentration column;sort
- subject sorting columns.
keywords:
kelauto
- iftrue
auto range settings, iffalse
usedkelstart
/kelend
fromelimrange
;elimrange
- set elimination range settings;dosetime
- set dose and dose time, by default dosetime = 0, dose isNaN
.
MetidaNCA.pkimport
— Methodpkimport(time, conc; kelauto = true, elimrange = ElimRange(), dosetime = DoseTime())
Import PK data from time vector time
and concentration vector conc
.
MetidaNCA.pkplot
— Methodpkplot(subj; ls = false, elim = false, xticksn = 6, yticksn = 5, kwargs...)
Plot for subject
ls
- concentration in log scale;elim
- draw elimination curve;xticksn
- number of ticks on x axis;yticksn
- number of ticks on y axis/
MetidaNCA.pkplot
— Methodpkplot(data::DataSet{T};
typesort::Union{Nothing, Symbol, AbstractVector{Symbol}} = nothing,
pagesort::Union{Nothing, Symbol, AbstractVector{Symbol}} = nothing,
sort::Union{Nothing, Dict{Symbol}} = nothing,
kwargs...) where T <: AbstractSubject
PK plot for subject set.
* `typesort` - sort on page by this id key;
* `pagesort` - different pages by this id key;
* `sort` - use only subjects if sort ⊆ subject id.
MetidaNCA.setdosetime!
— Methodsetdosetime!(data::DataSet{T}, dosetime::DoseTime, sort::Dict) where T <: PKSubject
Set dose time dosetime
for subjects if sort
⊆ subject's id
.
MetidaNCA.setdosetime!
— Methodsetdosetime!(data::DataSet{T}, dosetime::DoseTime, ind::Int) where T <: PKSubject
ind
- index in DataSet.
MetidaNCA.setdosetime!
— Methodsetdosetime!(data::DataSet{T}, dosetime::DoseTime, inds::Union{Vector{Int}, UnitRange{Int}, Tuple{Vararg{Int}}}) where T <: PKSubject
inds
- indexes in DataSet.
MetidaNCA.setdosetime!
— Methodsetdosetime!(data::DataSet{T}, dosetime::DoseTime) where T <: PKSubject
For all subjects in DataSet.
MetidaNCA.setdosetime!
— Methodsetdosetime!(data::T, dosetime::DoseTime) where T <: PKSubject
Set dose time dosetime
for subject data
.
MetidaNCA.setkelauto!
— Methodsetkelauto!(data::DataSet{T}, kelauto::Bool, sort::Dict) where T <: PKSubject
MetidaNCA.setkelauto!
— Methodsetkelauto!(data::DataSet{T}, kelauto::Bool, ind::Int) where T <: PKSubject
MetidaNCA.setkelauto!
— Methodsetkelauto!(data::DataSet{T}, kelauto::Bool, inds::Union{Vector{Int}, UnitRange{Int}, Tuple{Vararg{Int}}}) where T <: PKSubject
MetidaNCA.setkelauto!
— Methodsetkelauto!(data::DataSet{T}, kelauto::Bool) where T <: PKSubject
MetidaNCA.setkelauto!
— Methodsetkelauto!(data::T, kelauto::Bool) where T <: PKSubject
Set range for elimination parameters calculation for subject.
data
- PK subject;kelauto
- value.
MetidaNCA.setkelrange!
— Methodsetkelrange!(data::DataSet{T}, range::ElimRange{:point}, sort::Dict; kelauto = false) where T <: PKSubject
MetidaNCA.setkelrange!
— Methodsetdosetime!(data::DataSet{T}, dosetime::DoseTime, ind::Int) where T <: PKSubject
MetidaNCA.setkelrange!
— Methodsetkelrange!(data::DataSet{T}, range::ElimRange{:point}, inds::Union{Vector{Int}, UnitRange{Int}, Tuple{Vararg{Int}}}; kelauto = false)
MetidaNCA.setkelrange!
— Methodsetkelrange!(data::DataSet{T}, range::ElimRange{:point}; kelauto = false) where T <: PKSubject
MetidaNCA.setkelrange!
— Methodsetkelrange!(data::T, range::ElimRange{:point}; kelauto = false) where T <: PKSubject
Set range
for subject data
. Set kelauto
if possible.