class: center, middle, inverse, title-slide # Uncertainty, Variability, and Sensitivity Analyses in Toxicological Modeling ##
### Nan-Hung Hsieh, PhD ### Postdoctoral Research Associate
Interdisciplinary Faculty of Toxicology, Texas A&M University --- # Today's talk is about... ### Uncertainty and Variability analysis - Probabilistic modeling ### Sensitivity analysis - Quantify the uncertainty from model input to model output
 ### Pharmacokinetic modeling - Predict external exposure to internal dose ### Pharmacodynamic modeling - Predict the dose-response relationship ??? I'll provide 4 topics in today's talk. The first one is Uncertainty and Variability analysis, I will give a general of how we apply uncertainty and sensitivity analysis in our modeling process. In addition, in my recent research, I also focus on sensitivity analysis to quantify the uncertainty from model output. Sensitivity analysis also has some applications. I will provide some examples later on. On the other side, I will focus on pharmacokinetic modeling. This approach can help us understand the chemical behavior or properties when we under the chemical exposure. We can use this method to estimate the external exposure to internal dose. Secondary, we want to pharmacodynamic model to know how chemical affect on human health and make some predictions. --- background-image: url(https://i.ibb.co/JB7s1bK/Screenshot-from-2019-09-24-11-49-47.png) background-size: 700px background-position: 50% 50% # Modeling in Risk Assessment ??? According to EPA's Risk assessment terminology. Variability refers to the range of toxic response or exposure, which means the internal and external physical factors that can cause the differences of toxicity effects. Uncertainty refers to our inability to know for sure. It is often due to the lack of knowledge, such as in experiment data, modeling, and parameter. Therefore to solve this problem, we can apply probabilistic modeling to quantify or characterize the uncertainty and variability in risk assessment. The probabilistic modeling approach is a more comprehensive than traditional point estimate method to consider the uncertainty and variability in risk assessment. --- background-image: url(https://i.ibb.co/SmNTtv2/WHO.png) background-size: 200px background-position: 80% 80% # Uncertainty vs. Variability .font150[ > **Uncertainty** relates to "lack of knowledge"" that, in theory, could be reduced by better data, whereas **variability** relates to an existing aspect of the real world that is outside our control. > [*World Health Organization (2017)*](https://www.who.int/ipcs/methods/harmonization/areas/hazard_assessment/en/) ] ??? There is a clear definition to differentiate the uncertainty and variability in WHO document. --- # Variability in Risk Assessment  - Reduce chances using a strain that is a "poor" model of humans - Obtaining information about "potential range" to inform risk assessment .font60[Chiu WA and Rusyn I, 2018. https://doi.org/10.1007/s00335-017-9731-6] ??? Here are the reasons of why we need to pay attention on variability. Because in the risk assessment, we need to consider the difference response level in the population. And traditionally, in animal study, we usually focus on single mouse strain in toxicology research. There is a chance to use a poor model to represent the humans. Using the different mouse strains give us us the opportunity to reduce this chance. Also. --- background-image: url(https://image.ibb.co/jNZi4e/drug_concentration_time.png) background-size: 200px background-position: 90% 90% # Pharmacokinetics (PK) .font120[ - The fate of chemical in a living organism - **ADME** process .center[ **A**bsorption - How will it get in? **D**istribution - Which tissue organ it will go? **M**etabolism - How is it broken down and transformation? **E**limination - How it leave the body? ] - Kinetics: rates of change - PK is focus on .bolder[TIME (t)] and .bolder[CONCENTRATION (C)] ] ??? Kinetics is a branch of chemistry which describe the change of one or more variables as a function of time. So we focus on the time and concentration. It’ll go up after intake the drug and then go down after reach the maximum concentration. --- # Pharmacokinetic Model To .font150[.bolder["predict"]] the **cumulative does** by constructed **compartmental model**. .pull-left[ ![](http://www.mdpi.com/mca/mca-23-00027/article_deploy/html/images/mca-23-00027-g006.png) ] .pull-right[ ![](https://image.ibb.co/nJTM7z/fitting.png) ] `\(D\)`: Intake dose (mass) `\(C\)`: Concentration (mass/vol.) `\(k_a\)`: Absorption rate (1/time) `\(V_{max}\)`: Maximal metabolism rate `\(K_m\)`: Concentration of chemical achieve half `\(V_{max}\)` (mass/vol.) `\(k_{el}\)`: Elimination rate (1/time) ??? But it’s difficult to realize the whole time-concentration relationship due to it will take a lot of time and money in the experiment. Therefore, we need to apply toxicokinetic modeling. The basic model is constructed by a single variable with few parameters. We can set up input dose and define the output such as chemical concentration in blood or other tissue organs. Then, we can set up the parameters such as absorption,elimination rate constant. We can also used Michaelis-Menten kinetics constants to define the concentration-dependent rate constant for metabolism. --- class:clear ### Physiologically Based Pharmacokinetic (PBPK) Model Mathematically transcribe **physiological** and **physicochemical** descriptions of the phenomena involved in the complex **ADME** processes. .center[ ![:scale 90%](http://pharmguse.net/pkdm/pbpm.jpg) ] ??? But the real world is not as simple as we think. Sometimes we need to consider the complex mechanism and factors that can help us make a good prediction. So people developed the PBPK that include physiological and physicochemical parameters that correspond to the real-world situation and can be used to describe the complex ADME processes. --- # Probabilistic Modeling .center[ ![:scale 95%](https://ars.els-cdn.com/content/image/1-s2.0-S1740675717300373-gr1_lrg.jpg) ] .font60[https://doi.org/10.1016/j.ddmod.2017.08.001] ??? Also, we can apply probabilistic modeling approach in PBPK modeling, this method called Bayesian-PBPK. Before the conduction of Bayesian PBPK, the first thing is to have or find the prior information and apply this information to define the probability distribution of model parameters that need to be used in PBPK modeling. And then, using the PK-Data of individual to calibrate PBPK model, After that, the distribution of model parameter will be adjusted based on the given experiment data. The posterior parameter can be further used to the additional application. Such as understanding the parameter uncertainty and population variability. --- background-image: url(https://ars.els-cdn.com/content/image/1-s2.0-S0300483X10002623-gr5.jpg) background-size: 400px background-position: 70% 40% # Bayesian Population Model .font140[**Individuals level**] `\(E\)`: Exposure `\(t\)`: Time `\(\theta\)`: Specific parameters `\(y\)`: condition the data
 .font140[**Population level**] `\(\mu\)`: Population means `\(\Sigma^2\)`: Population variances `\(\sigma^2\)`: Residual errors .font60[https://doi.org/10.1016/j.tox.2010.06.007] --- # Population PBPK Modeling .font120[ - Characterizing PBPK parameters from **individuals** to **population** - Evaluating population **variability** and parameter **uncertainty** - Cross-species comparisons ] .center[ ![:scale 70%](https://ars.els-cdn.com/content/image/1-s2.0-S0041008X09003238-gr3_lrg.jpg) ] .font60[Chiu WA et al., 2009. https://doi.org/10.1016/j.taap.2009.07.032] ??? This is a one of representative publication that used the Bayesian approach in population PBPK modeling. This paper describes a Bayesian population analysis using MCMC simulation of the harmonized rat, mouse, and human PBPK models for TCE. --- # Population PBPK Modeling .font120[ - Compare **group-specific** model predictions with data - Apply **population** prediction in variability assessment ] .center[ ![:scale 60%](https://i.ibb.co/VHT9qZ3/chiu2019.jpg) ] .font60[Chiu WA et al., 2009. https://doi.org/10.1016/j.taap.2009.07.032] ??? Through the estimated posterior parameter estimation, the result can be further used to do the population or group specific prediction. It is useful to generate “population-based” parameters using only the posterior distributions for the population means and variances, instead of the estimated group-specific parameters. These population predictions provide a sense as to whether the model and the predicted degree of population uncertainty and variability adequately account for the range of heterogeneity in the experimental data. Assuming the group-specific predictions are accurate, the population-based predictions are useful to identify whether one or more if the datasets are “outliers” with respect to the predicted population. It is informative to compare the population-based model predictions to the additional “validation” data in order to assess the predictive power of the PBPK model. --- background-image: url(https://i.ibb.co/tYDnPDb/chiu2014-2.png) background-size: 500px background-position: 90% 50% # Population PBPK Modeling .font120[ - Inter-strain & inter-individual variability in metabolism ]  .font60[Chiu WA et al., 2013. https://doi.org/10.1289/ehp.1307623] ??? This is an extensive study. Previous animal studies mainly used single strain, B6C3F1 as a representative animal. But the issue to used B6C3F1 in extrapolation is the metabolism is very difference with the human. It had the highest rate of respiratory tract oxidative metabolism as compared to rats and humans. Also, it doesn't have representative variability in risk assessment. So in this study, instead of B6 strain, it includes 16 inbred strains to discuss inter-strain variability and use it to compare with the human inter-individual variability. Through the multi-strains model calibration and prediction, we can have consistent estimates of variability in human and mice --- class:clear, middle  --- Application --- ## If you have *known* "parameters" ## ------------------------------------> ##  Parameters / Model / Data ## <------------------------------------ ## If you have *known* "data" --- Calibration --- --- background-image: url(https://ars.els-cdn.com/content/image/1-s2.0-S0300483X18301781-gr2_lrg.jpg) background-size: 280px background-position: 90% 80% # Recent study Funding: **U.S. EPA (STAR RD83561202)** and **National Institutes of Health (F32 ES026005)** Luo, Y.S., Hsieh, N.H., Soldatow, V.Y., Chiu, W.A. and Rusyn, I., 2018. [Comparative Analysis of Metabolism of Trichloroethylene and Tetrachloroethylene among Mouse Tissues and Strains](https://doi.org/10.1016/j.tox.2018.07.012). Toxicology, 409, pp.33-43.
 **Motivation**: Quantitative comparison of tissue- and strain-specific metabolism of TCE and PCE has not been performed  ??? In our recent research, we incorporate more animal experiment results. We built the multicompartment PK model to estimate the metabolism of TCE and PCE. We want to quantitative compare the tissue- and strain-specific metabolism of TCE and PCE because this comparison haven't done before. In the beginning, we used three different mice strains and given the specific does of TCE amd PCE. After the several hour the mice were sacrified. The time points of 1, 2, 6, 12, 24, 36 h were selected to maximize the metabolic information from both oxidative and glutathione conjugation pathways We didn't use the PBPK model because the current is PBPK model takes a very long time in model calibration. Therefore, we tried to re-build this simplified model to compare and describe the Trichloroethylene and tetrachloroethylene among mouse tissues and strains. --- class:clear Predicted disposition of **TCE (A)**, **PCE (B)**, and their respective metabolites in male B6C3F1/J, C57BL/6J, and NZW/LacJ mice. .center[ ![](https://ars.els-cdn.com/content/image/1-s2.0-S0300483X18301781-gr5.jpg) ] .font70[ Pie charts are used to provide a relative comparison among various metabolites as predicted by the model in each strain. ] ??? This is the result of the disposition of TCE and PCE and their respective metabolites in mice strains. Pie charts are used to provide a relative comparison among various metabolites as predicted by the model in each strain. Most of each parent compound (TCE and PCE) remained unmetabolized until excretion As you can see the disposition fractions are different across the mice strains. For to the glutathione conjugation metabolism, the overall flux to conjugation was less than 0.3% of the administered dose for both chemicals. --- class:clear **Trichloroethylene (TCE)** .center[![:scale 75%](https://i.ibb.co/yRv23dL/TCE.png)]
 **Tetrachloroethylene (PCE)** .center[![:scale 75%](https://i.ibb.co/YjRNTH1/PCE.png)] ??? Also, we used our estimated result to compare with other toxicokinetics study of TCE/PCE metabolites in mice, rats, and humans. Our result can fill the data gap to understand the chemical metabolism in mice, especially for TCE. Based on the result of oxidation to GSH, mice are thought to be more efficient in oxidative metabolism, but less efficient in glutathione conjugation as compared to rats and humans. --- # Recent study Funding: **National Institutes of Health (P42 ES027704 and P42 ES ES005948)** Luo, Y.S., Cichocki, J.A., Hsieh, N.H., Lewis, L., Wright, F.A., Threadgill, D.W., Chiu, W.A. and Rusyn, I., 2019. [Using Collaborative Cross Mouse Population to Fill Data Gaps in Risk Assessment: A Case Study of Population-Based Analysis of Toxicokinetics and Kidney Toxicodynamics of Tetrachloroethylene](https://doi.org/10.1289/EHP5105). Environmental Health Perspectives, 127(6), p.067011.
 **Background:** - Interindividual variability in susceptibility remains poorly characterized for environmental chemicals such as tetrachloroethylene (PERC). - Development of population-based experimental models provide a potential approach to fill this critical need in human health risk assessment. **Objectives:** - To better characterize the contribution of glutathione (GSH) conjugation to kidney toxicity of PERC and the degree of associated interindividual toxicokinetic (TK) and toxicodynamic (TD) variability by using the Collaborative Cross (CC) mouse population. ??? This is our following research. This study aim to apply the developed multicompartment PK model in human health risk assessment. In this study, we used in animal experiment result from CC mouse population to characterize metabolism–toxicity interactions and quantify the interindividual variability. Our main objective is ... --- class:clear ![](https://i.ibb.co/KF8PLWy/Screenshot-from-2019-09-24-11-57-00.png) .footnote[https://factor.niehs.nih.gov/2019/9/papers/dert/index.htm] ??? This paper was been selected as Papers of the Month. The brief summary of this study is - Mice exposed to PERC had lower kidney weight and more markers of kidney injury - Inbred mice used in previous studies generally exhibited metabolism of PERC at the lower end of the overall distribution - Default values that are generally used by the U.S. Environmental Protection Agency in human health risk assessments to adjust for population variation, the default values may protect 95% of the population but not the most sensitive individuals --- class:clear **Interstrain Variability in Metabolism of PERC through Glutathione Conjugation Pathway** .center[ ![:scale 44%](https://ehp.niehs.nih.gov/cms/attachment/9d640350-b940-4fc6-b40c-2cc96767ae3e/ehp5105_f4.jpg) ] .font80[The range of interstrain differences were 54.2-fold for TCVG, 29.0-fold for TCVC, and 33.6-fold for NAcTCVC.] ??? This is one of our finding that explains the interstrain variability in metabolism of PCE through glutathione conjugation pathway. We used area under the curve to compare the tissue-specific TK of GSH conjugation metabolites across strains. We found that variability across mouse strain can have about 30 to 55-fold interstrain differences, which means the CC strain can have different PK profile in PCE metabolism. --- class:clear **Predicted disposition of PERC and its metabolites in CC mouse strains** .center[ ![:scale 46%](https://ehp.niehs.nih.gov/cms/attachment/ea8235e9-faf8-4c45-aeb9-23413e90aac0/ehp5105_f6.jpg) ] .font80[ - The population average was 80.4% for PERC, 19.4% for TCA, and 0.25% for GSH conjugates, where 52% of total GSH conjugates further underwent bioactivation to form reactive species. - Inter-strain difference was 1.19-fold for PERC, 2.34-fold for oxidation, 6.68-fold for GSH conjugation, and 5.34-fold for bioactivation of GSH conjugates. ] ??? Based on a previously published multicompartment TK model for PERC and its metabolites, we estimated the disposition for PERC, TCA, and GSH conjugates. Compare with our previous study, the disposition of parent compound was estimated about 90% in the previous research, but for CC strains, the disposition of parent compound was estimated about 80% CC mouse population–derived concentration-time profiles of PERC, oxidative metabolite (TCA), and GSH conjugative metabolites (TCVG, TCVC, and NAcTCVC) The results can be used to quantify the interstrain variability and derive chemical-specific adjustment factors to replace default uncertainty factors. --- class:clear **Chemical-Specific Adjustment Factors for Population Variability and Risk Assessment** ![](https://i.ibb.co/f24zFvp/UF-table.png)
 .center[![:scale 60%](https://i.ibb.co/WF2dr8S/UF.png)] ??? Based on the inter-strain estimation, we further used predicted disposition of PERC, TCA, and GSH conjugates across CC strains to calculate the chemical-specific adjustment factors for TK variability --- # Challenge .font120[Currently, the **Bayesian Markov chain Monte Carlo (MCMC) algorithm** is an effective way to do population PBPK model calibration. ] ### **BUT** -- .font120[ This method often have challenges to reach **"convergence"** with acceptable computational times **(More complex model with more parameters, More time!)** ] .right[![](https://slides.yihui.name/gif/questions.gif)] ??? We usually used Bayesian approach to quantify the uncertainty and variability. The Bayesian Markov chain Monte Carlo algorithm is an effective way to do population PBPK model calibration. But ... --- background-image: url(https://blitzmetrics.com/wp-content/uploads/2013/09/QuestionData.png) background-size: contain # Possible solutions .center[
 ## **From Model?** ## **From Data?** ## **From Parameter?** ## **From Algorithm?** ] ??? To improve the computational efficiency, we can focus on these four elements. The first one is ... --- # Project Funding: Food and Drug Administration (1U01FD005838) Project Start: Sep-2016 Name: **Enhancing the reliability, efficiency, and usability of Bayesian population PBPK modeling** ??? Based on these reasons, we started this project. -- - Specific Aim 1: Develop, implement, and evaluate methodologies for parallelizing time-intensive calculations and enhancing a simulated tempering-based MCMC algorithm for Bayesian parameter estimation (.font120[**Revise algorithm in model calibration**]) -- .highlight[ - Specific Aim 2: Create, implement, and evaluate a robust **Global Sensitivity Analysis** algorithm to reduce PBPK model parameter dimensionality (.font120[**Parameter fixing**]) ] -- - Specific Aim 3: Design, build, and test a user-friendly, open source computational platform for implementing an integrated approach for population PBPK modeling (.font120[**User friendly interface**]) --- background-image: url(https://upload.wikimedia.org/wikipedia/commons/5/5a/Mcsimlogo.png) background-size: 100px background-position: 90% 85% # GNU MCSim .font90[ > GNU MCSim is a general purpose modeling and simulation program which can performs "standard" or "Markov chain" Monte Carlo simulations. It allows you to specify a set of **linear or nonlinear algebraic equations** or **ordinary differential equations**. They are solved numerically using parameter values you choose or parameter values sampled from statistical distributions. Simulation outputs can be compared to experimental data for Bayesian parameter estimation (model calibration). ] .pull-left[ .font50[ - 6.1.0 (19 February 2019) - 6.0.1 (05 May 2018) - 6.0.0 (24 February 2018) - 5.6.6 (21 January 2017) - 5.6.5 (27 February 2016) - 5.6.4 (30 January 2016) - 5.6.3 (1 January 2016) - 5.6.2 (24 December 2015) - 5.6.1 (21 December 2015) - 5.6.0 (16 December 2015) - 5.5.0 (17 March 2013) - 5.4.0 (18 January 2011) - 5.3.1 (3 March 2009) - 5.3.0 (12 January 2009) - 5.2 beta (29 January 2008) - 5.1 beta (18 September 2006) - 5.0.0 (4 January 2005) - 4.2.0 (15 October 2001) - 4.1.0 (1 August 1997) - 4.0.0 (24 March 1997) https://www.gnu.org/software/mcsim/mcsim.html ] ] .pull-right[ .font140[Founder: *Frédéric Y. Bois*] Staff Toxicologist (Specialist), Reproductive and Cancer Hazard Assessment Section, CalEPA, Berkeley, USA, 1991-96 ] ??? This project mainly focus on using GNU MCSim This founder of this project is Dr. Frédéric Y. Bois. He had been worked in CalEPA as Staff Toxicologist for 5 years. --- # Related publication ### Parameter fixing - Hsieh N-H, Reisfeld B, Bois FY and Chiu WA. 2018. [Applying a Global Sensitivity Analysis Workflow to Improve the Computational Efficiencies in Physiologically-Based Pharmacokinetic Modeling](https://www.frontiersin.org/articles/10.3389/fphar.2018.00588/full). Frontiers in Pharmacology 9:588. - Hsieh N-H, Reisfeld B, and Chiu WA. [pksensi: R package to apply global sensitivity analysis in physiologically based kinetic models](). (Submitted)
 ### Revise algorithm in model calibration - Bois FY, Hsieh N-H, Gao W, Reisfeld B, Chiu WA. [Well tempered MCMC simulations for population pharmacokinetic models](). (Submitted) ??? This is our project from FDA that aim to improve the functionality in MCSim and the research of the Bayesian framework. One of the current challenges in the Bayesian method is time-consuming if our model becomes more complex or more comprehensive and we have more data in our multi-individuals and multi-groups testing. It will take need very long time to calibrate model parameter. Therefore, in our 2018 paper, we proposed a workflow to fix the non-influential parameter in our PBPK model based on the global sensitivity analysis. Through this way, we can save about half time in our model calibration. Our recent submitted paper is to show how we developed and used tempering MCMC in PBPK modeling. This algorithm can also have a faster convergence time compared with the original one. --- # Proposed Solution - Parameter Fixing .font120[We usually fix the "possible" non-influential model parameters through **"expert judgment"**.] ### **BUT** -- .font120[This approach might cause .font140[**"bias"**] in parameter estimates and model predictions.]

 ??? In our specific aim we want to find find the proper way to fix the non-influential parameter in PBPK model to improve the computational speed. Usually, --- # Sensitivity Analysis .font120[ > The study of how uncertainty in the output of a model (numerical or otherwise) can be apportioned to different sources of uncertainty in the model input. ] ![](https://i.ibb.co/0smnKjL/SA.png) .footnote[ .font60[Img: Krishnan, K. and Andersen, M.E. eds., 2010. Quantitative modeling in toxicology. John Wiley & Sons.] ] ??? Sensitivity analysis is the study of how uncertainty in the model output can be appointed to different sources of uncertainty in the model input. For example, in the PBPK model, we can have different measurement outputs such as concentration of blood or organs from animal study. These ouputs are determined by the various input parameters. Therefore, we can apply sensitivity analysis to figure out the most and least important parameter in our modeling process. --- # Application of SA? .font120[**Parameter Prioritization**] - Identifying the most important parameters - Reduce the uncertainty in the model response if it is too large (ie not acceptable) .font120[**Parameter Fixing**] - Identifying the least important parameters - Simplify the model if it has too many parameters .font120[**Parameter Mapping**] - Identify critical regions of the inputs that are responsible for extreme value of the model response --- class: clear background-image: url(https://i.ibb.co/dcm90HB/Screen-Shot-2019-04-30-at-8-48-27-PM.png) background-size: contain ??? Here we have observations (assumed error-free for simplicity’s sake) and a model whose parameters are estimated from the data. Estimation can take different courses. Usually it is achieved by minimizing, e.g. by least squares, some measure of distance between the model’s prediction and the data. At the end of the estimation step, ‘best’ parameter values as well as their errors are known. At this point we might consider the model ‘true’ and run an uncertainty analysis by propagating the uncertainty in the parameters through the model, all the way to the model output. In this case the estimated parameters become our factors. --- # Classification of SA Methods .footnote[.font40[http://evelynegroen.github.io]] .pull-left[ **Local** (One-at-a-time)  **"Local"** SA focus on sensitivity at a particular set of input parameters, usually using gradients or partial derivatives ] ??? Usually, some people have experience in modeling they have the knowledge in local sensitivity analysis. This method is very simple. You move one parameter and fix other parameters then check the change of model outputs. On the other side, some researcher also developed the approach that moves all parameters at a time and checks the change of model output. We call it Global sensitivity analysis or variance-based sensitivity analysis. -- .pull-right[ **Global** (All-at-a-time)  **"Global"** SA calculates the contribution from the variety of all model parameters, including .bolder[Single parameter effects] and .bolder[Multiple parameter interactions] ] --  .font120[.center["Global" sensitivity analysis is good at **parameter fixing**]]  ??? Usually, some people have experience in modeling they have the knowledge in local sensitivity analysis. This method is very simple. You move one parameter and fix other parameters then check the change of model outputs. On the other side, some researcher also developed the approach that moves all parameters at a time and checks the change of model output. We call it Global sensitivity analysis or variance-based sensitivity analysis. --- # Sensitivity index ### First order `\((S_i)\)` .font110[The output variance contributed by the specific parameter `\(x_i\)`, also known as .font130[**main effect**]] ### Interaction `\((S_{ij})\)` .font110[The output variance contributed by any pair of input parameter] ### Total order `\((S_{T})\)` .font110[The output variance contributed by the specific parameter and interaction, also known as .font130[**total effect**]] --
 .left[ .font110[**"Local"**] SA usually only addresses first order effects .font110[**"Global"**] SA can address total effect that include main effect and interaction ] --- # GSA-PBPK Hsieh N-H, Reisfeld B, Bois FY and Chiu WA. 2018. [Applying a Global Sensitivity Analysis Workflow to Improve the Computational Efficiencies in Physiologically-Based Pharmacokinetic Modeling](https://www.frontiersin.org/articles/10.3389/fphar.2018.00588/full). Frontiers in Pharmacology 9:588.
 .font120[ Background: - **Many** global sensitivity analysis (GSA) algorithms have been developed, but we don't have knowledge to identify which one is the best. - There is **NO** suitable reference in parameter fixing for PBPK model. Objectives: - To explore the application of GSA to ascertain which parameters in the PBPK model are **non-influential**, and therefore can be assigned fixed values in Bayesian parameter estimation with minimal bias. ] ??? There are different types of GSA approach that can estimate the sensitivity index. For example some testing methods use Monte Carlo approach to generate the the random sample in parameter space, but there are also some different kind of methods that uses the algorithm to generate specific search curve to sample the parameter. --- # Materials **Acetaminophen (APAP) PK data and PBPK model** - Eight studies (n = 71) with single oral dose and three different levels of given doses **Global sensitivity analysis** - Morris - eFAST, Jansen, and Owen method ![:scale 60%](https://image.ibb.co/mfUD0K/wuYl7Bk.png) --- class: center # Workflow .font120[Reproduce result from original paper (**21** parameters)]  .font120[Full model calibration (**58** parameters)]  ??? Our workflow started by reproducing the result from the previous study. -- .font120[Sensitivity analysis using different algorithms]  **Compare the .bolder[time-cost] for sensitivity index to being stable** **Compare the .bolder[consistency] across different algorithms**  --  .font120[Bayesian model calibration by SA-judged influential parameters]  **Compare the model .bolder[performance] under the setting "cut-off"** **Exam the .bolder[bias] for expert and SA-judged parameters**  --- # Computational efficiency comparison .center[  ] Time-spend in SA (min): Morris (2.4) < **eFAST (19.8)** `\(\approx\)` Jansen (19.8) < Owen (59.4) Variation of SA index: Morris (2.3%) < **eFAST (5.3%)** < Jansen (8.0%) < Owen (15.9%) ??? In our result, we’ll answer the four questions. We tested the computer time under the sample number from 1000 to 8000 and checked the variation of sensitivity index. As expected, Morris is the fastest approach that can rapidly compute the result under the same sample number with the lowest variability. But if we focus on the variance-based method, we can find that eFAST shows better performance than Jansen and Owen. --- # Consistency comparison .pull-left[ ![](https://image.ibb.co/jKtsnz/fig2_1.jpg) ] .pull-right[ ![](https://image.ibb.co/mt11fK/fig2_2.jpg) ] .center[ .font120[ **eFAST** `\(\approx\)` Jansen `\(\approx\)` Owen > Morris ] ] .footnote[Grey: first-order; Red: interaction] ??? We correlated the sensitivity index across four algorithms by using the results of original and all model parameters. The grey and red color are the correlation plot for first-order and interaction. We found that all global methods can provide the consistent sensitivity index. However, Morris cannot produce the similar results with other algorithms. --- # Accuracy & precision comparison .center[ .pull-left[ Original model parameters (**OMP**)  .bolder[Setting cut-off]  Original influential parameters (**OIP**) ] .pull-right[ Full model parameters (**FMP**)  .bolder[Setting cut-off]  Full influential parameters (**FIP**) ]  .bolder[Model calibration and validation] ] ??? Moving on to the third question. The crucial factor in this part is how do we set up the cut-off for the sensitivity index that can be used to distinguish the influential and non-influential parameters. Then we can use the selected parameter sets to do the further model calibration. To determine the reliable cut-off, we used both parameter sets from original and the full parameter set. After the sensitivity analysis, we set the cut-off and do the model calibration and validation to see which cut-off can provide the better trade-off between computer time and model performance. --- class:clear .pull-left[ ### The non-influential original parameters **1** Absorption parameters **2** Phase I metabolism parameters **4** Phase II metabolism parameters ### The influential additional parameters **1** physiological parameter - Cardiac output **1** chemical-specific transport parameter - Blood:plasma ratio of APAP **4** partition coefficients ] .pull-right[

 ![](https://image.ibb.co/k8KUnU/fig3.jpg) ] ??? Firstly, we used the cut-off at .05, which means if the parameter can not provide the impact for output variance over 5%, we’ll drop-off this parameter. We found 11 influential parameters and 10 non-influential parameters in this original parameter set. However, when we used the cut-off at .05, we can only screen 10 parameters in the full model set. So we further used the cut-off at .01 to choose additional 10 parameters to do the model calibration. Here is the summary of the number of parameters that were be classified to the non-influential parameter in original parameter setting. These parameters are from absorption and metabolism. In addition, we found 6 parameters that were fixed in the previous study. --- # Accuracy and Precision .center[ ![](https://image.ibb.co/gUu1s9/fig5.jpg) ] ??? We compared the observed human experiment data, and the predicted values then summarized the residual. We can see the full influential parameter with the cut-off at .01 that only used 1/3 of full model parameters can provide the similar result with full parameter sets. Also, using the cut-off at .05 that only used 10 parameters can generate the similar result with original parameter sets. --- # Time Cost on Model Calibration - Summary of the time-cost for - All model parameters (this study, 58), - GSA-judged parameters (this study, 20), - Expert-judged parameters ([Zurlinden and Reisfeld, 2016](https://link.springer.com/article/10.1007%2Fs13318-015-0253-x), 21)

  Parameter group 	  Time-cost in calibration (hr)

  All model parameters 	  104.6 (0.96)

  GSA-judged parameters 	  42.1 (0.29)

  Expert-judged parameters 	  40.8 (0.18)

 .footnote[All time-cost value are shown with mean and standard deviation (n = 10).] --- background-image: url(https://i.ibb.co/z8BpX5x/Screenshot-from-2019-09-23-22-04-43.png) background-size: 860px background-position: 50% 80% # Related work **Reproducible research - Software development (R package [pksensi](https://nanhung.rbind.io/pksensi/))** --- # Related work **Application of GSA in trichloroethylene (TCE)-PBPK model** ![:scale 90%](https://i.ibb.co/Q87n0Kg/fig2.png) --- # Toxicodynamic modeling Funding: **National Institute of Environmental Health Sciences (P42ES027704)** Hsieh, N.H., Chen, Z., and Rusyn, I., Chiu, W.A., Concentration-response modeling of in vitro bioactivity data from complex mixtures of priority Superfund compounds.
 Background: - Environmental chemicals at Superfund sites are composed of diverse chemicals. - Traditionally, most exposure-effect studies focus on the adverse effects of a single chemical or a mixture with few compounds. - The **high throughput screening-based toxicity testing** provides the opportunity to examine the biological responses from complex mixtures more fully. Objective:  To examine the concentration-response relationships of individual Superfund priority-list chemicals and their mixtures using in vitro bioactivity data  --- # *in-vitro* approach ![](https://i.ibb.co/ZJNTQjR/chems.png) ![:scale 80%](https://i.ibb.co/s1gkNvX/assay.png) ??? Environmental chemicals at Superfund sites are composed of diverse chemicals that include heavy metals, pesticides, industrial chemicals, polycyclic aromatic hydrocarbons, and plasticizers --- background-image: url(https://i.ibb.co/SVTw7fJ/singleDR.png) background-size: 550px background-position: 50% 95% # *in-silico* modeling - Fit a commonly used sigmoidal dose-response model to examine the effects of individual chemicals - Apply traditional .font120[**least-squares**], as well as .font120[**Bayesian**] approaches, to enable better characterization of uncertainty - Make predictions as to the behavior of Superfund compounds in a mixture under the assumptions of .font120[**independent action**] and .font120[**concentration addition**]. ![:scale 10%](https://raw.githubusercontent.com/stan-dev/logos/master/logo.png) --- background-image: url(https://i.ibb.co/2tzxQCN/inter-intra.png) background-size: 200px background-position: 85% 95% # Conclusion .font120[ - **Probabilistic TK/TD modeling** provides an insight to quantify the uncertainty/variability in risk assessment - **Bayesian statistics** is a powerful tool. It can be used to understand and characterize the "uncertainty" and "variability" from individuals to population through data and model. - **Global sensitivity analysis** can be an essential tool to reduce the dimensionality of model parameter and improve the "computational efficiency" in Bayesian PBPK model calibration. ] --- # Acknowledgement .pull-left[ ![:scale 40%](https://vetmed.tamu.edu/communications/wp-content/uploads/sites/53/2019/09/CVM-BOX-hrz.svg) **Zunwei Chen** **Weihsueh A. Chiu** **Yu-Syuan Luo** **Ivan Rusyn**
 ![](https://upload.wikimedia.org/wikipedia/en/thumb/9/95/Colorado_State_University_logo.svg/250px-Colorado_State_University_logo.svg.png) **Brad Reisfeld**
 ![:scale 40%](https://www.certara.com/wp-content/uploads/2016/08/certara-default-social.png) **Frederic Y. Bois** ] .pull-right[ ![](https://www.niehs.nih.gov/web-resources/images/niehs-logo.svg) ![](https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Food_and_Drug_Administration_logo_2016.svg/1920px-Food_and_Drug_Administration_logo_2016.svg.png) ![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Logo_of_the_United_States_Environmental_Protection_Agency.svg/140px-Logo_of_the_United_States_Environmental_Protection_Agency.svg.png)
 .font150[**Thank You!**] ]


+++ title = "Sensor Watch" linkTitle = "Sensor Watch" +++ {{< blocks/cover title="Sensor Watch" image_anchor="top" height="full" >}}


8) Cookie cutter projects and IDES for organized, delightful programming¶
Related links:
- https://cookiecutter.readthedocs.io/en/latest/readme.html
- https://www.jetbrains.com/help/pycharm/meet-pycharm.html
- http://swcarpentry.github.io/python-novice-inflammation/
- https://matplotlib.org/users/pyplot_tutorial.html
Plan for today: Good programming workflow using python, git, and IDEs¶
Last class, I shared a part of a git workflow for good software development, but we were only using text files to simplify learning git. We will build on this today by making a python project. This happens to be something that can be done quite simply in other ways (e.g. in Excel) but the value in making a nice project will be that the actions will be consistently repeatable without errors (since we’ll be checking for those!). In the process, we’ll introduce features of the IntelliJ IDE.
It is always good to start with an idea of the type of input that is expected and the type of output desired.
We are going to create a new project that will take a CSV file of data from an arthritis study and then:
- Calculate the average inflammation per day across all patients.
- Plot the result to discuss and share with colleagues.
Instead of using a Jupyter notebook do to this, we will create a project using a template to start us off with good organization and show how we can make a python program that is easy to run anywhere.
Start with a plan¶
It is a good idea to start with an example input and example expected output, and then think about the steps that will connect them.
Example input: A csv file with inflamation data, with one line per patient, and columns representing different days, e.g., for the first three patients: ~~0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0 0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1 0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1~~
Example output: It can be helpful to make an example output, e.g. “by hand” (what I call doing things in Excel or another method well) on a subset of the data, such as the three lines above. We can tweak the desired output (e.g. how the plot looks) but a good idea of the end goal is very useful.
Rough plan:¶
- Give the program the name of the file
- Have the program read in data
- Calculate average, min, and max values per patient
- Plot results
In the process, we will be learning about numpy, IDEs, reading and writing data, and more!
Note: This walk-through can serve as excellent example of the type of project that you will turn in by November 18 (feel free to turn it in earlier). The main objective is for you to write a well-structured, documented python program to complete a task that will be helpful for your classes or research. More details about this project, which will be due Nov. 21, will be posted at the same time as HW05, on Monday, October 1.
Getting started¶
You likely already completed the first required steps: downloaded the professional version of IntelliJ from the link https://www.jetbrains.com/student/:
…
We won’t be starting from an empty project, but instead a cookie-cutter project that has a set of files and organizing directories. To download it, you will need to install:
conda install cookiecutter
Cookiecutter FTW¶
Wouldn’t it be nice to set up a project with all the files you normally want to have (e.g LICENSE, README, .gitignore with default entries, etc.) and a nice structure for your project?
So many want this, and Cookiecutter is a library to help you set up your own structure from scratch or start from a cookiecutter template started by another group.
We’ll do the later; it is always a good idea to benefit from others’ efforts when it will save you some time, and in this case, provide some ideas about what makes a good project structure.
We’ll download a cookiecutter project based on another project from a group that does computational chemistry and molecular dynamics and cares about best practices in software development.
$ cookiecutter gh:team-mayes/cookiecutter-compchem
project_name [project_name]: arthritis_proj
repo_name [arthritis_proj]:
first_module_name [arthritis_proj]: data_proc
author_name [Your name (or your organization/company/team)]: hbmayes
description [A short description of the project.]: Demo including processing data from a csv
Select open_source_license:
1 - MIT
2 - BSD-3-Clause
3 - LGPLv3
4 - Not Open Source
Choose from 1, 2, 3, 4 (1, 2, 3, 4) [1]:
Select dependency_source:
1 - Prefer conda-forge over the default anaconda channel with pip fallback
2 - Prefer default anaconda channel with pip fallback
3 - Dependencies from pip only (no conda)
Choose from 1, 2, 3 (1, 2, 3) [1]:
Select Include_Windows_continuous_integration:
1 - y
2 - n
Choose from 1, 2 (1, 2) [1]:
Initialized empty Git repository in /Users/hbmayes/bee/code/python/arthritis_proj/.git/
[master (root-commit) 3d81ff9] Initial commit after Comp. Chem. Cookiecutter creation
30 files changed, 3238 insertions(+)
create mode 100644 .codecov.yml
create mode 100644 .github/CONTRIBUTING.md
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
create mode 100644 .gitignore
create mode 100644 .travis.yml
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 appveyor.yml
create mode 100644 arthritis_proj/__init__.py
create mode 100644 arthritis_proj/_version.py
create mode 100644 arthritis_proj/data/README.md
create mode 100644 arthritis_proj/data/look_and_say.dat
create mode 100644 arthritis_proj/data_proc.py
create mode 100644 arthritis_proj/tests/__init__.py
create mode 100644 arthritis_proj/tests/test_arthritis_proj.py
create mode 100644 devtools/README.md
create mode 100644 devtools/conda-recipe/bld.bat
create mode 100755 devtools/conda-recipe/build.sh
create mode 100644 devtools/conda-recipe/meta.yaml
create mode 100755 devtools/travis-ci/before_install.sh
create mode 100644 docs/Makefile
create mode 100644 docs/README.md
create mode 100644 docs/_static/README.md
create mode 100644 docs/_templates/README.md
create mode 100644 docs/conf.py
create mode 100644 docs/index.rst
create mode 100644 docs/make.bat
create mode 100644 setup.cfg
create mode 100644 setup.py
create mode 100644 versioneer.py
FYI: only the first time you are getting a copy of the cookiecutter
template from a remote location (in this case, gb = github), do you need
to specify the remote location (as done in
cookiecutter gh:team-mayes/cookiecutter-compchem
). After that, if
you do the same command again, you will get a warning than you are going
to redownload and overwrite the template from before. Instead, you can
just make a copy of the template that you’ve already made local by
removing the reference to the remote location (e.g.
cookiecutter cookiecutter-compchem
).
Explore the templated project with IntelliJ¶
Clicking the cube icon at the top of my screen shows me the IntelliJ programs I can open. I can use either IDEA Ultimate or PyCharm. At least previous versions of PyCharm did not include all the functionality in IDEA Ultimate; this may have been fixed. I still use IDEA Ultimate because:
- I have plenty of memory so I can easily load this larger program
- IDEA Ultimate has all the functionality of PyCharm plus support for other languages, and I like having all of that available so I can switch between projects.
FYI: The free version for students and faculty is licensed for one year. After a year, you can use any .edu email address to re-up the license.
If you are using IntelliJ programs for for-profit projects, then pay the license. Many software development companies buy licenses because it is worth the efficiency boost.
Now, let’s open the existing project with Open
.
FYI: make sure you are opening the top-level folder, the one with the
.git
directory in it.
The first time you open IDEA Ultimate, you will get a series of
suggestions of what you should do next. In this case, it notes the
.py
extension and recognizes that it has a plug-in to allow is
asking us to install a plug-in that recognizes python syntax. Let’s
install it!
Before we installed it, there were no events in the Event Log
(bottom right corner of the screen above. Now that I installed the
python plugin, I have some events. I double-click on Event Log
to
see what they are, and follow the recommendation to restart IntelliJ.
After doing so, see the nice syntax highlighting in my .py
file?
We also have a warning that we need to configure our python editor.
Click on the project name, and press F4. That will bring up the Project Structure Window. Let’s choose Python 3 for our SDK for both the Project Settings and Platform settings.
After pressing OK
, the python interpreter warning should disappear.
Let’s start looking around the folders. Click the arrow next to
.idea
so that the files within the directory are shown.
The red means that the files are not being tracked with Git (IntelliJ IDEs are highly integrated with Git). These are configuration files that we don’t want to track as part of the package that we’ll share on GitHUb.
- Why isn’t the directory red?
- What should I do to have the files in the folder ignored by git?
FYI: if there are other problems, like a warning above that we need to configure our files, the suggestions by IntelliJ are generally, well, intelligent. Go ahead and accept its suggestions.
Back to exploring the project: Note above that .gitignore turned blue.
This indicaes that a tracked file has been changed. When a file is
staged to be committed, it will turn green. When there are no untracked
files that are not in .gitignore
and no differences between the
current versions of tracked files and those files state in HEAD, all
files will be in black.
To stage and commit our changes, we can go to our terminal, or note that
at the bottom left of the screen, there is an option to show a terminal.
Let’s use it to stage and commit the change to .gitignore
.
For now, we can ignore all folders except the arthritis_proj. Note that
this is standard–to have a folder with the same name as the project that
will hold your python scripts, such as the data_proc.py
script that
I defined when I was setting up the project with cookiecutter. Let’s see
what cookiecutter has set up for us, starting at the top, with the
description and imports, and the green check that says that the code
passes all the tests IntelliJ is looking for, such as proper indents,
following PEP8 code for variable names.
Note that the description we gave it is included in the comments at the top of the code. We can modify it as we add functionality.
Now scroll to the bottom. Customarily, the flow will start at the
bottom, with a main
function, and other functions that are called
will be above it. Let’s follow the logic starting from main; see that it
first calls parse_cmdline(argv)
, which, as you might hope, parses
any flags on the command line into arguments that will be stored in
args
. It also returns a return message that flags whether any errors
were found.
To be continued!


I am a web developer based in Portland, Oregon, with a knack for problem solving and creating designs that best represents the client. I find joy in creating meaningful, unique applications that can help improve the lives of others. I am a kind, down-to-earth California native who loves to curl up with a good book and a delicious cup of joe. In my spare time, I enjoy boxing and catching up on current events.
Javascript, jQuery, HTML5, CSS3, and QML
Ruby on Rails, Node.js, Active Record, PostgreSQL, and SQLite
Agile, REST, MVC, OOD, TDD, and AJAX
Want to start a project with me? Send me an email or contact me via my various networks and I will get back to you as soon as possible!


--- layout: post title: 'Meetup: Design for Performance with Martin Thompson' date: 2016-12-14 00:41:55.000000000 +08:00 type: post published: true status: publish categories: - Programming tags: - github - java - meet-up - open-source - performance meta: _rest_api_published: '1' _rest_api_client_id: "-1" _publicize_job_id: '29948147335' author: login: noobgrammer email<EMAIL_ADDRESS>display_name: bytehala first_name: Lemuel last_name: '' ---
Location: Paypal Office, Singapore Date: 12 December 2016 Topic: Design for Performance Speaker: Martin Thompson Video link: https://youtu.be/C70MLXX-ztU
[caption id="attachment_600" align="alignnone" width="3225"] Martin Thompson. He's cool.[/caption]
Last night, I went to my second Java User Group meet-up in Singapore. I didn't know who Martin Thompson is, and I didn't do any research on him before I went to his talk. If you want to, go ahead and google him. I'll wait.
PRO-TIP: Look up the speakers if you are planning to go to their talk. You get more insight into their previous work that way, and you might even learn more from their talk by doing some prior reading.
The talk was about performance, and how you can write Java code with performance in mind. I won't claim to have understood every point he raised, but here goes...
Latency + Processing Time = Response Time. The user perspective is more important than your system's.
I'm paraphrasing here, but you know what I mean.
Queues will form. (I'm not sure this is a complete thought in my brain yet...)
There is a point where more processors leads to worse performance. There is a contention and a coherence penalty to be paid. He discusses the universal scalability law at the 20 minute mark in the video.
By doing so, you see the interesting data like spikes. The mean, median, and mode of your system's response time is USELESS. If you use histograms, you will see trends and even outliers like a curious spike in the middle of a plateau.
So much so that they end up with dried out tightly coupled code. Which leads us to...
You ain't gonna need it. I understand why DRY is followed blindly by programmers, I'm even guilty of it. DRY is easy to remember, and easy to implement. However, it tricks us into creating abstractions. So now you ask: Are abstractions bad? I'm sure many of us were taught otherwise. At around the 30 minute mark in the video, Martin discusses the rules of abstraction. Two of my favorites are:
Drink one beer for every case you've seen of an interface just for interface sake, having only ONE implementation class.
And I think this is important because knowing that abstractions have a cost are going to make you think twice before you start doing it.
They're just more human-readable. You can have a more compact vector, you just need to build the tools to make them human-readable.
I'm sure a lot of stuff in his talk just flew over my head. Having said that, I did learn some things, and I think that's the most important part of going to a talk: You learn some things, you learn about some other things, and you learn that you need to learn about some more things.
By the way, if you haven't googled Martin Thompson by this point, he is the co-creator of Aeron which is a high-performance UDP messaging system, so he probably knows what he's talking about. Did I mention it's open source?
If you're curious to learn more, I encourage you to watch the video or check out their github.


Sometimes you want to save a record, but it may be an existing record (UPDATE) or a new one (INSERT). The pattern is sometimes called an “upsert” (update/insert).
You could try to do this the standard way you would via an ORM (SELECT to see if it exists, if it does, UPDATE, else INSERT). But if other users are updating at the same time, you will see concurrency errors or deadlocks.
First, let’s look at simpler SQL that is vulnerable to concurrency errors, than two ways of doing it safely.
Simple (not concurrent-safe!!)
UPDATE then check @@ROWCOUNT and INSERT if necessary. Only use this when the same record will not be created by two sources.
DECLARE @CategoryName NVARCHAR(15) = 'Dairy';
DECLARE
@Description NVARCHAR(MAX) = 'Milk, cheese and yoghurts';
DECLARE @Id int =
null;
UPDATE [Categories]
SET [Description] =
@Description,
@Id = [CategoryID]
WHERE [CategoryName] =
@CategoryName;
IF @@ROWCOUNT = 0
INSERT INTO [Categories]
([CategoryName]
,[Description])
VALUES
(@CategoryName
,@Description);
--if id is not set in UPDATE, then grab scope identity
SET @Id = ISNULL(@Id, CAST(SCOPE_IDENTITY() AS int));
--select it out
SELECT @Id AS Id;
This example grabs the affected Id too (whether identity insert or update).
Concurrent-safe
A more conventional IF NOT EXISTS... INSERT - ELSE - UPDATE. The lock hints protect for concurrency. The UPDLOCK and SERIALIZABLE hints are as suggested in this Sam Saffron blog post from 2007
IF NOT EXISTS(
SELECT * FROM [Categories]
WITH ( UPDLOCK, SERIALIZABLE )
WHERE [CategoryName] = @CategoryName
)
BEGIN
INSERT INTO [Categories]
([CategoryName]
,[Description])
VALUES
(@CategoryName
,@Description);
SET @Id = CAST(SCOPE_IDENTITY() AS int);
END
ELSE
BEGIN
UPDATE [Categories]
SET [Description]
= @Description,
@Id = [CategoryID]
WHERE
[CategoryName] = @CategoryName;
END
SELECT @Id AS Id;
MERGE
Much the same as before, using the MERGE command. MERGE by itself is not concurrent-safe; you must still use lock hints.
MERGE INTO [Categories] WITH ( UPDLOCK, SERIALIZABLE )
AS target
--if/where part
USING
(SELECT
@CategoryName, @Description ) AS source
([CategoryName],
[Description])
ON (target.CategoryName = source.CategoryName)
--found, so update
WHEN MATCHED THEN
UPDATE SET
[Description] = @Description,
@Id = [CategoryID]
--not found, so insert
WHEN NOT MATCHED THEN
INSERT
([CategoryName]
,[Description])
VALUES
(@CategoryName
,@Description);
SET @Id = ISNULL(@Id, CAST(SCOPE_IDENTITY() AS int));
SELECT @Id AS Id;
Other Databases
MySQL has INSERT … ON DUPLICATE KEY UPDATE … and SELECT … FOR UPDATE.
Oracle has SELECT FOR UPDATE cursors


Returns the aggregated objects (references in the object attributes) for the specified objects.
|
error in (no error) The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
status The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
code The code input identifies the error or warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
source The source string describes the origin of the error or warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
reference in Object reference in. |
|
class attributes (F) If true, class arributes are returned. |
|
remove duplicates (F) If true, duplicated objects are removed from return list. |
|
array names (T) If true, the name of the attribute name of the array will be return and not the array element name. |
|
error out The error out cluster passes error or warning information out of a VI to be used by other VIs. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
status The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
code The code input identifies the error or warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
source The source string describes the origin of the error or warning. The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed. |
|
reference out Object reference out. |
|
aggregated objects Array specifying the aggregated objects in the specified objects attributes. |
|
aggregated names Names of the aggregated objects attributes. |


climate heat air temperature Climate future change waves mean HWs days different time Figure cities increase number health period {border-style reference ensemble mortality px;} #ffffff;} based data London RCP. changes differences extreme Luxembourg Rome far indices projected year Health anomalies model used Change Clim. duration impacts regional results temperatures wave -year EURO-CORDEX European impact Environ. Heat Res. daily near observed projections significant RCPs. analysed annual contribute effects events increases middle series shown ./s--- Junk RCPs definition future, intensity maximum px; {font-family Chang. Earth Europe Regional WSDI font-size longest members spans values warming (RCP.) Model Table World available average conditions double; frequency high increased index length negative percentile (blue), (grey), (red) Boxplots Future HWs, Indices Int. Luxembourg, RCM Report Sci. Science Whiskers Working absolute border-color border-width detected extremes future. human minimum models past percentile. pronounced public research review scenario scenarios set solid; standard summer {font-style {font-weight (–) Bull. CMIP CORDEX Changes Concentration Déqué Expert G.A. Global Goergen Group HW, HW-D Intergovernmental London, London/Luxembourg Meehl Meteorol. Number Panel Press Public RCP.. Research Rome/London Rome/Luxembourg S.K. Team account analysis assessment bold compared consecutive courier; defined detect e.g., em; emission exposed global highest increasing indices, like multi-model overall population positive possible pt;} region related risk showed span statistically studies study, temperature, threshold use van


What do YOU want to see in BusMall?
You will be shown three photos. Select the one you would be most likely to purchase! You may be shown the photos more than once so - again - just choose your favorite out of the options!


Come Watch a Movie
Select the movie you would like to see, your ticket type, and the time you would like to see it:
Movie Name
The Assassin
Burnt
Sacrificial Youth
Psycho
Office Space
Die Hard
Ticket Type
Child
Senior
Adult
Movie Times
10am
12pm
7pm
5pm
9pm
10pm
Make my Ticket


Prototype for HGG's latest game! [released: --/--/--]
Short blerb about the latest changes with the current release of whatever...
Short blerb about the latest changes with the current release of whatever...


Add Organizations and Items
Now we need to add some content. For our simple content package we have all our content stored in one place, but we need to Import the Resources into our resource pool.
Import Content
To create our content package, we must first import some content.
- From the File Menu, select Import, Import to Resources Pool ... This brings up the Import Resources File Dialogue. Alternatively, click the Icon in the resources pool toolbar. (To ensure that resources are imported to the correct place, click on the root node (testpkg) in the Resources Pane).
- Navigate to the source directory you made earlier (c:\cp\test-src\).
- Select all the files,including the subdirectory.
- Check the 'Include Dependent Files' Option. The RELOAD Editor will parse html files etc. to find images, stylesheets etc.
- Click Open. Click Yes if asked to overwrite files (e.g. stylesheets and logo's which may have been referenced in more than one file).
- The files you imported now appear in the tree view on the left hand side of the RELOAD workspace. You should see the eight .html files in the root space, as well as the supp folder containing the images and stylesheets.
Your workspace should resemble that shown below.
Create an Organisation
A content package consists of one or more organisations of content. By default the CP we create has no organisations, so we have to add one.
- Select the Organizations node in the manifest view and right-click.
- From the context sensitive menu, click 'Add Organization'
- Select the new Organization and, in the attribute pane at the bottom of the workspace, enter the value Main in the white box. This defines this organisation as the default for the package.
Your workspace should resemble that shown below.
Add Items (Content)
Finally, we can add some content to our content package. Basically, we create the structure for our content package by adding Items to an Organization. Adding Items to the organisation can be carried out using menus (Edit, Add Item, or right-click, Add Item) but it is far easier to just 'drag and drop' content from the tree pane to the manifest pane.
Drag and Drop
Moving content around between the three panes and within panes is easy if you use drag and drop. You can easily:
drag and drop Files or Folders from the resources pane to become Resources in the manifest pane
drag and drop Files or Folders from the resources pane to become Items in the manifest pane
drag and drop Folders from the resources pane to become Organizations in the manifest pane
drag and drop Resources in the manifest pane to become Items in the manifest pane
drag and drop from the Desktop to a folder in the resources pane
|
- Select the resource you want to add from the resources node in the manifest pane. You can start with one.html (though you don't have to). .
- Drag the file to the 'Main' Organisations node of the manifest file. A new Item appears, with the title One. When the editor adds content to an organisation it will attempt to provide a sensible name - for instance by parsing the html to read the contents of the file's <title> tag.
- Notice that as you add content to the 'Main' Organizations node, the file (and its' dependents) are added to the Resources node.
- Continue adding content to the 'Main' Organizations node. Don't worry about adding the files in order, if you want to rearrange the order, you can always select individual Items and use the 'Move Up' and 'Move Dn' buttons to reorganise. If your content exists entirely within a folder (not the case here) then you can drag the whole folder across to the Organisations node from the Tree Pane and the whole adding organizations and item process is carried out automatically (you may have to tidy up a little)
- You can also delete content from the organization - select the content and click the delete button. This won't delete files, only references to them in the Content Package.
Once you have finished adding content, your workspace should resemble that shown below.


Rules of the Game
Tic-tac-toe (or Noughts and crosses, Xs and Os) is a paper-and-pencil game for two players, X and O, who take turns marking the spaces in a 3x3 grid. The player who succeeds in placing three respective marks in a horizontal, vertical, or diagonal row wins the game.


This fetches data from the lastfm api, and formats it as a csv document
errors: { errors }
Save { kb } KB cancel a partial file can be saved while fetching more data
Requests to the lastfm api can be rate limited or fail, use these settings if you start having problems
Use an alternative api key - generate one at last.fm/api
(milliseconds, default 0) how long to wait between making requests


Hi I'm Julián Amaya, Software Engineer and Web Developer, experience with Git, HTML5, CSS3, Bootstrap, Materialize.css, Sass, JavaScript last standards, jQuery, React, Python, and Django.
card_travel
Feb 2018 - Current
Analyst and Front-End Developer working with HTML5, CSS3, Bootstrap, JavaScript ES6, jQuery and JSP. Office 365 Administrator and Sharepoint Online Developer. IT Support Manager with Jira Software.
card_travel
Apr 2017 - Jul 2017
Web Developer at “International Congress of Sustainable Energy 2017” made by Industrial University of Santander.
card_travel
Jan 2016 - Sep 2016
Web Developer at “2016 XXI Symposium on Signal Processing, Images and Artificial Vision” and “Congress International of Nanotechnology” made by Pontificial Bolivarian University Bucaramanga.
card_travel
Jan 2013 - Jul 2016
Researcher and Web Developer at “Semillero en Prospectiva Energética de Colombia” made by Ecopetrol S.A., UIS, UPB and UNAB.
Technologies: HTML5, CSS3, Bootstrap, Local Storage, JavaScript ECMAScript +6, API from Movie Database
See ProjectBy Google and Coursera
Platzi
Platzi
Platzi
Platzi
Platzi
Platzi
Platzi


Autumn Wednesday
By James Turner
I’m older than I’ve ever been before.
As each day dawns I’m older by a day.
The grub that gobbled Tuesday’s wanting more.
Its name is time, and time is here to stay.
Its chomping started back when I did. Then,
it scared the child I was and made him ill,
though once or twice before the age of ten
it stopped, a glimpse of calm that haunts me still.
Time’s not a problem these days anyhow,
Its speed cannot be slowed, and I don’t try,
for now will always go on being now
though day may follow day until I die.
That falling leaf. Those unseen running feet.
The soft light on that roof across the street.


24
1 Look, Yahweh is about to empty the earth, to devastate it, mar its surface, and scatter its inhabitants.
2 It will come about that, as with the people, so with the priest; as with the servant, so with his master; as with the maid, so with her mistress;
as with the buyer, so with the seller; as with the creditor, so with the debtor; as with the receiver of interest, so with the giver of interest.
3 The earth will be completely devastated and completely stripped;
for Yahweh has spoken this word.
4 The earth dries up and withers, the world shrivels up and fades away,
the prominent people of the earth waste away.
5 The earth is polluted by its inhabitants because they have transgressed the laws, violated the statutes,
and broken the everlasting covenant.
6 Therefore a curse devours the earth, and its inhabitants are found guilty.
The inhabitants of the earth burn up, and few people are left.
7 The new wine dries up, the vine withers, all the merry-hearted groan.
8 The happy sound of the tambourines stops, and the revelry of those who rejoice;
the joy of the lyre ceases.
9 They no longer drink wine and sing, and the beer is bitter to those who drink it.
10 The city of chaos has been broken down; every house is closed up and empty.
11 There is a crying in the streets because of the wine;
all joy is darkened, the gladness of the land has disappeared.
12 In the city is left a desolation, and the gate is broken into a ruin.
13 For this is how it will be on the whole earth among the nations,
as when an olive tree is beaten, as the gleanings when the grape harvest is done.
14 They will lift up their voices and shout the majesty of Yahweh,
and will joyfully shout from the sea.
15 Therefore in the east glorify Yahweh,
and in the isles of the sea give glory to the name of Yahweh, the God of Israel.
16 From the farthest part of the earth we have heard songs, "Glory to the righteous one!"
But I said, "I have wasted away, I have wasted away, woe is me! The treacherous have dealt treacherously;
yes, the treacherous have dealt very treacherously."
17 Terror, the pit, and the snare are upon you, inhabitants of the earth.
18 He who flees from the sound of terror will fall into the pit,
and he who comes up out of the middle of the pit will be caught in the snare.
The windows of the heavens will be opened, and the foundations of the earth will shake.
19 The earth will be completely broken, the earth ripped apart;
the earth will be violently shaken.
20 The earth will stagger like a drunken man and will sway to and fro like a hammock.
The transgression of it will be heavy on it, and it will fall and not rise again.
21 It will come about on that day that Yahweh will punish the host of the high ones on high,
and the kings of the earth on the earth.
22 They will be gathered together, prisoners in a pit, and will be shut up in a prison;
and after many days they will be sentenced.
23 Then the moon will be ashamed, and the sun disgraced, for Yahweh of hosts will reign
on Mount Zion and in Jerusalem, and before his elders in glory.


The image_filter macro performs arithmetic on full-colour ARGB byte images.
Input Ports
Name Type Description in Image_ARGB original image to be processed Parameters
Name Type Description UI Control filterOp int Arithmetic operation to perform Radio box alphaConst float constant alpha component value Slider redConst float constant red component value Slider greenConst float constant green component value Slider blueConst float constant blue component value Slider Output Ports
Name Type Description out_image Image_ARGB image after processing out_obj GDobject directly renderable output object
The image_filter macro allows simple arithmetic operations to be performed on full-colour byte images. This allows various filtering operations to be easily performed. When the macro is triggered it applies a specified operation to each pixel of the image in turn. Currently the macro is able to add, subtract, multiply and divide by a constant vector of alpha, red, green and blue values. The processing does not affect the size of the output image and the calculation of one pixel does not involve the value of any other pixel.
This module is based upon the IAC project, Luminance. The module implementation is in C++ and operates on simple byte arrays rather than fields.
in
Full colour 2D image that is to be analysed by the module. The image should be a 2D uniform grid of type Image_ARGB. The read_image module outputs data of this type.
filterOp
Integer parameter specifying which arithmetic operation should be performed on the input image. Currently the project supports four arithmetic operations. The values and exact operations are shown below.
0 - Add : OutARGB = ImageARGB + ConstantARGB 1 - Subtract : OutARGB = ImageARGB - ConstantARGB 2 - Multiply : OutARGB = ImageARGB * ConstantARGB 3 - Divide : OutARGB = ImageARGB / ConstantARGB
alphaConst
Floating point parameter that specifies the alpha component of the constant vector that is used in the calculation.
redConst
Floating point parameter that specifies the red component of the constant vector that is used in the calculation.
greenConst
Floating point parameter that specifies the green component of the constant vector that is used in the calculation.
blueConst
Floating point parameter that specifies the blue component of the constant vector that is used in the calculation.
out_image
Full colour 2D image after processing by the module. The output image also as a type of Image_ARGB.
out_obj
The GDobject version of the output, suitable for direct connection to the viewer. A 2D viewer is recommended.
The ImageFilterFunc macro makes use of the ImageFilterCore low-level module. The image_filter user macro uses this functional macro and the ImageFilterUI user interface macro. All these macros use the ImageFilterParams parameter block.
The ImageFilterEg example application reads an image, filters out the green and blue channels, and shows it in a viewer.
xp_comm_proj/i_filter/if_mods.v contains the V definitions of the ImageFilterCore module and the ImageFilterParams parameter block.
xp_comm_proj/i_filter/if_macs.v contains the V definitions of the ImageFilterUI user interface macro, the ImageFilterFunc functional macro, the image_filter user macro and the ImageFilterEg example application.
The low-level ImageFilterMods library containing the low-level ImageFilterCore module does not specify a process. By default the express process will be used.
Andrew Dodd International AVS Centre
Sabreen Vig, Larry Gelberg, Ian Curington Advanced Visual Systems, Inc.
IAC luminance project, from which this project is derived.


This is an application, allowing you to find the nearest resteraunts, bars, and all varieties of entertainment near you!
We are Based in Worcester and our application is mainly used for Worcester
This is an application, allowing you to find the nearest resteraunts, bars, and all varieties of entertainment near you!
We are Based in Worcester and our application is mainly used for Worcester


--- layout: page title: 404 - Page not found --- Forgive me! Page not found! The requested page could not be found. Home Should definitely give you Status Code: 200
Page not found!
The requested page could not be found.
Home Should definitely give you Status Code: 200


Please fill in this form to create an account.
By creating an account you agree to our Terms & Privacy.
Already have an account? Log in.


Please type your password(hypotetically) and then click [Record] or type enter. After recording click [Clean] and repeat. Please use the same password and without error(e.g. no backspace,etc)
If you a have a failed try then just click [Clean] without recording it. With several samples recorded you can click on [Download csv] and play :).
Stephen Krol 2020


🏠 Home Page
Salmon Cookies Restaurents Group
Please Add The location You Suggest :
Please Add The Maximum Number Of Customers You Suggest :
Please Add The Minimum Number Of Customers You Suggest :
Please Add The Average Of Cookies / Person :


Mahajan Computers
Admission Form
Name
Father's Name
College Name
Course Applied for
date of Joining
Email Id
Telephone


--- layout: default date: 30/03/2021 ---
Covers races from 5th February, 2021 — 26th March, 2021.
Last updated: {{ page.date | date: "%A, %B %e" }}
{% include standings.html riders=site.data.2021.series_1.ages teams=site.data.2021.series_1.agesteam %} {% include datetime.html %}


I am currently a sophomore at the University of Michigan in the College of LSA!
I love finding new ways to solve complex problems in the context of design and programming.
I hope to one day harness the intersection of art, technology, and people
to make tech more accessible for everyone.
In my free time I love to cook vegan food, make Spotify playlists, play violin, and create art in whatever way I can.
I'm also passionate about social justice and equality on campus and in the greater community.
UNIVERSITY OF MICHIGAN, 2018 - present
I currently work at Instructional Support Services in the College of LS&A. For 10 hours a week, I handle requests and troubleshoot IT issues for faculty and students. During my time here, I have developed expertise in software including Camtasia, iMovie, Adobe Illustrator as well as instructional support devices.
MICHIGAN COMMUNITY SCHOLARS PROGRAM, 2018 - present
I work with my team members to efficiently plan social justice dialogues, cultural events, and campus climate discussions for our community on a weekly basis. I have gained a lot of experience with planning and coordinating meaningful events for my community.
THE CITY OF ANN ARBOR, May 2018
Worked with the Customer Service sector of the City of Ann Arbor’s Public Works department. Collaborated with a team of UX design students to develop a plan to implement voice-activated software.


Home
Courses
Contact
Sign Up
Login
Previous
Next
courses
feedback
Thanks for clicking. That felt good.


Logging
A few considerations to note about logging.
Logging Python multiprocessing threads is not easy.
Rotating Python TimedRotatingFileHandler logs in not easy.
logrotate on Python multiprocessing threads is not easy.
Logging something that eats through as much data and does as many things as Skyline does is not easy.
Skyline logging can be viewed as having 2 contexts:
Logging the Skyline application operations - Skyline app log
Logging the details of anomalous time series - syslog
Any long time users of Skyline will have undoubtedly run into a logging pain with Skyline at some point. Whether that be in terms of logs being overwritten or no errors being logged but a Skyline module broken or hung. Although logging is very mature, especially in an ecosystem as mature as Python and one may be led to believe it should be easy, however in reality it is non-trivial.
A modified logging methodology
The logging implementation in Skyline is quite complicated due to the abovementioned reasons. It is important to note that some optimisations have had to be added to the logging process which could be described as unintuitive AND simply as un-log like.
Therefore it is important to explain why it is necessary to use a modified logging methodology and so that the user understands conceptually what is being logged and what is not being logged.
In terms of Analyzer if errors are encountered in any algorithms, we sample the errors. This achieves a balance between reporting errors usefully and not using lots of I/O and disk space if something goes wrong. Skyline has the potential to do a runaway log, but not reporting errors is not useful when you are trying to pinpoint what is wrong.
However, it is right that algorithms should just True or False and not impact on the performance or operation of Skyline in anyway.
This achieves a balance.
Skyline app logs
Each Skyline app has its own log. These logs are important from a Skyline perspective in terms of monitoring the Skyline processes. See [Monitoring Skyline]((monitoring-skyline.html))
The logs are also very important in terms of being able to verify all the steps and results in the analysis pipeline.
It is recommended to NOT stream the Skyline app logs through any logging pipeline e.g. rsyslog, logstash, elasticsearch, etc. The syslog alert trigger was added for this purpose. If you wish to parse and rate anomalies do so via syslog (see below). Or look at the skyline Graphite metrics or set some alert tuples on some of the skyline. Graphite namespace metrics.
Log rotation is handled by the Python TimedRotatingFileHandler and by default keeps the 5 last logs:
handler = logging.handlers.TimedRotatingFileHandler(
settings.LOG_PATH + '/' + skyline_app + '.log',
when="midnight",
interval=1,
backupCount=5)
The Skyline app logs and the rotation is relatively cheap on disk space, an example of the disk space usage on four different Skyline servers.
141M /var/log/skyline
248M /var/log/skyline
139M /var/log/skyline
330M /var/log/skyline
Skyline app log preservation
It should be noted that the bin/ bash scripts are used to ensure logs are preserved and not overwritten by any Python multiprocessing processes or the lack of mode=’a’ in the Python TimedRotatingFileHandler. It is for this reason that the Skyline app logs should not be streamed through a logging pipeline as logstash, et al as this in a logging pipeline with say rsyslog can result in the log being pushed multiple times due to the following scenario:
Skyline app bin is called to start
Skyline app bin makes a last log from the Skyline app log
Skyline Python app is started, creates log with mode=w
Skyline Python app pauses and the app bin script concatenates the last log and new log file
Skyline bin script exits and Skyline Python app continues writing to the log
In terms of rsyslog pipelining this would result in the log being fully submitted again on every restart.
It is possible that a fragment of the source of that the original Skyline logging implementation was made from and it is possible that all this is due to a method change from the source, it tested OK, but has not been implemented as logging is working and needs to work. So it is horribly fixed, but works and testing something else new under all possible conditions is difficult. So it remains this way for the forseeable future.
syslog
With this in mind a syslog alert trigger was added to Skyline apps to handle the logging the details of anomalous time series to syslog, groking the syslog for Skyline logs and rates etc is the way to go or just look as the skyline Graphite namespace metrics.
A special mention of the settings.py variable
SYSLOG_ENABLED = True
This essentially now a hard requirement for Panorama and Luminosity now. If this special alerter is disabled a large chunk of Skyline’s new functionality is turned off.


Elephant Seals are awesome.
Yesterday I hiked 2 miles to the beach to see elephant seals at Año Nuevo beach.
Yesterday I hiked 2 miles to the beach to see elephant seals at Año Nuevo beach.
I played skee ball and ate fried twinkies and oreos. Yesterday they were delicious. Today, I may regret it just a little bit.
Byron is having a phenomenal time at daycare. I'm not sure she misses me at all./p>


A step closer to cancer precision medicine
| Source: | University of Helsinki |
| Summary: | Researchers have developed a computational model, Combined Essentiality Scoring (CES), that enables accurate identification of essential genes in cancer cells for development of anti-cancer drugs. |
Researchers from the Faculty of Medicine and the Institute for Molecular Medicine (FIMM) at the University of Helsinki have developed a computational model, Combined Essentiality Scoring (CES) that enables accurate identification of essential genes in cancer cells for development of anti-cancer drugs.
Why are the essential genes important in cancer?
Cancer is the leading cause of death worldwide. Cancer cells grow faster usually with the activation of certain genes. Targeted therapies aim at inhibiting these genes that are activated only in cancer cells, and thus minimizing side effects to normal cells.
High-throughput genetic screening has been established for evaluating the importance of individual genes for the survival of cancer cells. Such an approach allows researchers to determine the so-called gene essentiality scores for nearly all genes across a large variety of cancer cell lines.
However, challenges with replicability of the estimated gene essentiality have hindered its use for drug target discovery.
"shRNA and CRISPR-Cas9 are the two common techniques used to perform high-throughput genetic screening. Despite improved quality control, the gene essentiality scores from these two techniques differ from each other on the same cancer cell lines," explains Wenyu Wang, first author of the study.
How can we do better?
To harmonize genetic screening data, researchers proposed a novel computational method called Combined Essentiality Scoring (CES) that predicts cancer essential genes using the information from shRNA and CRISPR-Cas9 screens plus molecular features of cancer cells. The team demonstrated that CES could detect essential genes with higher accuracy than the existing computational methods. Furthermore, the team showed that two predicted essential genes were indeed correlated with poor prognosis separately for breast cancer and leukemia patients, suggesting their potential as drug targets.
"Improving gene essentiality scoring is just a beginning. Our next aim is to predict drug-target interactions by integrating drug sensitivity and gene essentiality profiles. Given the ever-increasing volumes of functional screening datasets, we hope to extend our knowledge of drug target profiles that will eventually benefit drug discovery in personalized medicine," says Assistant Professor Jing Tang, corresponding author of the study.
make a difference: sponsored opportunity
Story Source:
Materials provided by University of Helsinki.
Note: Content may be edited for style and length.
Journal Reference:
- Wenyu Wang, Alina Malyutina, Alberto Pessia, Jani Saarela, Caroline A. Heckman, Jing Tang. Combined gene essentiality scoring improves the prediction of cancer dependency maps. EBioMedicine, 2019; DOI: 10.1016/j.ebiom.2019.10.051
Cite This Page:
| MLA | University of Helsinki. "A step closer to cancer precision medicine." ScienceDaily. ScienceDaily, 14 November 2019. <www.sciencedaily.com/releases/2019/11/191114115909.htm>. |
| APA | University of Helsinki. (2019, November 14). A step closer to cancer precision medicine. ScienceDaily. Retrieved November 15, 2019 from www.sciencedaily.com/releases/2019/11/191114115909.htm |
| Chicago | University of Helsinki. "A step closer to cancer precision medicine." ScienceDaily. www.sciencedaily.com/releases/2019/11/191114115909.htm (accessed November 15, 2019). |


West Bengal records 13% turnout for by-polls in 3 Assembly seats till 9 am
Over seven lakh people will decide the fate of 18 candidates in the three constituencies.
by Press Trust of IndiaAbout 13.81 per cent of over seven lakh voters on Monday exercised their franchise in the by-polls to three Assembly seats in West Bengal in the first two hours, an EC official said.
Amidst tight security, people stood in long queues before polling booths under Kharagpur Sadar, Kaliaganj and Karimpur constituencies since morning to cast their votes.
Over seven lakh people will decide the fate of 18 candidates in the three constituencies.
Two of the three Assembly constituencies - Kharagpur Sadar and Karimpur - fell vacant post general election as the sitting MLAs contested and won Lok Sabha seats.
By-polls were necessitated in Kaliaganj following the death of Congress MLA Parmathanath Roy.
The results will be declared on November 28.


--- layout: post status: publish published: true title: web based rtorrent with docker author: display_name: vishvendra login: vishvendra email<EMAIL_ADDRESS>url: '' author_login: vishvendra author_email<EMAIL_ADDRESS>wordpress_id: 232 wordpress_url: http://www.vishvendrasingh.com/?p=232 date: '2016-07-04 09:21:19 +0530' date_gmt: '2016-07-04 09:21:19 +0530' categories: - cloud - Linux tags: - Cloud - docker - Linux comments: [] ---
web based rtorrent with docker, with this very simple below command
then see it live on http://url:8086
and user password is
docktorrent/p@ssw0rd
docker run -it \
-p 8086:80 -p 45566:45566 -p 9527:9527/udp \
--dns <IP_ADDRESS> \
-v /data-store:/rtorrent \
-e UPLOAD_RATE=1024 \
kfei/docktorrent


Having heard some good things about Wild Dagga, I decided to try it myself. This plant is native to Africa, and I live in Phoenix Arizona, so I thought it may be worth trying to grow. I was pleasantly surprised to find that local nurseries carried the plant (Leonotis leonurus). Aside from having pyscho-active properties, this is a very pretty plant and is fairly common as an ornamental shrub. The plants grow great here in the desert heat and sun. I planted 2 plants in March, and within 6 weeks both were producing beautiful orange flowers. Smoking it produces a nice, mellow buzz, but I am asthmatic and don't like to smoke anything.
By the way, I must agree with other stories I have read about Lion's Tail in that the flowers are much better than the leaves. I made some tea out of 7 grams of dried flowers. I boiled some water (2 cups), then turned off the heat and added the flowers. I let them steep for about 20 minutes, then drank all the tea quickly (with added sugar). The result was a very pleasant, strong hypnotic buzz that lasted at least an hour, with an energetic afterglow that lasted another hour or so. It was a very good buzz, and I was contentedly 'glued' to the couch for a long time. I have tried alot of so called legal highs that didn't do anything for me, but this stuff is for real.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


| Input String: | |
| Font Size: | 16px 32px 48px 64px |
| Line Style Left (or Both): | line curve arrow |
| Line Style Right: | line curve arrow none |
| Visuzlize: |
palindromes runs
squares rmostsquares lmostsquares left_maximal right_maximal maximal_repeat lpf lz77 lz78 lyndon_factorization lyndon_array lyndon words prev smaller suffixex next smaller suffixex |
| Effective Alphabet | |
| Rank Array |


Experienced Developer with a demonstrated history of working in the facilities services industry. Skilled in Open Source Software, Python, Data Analysis, WordPress, and Internet of Things. Strong engineering professional with a Bachelor’s Degree focused in Computer Science from Hindustan Institute of Technology and Science.


My Dad's Logo
Yet another design. My dad requested me some sort of portrait and here it is. I actually wasn't able to make it more abstract or iconic than the final result, but, in the end, it actually pleased me enough.
The original picture:
The final result:


|
|
Select a group/component instance of a body type to edit body properties.
Body properties cannot be edited while simulation is running.
Select a top level group/component of a body type to edit body script.
Body script cannot be edited while simulation is running.
Select a component instance of a joint type to edit joint properties.
Joint properties cannot be edited while simulation is running.
| Assign to All with Name and Type |
Joints work best with the world solver model set to iterative, 64 passes.
Two functions, simulation.find_joint_by_name(name) and simulation.find_joints_by_name(name), may be used to acquire Joint instances by their names in the script context of a body.
Other functions, like this.connected_joints, this.contained_joints and this.connected_bodies, may be used to acquire all related joints and bodies in the script context of a body.
- Currently, the fixed joint is limited in properties. Use the options within General Properties section, for instance, to adjust the breaking force, which can be applied to any joint.
| Controller |
A hinge joint has three resemblance modes:
-
Angular Friction - a hinge with rotational friction.
- The Friction argument controls rotational friction.
- The Controller argument may be used to control the magnitude of the angular frictional.
- The actual angular friction is, friction • controller.
-
Normal Spring - a hinge with angular spring that rotates connected bodies back to their starting angle.
- The Accel, Damp, and Strength arguments control acceleration and damping of the angular spring.
- The Start Angle argument controls the desired starting angle in preset angle units.
- The Controller argument may be used to control the magnitude and direction of the starting angle.
- The actual starting angle, in preset angle units, is, start_angle • controller.
-
Hooke's Spring - similar to the normal mode but uses Hooke's parameters for controlling the acceleration and drag of the spring.
| Controller | |
| Generate Slider Controller |
- The Controller argument may be used to control the magnitude and direction of the rotation.
- The maximum angular rate, in radians per second, is, accel • controller / damp.
| Controller | |
| Generate Slider Controller |
- The Controller argument assumes input as the desired angle in preset angle units.
- The Controller argument also accepts nil as the parameter, which turns off the joint.
- The desired angle is clamped between min and max limits if the limits are enabled.
- The Reduction Ratio may be used to decelerate angular rate when servo nears its desired angle.
| Controller |
- The Controller argument may be used to control the magnitude of the linear friction.
- The actual linear friction is, friction • controller.
| Controller | |
| Generate Slider Controller |
- The Controller argument assumes input as the desired linear position in preset units or the magnitude and direction of linear rate, depending on the Controller Mode.
- The Controller argument also accepts nil as the parameter, which turns off the joint.
- The desired position is clamped between min and max limits if the limits are enabled.
- The Reduction Ratio may be used to decelerate linear rate when piston nears its desired position.
| Controller |
- The Controller argument may be used to modify the starting position.
- The actual starting position, in preset units, is, start_position • controller.
| Controller |
- The Controller argument assumes input the desired direction with respect the joint orientation. For example, passing [1,0,0] into the controller will rotate the connected body so that it points the same direction as the joint's x-axis is.
- The corkscrew joint works like a slider and a hinge combined, however without a controller.
| Controller |
- The Controller argument may be used to control the magnitude of the angular friction.
- The actual angular friction is, friction • controller.
| Controller |
- The Controller argument may be used to control the magnitude of the angular friction.
- The actual angular friction is, friction • controller.
| Controller |
- The idea behind a curvy joint is that the connected body travels along the user-drawn curve.
- The curve can be modified by adding a connected set of edges/curves within the joint. The edge closest to the origin of the joint is considered as the starting edge.
- The curve joint works best when the angle between any two connected edges is less than 45 degrees.
- The magnitude of the linear and angular friction can be controlled with the controller.
- The actual linear friction is, linear_friction • controller.
- The actual angular friction is, angular_friction • controller.
| Controller | |
| Generate Slider Controller |
- The idea behind the curvy joint is that the connected body travels along a user-drawn curve.
- The curve can be modified by adding a connected set of edges/curves within the joint. The edge closest to the origin of the joint is considered as the starting edge.
- The curve joint works best when the angle between any two connected edges is less than 45 degrees.
- The Controller argument assumes input as the desired linear position in preset units or the magnitude and direction of linear rate, depending on the Controller Mode.
- The Controller argument also accepts nil as the parameter, which turns off the joint.
- The desired position is clamped between min and max limits if the limits are enabled.
- The Reduction Ratio may be used to decelerate linear rate when piston nears its desired position.
- Plane joint limits the motion of the connected bodies to its local X and Y axes and restricts motion along the Z-axis.
Embedded Sounds List |
| Add Remove Remove All Play Pause/Resume Stop |
Commands
Frequency: 22050 KHz, 16 bit samples
-
Microsoft WAVE (.wav), RIFF (.riff), AIFF (.aiff), Ogg Vorbis (.ogg), Creative Labs VOC (.voc), MikMod (.mod .xm .s3m .it .669 .med), FLAC (.flac), MP3, and MIDI (.mid).
-
Microsoft WAVE (.wav), RIFF (.riff), AIFF (.aiff), Ogg Vorbis (.ogg), Creative Labs VOC (.voc), and MP3.
Only one music can be played at a time.
Up to 20 sounds can be played simultaneously.
Music may be used as background and sounds may be used as effects.


i'm excited to eventually Learn Flask
Here is the image
Here are three reasons flask is cool
link through image of flask


Time and Location:
Monday, Wednesday 3:00 - 4:20pm HOA 160
| Event | Date | Description | Materials and Assignments |
|---|---|---|---|
| Lecture 1 | Aug 26 |
Machine Learning: Introduction to Machine Learning, Regression |
Reading: Bishop: Chapter 1, Chapter 3: 3.1-3.2 Deep Learning Book: Chapters 4 and 5. Class Notes [pdf] |
| Lecture 2 | Aug 28 |
Machine Learning: Continue Introduction to Machine Learning, Regression. |
Reading: Bishop: Chapter 1, Chapter 3: 3.1-3.2 Deep Learning Book: Chapters 4 and 5. Class Notes [pdf] |
| Sep 2 | No class | ||
| Lecture 3 | Sep 4 | Probability Distributions |
Reading: Bishop: Chapter 2, sec. 2.1-2.4 Deep Learning Book: Chapter 3 Class Notes [pdf] |
| Lecture 4 | Sep 9 | Neural Networks I |
Reading: Bishop, Chapter 5: sec. 5.1 - 5.4 Deep Learning Book: Chapter 6 Class Notes [pdf] |
Lecture 5 | Sep 11 | Neural Networks I, continue |
Reading: Bishop, Chapter 5: sec. 5.1 - 5.4 Deep Learning Book: Chapter 6 Class Notes [pdf] |
| Lecture 6 | Sep 16 | Neural Networks II |
Reading: Bishop, Bishop Chapter 5, sec. 5.1 - 5.4 Deep Learning Book: Chapter 7 Class Notes [pdf] |
| Lecture 7 | Sep 18 | Convolutional Neural Networks I |
Reading: Deep Learning Book: Chapter 9 Class Notes [pdf] |
| Lecture 8 | Sep 23 | Convolutional Neural Networks I, continue |
Reading: Deep Learning Book: Chapter 9 Class Notes [pdf] |
| Lecture 10 | Sep 25 | Convolutional Neural Networks II |
Reading : Deep Learning Book: Chapter 9 Class Notes [pdf] |
| Lecture 11 | Oct 2 | Graphical Models I, Midterm Review |
Reading : Bishop, Chapters 8.1, 8.2 Class Notes [pdf] Midterm Review [pdf] |
Lecture 12 | Oct 7 | Graphical Models I |
Reading : Bishop, Chapters 8.1, 8.2 Class Notes [pdf] |
Lecture 13 | Oct 9 | Graphical Models II |
Reading : Bishop, Chapters 8.3, 8.4 Class Notes [pdf] |
Lecture 14 | Oct 14 | Autoencoders |
Reading : Deep Learning Book, Chapter 14
Class Notes [pdf] |
Lecture 15 | Oct 16 | Sparse Coding |
Reading : Deep Learning Book, Chapter 13 Class Notes [pdf] |
Lecture 16 | Oct 21 | Language Modeling |
Reading : Deep Learning Book, Chapters 10, 12.4 Class Notes [pdf] |
Lecture 17 | Oct 23 | Sequence to Sequence Models, Part 1 |
Reading : Deep Learning Book, Chapter 10 Class Notes [pdf] |
Lecture 18 | Oct 28 | Sequence to Sequence Models, Part 2 |
Reading : Deep Learning Book, Chapter 10 Class Notes [pdf] |
Lecture 19 | Oct 30 | Variational Inference |
Reading : Deep Learning Book, Chapter 19 Class Notes [pdf] |
Lecture 20 | Nov 4 | Variational Autoencoders |
Reading : Deep Learning Book, Chapter 20 Class Notes [pdf] |
Lecture 21 | Nov 6 | Generative Adversarial Networks |
Reading : Deep Learning Book, Chapter 20.10 Class Notes [pdf] |
Lecture 22 | Nov 11 | RBMs and Deep Belief Networks, part I |
Reading : Deep Learning Book, Chapter 20.3 Class Notes [pdf] |
Lecture 23 | Nov 13 | Deep Belief Networks, part II |
Reading : Deep Learning Book, Chapter 20.3 Final review [pdf], Class Notes [pdf] |
Lecture 24 | Nov 18 | Representation Learning for Reading Comprehension | Class Notes [pdf] | Lecture 25 | Nov 20 | Integrating Domain-Knowledge into Deep Learning | Class Notes [pdf] | Lecture 26 | Nov 25 | Memory for Deep Reinforcement Learning | Class Notes [pdf] | Lecture 27 | Dec 2 | Deep Learning for Visual Navigation | Class Notes [pdf] |
Tentative Assigment Dates:Check Piazza for updates:
Tentative Exam Dates:Check Piazza for updates:
Tentative Project Report Dates:Check Piazza for updates:
| |||
Books
|


--- layout: default title: Speakers permalink: /speakers/ ---
Grow Shrink Pulse Pulse Grow Pulse Shrink Push Pop Bounce In Bounce Out Rotate Grow Rotate Float Sink Bob Hang Skew Skew Forward Skew Backward Wobble Horizontal Wobble Vertical Wobble To Bottom Right Wobble To Top Right Wobble Top Wobble Bottom Wobble Skew Buzz Buzz Out