29 research outputs found

    BioSimulator.jl: Stochastic simulation in Julia

    Full text link
    Biological systems with intertwined feedback loops pose a challenge to mathematical modeling efforts. Moreover, rare events, such as mutation and extinction, complicate system dynamics. Stochastic simulation algorithms are useful in generating time-evolution trajectories for these systems because they can adequately capture the influence of random fluctuations and quantify rare events. We present a simple and flexible package, BioSimulator.jl, for implementing the Gillespie algorithm, τ\tau-leaping, and related stochastic simulation algorithms. The objective of this work is to provide scientists across domains with fast, user-friendly simulation tools. We used the high-performance programming language Julia because of its emphasis on scientific computing. Our software package implements a suite of stochastic simulation algorithms based on Markov chain theory. We provide the ability to (a) diagram Petri Nets describing interactions, (b) plot average trajectories and attached standard deviations of each participating species over time, and (c) generate frequency distributions of each species at a specified time. BioSimulator.jl's interface allows users to build models programmatically within Julia. A model is then passed to the simulate routine to generate simulation data. The built-in tools allow one to visualize results and compute summary statistics. Our examples highlight the broad applicability of our software to systems of varying complexity from ecology, systems biology, chemistry, and genetics. The user-friendly nature of BioSimulator.jl encourages the use of stochastic simulation, minimizes tedious programming efforts, and reduces errors during model specification.Comment: 27 pages, 5 figures, 3 table

    Extensions to the Proximal Distance of Method of Constrained Optimization

    Full text link
    The current paper studies the problem of minimizing a loss f(x)f(\boldsymbol{x}) subject to constraints of the form DxS\boldsymbol{D}\boldsymbol{x} \in S, where SS is a closed set, convex or not, and D\boldsymbol{D} is a fusion matrix. Fusion constraints can capture smoothness, sparsity, or more general constraint patterns. To tackle this generic class of problems, we combine the Beltrami-Courant penalty method of optimization with the proximal distance principle. The latter is driven by minimization of penalized objectives f(x)+ρ2dist(Dx,S)2f(\boldsymbol{x})+\frac{\rho}{2}\text{dist}(\boldsymbol{D}\boldsymbol{x},S)^2 involving large tuning constants ρ\rho and the squared Euclidean distance of Dx\boldsymbol{D}\boldsymbol{x} from SS. The next iterate xn+1\boldsymbol{x}_{n+1} of the corresponding proximal distance algorithm is constructed from the current iterate xn\boldsymbol{x}_n by minimizing the majorizing surrogate function f(x)+ρ2DxPS(Dxn)2f(\boldsymbol{x})+\frac{\rho}{2}\|\boldsymbol{D}\boldsymbol{x}-\mathcal{P}_S(\boldsymbol{D}\boldsymbol{x}_n)\|^2. For fixed ρ\rho and convex f(x)f(\boldsymbol{x}) and SS, we prove convergence, provide convergence rates, and demonstrate linear convergence under stronger assumptions. We also construct a steepest descent (SD) variant to avoid costly linear system solves. To benchmark our algorithms, we adapt the alternating direction method of multipliers (ADMM) and compare on extensive numerical tests including problems in metric projection, convex regression, convex clustering, total variation image denoising, and projection of a matrix to one that has a good condition number. Our experiments demonstrate the superior speed and acceptable accuracy of the steepest variant on high-dimensional problems. Julia code to replicate all of our experiments can be found at https://github.com/alanderos91/ProximalDistanceAlgorithms.jl.Comment: 35 pages (22 main text, 10 appendices, 3 references), 9 tables, 1 figur

    Standardized Classification of Aortic Arch Branching Patterns (SCAABP)

    Get PDF
    Objectives. To review current anatomical classifications for the aortic branching patterns and propose a method for standardized classification of Aortic Arch Branching Patterns (SCAABP). Methods. Through a three-stage Delphi method, expert vascular anatomists in morphology design SCAABP to report trunks, branches, and laterality of aortic arch branching patterns. Results. SCAABP is a classification that includes 7 parameters (Number of branches, and 6 types of branches [braquiocephalic trunk, common trunk, common carotid, subclavian artery, vertebral artery, and ectopic arteries]). It can integrate all reported branching patterns and allows the classification of new or unreported patterns. The classification allows standardization for future comparison of results, and improvement of evidence-based anatomy. Conclusions. SCAABP is a standardized method for classifying anatomical variants of the aortic arch. It is simple, clear, and contemplates new variants. All reported classifications can be integrated

    BioSimulator.jl: Stochastic simulation in Julia.

    No full text

    Differential methods for assessing sensitivity in biological models.

    No full text
    Differential sensitivity analysis is indispensable in fitting parameters, understanding uncertainty, and forecasting the results of both thought and lab experiments. Although there are many methods currently available for performing differential sensitivity analysis of biological models, it can be difficult to determine which method is best suited for a particular model. In this paper, we explain a variety of differential sensitivity methods and assess their value in some typical biological models. First, we explain the mathematical basis for three numerical methods: adjoint sensitivity analysis, complex perturbation sensitivity analysis, and forward mode sensitivity analysis. We then carry out four instructive case studies. (a) The CARRGO model for tumor-immune interaction highlights the additional information that differential sensitivity analysis provides beyond traditional naive sensitivity methods, (b) the deterministic SIR model demonstrates the value of using second-order sensitivity in refining model predictions, (c) the stochastic SIR model shows how differential sensitivity can be attacked in stochastic modeling, and (d) a discrete birth-death-migration model illustrates how the complex perturbation method of differential sensitivity can be generalized to a broader range of biological models. Finally, we compare the speed, accuracy, and ease of use of these methods. We find that forward mode automatic differentiation has the quickest computational time, while the complex perturbation method is the simplest to implement and the most generalizable
    corecore