Quantifying the presence of parasitic prevalence (Enterocytozoon hepatopenaei, microsporidian) of previously frozen Pandalus borealis with a Certified Quality Reader (CQR) by CQ Foods, Inc.

Prepared by M. Keith Cox PhD (CQ Foods, Inc.)

Methods

There were three groups of shrimp. Group 1 did not seem infected with the Microsporidian wherease groups 2 and 3 were. They seemed to be infected as they degraded faster than group 1. Smell was the indicator. parasite equation (PE) <-A+((B^2)/A)

Table 1. Details for 3 samples tested, one standard sample (sample 1) against two off samples samples 2 and 3). Each prawn was tested on the anterior end followed by the posterior (thick then thin).

Results and conclusion

A, B and CQN were all significant between samples 1, 2 and 3. CQN went up in the diseased shrimp (usually it would go down in less healthy organisms). Because A and B are represented equally and were significant also, and due to the fact that upon freezing, the B value drops, it was chosen to use resistance in parallel to explain the difference and for development of a parasite index (PI).

Thin worked better than the thick measures.

For the parasite index (PI): There was a significant difference between group 1 and groups 2 and 3. There was no difference between 2 and 3. Group 1 had the highest value.

Because the disease is a intercellular parasite there could be more damage to the tissue (resulting in a lower B value) and more electrolytic ions in the space where the electricity travles (resulting in lower A values [resistance]). It is generally not resolved onto whether biological tissue (frozen or not) is in a series or parallel circuitry so sensitivity to change via statistics was chosen to determine series or parallel circuitry.

The sample sizes were skewed too. Group 1 had 40 measures while group 2 and 3 had 15 measures per group.

Recommendation

See if you can monitor at the farm and determine parasite load from the source.

CQN Comparison

The graph below compared the quality scores as measured by the CQN. There were significant differences between the groups as seen by a ANOVA followed by a TukeyHSD best fit function.

There was a significant difference between 1, 2 and 3.

Quality

Quality

A only

B only

Parasite equation

Parasite index flagging

Number of measures

There were 50 measures taken from each brand. There were consistant sample sizes from everybrand and provided data for a power analysis to estimate sample sizes.

Statistics

fit<-aov(data$CQN~data$SAMPLE)
summary(fit)
##              Df Sum Sq Mean Sq F value  Pr(>F)   
## data$SAMPLE   2    746   373.1   6.907 0.00138 **
## Residuals   139   7510    54.0                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = data$CQN ~ data$SAMPLE)
## 
## $`data$SAMPLE`
##           diff        lwr      upr     p adj
## 2-1  4.7245083  0.9964718 8.452545 0.0088657
## 3-1  4.5227271  0.8804041 8.165050 0.0106186
## 3-2 -0.2017811 -4.6271518 4.223590 0.9935878
fit<-aov(data$A~data$SAMPLE)
summary(fit)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## data$SAMPLE   2   5293  2646.4   74.29 <2e-16 ***
## Residuals   139   4952    35.6                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = data$A ~ data$SAMPLE)
## 
## $`data$SAMPLE`
##           diff        lwr        upr     p adj
## 2-1 -11.352083 -14.379294  -8.324873 0.0000000
## 3-1 -13.100625 -16.058235 -10.143015 0.0000000
## 3-2  -1.748542  -5.341996   1.844913 0.4834477
fit<-aov(data$B~data$SAMPLE)
summary(fit)
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## data$SAMPLE   2  4.319  2.1595   35.15 4.43e-13 ***
## Residuals   139  8.540  0.0614                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = data$B ~ data$SAMPLE)
## 
## $`data$SAMPLE`
##            diff        lwr        upr     p adj
## 2-1 -0.31416667 -0.4398828 -0.1884505 0.0000001
## 3-1 -0.38125000 -0.5040757 -0.2584243 0.0000000
## 3-2 -0.06708333 -0.2163149  0.0821482 0.5373954
fit<-aov(data$Rp~data$SAMPLE)
summary(fit)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## data$SAMPLE   2   5298  2648.8   74.65 <2e-16 ***
## Residuals   139   4932    35.5                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(fit)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = data$Rp ~ data$SAMPLE)
## 
## $`data$SAMPLE`
##           diff        lwr        upr     p adj
## 2-1 -11.354056 -14.375341  -8.332771 0.0000000
## 3-1 -13.108639 -16.060460 -10.156818 0.0000000
## 3-2  -1.754583  -5.341003   1.831837 0.4796716

Code

rm(list=ls()) library(qcc)

data<-read.csv(“/Users/Cox/Google Drive/analytics/clients/seafarms/Stinky shrimp/stink.shrimp.csv”)

setwd(“/Users/Cox/Google Drive/analytics/clients/seafarms/Stinky shrimp/”)

data\(CQN <- ((data\)B/data\(A)*180/3.14)*10 data\)Rp<-data\(A+((data\)B^2)/data\(A) data\)Date<-as.Date(data\(TIMESTAMP,format="%m/%d/%Y %H:%M") data\)SAMPLE<-as.factor(data$SAMPLE)

thick<-subset(data,TECHNIQUE==“THICK”) thin<-subset(data,TECHNIQUE==“THIN”)

X <- qccGroups(Rp, SAMPLE, data = thin)

unique(thin\(SAMPLE) summary(thin\)SAMPLE)

Measure quality and ID

Sig<-3 Main<-“Shrimp quality monitor” ylab<-“Quality index” label.limits<-c(“Lower”,“Upper”)

set date here 0

thin.mean<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=mean) colnames(thin.mean)<-c(“Sample”,“Mean”)

thin.sd<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=sd) colnames(thin.sd)<-c(“Sample”,“Sd”)

Count<-aggregate(thin\(Rp,by=list(thin\)SAMPLE),FUN=NROW) colnames(Count)<-c(“Sample”,“Number”)

thick.mean<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=mean) colnames(thick.mean)<-c(“Sample”,“Mean”)

thick.sd<-aggregate(thin\(CQN,by=list(thin\)SAMPLE),FUN=sd) colnames(thick.sd)<-c(“Sample”,“Sd”)

change labels (without year)

rownames(X) <- strftime(rownames(X), format = “%m-%d”)

dim(X) apply(X, 1, function(x) sum(!is.na(x)))

Save datasets for auto-reports

save(data, file=“thin.RData”) save(thin,file=“thin.RData”) save(X,file=“X.RData”)

write.csv(data2, file = “/Users/Cox/Google Drive/analytics/clients/seafarms/help.csv”)

data<-read.csv(“/Users/Cox/Google Drive/analytics/clients/seafarms/help.csv”)

png(filename=“figure/A.boxplot.png”) boxplot(thin\(A~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“A index”,las=3,main=“Thin”)

dev.off()

png(filename=“figure/B.boxplot.png”) boxplot(thin\(B~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“B index”,las=3,main=“Thin”)

dev.off()

png(filename=“figure/thin.boxplot.png”) par(mar=c(9.1,4.1,4.1,5.1)) boxplot(thin\(Rp~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“Parasite index (PI)”,las=3,main=“Thin”)

dev.off()

png(filename=“figure/quality.boxplot.png”) par(mar=c(9.1,4.1,4.1,5.1)) boxplot(thin\(CQN~thin\)SAMPLE, pch=1,col=“Gray”,ylab=“Quality index”,las=3,main=“thin”)

dev.off()

png(filename=“figure/quality.trend.png”) par(mar=c(9.1,4.1,4.1,5.1)) qcc(X, type = “xbar”,limits=c(35,100),ylim=c(20,50),label.center = “”,title=“Shrimp”,xlab=“Farm number”,axes.las=3, label.limits=c(“Lower limit”,“Upper limit”),ylab=“Parasite index”,restore.par=FALSE,add.stats=FALSE) abline(h=c(35,100),col=c(“red”,“green”),lwd=c(2,1)) dev.off()

png(filename=“figure/count.plot.png”)

plot(Count, pch=19,cex=2,col=“blue”, ylab=“Sample size”, main=“How many were measured”) box(which=‘outer’,lty = ‘solid’, col = ‘black’) dev.off()

fit<-aov(thin\(Rp~thin\)SAMPLE) summary(fit) tuk<-TukeyHSD(fit) tuk

fit1<-aov(thin\(CQN~thin\)SAMPLE) summary(fit1) tuk1<-TukeyHSD(fit1) tuk1