get_run_info() reports significant digits, such as 4.5, instead of 0.
hyperion 0.5.0
Breaking changes
get_model_lineage() signature changed. Old: get_model_lineage(model_dir) (required a directory or model object). New: get_model_lineage(model = NULL, from = NULL, to = NULL).
No-arg call returns the whole project lineage tree, rooted at the directory containing pharos.toml.
model returns ancestors and descendants of one model.
from/to filter the tree downstream / upstream / to the slice between two models.
The model_dir argument no longer exists.
copy_model()description is now required (was description = NULL).
R-side raw comment parsing is removed. All comment parsing is owned by pharos. The “raw” mode documentation, parsing pipeline, and transform keyword mapping are gone from get_model_parameter_info(). NA names are acceptable when pharos cannot parse a comment; summary() falls back to NONMEM names in that case. Raw parsing mode is most similar to type2 comments in pharos.
clear_metadata_file() — new exported function. Selectively clears based_on, copied_from, and/or tags in a model’s metadata file; unspecified fields are preserved.
copy_model() gains based_on and tags arguments so metadata can be populated at copy time rather than via a follow-up set_metadata_file().
set_metadata_file() gains copied_from to record mechanical-copy provenance separately from based_on.
hyperion.config_dir option — explicit override for where pharos.toml is resolved from. Status is surfaced in the package-load options message.
use_comments(type = c("type1", "type2")) — single entry point for setting comment parsing type in pharos.toml. The new "type2" mode is a flexible structured grammar; "type1" remains strict structured. Replaces use_type1_comments().
read_ext_file() accepts a hyperion_nonmem_model object in addition to the previously-supported path forms.
get_model_lineage(verbose = TRUE) renders the lineage as a flat table with Model, Parent, Description, Tags, Model Hash, and Dataset Hash columns instead of the tree view.
Bug fixes
.ext parameter columns are sanitized to syntactic R names (e.g. IIV (CL) → IIV_CL), so returned data frames no longer require backtick quoting.
.grd gradient column names are similarly sanitized; the surrounding GRD(...) wrapper is stripped before sanitization.
Fixed clear_metadata_file() so previously-set values are actually cleared (prior behavior left stale fields in place).
read_model() reports parsing diagnostics for malformed NONMEM control streams, backed by a new pharos parser aimed at better control-stream coverage.
$EST FILE= overrides are now honored when locating .ext files in get_parameters(), read_ext_file(), get_run_status(), and copy_model() parameter updates. Previously these always used {model}.ext regardless of where NONMEM was actually writing estimates.
hyperion 0.4.2
Bug fixes
Job ID for SGE submission was incorrectly parsed in pharos. This release incorporates the fix from pharos.
hyperion 0.4.1
New features
Job submissions previously always included DEBUG logs. The verbose argument has been added to submit_model_to_slurm and submit_model_to_sge so DEBUG logs are only enabled when requested.
hyperion 0.4.0
Breaking changes
copy_model(): the jitter parameter now accepts a single numeric value only. Named vector input (e.g., c("theta" = 0.05, "omega" = 0.1)) is no longer supported. Jittering of omega matrices could produce non-positive definite matrices causing nonmem to fail. Jittering for these parameters was removed to prevent this issue.
submit_model_to_slurm() now validates requested CPU counts against live SLURM partition information before submission.
SLURM submissions now warn when the chosen ncpu/partition combination would leave the final node less than 50% utilized.
Bug fixes
Run heuristics now correctly report NA when a heuristic result is unavailable (e.g., covariance step not run), instead of silently defaulting to FALSE. Summary output shows a warning indicator for these cases.
summary() now gracefully warns and falls back to NONMEM parameter names when comment parsing fails, instead of aborting.
get_parameter_names() now returns an empty data frame with a warning instead of aborting when comment parsing fails.
estimation_time and covariance_time in run details now return NA instead of 0.0 when not present in the output.
Fixed raw unit parsing for nested delimiters in comments, including:
(1/(mg*hr))
(1/[mg*hr])
[1/[mg*hr]]
Improved raw OMEGA off-diagonal parsing so theta-pair comments with slash names (for example CL/F-V2/F) are parsed as associated theta pairs instead of being split into incorrect fragments.
hyperion 0.3.2
New features
Added get_model_metadata() to retrieve model metadata (description, tags, and based_on) directly from a model object.
Updated documentation for model metadata retrieval and NONMEM comment parsing formats.
hyperion 0.3.1
New features
updated pharos dependency. When submitting a previously run model, the output directory will be deleted before submission to the grid.
if NMTRAN is available on head nodes/where models are submitted to the grid from, check_model will be run before submission.
Bug fixes
fixed issue with error message showing when ext/grd files were attempted to be read for summary(mod) for a running model before ext/grd files existed
hyperion 0.3.0
New Features
Running Model Status Detection
get_run_status() now returns "running" in addition to "run" and "not_run". Detects active NONMEM execution by checking whether the .ext file contains final estimates.
Summary Support for All Model States
summary() on NONMEM models now produces distinct output for three states:
Completed ("run"): Full parameter table, heuristics, OFV (unchanged).
Running ("running"): Recent iterations and gradients from .ext/.grd files. New n_iterations parameter controls how many to show (default 10).
Not run ("not_run"): Model metadata (problem statement, dataset path) with submission hints.
Console and R Markdown/Quarto rendering for running and not-run summaries via print() and knit_print() S3 methods.
New Exported Function: from_config_relative()
Resolves config-relative paths (stored relative to pharos.toml directory) to absolute paths.
get_model_dir() Gains absolute Parameter
get_model_dir(mod, absolute = TRUE) returns the absolute path instead of the config-relative path.
hyperion 0.2.0
New Features
Parameter Comment System
Add a structured parameter metadata system built on S7 classes:
ThetaComment, OmegaComment, SigmaComment store per-parameter fields like name, display, description, unit, parameterization, and associated_theta (OMEGA only).
ModelComments is a container for all parameters and validates cross-links (e.g., OMEGA associated_theta names).
New entry point get_model_parameter_info() reads comments from a model or run output and returns a ModelComments object for inspection and reporting.