Our algorithm utilizes the Stanford Database to assign penalties to various regimens based on inputted mutations. The mutation penalty schema is described in greater detail below.

Mutation penalty scores are summed for both individual (e.g., M184V) and combination (e.g., M184V + K65R) mutations for every drug in each ARV (antiretroviral) class. We consider drugs with summed mutation scores between 0 and 29 to have low-level resistance, scores between 30 and 59 to have intermediate-level resistance, and scores above 60 to have high-level resistance.

The penalty is then calculated using the formula below and is added to the base score. If a regimen contains a drug with high-level resistance, we do not display that regimen. We ignore the mutation of drug XTC (FTC or 3TC) within the formula if (1) the regimen consists of 3 drugs and included uncompromised DRV, DTG, or BIC, or (2) if the regimen consists of 4 or more drugs.