Migrating Your WordPress Site Back To Your Web Server
In my last post I covered how to get a copy of your WordPress site running on your computer, in this post I will cover migrating your WordPress site back to your web server.
Overview
There’s 2 ways to go about this, the easy way and the really easy way. The easy way will show how to move your site back using the same free tools that we used to set up our local site. You’ll need FTP access to your web server and access to phpMyadmin for this method.
The really easy way uses the premium version of DB Migrate. Aside from a copy of DB Migrate Pro, you’ll just need FTP access to your site. Aside from that, the really easy way is as easy as clicking a button. Let’s go ahead and get started.

I’m going to point out that this site is strictly for example. Obviously the minor changes I’ve made here don’t require setting up a cloned site, but the assumption is that you’ll have made some pretty major changes to your site.
Getting Started
If you haven’t checked out my last post, How To Get WordPress running on your computer, I would suggest doing that now. Basically what we are doing here is everything we did in the last post, in reverse. I don’t mean the steps are in reverse, rather the data will be flowing in reverse, from our local site back up to our live site.
Copy Paths from Live Site & Export Local Database
The first thing we need to do is to export a copy of our local database. We’re going to use DB Migrate to do this. If you followed along with my last post you should have DB Migrate installed on both the local site and the live site.
The first thing we need to do is to copy the settings from DB Migrate on our live site, and paste them in to our local site. Here’s a screen shot of the settings that I need to grab on my live site -
I’m going to copy the contents of both find fields from my live site, then I’m going to switch over to my local site and paste these settings into the replace fields on my local site. Here’s an image of DB Migrate on my local site, once I’ve pasted the settings.
What we are doing here is telling DB Migrate on our local site to make a copy of the new, modified, local database - but to make this copy using the file paths from the remote site. Once you’ve pasted the info from the live site as shown above, click migrate. DB Migrate will now export a copy of the modified local database to your downloads folder. This is the database with all our changes, we’ll be using it to replace the database in our live site.
Important: Make A Copy of your live database before continuing!
I cannot stress enough, before you do anything else make a copy of your remote database. Making a copy of your live database ensures that if something does go wrong you can quickly roll back and recover your site. If something goes wrong and you do not have a backup copy of your live database your site may not be recoverable.
Make a copy of your live database!
Live Database Backup
To make a backup of your live database log in to your web hosting control panel and go to phpMyadmin. If you’re not sure how to access phpMyAdmin get in touch with your web host.
Once you’re logged in to phpMyAdmin, select your database in the column on the left.
With your database selected, choose “Export” from the top menu, and click the custom button, under “export method”. Make sure all tables are selected, in the Tables section. They should be selected by default, but make sure just incase. They will be highlighted in grey, as shown in the screenshot below. Click “Save Output to a file” if it is not already selected…
Leave all of the other settings as they are, then scroll to the bottom of the page and click “Go”. A copy of your live database will download to your computer. Make sure it does, then put it somewhere where you’ll be able to find it if you need it. I like to put it in its own folder, called Backup DB.
Install Plugins, and Themes
The next step is pretty straight forward. We just need to make sure that any themes, plugins, and media files from our modified local site are also installed on our live site.
In my case, I am using the Rams theme by Anders Noren on my local site. I’ve also set up a new contact form, using Gravity Forms. I’ll need to make sure that the Rams theme and Gravity Forms are both installed on my live website before proceeding. You’ll want to do the same with any new plugins and themes that you might have installed.
Upload Media Files
I’ve also added some new images to my site, so I’ll need to make sure that these are uploaded as well. This is where FTP comes into play. If you haven’t added new images or media to your site you can skip this step.
When I refer to media I mean anything that you’ve uploaded to your site using the WordPress media uploader. By default, WordPress keeps all the media that you add to your site in a folder called uploads, which lives in another folder called wp-content. Inside of the uploads folder media files are organized in subfolders by year, which in turn hold folders that are organized by month.
If that sounds complicated, don’t worry, it’s not. As an example, media files that I’ve uploaded in April are stored in a folder titled “04”, which is sorted in a folder called “2015”, which is stored in a folder called “uploads”. Here’s a screen shot of the 2015 folder on my live site.
Figuring out which files to upload is easy. I’ve done all of my work in March of 2015 so the media files I need to upload will be in the folder at wp-content/uploads/2015/03
Swap Databases
Now, with our theme, plugins, and media files uploaded to our live site, we are ready to swap out the databases. Working with your sites database can be scary, and it’s good to be cautious here since your database is arguably the single most important part of your WordPress website. It contains all your posts, pages, text content, and settings. This is why we made a backup of our live database before moving forward.
The first thing we’ll want to do is to go back to phpMyAdmin on the live site. Make sure your live database is still selected in the column to the left, and click the import button on the top row.
Once you’ve done this you’ll see the import screen. Leave all of the settings as is and click the choose file button.
Browse to, and select the database file that you exported from your local site with DB Migrate.
Make sure you are importing the database file that you exported from DB Migrate, not your backup database.
Once you’ve selected your database, click Go. Once the database has imported you should see a screen that looks like this -
Once you’ve imported the database switch back to your live WordPress site and navigate to settings/permalinks and click save. Most likely you will have to log back in.
After saving the permalinks visit the font page of your site and, if all went well, you should see your modified site running on your live server!
Finished!
That’s it, you’ve successfully moved your WordPress site from your computer back to your live server. Congratulations!
In case of disaster…
If something goes wrong, don’t panic. This is why we made the backup of our database.  Once you’ve done this your site will be back to normal.
Jump to the 9 minute mark of my video for a walkthrough on what to do if you mess up.
The Really Really Easy Way
I completely understand that everything above may seem complicated and if you’ve read this far you are truly my hero and I think you’re awesome. :)
I want to point out that I intentionally try to be as wordy as possible because I want to make sure that anyone reading has a solid understanding of the process before trying it themselves. Once you understand the process it really is quite easy. I’m able to move a site in about 5 minutes. In my work I clone sites back and forth dozens of times every week.
With that said, if this moving databases business is not for you then you may want to check out DB Migrate Pro. Migrating your WordPress site back to your web server could not be easier than it is with this plugin.
Enter DB Migrate Pro
I’ll be honest with you, DB Migrate Pro is what I use. I can tell you that as a professional working in the self hosted WordPress space, DB Migrate Pro has saved me more time, more money, and more frustration than any other plugin I’ve ever used. Hands down. If you are migrating a lot of databases in your day to day work then this is definitely the way to go. Or, if you have one site that you want to make a local copy of, and you just don’t want to deal with phpMyAdmin and importing databases, then this is the plugin for you.
A developers license is $199, and a personal license is $90. If you click the link at the bottom of this post you can get 20% off of your purchase.
Moving your site with Db Migrate Pro is as easy as clicking a button. Seriously. You’ll still have to make sure your themes and plugins are installed, and that your media files are uploaded (unless you have a developers license, in which case you can use the media files add on), but there’s no fiddling about with phpMyAdmin and databases.
Once you’ve made sure that your themes, plugins, and media files have been uploaded, you just copy a special URL from your live site, paste it into the DB Migrate Pro settings page on your local site, and click migrate.
I cover moving a site with Db Migrate Pro in my video starting at around the 16 minute mark. If you’re interested in grabbing a copy of DB Migrate Pro, use the banner below to get 20% off of your purchase. The coupon will be applied automatically and you’ll see the discount at checkout once you’ve added a product to your cart.
Click Here for 20% Off DB Migrate Pro
I hope this post has been helpful. If you have any questions feel free to leave me a comment or send me an email. Thanks for reading!


Comments
-
Greg Hurrell
I have a suspicion that Ruby is failing to load the JSON gem, which is a
LoadError
, and Command-T doesn't distinguish between that and failure to load Command-T itself.Try commenting out the
require 'json'
inruby/command-t/scanner/file_scanner/watchman_file_scanner.rb
and seeing if that works. (If you don't use the Watchman scanner, you don't need it anyway.)I have a commit on the
next
branch that removes the JSON dependency, but it will need a bit more work I think before it compiles correctly on older versions of Ruby. (I'll be looking into that tonight.) -
Greg Hurrell
Check out the latest
HEAD
of thenext
branch (https://github.com/wincent/Command-T/commit/52214cea74de4686baf41d99d810121ee4f90b1f) if you'd like to try this out; it no longer depends on JSON, and I've checked it compiles with 1.8.7 (etc) and the specs pass. -
Greg Hurrell
Closing due to lack of updates.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.


Tor
Success!
Done
Your Embassy is available as a private website on the private Internet. To use your Embassy, visit its unique Tor Address (below) from any Tor-enabled Browser.
Tor Address
{{ device.torAddress }}
Recommended Browsers
iOS
Start9 Consulate
Android
Firefox Beta 1
Tor Browser
Desktop
- Firefox 1
- Tor Browser
- Brave Browser 2
- Firefox requires additional configuration. Follow these instructions
- Brave only works when using Tor Tabs.


Text the below number to help determine if your banana is ripe
{% block content %}{% endblock %}
Let's talk product
Throughout my life I have observered that people who are color blind often need the help of loved once to help with their clothing option. Because of this I developed Color Blind Matching. While testing this out I discovered that it is diffucult for those who are color blind to tell if a banana was ripe. Just text<PHONE_NUMBER> and we will tell you if your banana looks ripe.


{% translate title|title %}
{% translate "you've received this email because your account has been requested for a password reset."|capfirst %}
{% translate "to accomplish the requested task please click on link below."|capfirst %}
{{ scheme }}://{{ host }}{{ reset_confirm_url }}


class: center, middle, inverse, title-slide # Applying a Global Sensitivity Analysis Workflow to Improve the Computational Efficiencies in Physiologically-Based Pharmacokinetic Modeling ##
###
Nan-Hung Hsieh, PhD
### .small[Postdoctoral Research Associate] --- class: center, middle .xxxlarge[ **Why We Need to Do .bolder[Computational Modeling] in Toxicology?** ] ??? I think most people here are very experienced in laboratory experiments like in-vivo or in-vitro. But I have no idea how many people understand why we need to do computational modeling in our study. So I used this question in the beginning. --- class: center, middle .xxlarge[ .xxxlarge[ .bolder[**Prediction**] ]] ??? We want to use this mathematical or statistical model to make some prediction with experimental data. Some people use the model to do "in-vitro in-vivo extrapolation". Some people use the model to estimate the chemical cumulation in the animal body and predict health effect. Also, we can integrate the chemical exposure and health effect to assess human health risk. --- # Pharmacokinetics (PK) .large[ - The fate of chemical in a living organism - .bolder[ADME] process .center[ .bolder[A]bsorption - How will it get in? .bolder[D]istribution - Which tissue organ it will go? .bolder[M]etabolism - How is it broken down and transformation? .bolder[E]limination - How it leave the body? ] ] ??? Now, we can move on to the today’s first topic. Some people here already know pharmacokinetic. It is used to describe the fate of the chemical in a living organism when chemical enter into the animal body. --- background-image: url(https://image.ibb.co/jNZi4e/drug_concentration_time.png) background-size: 150px background-position: 80% 98% # Pharmacokinetics (PK) .large[ - The fate of chemical in a living organism - .bolder[ADME] process .center[ .bolder[A]bsorption - How will it get in? .bolder[D]istribution - Which tissue organ it will go? .bolder[M]etabolism - How is it broken down and transformation? .bolder[E]limination - How it leave the body? ] ] .large[ - 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. --- # Pharmacokinetics Model To .large[.bolder["predict"]] the **cumulative does** by constructed **compartmental model**. .pull-left[  ] .pull-right[  ] `\(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 use 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. --- ## Physiologically-Based Pharmacokinetic (PBPK) Model Mathematically transcribe .bolder[physiological] and .bolder[physicochemical] descriptions of the phenomena involved in the complex .bolder[ADME] processes. .shrink[ ![](http://pharmguse.net/pkdm/pbpm.jpg) ] .footnote[Img: http://pharmguse.net/pkdm/prediction.html] ??? 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. It can be applied to drug discovery and development and risk assessment. --- class: center # Population PBPK Model .large[ Characterizing PK parameters for populations Evaluating variability and uncertainty Cross-species comparisons of metabolism ] ![:scale 70%](https://ars.els-cdn.com/content/image/1-s2.0-S0041008X09003238-gr3_lrg.jpg) .footnote[[Chiu et al. 2009. https://doi.org/10.1016/j.taap.2009.07.032](https://www.sciencedirect.com/science/article/pii/S0041008X09003238#fig3)] ??? The advantage of PBPK model is we can use this model to make additional application such as population PBPK modeling. --- class: center, middle .xxlarge[ ![:scale 10%](https://image.ibb.co/fCmc4z/PK_data_inds.png) **Population PK Data**    **Population PBPK Model** ![:scale 10%](https://image.ibb.co/mpFC4z/PK_model_inds.png) ] ??? We have population PK data and we also construct the PBPK model. So, the next step is to apply our model to make the prediction with our data. --- ## Bayesian hierarchical modeling **Model calibration** .center[ Prior knowledge (expertise or historical data)   .bolder[Markov Chain Monte Carlo algorithm]  Posterior knowledge  ] ??? Usually, we used the Bayesian hierarchical modeling approach to do the model calibration. Before we apply this method, we need to have the prior knowledge for the model parameters. This parameters usually have wide range, rough and low precise estimation. Then we use the MCMC algorithm with experiment data to find the precise estimation of model parameters. -- .left[**Model validation**] .center[ Compare the result of **"in-silico simulation"** and **"in-vivo observation"** ] --- class: middle # Tool (software) ## [GNU MCSim](http://www.gnu.org/software/mcsim/) .large[ - Design and run statistical or simulation models (e.g., differential equations) - Do parametric simulations (e.g., sensitivity analysis) - Perform Monte Carlo (stochastic) simulations .highlight[ - Do Bayesian inference for hierarchical models through .bolder[Markov Chain Monte Carlo] simulations ] ] ??? To do this model calibration, we need to have a tool to help our research. --- # Challenge .large[Currently, the **Bayesian Markov chain Monte Carlo (MCMC) algorithm** is a effective way to do population PBPK model calibration. ] .xlarge[.bolder[**BUT**]] ??? But, we have a challenge in our calibration process. -- .large[ This method often have challenges to reach **"convergence"** with acceptable computational times .bolder[(More parameters, More time!)] ] .right[![](https://slides.yihui.name/gif/questions.gif)] --- class: middle, center ## Sometimes, the result is bad ... ![](https://slides.yihui.name/gif/dump-computer.gif) --- class: center, middle .xxxlarge[**Our Problem Is ...**] --
 .xxxlarge[**How to Improve the .bolder[Computational Efficiency]**] --- # Project Funder: **Food and Drug Administration (FDA)** 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 (.bolder[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 (.bolder[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 (.bolder[User friendly interface]) --- # Proposed Solution - Parameter Fixing .large[We usually fix the "possible" non-influential model parameters through **"expert judgment"**.] .xlarge[.bolder[BUT]] ??? Actually, we already applied the concept of parameter fixing to improve the computational time. But, This is why we need an alternative way to fix the unimportant parameter. So we chose sensitivity analysis. -- .large[This approach might cause .xlarge[**"bias"**] in parameter estimates and model predictions.] .pull-left[ .center[![](http://reliawiki.org/images/3/35/Doe34.png)] ] .pull-right[  ] --- class: middle # Sensitivity Analysis
 .xlarge[ > Sensitivity analysis (SA) is "the study of how the uncertainty in the output of a model can be apportioned to different sources of uncertainty in the model input." > -- [Andrea Saltelli]((http://www.andreasaltelli.eu/file/repository/intro_v2b) ] .footnote[[Saltelli A., 2002, Sensitivity Analysis for Importance Assessment, Risk Analysis, 22 (3) 1-12.](http://www.andreasaltelli.eu/file/repository/intro_v2b)] ??? This is a brief definition of sensitivity analysis. --- # Why we need SA? -- .xlarge[.bolder[Parameter Prioritization]]

 .xlarge[.bolder[Parameter Fixing]]

 .xlarge[.bolder[Parameter Mapping]] --- # Why we need SA? .xlarge[.bolder[Parameter Prioritization]] - Identifying the most important factors - Reduce the uncertainty in the model response if it is too large (i.e., not acceptable) .xlarge[.bolder[Parameter Fixing]]

 .xlarge[.bolder[Parameter Mapping]] --- # Why we need SA? .xlarge[.bolder[Parameter Prioritization]] - Identifying the most important factors - Reduce the uncertainty in the model response if it is too large (ie not acceptable) .xlarge[.bolder[Parameter Fixing]] - Identifying the least important factors - Simplify the model if it has too many factors .xlarge[.bolder[Parameter Mapping]] -- - Identify critical regions of the inputs that are responsible for extreme value of the model response --- # Classification of SA Methods .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] ] -- .large[.center[**"Global" sensitivity analysis is good at** .bolder[parameter fixing]]] --- background-image: url(https://image.ibb.co/mGuRK9/kaizen_nguy_n_274069_unsplash.jpg) background-size: contain .footnote[ Img: [Unsplash](https://unsplash.com/photos/jcLcWL8D7AQ) ] ??? Here I want to use an example to explain what sensitivity analysis looks like. You can imagine you’re making a mixing juice to your friend. You can put different fruits in your glass, like apple, orange, lemon, strawberry etc. These fruits are your parameters. But what is your model output? --- background-image: url(https://image.ibb.co/dcgqe9/adult_beard_expression_1054048.jpg) background-size: contain .footnote[ Img: [Pexels](https://www.pexels.com/photo/man-in-black-crew-neck-top-1054048/) ] ??? This is your model output. --- class: center # Sensitivity index .xlarge[First order] `\((S_i)\)`

 .xlarge[Interaction] `\((S_{ij})\)`
 .xlarge[Total order] `\((S_{T})\)`

 ??? This is the quantification of the impact of the model parameter. --- class: center # Sensitivity index .xlarge[First order] `\((S_i)\)` The output variance contributed by the specific parameter `\(x_i\)`, also known as **main effect** .xlarge[Interaction] `\((S_{ij})\)`
 .xlarge[Total order] `\((S_{T})\)`

 ??? First order just like how your friend's face looks like when he tastes the specific fruit. --- class: center # Sensitivity index .xlarge[First order] `\((S_i)\)` The output variance contributed by the specific parameter `\(x_i\)`, also known as **main effect** .xlarge[Interaction] `\((S_{ij})\)` The output variance contributed by any pair of input parameter .xlarge[Total order] `\((S_{T})\)` ??? The Interaction just like the mixing flavors from two or more fruits. -- The output variance contributed by the specific parameter and interaction, also known as **total effect** --
 .left[ .bolder[“Local”] SA usually only addresses first order effects .bolder[“Global”] SA can address total effect that include main effect and interaction ] --- class: middle, center .pull-left[ **Population PK Data** ![:scale 50%](https://image.ibb.co/fCmc4z/PK_data_inds.png) ] .pull-right[ **Population PBPK Model** ![:scale 40%](https://image.ibb.co/mpFC4z/PK_model_inds.png) ] .xxlarge[    .bolder[**Global Sensitivity Analysis**] ] ??? Now, we have the idea of global sensitivity analysis. But how do we apply GSA with population PBPK modeling? --- # Challenges
 .xxlarge[ **Many** algorithms have been developed, but we don't have knowledge to identify which one is the best. ]
 .xxlarge[ **No** suitable reference in parameter fixing for PBPK model. ] --- class: middle # Hypothesis .large[ .bolder[Global Sensitivity Analysis] can provide a systematic method to ascertain which PBPK model parameters have **negligible influence** on model outputs and can be fixed to improve computational speed in Bayesian parameter estimation with **minimal bias**. ]
 -- .center[.large[ .bolder[Four questions need to be answered...] ]] --- class: center, middle .xxlarge[ .xxxlarge[ .bolder[Time] ] What is the relative computational efficiency of various GSA algorithms? ] --- class: center, middle .xxlarge[ .xxxlarge[ .bolder[Consistency] ] Do different algorithms give consistent results as to direct and indirect parameter sensitivities? ] --- class: center, middle .xxlarge[ .xxxlarge[ .bolder[Performance] ] Can we identify non-influential parameters that can be fixed in a Bayesian PBPK calibration while achieving similar degrees of accuracy and precision? ] --- class: center, middle .xxlarge[ .xxxlarge[ .bolder[Bias] ] Does fixing parameters using expert judgment lead to unintentional imprecision or bias? ] --- # Materials (1/3) - Model .center[  ] .bolder[Acetaminophen] (APAP) is a widely used pain reliver and fever reducer. The therapeutic index (ratio of toxic to therapeutic doses) is unusually small. Phase I (.bolder[APAP to NAPQI]) is toxicity pathway at high dose. Phase II (.bolder[APAP to APAP-G & APAP to APAP-S]) is major pathways at therapeutic dose.
 .center[ .highlight[ A typical pharmacological agent with large amounts of both human and animal data. Well-constructed and studied PBPK model. ] ] ??? I'll move on to our materials, the first one is the PBPK model. In this study, we used acetaminophen, which is a widely used medication. It includes two types of metabolic pathways that can have therapeutic and toxicity effects. But the most important thing is that acetaminophen has a large amount of PK data for both human and other animals. And we also had a well-constructed and studied PBPK model. --- background-image: url(https://image.ibb.co/b9F8Ze/uSCphVE.gif) background-size: 500px background-position: 50% 80% # Materials (1/3) - Model The simulation of the disposition of .bolder[acetaminophen (APAP)] and two of its key metabolites, .bolder[APAP-glucuronide (APAP-G)] and .bolder[APAP-sulfate (APAP-S)], in plasma, urine, and several pharmacologically and toxicologically relevant tissues. .footnote[[Zurlinden, T.J. & Reisfeld, B. Eur J Drug Metab Pharmacokinet (2016) 41: 267. ](https://link.springer.com/article/10.1007%2Fs13318-015-0253-x)] ??? The acetaminophen-PBPK model is constructed with several tissue compartments such as Fat muscle, liver, and kidney. It can be used to simulate and predict the concentration of its two metabolites in plasma and urine. Also, it can be used to describe the different dosing method include oral and intravenous. --- background-image: url(https://image.ibb.co/e7eccz/JjqgWwg.gif) background-size: 300px background-position: 95% 95% # Parameters calibrated in previous study .large[ .large[.bolder[2]] Acetaminophen absorption (Time constant) .highlight[ .large[.bolder[2]] Phase I metabolism: Cytochrome P450 (M-M constant) .large[.bolder[4]] Phase II metabolism: sulfation (M-M constant) .large[.bolder[4]] Phase II metabolism: glucuronidation (M-M constant) .large[.bolder[4]] Active hepatic transporters (M-M constant) ] .large[.bolder[2]] Cofactor synthesis (fraction) .large[.bolder[3]] Clearance (rate constant) ] .footnote[ M-M: Michaelis–Menten ] ??? In the previous study, they only choose 21 parameters to do the model calibration. These parameters can be simply classified into four types, which includes You can see most parameters are Michaelis–Menten constant that determined the metabolism of acetaminophen. --- # Parameters fixed in previous study `$$V_T\frac{dC^j_T}{dt}=Q_T(C^j_A-\frac{C^j_T}{P_{T:blood}})$$`
 .pull-left[ .large[**Physiological parameters**] 1 cardiac output 6 blood flow rate `\((Q)\)` 8 tissue volume `\((V)\)` ] .pull-right[ .large[**Physicochemical parameters**] 22 partition coefficient for APAP, APAP-glucuronide, and APAP-sulfate `\((P)\)` ] ??? On the other side, we found 37 parameters that were be fixed in the previous study that include cardiac output, blood flow rate, and tissue volume in physiological parameters. In physicochemical parameters, we also tested the sensitivity of partition coefficients acetaminophen and its conjugates. We further used these parameters and gave the uncertainty to do the calibration. --- # Materials (2/3) - Population PK Data .large[ Eight studies (n = 71) with single oral dose and three different given doses. ] .center[  ] ??? Also, experiment data is very important in our model calibration. We used the PK data from eight studies. This data included 71 subjects. All these subjects are administrated with single oral dose. The given dose levels were from 325 mg in group A to 80 mg/kg in group H. --- # Materials (3/3) - Sensitivity Analysis .large[ **Local:** - Morris screening **Global:** - Extended Fourier Amplitude Sensitivity Testing (eFAST) - Jansen's algorithm - Owen's algorithm ] ??? Finally, we used four sensitivity analysis algorithms as candidates and compared the final result with each other. --- # Morris screening - Perform parameter sampling in Latin Hypercube following One-Step-At-A-Time - Can compute the importance `\((\mu^*)\)` and interaction `\((\sigma)\)` of the effects .pull-left[<EMAIL_ADDRESS>] .pull-right[  ] ??? The first one is the Morris method. Morris can be classified into the local sensitivity analysis. But it is an unusual local approach. Unlike the traditional local method, it can also estimate the interaction in sensitivity index. On the right-hand side is an example of Morris screening. -- .highlight[ **1. It is semi-quantitative – the factors are ranked on an interval scale** **2. It is numerically efficient** **3. Not very good for factor fixing** ] --- # Variance-based sensitivity analysis - eFAST defines a .bolder[search curve] in the input space. - Jansen generates .bolder[TWO] independent random sampling parameter matrices. - Owen combines .bolder[THREE] independent random sampling parameter matrices. .pull-left[ .center[ ![](https://upload.wikimedia.org/wikipedia/commons/6/64/Search_curve_1.gif) ] ] .pull-right[ .center[ ![](https://upload.wikimedia.org/wikipedia/commons/2/29/Search_curve_3.gif) ] ] ??? The main difference in our global methods is they used the different ways to do parameter sampling. The eFAST method is using the generated search curve and samples the parameters on this curve. Jansen and Owen are used Monte Carlo-based method to sample the parameters in the parameter space. --- # Variance-based sensitivity analysis - eFAST defines a .bolder[search curve] in the input space. - Jansen generates .bolder[TWO] independent random sampling parameter matrices. - Owen combines .bolder[THREE] independent random sampling parameter matrices. .pull-left[ ![](https://image.ibb.co/kvyPFK/mc_animation.gif) ] .pull-right[ ![](180924_seminar_files/figure-html/unnamed-chunk-2-1.png) ] ??? On the left-hand side is how the Monte-Carlo sampling. On the right-hand side is an example of variance-based sensitivity analysis' result. -- .highlight[ 1. **Full quantitative** 2. **The computational cost is more expensive** 3. **Good for factor fixing** ] ??? Compare to Morris; the global methods have these characteristics. --- class: center # Workflow .large[Reproduce result from original paper (21 parameters)]  .large[Full model calibration (58 parameters)]  ??? Our workflow started by reproducing the result from the previous study. -- .highlight[ .large[Sensitivity analysis using different algorithms] **Compare the .bolder[time-cost] for sensitivity index to being stable (Q1)** **Compare the .bolder[consistency] across different algorithms (Q2)** ] --  .highlight[ .large[Bayesian model calibration by SA-judged influential parameters] **Compare the model .bolder[performance] under the setting "cut-off" (Q3)** **Exam the .bolder[bias] for expert and SA-judged parameters (Q4)** ] --- ### Q1: What is the relative computational efficiency of various GSA algorithms? -- .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. --- ### Q1: What is the relative computational efficiency of various GSA algorithms? .center[  ] .center[ .highlight[ **Ans 1: The Morris method provided the most efficient computational performance and convergence result, followed by eFAST.** ] ] ??? The answer to the first question is…. --- ### Q2: Do different algorithms give consistent results as to direct and indirect parameter sensitivities? -- .pull-left[ ![](https://image.ibb.co/jKtsnz/fig2_1.jpg) ] .pull-right[ ![](https://image.ibb.co/mt11fK/fig2_2.jpg) ] .center[ .xlarge[ .bolder[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. --- ### Q2: Do different algorithms give consistent results as to direct and indirect parameter sensitivities? .pull-left[ ![](https://image.ibb.co/jKtsnz/fig2_1.jpg) ] .pull-right[ ![](https://image.ibb.co/mt11fK/fig2_2.jpg) ] .center[ .highlight[ **Ans 2: Local and global methods give inconsistent results as to direct and indirect parameter sensitivities.** ]] --- ### Q3: Can we identify non-influential parameters that can be fixed in a Bayesian PBPK model calibration while achieving similar degrees of accuracy and precision? .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. --- .center[  ] .footnote[OIP: original influential parameters; OMP: original model parameters; FIP: full influential parameter; FMP: full model parameters] ??? 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. --- .pull-left[ ### The non-influential original parameters .bolder[1] Absorption parameters .bolder[2] Phase I metabolism parameters .bolder[4] Phase II metabolism parameters ### The influential additional parameters .bolder[1] physiological parameter - Cardiac output .bolder[1] chemical-specific transport parameter - Blood:plasma ratio of APAP .bolder[4] partition coefficients ] .pull-right[

 ![](https://image.ibb.co/k8KUnU/fig3.jpg) ] ??? 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. --- ### Q3: Can we identify non-influential parameters that can be fixed in a Bayesian PBPK model calibration while achieving similar degrees of accuracy and precision? .center[  ] .footnote[OIP: original influential parameters; OMP: original model parameters; FIP: full influential parameter; FMP: full model parameters] ??? 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. --- ### Q3: Can we identify non-influential parameters that can be fixed in a Bayesian PBPK model calibration while achieving similar degrees of accuracy and precision? .center[ ![](https://image.ibb.co/gUu1s9/fig5.jpg) ] ??? We also used the determination coefficient to compare the validation result among each study. You can see the if the given dose over 20 mg/kg. The estimated R2 will be very similar. However, in the lower dose such as group A. We can see the difference estimation of model performance across these parameters sets. But the selected parameters from global sensitivity analysis still have better accuracy and precision with full parameter set. --- ### Q3: Can we identify non-influential parameters that can be fixed in a Bayesian PBPK model calibration while achieving similar degrees of accuracy and precision? - 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)

 ??? This is the result of the time-cost by using the full parameters, GSA-judged and expert judged parameters. It takes about 4 days to do the model calibration for full parameters, and we can only spend halftime if we fixed the parameter and do the further calibration. --
 .center[ .highlight[ **Ans 3: Restricting the MCMC simulations to the influential parameters with cut-off at 0.01 can reduce computational burden while showing little change in model performance.** ]] --- ### Q4: Does fixing parameters using "expert judgment" lead to unintentional imprecision or bias? -- .center[  ] ??? We examined the distribution for the testing parameter that was fixed in the previous study and determined whether the estimated maximum likelihood is different with the fixed value. In addition, we found when we used cut-off at .01 for full parameter set. It can produce the similar likelihood with full parameter set. -- .center[ .highlight[ **Ans 4: Using "expert judgment" to fix model parameters has the potential lead to imprecision and bias. GSA was more effective at identifying parameters that are influential and led to a better fit between predictions and data.** ]] --- class: middle # Take Home Message For people who have no experience in modeling... .highlight[ - .bolder[Global sensitivity analysis] can be an essential tool to reduce the dimensionality and improve the computational efficiency in Bayesian PBPK model calibration. ] For people who have experience in sensitivity analysis... .highlight[ - Use the .bolder[eFAST] for parameter sensitivity, making sure to check "convergence". - Distinguish “influential” and “non-influential” parameters with .bolder[cut-off] from sensitivity index and check .bolder[accuracy] and .bolder[precision] to evaluate model performance. ] -- .large[ For more details, read this ... ] 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. *Front. Pharmacol.* 9:588. [link](https://www.frontiersin.org/articles/10.3389/fphar.2018.00588/full) .right[![](https://www.frontiersin.org/areas/journals/images/about-open-access.png)] --- # What we might ignore in our study? ??? Now we successfully applied the global sensitivity workflow in our study. But what we might ignore? --
 ## - How to applied this GSA workflow to other cases?
 ## - Which external factors that may change GSA result?
 ## - How to determine the robust cut-off? --- # Following Work Reproducible research - Software development (R package) ![](https://image.ibb.co/kWrZ9p/Screen_Shot_2018_09_10_at_2_37_38_PM.png) --- class: inverse, center, middle ## Acknowledgements **Supervisor** .large[Weihsueh A. Chiu @TAMU] **Principal investigator** .large[Brad Reisfeld @CSU] **Software & tecnical support** .large[Frederic Y. Bois @INERIS] **PBPK model** .large[Todd Zurlinden @USEPA]
 ### Funding by  --- # Reference **Model calibration technique** Bois, F. Y. (2009). GNU MCSim: Bayesian statistical inference for SBML-coded systems biology models. Bioinformatics 25, 1453–1454. doi: 10.1093/bioinformatics/btp162 [link](https://doi.org/10.1093/bioinformatics/btp162) **Idea of global SA-PBPK** McNally, K., Cotton, R., and Loizou, G. D. (2011). A workflow for global sensitivity analysis of PBPK models. Front. Pharmacol. 2:31. doi: 10.3389/fphar.2011.00031 [link](https://doi.org/10.3389/fphar.2011.00031) **APAP-PBPK model details** Zurlinden, T. J., and Reisfeld, B. (2016). Physiologically based modeling of the pharmacokinetics of acetaminophen and its major metabolites in humans using a Bayesian population approach. Eur. J. Drug Metab. Pharmacokinet. 41, 267–280. doi: 10.1007/s13318-015-0253-x [link](https://doi.org/10.1007/s13318-015-0253-x) --- class: inverse, center, middle # Thanks! Slides at: [bit.ly/180924_seminar]()
 question? ??? ENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDEND --- background-image: url(https://image.ibb.co/b9F8Ze/uSCphVE.gif) background-size: 300px background-position: 2% 98% #Absorption .left-column[ ] .right-column[ Use Oral dose `\((D_{oral})\)` and bioavailability `\((F_A)\)` and absorption parameters, we can estimate the amount of APAP absorbed into the blood stream as, `$$\frac{dA_{abs}}{dt}=\frac{F_A\cdot D_{oral}\cdot[exp(\frac{-t}{T_G})-exp(\frac{-t}{T_P})]}{T_G-T_P}$$` .highlight[ `\(T_g\)` : Gastric emptying time constant `\(T_p\)` : Intestinal permeability time constant ] ] --- background-image: url(https://image.ibb.co/e7eccz/JjqgWwg.gif) background-size: 280px background-position: 95% 5% # Metabolism .left-column[ ### Phase I ] .right-column[ Rate of phase I metabolism `\((v_{cyp})\)` can be estimated by concentration of APAP in liver `\((C^{APAP}_{liver})\)` and 2 M-M parameters for APAP-G and APAP-S as, `$$v_{cyp} = \frac{V_{M-cyp}\cdot C^{APAP}_{liver}}{K^{{APAP}}_{M-cyp}+C^{APAP}_{liver}}$$`
 .highlight[ `\(K^{{APAP}}_{M-cyp}\)` : M-M constant `\(KM\)` for Cytochrome P450 `\(V_{M-cyp}\)` : Maximum conversion rate `\(V_{max}\)` for Cytochrome P450 ] ] --- background-image: url(https://image.ibb.co/e7eccz/JjqgWwg.gif) background-size: 280px background-position: 95% 5% # Metabolism .left-column[ ### Phase I ### Phase II ] .right-column[ The APAP conversion rate `\((v_{conjugate})\)` can be estimated by concentration of APAP and fraction of cofactor in the liver `\((\phi^{cf}_{liver})\)` with 4 Michaelis-Menten parameters for APAP-G and APAP-S as, `$$v_{conjugate} = \frac{V_{M-enz}\cdot C^{APAP}_{liver}\cdot \phi^{cf}_{liver}}{(K^{APAP}_{M-enz}+C^{APAP}_{liver}+\frac{(C^{APAP}_{liver})^2}{K_{I-enz}})(K^{cf}_{M-enz}+\phi^{cf}_{liver})}$$`
 .highlight[ `\(V_{M-enz}\)` : Enzyme-specific maximum rate of conversion `\(K^{APAP}_{M-enz}\)` : M-M constant for APAP `\(K^{APAP}_{I-enz}\)` : Inhibition constant `\(K^{cf}_{M-enz}\)` : Michaelis-Menten constant for cofactor ] ] --- background-image: url(https://image.ibb.co/e7eccz/JjqgWwg.gif) background-size: 280px background-position: 95% 5% # Cofactor synthesis .left-column[ ] .right-column[ The fraction of cofactor in the liver `\((A^{cf}_{liver})\)` can be estimated by APAP conversion rate and a rate parameter as, `$$\frac{d\phi^{cf}_{liver}}{dt}=-v_{conjugate}+k_{syn-cf}(1-\phi^{cf}_{liver})$$`
 .highlight[ `\(k_{syn-cf}\)` : rate of synthesis of the cofactor ] ] --- background-image: url(https://image.ibb.co/b9F8Ze/uSCphVE.gif) background-size: 300px background-position: 2% 98% # Active hepatic transporters .left-column[ ] .right-column[ Rate of hepatic transport `\((v^{conj}_{mem})\)` can be estimated by 2 M-M parameters for APAP-G and APAP-S as, `$$v^{conj}_{mem} = \frac{V^{conj}_{M-mem}\cdot C^{conj}_{hep}}{K^{{conj}}_{M-mem}+C^{conj}_{hep}}$$` .highlight[ `\(V^{conj}_{M-mem}\)` : Maximum transport rate `\(K^{{conj}}_{M-mem}\)` : Concentration of chemical achieve half Vmax ] ] --- background-image: url(https://image.ibb.co/b9F8Ze/uSCphVE.gif) background-size: 300px background-position: 2% 98% # Clearance .left-column[ ] .right-column[ The clearance rate can be used to estimate the amount of kidney elimination `\((A^j_{KE})\)` `$$\frac{dA^j_{KE}}{dt}=k^j_{R0}\cdot BW \cdot C^j_A$$`
 .highlight[ `\(k^j_{R0}\)` : rate of renal clearance of the chemical `\(j\)` (represents APAP, APAP-G, and APAP-S) ] ]


A plugin for Maven 2 to run the JiBX binding compiler, or generate Java sources from XSD schemas.
The JiBX Maven Plugin has these goals:
General instructions on how to use the Maven JiBX Plugin can be found on the usage page. Some more specific use cases are described in the examples given below.
The following examples show how to use the Plugin in more advanced usecases:


Study Program List
Add
Search
Show
entries
#
Major
Level
Study Program
Description
1
Name Prodi
Name Prodi
Name Prodi
Delete
«
1
(current)


Student List
Register Student
Home Page
ID
Name
Age
Department
Email
Fines
Action
Borrowed Books
ID
name
age
department
email
fines
Edit
Delete
books


Climbers who lead routes often speak of having good "lead head" (lead as in leader), a mental state that lets you break through plateaus in training or climb challenging routes without that irrationally rational doubt and uncertainty plaguing your mind. There are even classes where the very purpose is to mentally train those who wish to push their limits.
These classes often follow a straightforward and very rigorous regimen designed to push limits over and over. Here's a dramatized example:
- First, practice climbing at the cusp of your limits.
- Now practice falling. Ideally a little above your comfort zone.
- Practice falling from even higher.
- Do it again.
- And then do it again.
The idea is to prime yourself into doing the same difficult movements over and over until it no longer becomes difficult, both physcally and perhaps more importantly -- mentally. This becomes significant seeing as how nagging feelings of doubt and uncertainty are perhaps more dangerous than the actual act of climbing itself.
When you are focusing on the distance from the ground or worrying about stray rocks, you block out the very actions that protect you the most. Remembering to clip in or check your placement; keeping correct form so that you don't get too tired; and of course, having that clarity of mind to react in case there is an emergency.
Analysis Paralysis
The phenomena of "lead head" is not something that is isolated to climbing. There are examples throughout life of what is usually dubbed analysis paralysis, causing even the best people to stumble in situations they may have done hundreds of times before.
A fun example I recently discovered is a card game called rejection therapy. I find it akin to the mental training regimen for climbers albeit for every-day situations. The game seems designed specifically to put people through life's awkward situations so they can adapt to the inevitable rejection and failure while most importantly making light of those moments. You are not successful if you are not being rejected.
At the very core, analysis paralysis is what happens when you are alone in the
echo chamber of your mind. Ideas as well as uncertainty begins to reverberate
and wave after wave of what if
washes over you. More often, it's not even
doubt, but simply the feeling that something is not quite good enough and what if
you spend a little more tweaking this and tweaking that. what if
you made the wrong choice? what if
it was all for naught? what if
?
The Art of Start
Organizational design, process design, metrics, hiring and firing were all relatively straightforward skills to master compared to keeping my mind in check.
~ Ben Horowitz, The Hard Things About Hard Things
The mind is our greatest asset but it might as well be our greatest enemy. In a field where acting quickly is the name of the game, analysis paralysis becomes a detrimental addition to one's day-to-day. Startups are agile, they are lean, and idyllically are meant to move fast and break things. But they are also run by people, the same people who have nagging feelings of doubt when it comes to even simple concerns, much less those that come up when running a company.
Managing your own thoughts and psychology is by far the most difficult part of entrepreneurship. There may be tips and there may be tricks, but ultimately it will always fall back to you.


{% extends 'base.html' %} {% load i18n %} {% block title %} {% if form.errors %}{% trans "Error: "%}{% endif %} {% blocktrans with email=invitation.email%}Are you sure you want to delete the invitation sent to {{ email }}?{% endblocktrans %} {% endblock %} {% block content %} {% include "includes/error_list.html" %}
{% trans "If you delete their invitation, they will not be able to join the COVID Alert Portal until they are invited back." %}
{% include "includes/cds_form.html" with submit_text=_("Yes, I am sure") submit_class='danger' secondary_action_before=True secondary_action_text=_('No, take me back') secondary_action_url='invitation_list' %} {% endblock %}


Destroying a Cluster¶
Destroying (tearing down) a Cluster, its network and Bastion is a simple process, handled by the orchestrator.
Tearing down a cluster relies on
terraform
state files that were generated when the cluster was created. These are located in the orchestrator’sterraform
directory. If you’ve lost these files or are running the orchestrator form another host you will not be able to destroy the cluster.
If you’re not in the orchestrator container then, from the working copy
of the okd-orchestrator
clone that you used to create your cluster,
start and enter the orchestrator:
$ ./okdo-start.sh
To destroy the cluster you just need to run destroy.py
. If there’s more
than one deployment configuration then you will need to name
the deployment that defined the cluster you wish to delete.
For the example AWS cluster this would require the following command:
$ ./destroy.py compact-aws-frankfurt-3-11
+-----------------------------------------------+
| Compact AWS Deployment (OKD 3.11) [Frankfurt] |
+-----------------------------------------------+
CAUTION You are about to destroy the cluster.
------- Are you sure you want to do this?
Enter "yes" to DESTROY this deployment:
Acknowledge the warning to destroy the cluster.
Destruction is generally very fast. destroy.py
, after seeking confirmation,
simply relies on the underlying Terraform utility, which rapidly deletes
all of the objects that were originally created.


Tommy Genesis Balls Out On "Cinderelly"
Tommy Genesis returns with a luxuriously sexual banger.
by Aron A.Cinderelly
Tommy Genesis
Editor Rating: HOTTTTT
User Rating: hottttt - 75% (4)
Tommy Genesis is about a year and some change removed from the release of her debut self-titled album after years of dropping mixtapes and singles online. She's kept herself busy since then with the God Is Wild tour, festival dates across the summer, and a steamy performance at the PornHub Award. She's continued to release new music throughout the year but it appears as though she might be readying some
She made her boisterous return this week with her new single, "Cinderelly." She oozes confidence on the track as she twists the concept behind the fairy tale to paint her own version of Cinderella. "Cinderelly/ Glass ceilin' to the floor/ Slow motion down the pole/ She really got no soul," she raps on the hook.
The release of the new song arrived alongside the launch of the Bershka x TIDAL collection.


RegexKitLite
Copyright © 2008-2009 John Engelhart. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Zang Industries nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Cocoa XML-RPC Framework
Copyright © 2009 Eric Czarny.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Given a description of a graph in the dot language, for example this graph:
graph G { a -- b -- c -- d b -- e -- d } |
Then this img tag in an html web page:
<img src="/cgi-bin/webdot/webdot/basic.dot.neato.png"> |
will produce the graph layout at the top of this page.
The URL in the img src reference consists of four parts:
| /cgi-bin/webdot | The WebDot CGI server
(can be a full URL, or a relative URL like this if webdot is on the same server as the html source.) |
| /webdot/basic.dot | The graph source file
(can be a full URL, or a relative URL like this if the graph source is on the same server as webdot. If it is to be a full URL of a different server than the webdot cgi is on, then the webdot cgi must be configured for public graph serving.) |
| .neato | The layout engine (can be either: ".dot", ".neato", or ".twopi") |
| .png | The output format (other bitmap formats are: ".gif") |