All posts by devinbost

Rank building strategy – a foundation for scalability

This is our last article in the series on SEO and web marketing techniques. In this article, we will discuss a strategy for ensuring that you can obtain sustainable growth in the backlinks that visitors create for your site. “The Google PageRank algorithm looks at the pattern of links to your site as they build over time” ( Unfortunately, it is often impossible for a single web developer to update the website with new articles quickly enough to compete with large websites. Review of successful websites reveals that good strategy requires some ingenuity. One may ask, “How would a small team be able to create new content faster than a competitor that has a very large budget and staff? It is even possible for a small group of developers to produce content quickly enough to generate the links required to obtain top search engine rankings and get noticed in this global marketplace?” The answer is actually very simple. The answer is “No, it is not possible for a group of developers to produce content that quickly.” The worried web developer then might reply, “So is all hope lost?” Luckily, the answer to that is also, “No.” But in order to be successful, we must think beyond our own capacities, and we must consider possibilities that we are unable to provide entirely by ourselves. Consider the amazing popularity of successful websites such as Twitter and Facebook. One may ask, “Did the web developers of those sites write all of the content?” In fact, what is unique about those websites is that they merely provided a platform that enabled members of the public to create site content. If we consider the simplicity and rather limited functionality of the original Twitter service, the Twitter developers didn’t even really need to do a whole lot of work. Once they build the core engine, data model, and security infrastructure, they were practically done creating content. At that point, visitors began creating the content, and the project took off like wildfire.

Here’s the vision that Jack Dorsey had when imagining Twitter,

“On May 31st, 2000, I signed up with a new service called LiveJournal. I was user 4,136 which entitled me a permanent account and street cred in some alternate geeky universe which I have not yet visited. I was living in the Sunshine Biscuit Factory in Oakland California and starting a company to dispatch couriers, taxis, and emergency services from the web. One night in July of that year I had an idea to make a more “live” LiveJournal. Real-time, up-to-date, from the road. Akin to updating your AIM status from wherever you are, and sharing it. For the next 5 years, I thought about this concept and tried to silently introduce it into my various projects. It slipped into my dispatch work. It slipped into my networks of medical devices. It slipped into an idea for a frictionless service market. It was everywhere I looked: a wonderful abstraction which was easy to implement and understand.”


By providing a mechanism that allows members to create content, suddenly the role of the developer changes drastically. The developer no longer needs to focus on trying to sell the product. Instead, the developer can focus on adding features to enhancing the user experience and encourage visitors to continue creating content. As members begin to create content, the developer now needs to focus on removing content that violates terms of use (e.g. malicious content, spam, adult content, etc.) rather than trying to create content in the hope that the content will somehow get linked to. And if the platform is truly innovative, your website might even capture attention from major media companies! And those are very valuable backlinks.

Infrastructure is really the key emphasis here. If you create the infrastructure that enables site members with the power to create content for your website, then you deliver value for your site members and also for yourself. You will empower them with tools that help them while simultaneously allowing them to create content for your site. By providing specialized functionality, your site becomes a valuable resource. Valuable sites tend to attract attention. Sites that attract attention tend to grow very quickly when the members are allowed to create content.

A quick note about link brokers:

I highly advise AGAINST using link brokers. Many of these firms are among the most malicious developers on the planet, and they will utilize the most malicious tactics to try and get your links into other peoples’ websites. This is a good way to end up on Google’s blacklist. NEVER BUY LINKS OR DO BUSINESS WITH ANYONE THAT OFFERS TO SELL YOU LINKS. THIS IS AN EXTREMELY DANGEROUS PRACTICE. I have known people that destroyed their hopes and dreams for websites by using these types of services. Once you end up on Google’s blacklist, it is often impossible to remove yourself from it. You can have your web domains blacklisted and become completely banned from using any and all of Google’s services. So why would you even consider doing this? How else do you think people make money from writing viruses and malware? Do you think they all just try to steal credit card numbers? Most people know that banks know how to detect credit card fraud very effectively. So, people try to use computer crime to make money through legitimate business instead. When it comes to “SEO,” you need to be very careful to only do business with people you know you can trust. A simple search for “black hat SEO” will provide you with further information about this subject.


Search engine optimization (SEO) strategies with Umbraco 7.1.0

FAQ and Glossary page SEO strategies with Umbraco, Angular, and dynamic site content.

SEO issues with Angular

In this article, I will discuss implementing search engine optimization strategies (SEO) with Umbraco 7.1.0. I recently learned from that AngularJS introduces new SEO challenges.  In Angular, code elements are wrapped in double curly braces ({{…}}). Google does not execute JavaScript when indexing website content. Google parses values in the double curly braces ({{ … }}) without actually interpreting what is located inside the curly braces. This means that Angular is great for content that is not intended for indexing, but for content you want people to discover via search engines, you need to use some strategy. One technique is to perform server-side rendering by running the application in a headless browser (e.g. PhantomJS). For best performance, we must pre-load the content into html files through a Node.js backend. We can then direct the search engine to use the output file instead of our actual page. Yes, it is somewhat of a hack, but until we have something like Rendr that works with Angular, we may not have much choice.

Sending Google snapshots of html that has been processed by your JavaScript

Once a sitemap.xml or robots.txt file is created, you can use grunt-html-snapshots to snapshot the files.

“How do we grab the results and sent them to Google whenever the search engine requests access, though?”

To do this, we must use some special URL routing by following conventions:

Here is more information on how this is done:

Here is another good article on how to create and use the HTML snapshots:

How to make sure your dynamic content is indexed

This snapshotting technique also can apply towards content that is dynamic in nature, such as content that is rendered by a database. For best results, it is important to design the infrastructure in a way that enables the content that is displayed to depend upon the URL provided. This strategy operates best with RESTful content (referring to the RESTful architectural principle) and is very compatible with web design patterns, such as Model-View View-Model (MV-VM) or Model-View-Controller (MVC).

Future for Umbraco

Umbraco, particularly Umbraco 7.1+, is an amazing platform, and it is changing the rules of the game. In the future, I will be posting more information on how to sync static nodes in Umbraco with a SQL Server database. In the past, I have written on the techniques required to obtain very good SEO results. While these techniques are very useful in theory, developers are often looking for more concrete implementations to better understand abstract concepts.

Grounding SEO theory with concrete strategies

To this effect, I offer two suggestions:

  1. FAQ pages
  2. Glossary

These two techniques are easy to implement but very hard to master. I will speak about both of these briefly.

FAQ Pages

FAQ pages are similar to glossary pages.  These pages are designed to grab a cluster of keyword phrases that originate from the base keyword phrase.

Process of developing FAQ pages

Several years ago, a consultant from Webtrends suggested that I follow this pattern:

  1. Start with a set of keyword phrases that you want to target.
  2. Choose one or two keywords that you want to form the base of your targeting.
  3. Choose 30-50 keyword phrases that contain your base keyword.
  4. Construct questions from these keyword phrases. Ensure that the keywords are contained in the questions.
  5. Create a web page for each phrase. Place the keywords in these html tags:
  • Meta keywords tag
  • Meta description
  • Title
  • H1 tag
  • body text (paragraph tag)


How to prevent the site from appearing like spam to search engines

Ensure that you apply some variation in how you use your keywords. Otherwise, your site content may appear like spam to Google. For example, in your H1 tag, use the keywords in a sentence. Be sure to answer the question to the best of your ability.

Proof of SEO concept

With this strategy, I was able to land quite a few search pages in the top 10 Google results for this website:

If you check out this website, be sure to notice that the base keyword “lice” is located in the domain name and the keyword “faq” is located in the sub-domain. Having “faq” as a sub-domain (i.e. CNAME or canonical) informs search engines that this URL points to FAQ pages.


Glossary pages

Glossary pages attract a very specific type of user, so it is very important to consider how the person will be using your site. Glossary pages are best when you are trying to provide a resource for people that will frequently refer back to your site. These pages tend to obtain high bounce rates, but if done correctly, they also tend to cause individuals to repeatedly come back to your site. The goal here is not necessarily to obtain an instant conversion. Instead, your goal is to provide a valuable informational resource to people on a particular subject. As people land on your site, they quickly obtain the desired information and usually leave. However, with some strategy, you can still convert these visitors into people that explore your site in greater depth.

Strategy for converting visitors from glossary pages

However, to effectively design glossary pages, it is critical to also offer provide internal links to additional articles for interested readers. This allows casual readers to get desired information and leave while also providing additional resources for more interested readers.  This technique also allows us you to track conversions as people that click on that particular link. The best way to create glossary pages is to create one glossary page for each keyword or keyword phrase that you are targeting. Here is one of Google’s examples of a glossary.

The keys to successful web marketing and conversion tracking

This and the next three or so articles will be on the subject of web marketing. After that, I will shift my focus back to content regarding the political injustices we are experiencing, solutions to those problems, and strategies for improving the quality of government and health care in America. After all, if we cannot reach the right individuals, then we will never be able to change anything.

This article will be about optimizing ad performance and tracking conversion rates in a Google AdWords campaign. First of all, during the early stages of campaign and site design, it is best to use keyword phrases that have low quality scores. By low “quality scores,” I am referring to this definition of quality score: Google Quality Score video. “Why is this?” you may ask. The reason is this: You do not want to use your best keyword phrases in your ad campaign until you have had the opportunity to learn from your mistakes, improve the site design, improve the keywords in your site pages, improve the quality of your ad(s), and improve the content that you will use to lead users to desired pages from your landing page.

The reason for this strategy is because the success of your ads will affect the quality scores for the keywords you are targeting. If you target your best keywords when your site is not yet ready, your quality scores may drop from very high to very low scores. Those low quality scores will now make it much harder for you to compete for those keyword phrases because you now will need to pay much more to obtain top ad positions. If you have worked very hard to design the site perfectly – yet you still obtain poor quality scores for your desired keywords, then you may need to check your assumptions and go back to the drawing board. I recommend that you check your assumptions frequently. Every time I explore what’s underneath my assumptions, I learn something new. When there is a flaw in our logic, it’s usually because there’s a flaw in one of our assumptions. If the underlying functions are unknown, then by trying to figure out what those functions might be, that’s when we tend to learn the most.

The same rule is true when we apply conversion tracking techniques. Conversion tracking enables us to track events that result from a lead like a potential customer clicking on our ad.  What’s important during conversion tracking is to track the right elements. For example, if we apply the conversion tracking code to our website in the header or some other element that loads when the page loads, then we will increment our conversion tracker every time someone loads that page. Since you will already know how many people are clicking on your ad (since AdWords tells you), this is usually an undesirable result. Instead, you must apply the tracking code on exactly the element you want to track. For example, if you want to track when people click on your “contact us” link, then you must attach the Google Analytics tracker to your “contact us” link. If you are using the newer Universal Google Analytics, you can subscribe to events by using this technique.

Building an architecture for innovation

Architectural techniques for improving search engine rankings

Devin Bost

March 8, 2014

One of the great challenges for website developers is providing more content with less time. As languages, frameworks, and platforms continually evolve and become more advanced, it can be easy for a developer to feel somewhat lost among the myriad of options available. Questions that a developer might be faced with are, “How should I spent my time? What should I be learning now? And how will I know if I’m moving in the right direction?” Faced with many technological challenges, it can sometimes seem overwhelming for a developer to sacrifice the time required to add content to the website. When I say “content,” I am referring to articles, FAQs, and other information that will be attractive to search engines and visitors of the website.  Time focused on adding content may take away from time that could have been spent improving the infrastructure. Even after massive time spent writing articles, it is sometimes humbling to see your website only barely begin to obtain modest positions on various searches across the internet. Suddenly, when the web developer realizes that they need to spent time on infrastructural changes, such as preventing spam from filling up their contact forms, it can be very disappointing to see search engine rankings rapidly drop. So, you may ask, “What techniques are available to obtain sustainable growth of the numbers of visitors that find my website?” To this question, there is one ultimate answer: architecture.

I will address this topic by starting with a parable. Consider two architects, not software architects, but the kind that construct buildings. The first architect rushes through the design, obtains capital through loans, and quickly leverages available resources to start constructing the beams and walls of the building. The second architect spends much more time in the early design stages. The second architect ensures that every pipe, every room, every door, and every last possible detail are considered. The second architect performs a thorough evaluation of the climate, soil, and risks of major disaster. The second architect doesn’t begin building until absolutely certain that the building has a firm foundation, a foundation that will not fall. Now let’s jump ahead in time. The first architect has constructed nearly half of the building, but he now realizes that there is a problem with the layout of some of the plumbing. To continue with construction, the top half of the building will need to be redesigned. The amount of money required to perform these design changes will be massive, and without starting over, certain structural consequences of the redesign will render the building weak to natural disaster. This building has been built on a sandy foundation. The second architect, however, was much more careful. Every decision was made with the utmost analysis and planning. As a consequence, the foundation was constructed with the future in mind. The construction was able to occur with much greater organization and cost savings. Once the construction gained momentum, milestones began occurring ahead of schedule. The second architect’s building was built on a sure foundation.

Software architecture has many similarities to the architecture involved in commercial buildings. With a good software framework, the developer may accomplish much. I have seen many developers write web applications in PHP only to later realize that it would be very complicated to build software applications that interoperate seamlessly with their website code. Nonetheless, the key to obtaining sustainable rankings in major search engines depends not upon the content you deliver, but instead upon your ability to allow your users to create content. Think about some of the largest and most successful websites on the internet. How many of them became successful without providing an interactive service? The best software architecture is designed with usability in mind. Is your website simply acting like a billboard? Or does your website provide a service that your users need to have? You must consider what the motivations of your users will be. Many websites want to tell their users what to do and what to believe. But far fewer are the websites that listen to their users and act upon what their users say. Take some time and think about the ten most successful websites or web technologies that you have ever seen. How much of their content is generated by their users?

This architecture is the key to obtaining sustainable search engine rankings. Without good architecture, your site is built upon a sandy foundation.


Reaching physicians with complicated patients

Creating an effective AdWords advertisement

Reaching physicians with complicated patients

Reaching physicians is somewhat of an art. Physicians tend to be extremely busy, and due to their lack of available time, they don’t want to waste their time by listening to some company try to sell them something that they think probably won’t help them. Physicians want to improve patient care, but they don’t want complex software or significant learning curves. To understand how to reach physicians, we must use fewer words. We must also understand what is important to them. This rule is true with any form of marketing, but it is especially true with doctors. Here’s what’s important to physicians:

  1. Improving patient outcomes and saving lives;
  2. Saving time;
  3. Preventing mistakes.

The background of specialty medicine

It is not uncommon, particularly within specialty medicine, for a provider to have a patient with complex multi-drug regimens that may be completely unrelated to the specialist’s area of expertise. Unfortunately, however, it is quite common for drugs with very different domains of pharmacotherapeutic effects to interact in unexpected ways. If a doctor knew in advance that the drug they intent to prescribe, for example, would cause a potentially lethal change in the level of an enzyme that is acted on by an unrelated drug that the patient was taking, then the physician would certainly choose an analogue of the drug, choose an alternative treatment option, or do something other than expose the patient to the risk imposed by the dangerous combined effect.

The vision of drug interactions

A drug interaction tool would provide exactly this service. It would allow physicians to restructure a patient’s drug regimen to ensure that desired therapeutic outcomes are achieved without serious adverse short or long term consequences. Such a tool would also save the physician considerable time that would otherwise be spent trying to investigate the issue by digging through literature and hoping to find the desired information. Such a tool would also save patients considerable money and time, prevent unneeded doctor visits, labs, and tests, and improve their overall satisfaction with their medical care. Although physicians may like to think that they don’t make mistakes, we all know that we are imperfect; therefore, a drug interaction tool would help doctors detect errors and prevent mistakes that could yield harm to patients and costly litigation.

Creating the ad – an invitation without false claims

Unfortunately, in this digital age, there are multitudes of technologies available to the provider that falsely claim to save physicians’ time, reduce medical errors and costs, and improve the quality of medical care. Very few of these technologies are able to justify their claims, and even fewer of these technologies are able to prove the legitimacy of their justifications. Like most of us, physicians really want increased intelligence. They want answers to questions that they haven’t asked yet, but they don’t want the answers until they are ready for them. They want a tool that improves their clinical decision making accuracy, but they don’t want to sacrifice countless hours of their time only to determine if they are wasting their time or not. By developing a service that is free to try and has a very simple interface, physicians won’t need to waste their time.  They can try the tool, and if it helps them, then they will be happy; if it doesn’t help them, that’s fine – they will have wasted very little of their time and none of their money. We try to convey our message in advertisements like this one:

Predict metabolites’ effects.

Improve patient outcomes.

This ad is a simple invitation to come and see. When the free app is ready, we will adjust the ad accordingly.  This ad reflects what the service offers: It provides predictive intelligence that improves patient outcomes. In general, from a marketing perspective, reaching our target audience requires that we use the language that our customers are most likely to use. This is precisely what we have done.


Search Engine Optimization techniques

Devin Bost


One may ask, “How do we measure the results of our search engine marketing/optimization?” Measuring data requires Google Analytics. In this article, we will assume that Google Analytics has already been configured. According to what data Google Analytics provides, the process for improving site metrics is as follows:

  1. First, we setup filters.  We use filters to isolate traffic in the following areas (in order of importance from highest to lowest):
    1. Organic search results;
    2. Paid search results (this only applies when using pay per click advertising with Google AdWords);
    3. Unique new visitors from non-search engine sources.
  2. Second, we set our metrics (external variables). We should setup different metrics for each advertising campaign. We should also setup different metrics for organic search traffic. There are several benchmarks (variables) I like to collect data for:
    1. Number of unique visitors, or unique visitor count;
    2. Unique page view count, partitioned by ;
    3. Hit count, partitioned by landing page URL (filtered to display only pages generating one or more unique visits);
    4. Hit count, partitioned first by keyword phrase (the search term used to land on a page); then, partitioned by landing page URL (the URL the search brought them to);
    5. Relative position of ranked pages on Google, weighted according to their position (with an exponential decay model I developed);
    6. Return visit count, partitioned by IP address;
    7. Bounce rates:
      1. Partitioned by keyword phrase, then landing page URL, then by number of internal links (aka layer count) clicked on;
      2. Partitioned by landing page URL, then keyword phrase;
    8. Visitor count, partitioned by backlink URL. These are visitors that landed on our site by following a link from someone else’s website, and according to (Brin & Page, 1998), backlinks have been important since the creation of Google’s search algorithm.
  3. Third, we set our internal variables. These are what we generate internally. This technique becomes invaluable once our external variables begin exhibiting acceleration; then, we may use mathematical techniques to gain insights into how our changes to page content (internal variables) affect our external variables. It is very important that changes to site content are tracked. It can become very hard to assess rankings when it is unclear which version of a particular page was responsible for obtaining a top ranking. For this reason, it is very important that revision control is tracked across the site. HTML tags must be analyzed and tracked. Here are descriptions of how these are used:
    1. Title tag: It defines the page title and it communicates what the page is about to the search engines. The target keyword must be included in this tag. It is displayed to Google search users, so it is important that we apply some practical psychology here;
    2. Description meta tag: It provides a summary description of the web page and its contents. Also, this description appears (in most cases) in Google search results, just below the title; target keyword must be included in this tag;
    3. URLs: An optimized URL is one that is self-explanatory and self-documenting; target keyword must be included in this tag;
    4. Heading tags: These tags are used to emphasize important text and a hierarchical structure of keywords on the web page. Heading tags also inform the search engines how the page content is organized. The <h1> tag defines the most important keywords and <h6> defines the least important keywords;
    5. Keyword placement: This data will be more relevant when we start clustering keywords for strategic optimization on keyword stems. There are several techniques which may be used on this data, depending on how we implement clustering. We can use neural networks and natural language processing for this later on. Using language processing techniques is very easy when content is stored in a database that offers out-of-the-box text processing features;
    6. Content keyword density: According to (Parikh & Deshmukh, 2013), search algorithms place great emphasis on keyword density. It is important that targeted keywords have greater density in the content involved;
    7. Use of robots.txt: The robots.txt file gives directions to search engines regarding which pages or directories should be crawled. Having this file configured correctly will make sure all optimized pages will get indexed;
    8. Images: Using the image alt attribute to provide an accurate description of the image being used; target keyword should be used in the description, if possible. The alt attribute from the <img> tag specifies the alternate text of what the image contains if the image is displayed incorrectly or doesn’t load. It is also used by content readers for people with disabilities;
    9. Use of the “rel=nofollow” attribute: In a HTML anchor tag <a>, the rel attribute defines the relationship between the current page and the page being linked to by the anchor. The nofollow value signals web spiders not to follow the link. In other words, it tells Google that your site is not passing its reputation to the page or pages linked to;
    10. Sitemaps: Keeping the sitemap updated is key for good site rankings. Search engines depend upon sitemaps to tell them what the current web pages are for the website;
    11. Time interval. This is the frequency by which we take measurements. Monthly is fine initially. Once we have enough data to observe our rates of change, we can change our interval to weekly;
  4. We will track internal links and external links once we have traffic that doesn’t bounce. We will discuss this more later. External linking is considered off-site SEO. Important factors, although rather difficult to track are:
    1. Keyword in the backlink: Google’s ranking algorithm places high value on the text that appears within the link. The text within the link gets associated with the page and describes the page it links to. For this reason, it’s important to have the target keyword within the text of the backlink;
    2. Gradual link-building: It’s important to build backlinks in a gradual manner. The link-building process should be natural and steady. It is for this reason that SEO takes a lot of work and patience to implement Furthermore, it’s an intentional part of Google’s strategy for gradual reputation building that it not be quick or overnight. In fact, if a site were to acquire dozens or hundreds of backlinks overnight, Google would almost certainly consider this a red flag (spam) that most likely will get your site penalized. But if the site content is compelling, people can find it through search (or through other means) and link to it. If this occurs, the site owner has no control of the amount of backlinks that the site will generate, and certainly Google can detect that these backlinks weren’t intentional.
    3. Writing articles to establish domain authority: Writing articles and getting them published on other reputable sites, is a strategy that can help your site get backlinks. Getting an article published on trusted sites such as, or and getting a backlink in return, will help increase your website’s reputation and achieve higher rankings;
    4. Personal networking to establish a reputation: It is recommended that we make efforts to reach out to those in the site’s community, particularly sites, “that cover topic areas similar to [ours]. Opening up communication with these sites is usually beneficial.” ( Contacting sites that are related to what your site is about is a great way to network, promote and increase your site’s exposure;
    5. Finding your website’s natural affinity group: Find websites that are related or cover similar topics as yours for potential networking opportunities. Getting backlinks off-topic sites do not count as much as links from sites that have related content to yours.


Brin, S., & Page, L. (1998). The anatomy of a large-scale hypertextual Web search engine. Computer networks and ISDN systems, 30(1), 107-117.

Parikh, A., & Deshmukh, S. (2013, November). Search Engine Optimization. International Journal of Engineering Research and Technology, 2(11), 3146-3153.

What techniques exist for predicting drug interactions?

By Devin G. Bost

Feb. 17, 1014

Problem One: Identifying the metabolites

Many people overlook the fact that after a drug is consumed, it is broken down by the body. A finite series of mechanisms exist to process the drug. The P450 set of enzymes are key in metabolizing most known drugs, and through the liver, they break the drug down into various components. Many of those components, called metabolites, are still biologically active. In some cases, the metabolites of a drug are much more reactive than the initial drug. Thalidomide is a famous example of this. Other good examples include intermediates, coordination complexes, and adducts formed by metabolites of drugs of abuse. Ethanol, for example, is much less dangerous than its metabolite, acetaldehyde, which reacts with DNA, initiating carcinogenesis, and can spontaneously detonate at room temperature.

Solution: Representing the metabolites as an XML data tree

Large chemical databases of allow developers to computationally predict the potential metabolites formed by a given drug. XML is known as a hierarchal data structure. Recently, advances in SQL database technology has improved the functionality and usability of this data type. Using known chemical degradation processes, stored procedures (in the database) can be used to compute each potential metabolite of a given source drug. Mathematically, limitations to SQL stored procedures can be overcome by linking to external software libraries. For example, using Microsoft SQL Server 2012, a database administrator can easily import a dynamic linked library (DLL) to extend database functionality to include a program written in an object-oriented language (e.g. C++, C#, or VB.NET) over the Common Language Runtime (CLR). This technique enables database developers to extend the typical functionality of the database and perform advanced computations with external software libraries designed for mathematical modeling and simulation. Using an XML data type, databases can store the entire computed tree of metabolites for each initial drug. After the computations are performed, the data is easily stored in the database for later use.

Problem Two: How do we identify interactions between drugs and/or metabolites?

According to (Wishart & Materi, 2007), “In the areas of drug discovery and development, [pharmacokinetic (PK)] modeling might be regarded as one of the first and most successful examples of computational system biology,” considering also the discoveries of (Huisinga, Telgmann, & Wulkow, 2006) and (Mager, 2006), “A key limitation of ODEs or systems of ODEs is the need for complete and quantitative data on  concentrations, reaction rates, diffusion rates, degradation rates and many other parameters.” With special thanks to Henry Eyring[1]


Large metabolomics databases, such as the ones listed by (Wishart & Materi, 2007), reduce the quantity of computational predictions that are required by the developer. Furthermore, these databases provide a means for testing the accuracy of predictions against known empirical data and experimental findings. Developing and integrating the models for computing and joining the required parameters then remains the ultimate task for the developer.


Huisinga, W., Telgmann, R., & Wulkow, M. (2006). The virtual laboratory approach to pharmacokinetics: design principles and concepts. Drug discovery today, 11(17), 800-805.

Mager, D. E. (2006). Quantitative structure–pharmacokinetic/pharmacodynamic relationships. Advanced drug delivery reviews, 58(12), 1326-1356.

Wishart, D. S., & Materi, W. (2007). Current Progress in computational metabolomics. Briefings in Bioinformatics, 8(5), 279-293.

[1] Henry Eyring is best known for his contributions on transition state theory. He has been recognized by numerous awards in chemistry, including a Nobel Prize. Interestingly, Henry Eyring is the father of a religious leader, Henry B. Eyring. As of Feb. 17, 2014, Henry B. Eyring is serving as a member of the First Presidency of The Church of Jesus Christ of Latter-Day Saints.

What are the costs of medical errors in the United States?

By Devin G. Bost

Feb. 17, 1014


The estimated cost of medical errors in the United States reached $17.1 billion in 2008 (Van Den Bos, Rustagi, Gray, Ziemkiewicz, & Shreve, 2011). In 1997, an estimated cost of medication-related errors in U.S. nursing homes alone reached $7.6 billion (Desai, Williams, Greene, Pierson, & Hansen, 2011). Finding ways to leverage information technology to solve the problems related to medication prescribing mistakes presents an economic tragedy, as well as a serious opportunity for both members of the public and private sectors.

How do we reduce medical errors?

Although scientists have gained a reasonable understanding of the relationships between novel drugs and the receptor sites they bind to, a significantly overlooked complication to these models results from reactions undergone by metabolites of the given drug. In other words, scientists often don’t really know what interactions are occurring between the metabolites of various combinations of drugs. This lack of awareness is only exasperated in patients with complicated disease states (e.g. diabetes) and complex multi-drug regimens that evolve over time. Luckily, modern technology is changing the way we see these problems, particularly as genomic data is becoming more widely available.

What are the industry trends?

Thanks to the human genome project, interest in genomic data is gaining momentum. As more data becomes available, more researchers are opening up access to their data to allow further collaborative research. Databases form the cornerstone of this research. Unfortunately, without common naming conventions or internal references to well-known database schemas, significant variability occurs in the data from one database to another. SQL join operations require data elements to match exactly, so enforcing relationships between databases introduces new integration challenges to the developer. Regarding what is commonly referred to as “big data,” technologies such as Hadoop have emerged for handling large volumes of unstructured data in a high-performance manner. Unfortunately for us, integrating genomic data to perform computational analysis requires data to be structured and relationships to be enforced. Luckily, drugs, for example, can be joined on CAS number, a universally recognized unique identifier, and large ontologies have emerged to join diagnostic terminology to disease states and various forms of adverse events. Other data entities can be joined to the data from PubChem and other popular databases.

What’s the value of predicting drug interactions?

Assuming that the relationships can be enforced and the data can be properly integrated, the developer now faces the serious question: “How do we computational model, simulate, and predict the net effects of drug interactions?” Such a model would allow clinical decision makers to choose medicines in a much more deterministic manner. For example, in theory, a physician could utilize such software to choose analogues of a particular drug to avert drug interactions that would otherwise be caused by a drug for which no analogues currently exist. Such software would also allow physicians to determine when particular drug combinations would be too dangerous to try on patients with complicated medical histories or disease for which cures have not yet been discovered.


Desai, R., Williams, C. E., Greene, S. B., Pierson, S., & Hansen, R. A. (2011). Medication errors during patient transitions into nursing homes: characteristics and association with patient harm. The American journal of geriatric pharmacotherapy, 9(6), 413-422.

Van Den Bos, J., Rustagi, K., Gray, T. H., Ziemkiewicz, E., & Shreve, J. (2011). The $17.1 billion problem: the annual cost of measurable medical errors. Health Affairs, 30(4), 596-603.

The emergent state of drug development:

Synthetic biology in the 21st century

Drug development is emerging with a new twist. One of the greatest discoveries of the human genome project was the discovery that our genome changes – not just at conception. If someone were to sample my DNA today and again in one year, scientists recently discovered that my genetics would look totally different.

Due to this discovery, scientists have been racing to develop and reduce the costs of DNA sequencers. The pricing function of these devices resembles the pricing of computers in the early 1980’s, when computers were the size of a small room and cost more than $500,000 to own. Today, less than 40 years later, computers are the size of your palm and cost only hundreds of dollars.

The best thing, however, that this new genetic revolution has introduced is the onset of “big data.” More specifically, this emergent paradigm shift has introduced large, muti-national collaborative efforts to collect, store, and share insights into this massive wave of genetic information. As insights emerge, further data emerges. As data emerges, discoveries occur. Those discoveries result in further funding, some from governments, but mostly from philanthropists, charities, and private research organizations. Educational institutions also have a vested interest in preparing and providing additional data to assist in this collaborative effort.

Examples include:

  • Ensembl
  • Genbank
  • Blast
  • ChEMBL
  • PharmGKB
  • PubChem
  • BindingDB


Thankfully, this data is available for development of novel applications. For my purposes, I wish to discover ways of computing drug interactions. These interactions can be predicted by evaluating enzyme interactions, drug metabolism, binding site interactions, and associated properties with those binding sites (e.g. PKI/binding affinity, diffusion coefficients, etc.). Thus, we can obtain a deterministic, differential model for computing the net effects of complex drug interactions in patients taking multiple medications. This will help providers determine whether or not it is safe to prescribe a particular medication for a patient with complicated medical histories. It will also help providers prevent dangerous adverse events by helping them determine when a particular drug may result in a “tipping point” from insignificantly contributing to an adverse event to putting the patient into danger. As data emerges, we will see the paradigm shift away from typical drug discovery toward a protein and enzyme driven approach. I will share more on this later.