A method of identifying a thyroid cancer in a subject by identifying a BRAFV600E mutation in a fine needle aspiration sample of a subject using a trained algorithm, wherein said trained algorithm was trained by a process comprising: (i) assaying a plurality of training samples for expression levels of a plurality of biomarkers comprising at least 5 biomarkers selected from Table 27 to obtain a training set comprising expression data, wherein said plurality of training samples comprises a first set of samples containing said BRAFV600E mutation and a second set of samples not containing said BRAFV600E mutation, wherein said plurality of training samples comprise fine needle aspirate samples, and (ii) performing supervised learning on said expression data to yield said trained algorithm that is capable of classifying said fine needle aspiration sample as containing or not containing said BRAFV600E mutation at a statistical confidence level of at least about 95%; the method comprising: (a) assaying an expression level of a plurality of biomarkers in said fine needle aspiration sample from said subject, wherein said plurality of biomarkers comprises said at least 5 biomarkers selected from Table 27, wherein said fine needle aspiration sample is independent of said plurality of training samples; and (b) applying said trained algorithm to said expression level of (a)to classify said fine needle aspiration sample as containing or not containing said BRAFV600E mutation at a statistical confidence level of at least about 95%, to thereby predict a presence or absence of said thyroid cancer. (i) assaying a plurality of training samples for expression levels of a plurality of biomarkers comprising at least 5 biomarkers selected from Table 27 to obtain a training set comprising expression data, wherein said plurality of training samples comprises a first set of samples containing said BRAFV600E mutation and a second set of samples not containing said BRAFV600E mutation, wherein said plurality of training samples comprise fine needle aspirate samples, and (ii) performing supervised learning on said expression data to yield said trained algorithm that is capable of classifying said fine needle aspiration sample as containing or not containing said BRAFV600E mutation at a statistical confidence level of at least about 95%; the method comprising: (a) assaying an expression level of a plurality of biomarkers in said fine needle aspiration sample from said subject, wherein said plurality of biomarkers comprises said at least 5 biomarkers selected from Table 27, wherein said fine needle aspiration sample is independent of said plurality of training samples; and (b) applying said trained algorithm to said expression level of (a)to classify said fine needle aspiration sample as containing or not containing said BRAFV600E mutation at a statistical confidence level of at least about 95%, to thereby predict a presence or absence of said thyroid cancer. (a) assaying an expression level of a plurality of biomarkers in said fine needle aspiration sample from said subject, wherein said plurality of biomarkers comprises said at least 5 biomarkers selected from Table 27, wherein said fine needle aspiration sample is independent of said plurality of training samples; and (b) applying said trained algorithm to said expression level of (a)to classify said fine needle aspiration sample as containing or not containing said BRAFV600E mutation at a statistical confidence level of at least about 95%, to thereby predict a presence or absence of said thyroid cancer.