A computer-implemented method for estimating the quantity of microorganisms within a taxonomic unit present in a sample, the method comprising: providing a computer processor configured to: (a) estimate a misclassification rate by a read classification method for taxonomic units of microorganisms, wherein the computer processor is configured to: simulate reads using the genomes of the microorganisms within a taxonomic unit with empirically-determined read lengths and sequencing error rates, or receive sequence reads from a sample with a known composition of microorganisms; execute a read classification algorithm on the simulated reads using a database comprising genes or complete or partial genomes of interest of microorganisms from a plurality of taxonomic units; determine an estimated misclassification rate as the percentage or fraction of the simulated or received reads which are classified as something other than microorganisms of the taxonomic unit; and, carry out steps - for each microorganism with a sequence contained in the database or for each microorganism expected to be in a sample; (b) receive a measurement of the number of reads in the sample classified to taxonomic units based on the database of step, wherein the sequencing method and the read classification method are those of steps and, respectively; (c) adjust the received measurement using the estimated misclassification rate to estimate the number of reads belonging to each taxonomic unit in the sample by applying an optimization method to find the number of reads in the sample belonging to each taxonomic unit using a system of linear equations determined by the estimated misclassification rate, and the number of reads from a sample which are classified to a list of taxonomic units; and (d) estimate the number of microorganisms from a taxonomic unit present in the sample using the estimated number of reads belonging to each taxonomic unit. (a) estimate a misclassification rate by a read classification method for taxonomic units of microorganisms, wherein the computer processor is configured to: simulate reads using the genomes of the microorganisms within a taxonomic unit with empirically-determined read lengths and sequencing error rates, or receive sequence reads from a sample with a known composition of microorganisms; execute a read classification algorithm on the simulated reads using a database comprising genes or complete or partial genomes of interest of microorganisms from a plurality of taxonomic units; determine an estimated misclassification rate as the percentage or fraction of the simulated or received reads which are classified as something other than microorganisms of the taxonomic unit; and, carry out steps - for each microorganism with a sequence contained in the database or for each microorganism expected to be in a sample; simulate reads using the genomes of the microorganisms within a taxonomic unit with empirically-determined read lengths and sequencing error rates, or receive sequence reads from a sample with a known composition of microorganisms; execute a read classification algorithm on the simulated reads using a database comprising genes or complete or partial genomes of interest of microorganisms from a plurality of taxonomic units; determine an estimated misclassification rate as the percentage or fraction of the simulated or received reads which are classified as something other than microorganisms of the taxonomic unit; and, carry out steps - for each microorganism with a sequence contained in the database or for each microorganism expected to be in a sample; (b) receive a measurement of the number of reads in the sample classified to taxonomic units based on the database of step, wherein the sequencing method and the read classification method are those of steps and, respectively; (c) adjust the received measurement using the estimated misclassification rate to estimate the number of reads belonging to each taxonomic unit in the sample by applying an optimization method to find the number of reads in the sample belonging to each taxonomic unit using a system of linear equations determined by the estimated misclassification rate, and the number of reads from a sample which are classified to a list of taxonomic units; and (d) estimate the number of microorganisms from a taxonomic unit present in the sample using the estimated number of reads belonging to each taxonomic unit.