Evaluation of Accumast, Biplate, Check Up, Mastatest, Petrifilm for identification of mastitis pathogens in pasture- and confinement-managed cows
Acknowledgements
Authors and affiliations
Sam Rowe,1,2 John K. House,1,2 Stephanie Bullen,3 Mark Humphris,4 Luke Ingenhoff,1,2 Jacqueline M. Norris,1 Hannah Pooley,1 Ruth N. Zadoks1
1Sydney School of Veterinary Science, The University of Sydney, Camden, New South Wales 2570, Australia 2Livestock Veterinary Services, The University of Sydney, Brownlow Hill, New South Wales, Australia 3Dairy Australia, Southbank, Victoria, Australia 4The Milk Road, Newry, Victoria, Australia
Thank you
We would like to thank the participating farmers and laboratory staff for their essential roles in the provision and testing of samples.
Funding
This study was conducted as part of Food Agility project FA 078 – On-farm mastitis, jointly funded by Food Agility CRC, Dairy Australia, Coles Sustainable Dairy Development Group, Charles Sturt University, University of Technology Sydney, and the University of Sydney.
Study objectives
The primary objective of this study was to evaluate the diagnostic performance of 5 point of care tests available in Australia for guiding mastitis therapy. A secondary objective was to describe the pathogen profiles of mastitis-causing organisms in cows managed in barns (“intensive”) and on pasture (“non-intensive”).
A total of 641 samples from 30 farms were tested during the study period. The number of samples tested from each farm ranged from 1 to 82 (median = 15). Samples were submitted from intensive (n = 207 samples from 6 farms) and non-intensive herds (n = 434 samples from 24 farms) in New South Wales (n = 360 samples from 15 farms) and Victoria (n = 281 samples from 15 farms). Contamination was identified in 149 samples (23.2%). For farms that submitted 10 or more samples, the herd-level contamination prevalence ranged from 0.0 to 47.4% (median = 22.2%; Figure 1). The percentage of samples testing positive for each of the diagnoses of interest are shown in Figure 2. After excluding contaminated samples, the prevalence of diagnoses of interest for samples from intensive herds in descending order were no growth (31.7%), Klebsiella spp. (28.1%), E. coli (15.0%), Strep. uberis (8.4%), Strep. dysgalactiae (2.4%), and Staph. aureus (0.0%). Prevalences in non-contaminated samples from non-intensive herds were Strep. uberis (35.0%), no growth (26.9%), E. coli (13.3%), Strep. dysgalactiae (5.0%), Staph. aureus (4.3%), and Klebsiella spp. (1.5%).
contaminated <- herd_contamination %>%filter(sample_gt_9 ==1) %>%select(contaminated)contaminated$contaminated %>% median
[1] 0.2222222
Code
ggplot(herd_contamination %>%filter(sample_gt_9 ==1), aes(x = contaminated)) +geom_histogram(fill ="steelblue", color ="white",binwidth =0.1) +scale_y_continuous(breaks =c(0, 2, 4, 6, 8, 10)) +scale_x_continuous(breaks =c(0, 0.1, 0.2, 0.3, 0.4, 0.5)) +theme(panel.background =element_blank(),panel.border =element_rect(color ="black", fill =NA, size =1)) +labs(x ="Proportion of samples that were contaminated (3 of more morphotypes)", y ="Frequency of herds") +ggtitle("Contamination in herds with 10 or more samples")
The figure below shows the percentage of cases identified as antibiotic treatment candidates using 5 point of care testing systems. One clear finding here is that a lower proportion cases in the intensive farming system are identified as antibiotic treatment candidates.
This figure shows the percentage of cases identified as antibiotic treatment candidates (left panel) and non-antibiotic candidates (right) using 5 point of care testing systems. The green bars indicate the cases correctly classified and the red bars indicate cases incorrectly classified. For example, the Accumast testing system found that 23% of cases were antibiotic treatment candidates (i.e., Gram-positive pathogens). Of these, 66 (white number) were correctly identified as antibiotic treatment candidates.
Code
ggplot() +facet_wrap(~ abx, ncol =7) +geom_bar(aes(y = percent, x = index, fill = forcats::fct_rev(true)), data = ab_use_long_intensive, stat ="identity") +geom_text(aes(y = sum_allocated, x = index, label =paste0(round(sum_allocated,0), "%")), data = ab_use_long_intensive, vjust =-0.5, size =4) +geom_text(aes(y =1, x = index, label =paste0(round(percent_correct,0), "%")), color ="white", data = ab_use_long_intensive, vjust =-0.5, size =4) +theme(legend.position ="bottom",legend.direction ="horizontal",panel.background =element_blank(),legend.title =element_blank(),panel.border =element_rect(color ="grey", fill =NA),text =element_text(family ="Times New Roman", size =12), # Adjust the overall text sizeaxis.ticks.x =element_blank(),plot.title =element_text(size =16), # Adjust the size of the plot titleaxis.text =element_text(size =10), # Adjust the size of the axis labelsaxis.title =element_text(size =12), # Adjust the size of the axis titlesstrip.text =element_text(size =14), # Adjust the size of the facet labelslegend.text =element_text(size =10)) +# Adjust the size of the legend labelsylim(0, 100) +scale_y_continuous(limits =c(0, 100), breaks =seq(0, 100, 20), minor_breaks =seq(0, 100, 5)) +labs(x ="", y ="Percentage") +ggtitle("Intensive herds")
This figure is the same as above, but for non-intensive herds.
Code
ggplot() +facet_wrap(~ abx, ncol =7) +geom_bar(aes(y = percent, x = index, fill = forcats::fct_rev(true)), data = ab_use_long_non_intensive, stat ="identity") +geom_text(aes(y = sum_allocated, x = index, label =paste0(round(sum_allocated,0), "%")), data = ab_use_long_non_intensive, vjust =-0.5, size =4) +geom_text(aes(y =1, x = index, label =paste0(round(percent_correct,0), "%")), color ="white", data = ab_use_long_non_intensive, vjust =-0.5, size =4) +theme(legend.position ="bottom",legend.direction ="horizontal",panel.background =element_blank(),legend.title =element_blank(),panel.border =element_rect(color ="grey", fill =NA),text =element_text(family ="Times New Roman", size =12), # Adjust the overall text sizeaxis.ticks.x =element_blank(),plot.title =element_text(size =16), # Adjust the size of the plot titleaxis.text =element_text(size =10), # Adjust the size of the axis labelsaxis.title =element_text(size =12), # Adjust the size of the axis titlesstrip.text =element_text(size =14), # Adjust the size of the facet labelslegend.text =element_text(size =10)) +# Adjust the size of the legend labelsylim(0, 100) +scale_y_continuous(limits =c(0, 100), breaks =seq(0, 100, 20), minor_breaks =seq(0, 100, 5)) +labs(x ="", y ="Percentage") +ggtitle("Non-intensive herds")
The shows the total number of samples tested for each system. Note that the accumast testing system has missing values due to the plates being unavailable at times during the study.
Code
tb_all_samples_tested
biplate_tested
accumast_tested
checkup_tested
petrifilm_tested
mastatest_tested
641
550
639
640
634
Proportion of pathogen groups identified by point of care tests as a treatment target.
Treatment target = Gram positive bacteria only
The table below indicates what proportion of each sample result type (e.g. contamination, Strep uberis) that would be treated using each of the index testing systems. For example, of the 84.2% of Gram positive samples were identified as treatment targets by the Biplate testing system, which is slightly more than the Accumast system, which identified 75.9% of those samples as treatment targets.
Treatment target = Gram positive bacteria and Klebsiella
The table below indicates what proportion of each sample result type (e.g. contamination, Strep uberis) that would be treated using each of the index testing systems. For example, of the 71.6% of Gram positive or Klebsiella samples were identified as treatment targets by the Biplate testing system, which is slightly less than the Accumast system, which identified 73.7% of those samples as treatment targets.
The table below shows the sensitivity and specificity for selected index tests when attempting to identify Gram-positive pathogens, E. coli, Klebsiella spp., Staph aureus, Strep dysgalactiae, and Strep uberis. The table also outlines the predictive values in intensive and non-intensive herds, which have significantly different pathogen profiles.
What were the point of care results for each pathogen group?
The tables below show the what each index test found for samples identified by lab culture as: contaminated, no significant growth, E. coli, Klebsiella, Staph aureus, Strep dysgalactiae, and Strep uberis
The plots below are another way of looking at the data shown above. Each bar chart shows the top 5 results for samples identified by lab culture as either: contaminated, no significant growth, E. coli, Klebseilla, Staph aureus, Strep dysgalactiae, and Strep uberis
Code
tab <- out %>%pivot_longer(cols = Contamination:`Strep dys`, values_to ="Percent", names_to ="Target")# tab %>% bar_chart(y = value, x = Result, top_n = 3,facet = name)library(cowplot)top5 <-function(target,index){target <-enquo(target)index <-enquo(index) tab %>%filter(Target ==!!target & index ==!!index) %>%bar_chart(y = Percent, x = index_result, top_n =5) +ggtitle(paste0(quo_name(index)," results when lab culture finds: ",quo_name(target) )) +theme(axis.title.x =element_blank(),axis.title.y =element_blank()) }all_targets <-unique(tab$Target)all_index <-unique(tab$index)#top5("Contamination","Accumast")#top3("Contamination","Accumast")combinations <-expand.grid(target = all_targets, index = all_index) %>%arrange(target)# apply the top4 function to each combination of target and index