Введение

Работники металлургического предприятия подвергаются многочисленным вредным факторам, связанным с особенностями производственного процесса. Одним из наиболее значимых является воздействие на организм химических веществ, длительное влияние которых приводит к различным профессиональным патологиям. Для прогнозирования и профилактики заболеваний нужно учитывать не только уровень воздействия внешней среды на организм, но и индивидуальные особенности работников. Способность тканей и органов к метаболизму ксенобиотиков зависит от ферментов, участвующих в процессе детоксикации, в частности, от активности глутатион-S-трансфераз, которые отвечают за адаптацию на окислительный стресс. Полиморфизмы генов GSTM1, GSTT1 влияют на отсутствие фермента или снижение его активности, что может приводить к уменьшению устойчивости к воздействию ксенобиотиков.

При развитии заболевания одним из ключевых показателей является изменение в общем анализе крови и изменение ее биохимического состава. Отклонение от медицинской нормы может служить признаком развития воспалительной реакции, нарушении метаболизма и гемостаза, сбоях в работе систем органов. Таким образом, целью работы являлось выявление взаимосвязи между показателями крови работников и полиморфизмов генов, отвечающих за уровень активности ферментов детоксикации.

Задачи: 1) Сравнить показатели крови в группе работников металлургического цеха с группой административного отдела данного предприятия 2) Выявить взаимосвязь между полиморфизмами генов и показателями крови
3) Оценить влияние полиморфизмов генов на показатели крови в зависимости от условий работы

Средние значения показателей крови и стандартные ошибки среднего

#Группа 1
mean_gem1 <- mean(Group1$`Гемоглобин.(г/л)`, na.rm =T)
se_gem1 <- sd(Group1$`Гемоглобин.(г/л)`, na.rm =T)/sqrt( sum(!is.na(Group1$`Гемоглобин.(г/л)`)))


mean_ley1 <- mean(Group1$`Лейкоциты.(*10^.9/л)`, na.rm = T)
se_ley1 <- sd(Group1$`Лейкоциты.(*10^.9/л)`, na.rm =T)/sqrt( sum(!is.na(Group1$`Лейкоциты.(*10^.9/л)`)))

mean_eri1 <- mean(Group1$`Эритроциты.(*10^12/л)`, na.rm = T)
se_eri1 <- sd(Group1$`Эритроциты.(*10^12/л)`, na.rm =T)/sqrt( sum(!is.na(Group1$`Эритроциты.(*10^12/л)`)))

mean_tro1 <- mean(Group1$`Тромбоциты.(*10^9/L)`, na.rm =T)
se_tro1 <- sd(Group1$`Тромбоциты.(*10^9/L)`, na.rm =T)/sqrt( sum(!is.na(Group1$`Тромбоциты.(*10^9/L)`)))

mean_gly1 <- mean(Group1$`Глюкоза,.ммоль/л`, na.rm = T)
se_gly1 <- sd(Group1$`Глюкоза,.ммоль/л`, na.rm =T)/sqrt( sum(!is.na(Group1$`Глюкоза,.ммоль/л`)))


mean_group1<- c(mean_gem1, mean_ley1, mean_eri1, mean_tro1, mean_gly1)
se_group1 <- c(se_gem1, se_ley1, se_eri1, se_tro1,se_gly1)

#Группа 2

#Изменение формата данных на числовой, т.к. в таблице неверный формат данных
Group2$`Гемоглобин.(г/л)` <-as.numeric(gsub(",", ".", Group2$`Гемоглобин.(г/л)`))
Group2$`Лейкоциты.(*10^.9/л)` <-as.numeric(gsub(",", ".", Group2$`Лейкоциты.(*10^.9/л)`))
Group2$`Эритроциты.(*10^12/л)` <-as.numeric(gsub(",", ".", Group2$`Эритроциты.(*10^12/л)`))
Group2$`Тромбоциты.(*10^9/L)` <-as.numeric(gsub(",", ".", Group2$`Тромбоциты.(*10^9/L)`))
Group2$`Глюкоза,.ммоль/л` <-as.numeric(gsub(",", ".", Group2$`Глюкоза,.ммоль/л`))

mean_gem2 <- mean(Group2$`Гемоглобин.(г/л)`, na.rm =T)
se_gem2 <- sd(Group2$`Гемоглобин.(г/л)`, na.rm =T)/sqrt( sum(!is.na(Group2$`Гемоглобин.(г/л)`)))

mean_ley2 <- mean(Group2$`Лейкоциты.(*10^.9/л)`, na.rm = T)
se_ley2 <- sd(Group2$`Лейкоциты.(*10^.9/л)`, na.rm =T)/sqrt( sum(!is.na(Group2$`Лейкоциты.(*10^.9/л)`)))

mean_eri2 <- mean(Group2$`Эритроциты.(*10^12/л)`, na.rm = T)
se_eri2 <- sd(Group2$`Эритроциты.(*10^12/л)`, na.rm =T)/sqrt( sum(!is.na(Group2$`Эритроциты.(*10^12/л)`)))

mean_tro2 <- mean(Group2$`Тромбоциты.(*10^9/L)`, na.rm =T)
se_tro2 <- sd(Group2$`Тромбоциты.(*10^9/L)`, na.rm =T)/sqrt( sum(!is.na(Group2$`Тромбоциты.(*10^9/L)`)))

mean_gly2 <- mean(Group2$`Глюкоза,.ммоль/л`, na.rm = T)
se_gly2 <- sd(Group2$`Глюкоза,.ммоль/л`, na.rm =T)/sqrt( sum(!is.na(Group2$`Глюкоза,.ммоль/л`)))


mean_group2<- c(mean_gem2, mean_ley2, mean_eri2, mean_tro2, mean_gly2)
se_group2 <- c(se_gem2, se_ley2, se_eri2, se_tro2,se_gly2)


names<-c("Гемоглобин (г/л)", "Лейкоциты (*10^9/л)", "Эритроциты (*10^12/л)", "Тромбоциты (*10^9/L)", "Глюкоза, ммоль/л")
#Таблица средних значений показателей и их стандартные ошибки
RESULT1<- 
  as.data.frame(cbind(names,
                    mean_gr1 = round(mean_group1,2),
                    se_gr1 = round(se_group1,2),
                    mean_gr2 = round(mean_group2,2),
                    se_gr2 = round(se_group2,2) ))
RESULT1 
##                   names mean_gr1 se_gr1 mean_gr2 se_gr2
## 1      Гемоглобин (г/л)   154.24   1.09   145.89   0.93
## 2   Лейкоциты (*10^9/л)     7.73    0.2     7.03   0.14
## 3 Эритроциты (*10^12/л)     4.84   0.04     4.67   0.03
## 4  Тромбоциты (*10^9/L)   236.68   5.18   223.57   4.18
## 5      Глюкоза, ммоль/л     6.53   0.12     5.81   0.08

При сравнении показателей крови в двух группах по критерию Манна-Уитни обнаружены достоверные различия по всем показателям (р < 0,05). Это может говорить о том, что разные условия труда влияют на кроветворение, воздействие негативных факторов на производстве сказывается на биохимическом анализе крови.

##2 Сравнение групп 1 и 2 между собой по среднему значению каждого показателя.
#Тест Шапиро-Уилка, чтобы проверить нормальность распределения в каждой группе. При р<0.05 распределение отлично от нормального, используем критерий Манна-Уитни
shapiro.test(Group1$`Гемоглобин.(г/л)`) #p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group1$`Гемоглобин.(г/л)`
## W = 0.96785, p-value = 0.01762
shapiro.test(Group2$`Гемоглобин.(г/л)`) #p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group2$`Гемоглобин.(г/л)`
## W = 0.95983, p-value = 6.486e-05
wilcox.test(Group1$`Гемоглобин.(г/л)`, 
            Group2$`Гемоглобин.(г/л)`)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Group1$`Гемоглобин.(г/л)` and Group2$`Гемоглобин.(г/л)`
## W = 12104, p-value = 5.81e-09
## alternative hypothesis: true location shift is not equal to 0
shapiro.test(Group1$`Лейкоциты.(*10^.9/л)`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group1$`Лейкоциты.(*10^.9/л)`
## W = 0.94122, p-value = 0.0002672
shapiro.test(Group2$`Лейкоциты.(*10^.9/л)`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group2$`Лейкоциты.(*10^.9/л)`
## W = 0.93045, p-value = 1.873e-07
wilcox.test(Group1$`Лейкоциты.(*10^.9/л)`, 
            Group2$`Лейкоциты.(*10^.9/л)`)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Group1$`Лейкоциты.(*10^.9/л)` and Group2$`Лейкоциты.(*10^.9/л)`
## W = 10499, p-value = 0.002112
## alternative hypothesis: true location shift is not equal to 0
shapiro.test(Group1$`Эритроциты.(*10^12/л)`)#p-value >0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group1$`Эритроциты.(*10^12/л)`
## W = 0.99023, p-value = 0.6965
shapiro.test(Group2$`Эритроциты.(*10^12/л)`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group2$`Эритроциты.(*10^12/л)`
## W = 0.8961, p-value = 9.936e-10
wilcox.test(Group1$`Эритроциты.(*10^12/л)`, 
            Group2$`Эритроциты.(*10^12/л)`)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Group1$`Эритроциты.(*10^12/л)` and Group2$`Эритроциты.(*10^12/л)`
## W = 10948, p-value = 0.0001492
## alternative hypothesis: true location shift is not equal to 0
shapiro.test(Group1$`Тромбоциты.(*10^9/L)`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group1$`Тромбоциты.(*10^9/L)`
## W = 0.96867, p-value = 0.02024
shapiro.test(Group2$`Тромбоциты.(*10^9/L)`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group2$`Тромбоциты.(*10^9/L)`
## W = 0.9824, p-value = 0.02613
wilcox.test(Group1$`Тромбоциты.(*10^9/L)`, 
            Group2$`Тромбоциты.(*10^9/L)`)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Group1$`Тромбоциты.(*10^9/L)` and Group2$`Тромбоциты.(*10^9/L)`
## W = 9732, p-value = 0.04529
## alternative hypothesis: true location shift is not equal to 0
shapiro.test(Group1$`Глюкоза,.ммоль/л`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group1$`Глюкоза,.ммоль/л`
## W = 0.86955, p-value = 8.501e-08
shapiro.test(Group2$`Глюкоза,.ммоль/л`)#p-value <0.05
## 
##  Shapiro-Wilk normality test
## 
## data:  Group2$`Глюкоза,.ммоль/л`
## W = 0.8762, p-value = 7.809e-11
wilcox.test(Group1$`Глюкоза,.ммоль/л`, 
            Group2$`Глюкоза,.ммоль/л`)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Group1$`Глюкоза,.ммоль/л` and Group2$`Глюкоза,.ммоль/л`
## W = 12334, p-value = 1.877e-09
## alternative hypothesis: true location shift is not equal to 0

По всем рассматриваемым показателям между группами есть статистически значимые различия

#3. График для средних значений и стандартных ошибок 

#Таблица RESULT1 для построения графика 

val<-as.numeric(c(RESULT1$mean_gr1, RESULT1$mean_gr2))
nam <- rep(RESULT1$names,2)
gr <- c(rep("Группа 1",5), rep("Группа 2",5))
se <- as.numeric(c(RESULT1$se_gr1, RESULT1$se_gr2))
lower_se =  val - se
upper_se = val + se

data_plot<-
  data.frame(`Значение` = val,
             `Группа` = gr,
             `Показатель` = nam,
             lower_se,
             upper_se
             )

#График
ggplot(data=data_plot, aes(x=`Группа`, y=`Значение`, fill= `Группа`)) +
  geom_bar(stat="identity", position=position_dodge()) + facet_wrap(~`Показатель`,  scales = "free") +
  theme(legend.position = "none") + ggtitle("Среднее значение показателей крови в Группе 1 и 2")  +
  geom_errorbar(aes(ymax=upper_se,
                      ymin=lower_se),
                  position=position_dodge(0.9),
                  data=data_plot)

При этом корреляционная зависимость между типом полиморфного гена и различными показателями крови ни в одной из групп обнаружена не была. Возможно, необходимы дальнейшие сравнения при объединении двух полиморфных генов и их сравнения с показателями крови.

Взаимосвязь полиморфизмов GSTM1 с показателями крови

Гемоглобин

one.way_gem_gr1 <- aov(`Гемоглобин.(г/л)` ~ GSTM1, data = Group1)
summary(one.way_gem_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1        1     93   92.59   0.804  0.372
## Residuals   95  10937  115.13               
## 1 observation deleted due to missingness
one.way_gem_gr2 <- aov(`Гемоглобин.(г/л)` ~ GSTM1, data = Group2)
summary(one.way_gem_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1         1      8    8.44   0.055  0.815
## Residuals   173  26553  153.49
#p-value > 0.05 в обеих группах, следовательно, зависимость между гемоглобином и GSTM1 в обеих группах не обнаружена

Лейкоциты

one.way_ley_gr1 <- aov(`Лейкоциты.(*10^.9/л)` ~ GSTM1, data = Group1)
summary(one.way_ley_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1        1    7.7   7.739   1.965  0.164
## Residuals   96  378.1   3.938
one.way_ley_gr2 <- aov(`Лейкоциты.(*10^.9/л)` ~ GSTM1, data = Group2)
summary(one.way_ley_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1         1    6.6   6.567   1.989   0.16
## Residuals   173  571.2   3.301
#p-value > 0.05 в обеих группах, следовательно, зависимость между лейкоцитами и GSTM1 в обеих группах не обнаружена

Эритроциты

one.way_eri_gr1 <- aov(`Эритроциты.(*10^12/л)` ~ GSTM1, data = Group1)
summary(one.way_eri_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1        1  0.177  0.1766   1.306  0.256
## Residuals   96 12.984  0.1353
one.way_eri_gr2 <- aov(`Эритроциты.(*10^12/л)` ~ GSTM1, data = Group2)
summary(one.way_eri_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1         1   0.34  0.3440   1.825  0.178
## Residuals   173  32.61  0.1885
#p-value > 0.05 в обеих группах, следовательно, зависимость между эритроцитами и GSTM1 в обеих группах не обнаружена

Тромбоциты

one.way_tro_gr1 <- aov(`Тромбоциты.(*10^9/L)` ~ GSTM1, data = Group1)
summary(one.way_tro_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1        1   3081    3081   1.188  0.278
## Residuals   95 246410    2594               
## 1 observation deleted due to missingness
one.way_tro_gr2 <- aov(`Тромбоциты.(*10^9/L)` ~ GSTM1, data = Group2)
summary(one.way_tro_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1         1     32      32    0.01  0.919
## Residuals   173 531051    3070
#p-value > 0.05 в обеих группах, следовательно, зависимость между тромбоцитами и GSTM1 в обеих группах не обнаружена

Глюкоза

one.way_gly_gr1 <- aov(`Глюкоза,.ммоль/л` ~ GSTM1, data = Group1)
summary(one.way_gly_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1        1   0.11  0.1145   0.086   0.77
## Residuals   96 128.31  1.3365
one.way_gly_gr2 <- aov(`Глюкоза,.ммоль/л` ~ GSTM1, data = Group2)
summary(one.way_gly_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTM1         1   0.11  0.1137   0.092  0.762
## Residuals   173 213.64  1.2349
#p-value > 0.05 в обеих группах, следовательно, зависимость между глюкозой и GSTM1 в обеих группах не обнаружена

Корреляция GSTM1 и показателей крови

Гемоглобин

#График GSTM1 - гемоглобин
gem_gr1_2<- c(Group1[Group1$GSTM1 =="+",]$`Гемоглобин.(г/л)`,
              Group1[Group1$GSTM1 =="0",]$`Гемоглобин.(г/л)`,
              Group2[Group2$GSTM1 =="+",]$`Гемоглобин.(г/л)`,
              Group2[Group2$GSTM1 =="0",]$`Гемоглобин.(г/л)`)

gstm1 <- c(rep("+", nrow(Group1[Group1$GSTM1 =="+",])),
           rep("0", nrow(Group1[Group1$GSTM1 =="0",])),
           rep("+", nrow(Group2[Group2$GSTM1 =="+",])),
           rep("0", nrow(Group2[Group2$GSTM1 =="0",]))
           )

gr12 <- c(rep("Группа 1", nrow(Group1)),
          rep("Группа 2", nrow(Group2))
          )

gem_data <- data.frame(gr12, GSTM1 = gstm1, `Гемоглобин` = gem_gr1_2)

Mean_value_gem<-  data.frame(gr12 = c(rep("Группа 1",2),
                                  rep("Группа 2",2)),
                         
                         GSTM1= c("+","0","+","0"),
                         
                         `Гемоглобин` = c(mean(Group1[Group1$GSTM1 =="+",]$`Гемоглобин.(г/л)`, na.rm =T),
                                   mean(Group1[Group1$GSTM1 =="0",]$`Гемоглобин.(г/л)`, na.rm =T),
                                   mean(Group2[Group2$GSTM1 =="+",]$`Гемоглобин.(г/л)`, na.rm =T),
                                   mean(Group2[Group2$GSTM1 =="0",]$`Гемоглобин.(г/л)`, na.rm =T))
                         )
  
ggplot(data = gem_data,
       aes(x = GSTM1,
           y = `Гемоглобин`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_gem, color = "red", size = 2)+facet_wrap(~gr12)

# Красным отмечено среднее значение для каждой группы и значения GSTM1

Лейкоциты

ley_gr1_2<- c(Group1[Group1$GSTM1 =="+",]$`Лейкоциты.(*10^.9/л)`,
              Group1[Group1$GSTM1 =="0",]$`Лейкоциты.(*10^.9/л)`,
              Group2[Group2$GSTM1 =="+",]$`Лейкоциты.(*10^.9/л)`,
              Group2[Group2$GSTM1 =="0",]$`Лейкоциты.(*10^.9/л)`)


ley_data <- data.frame(gr12, GSTM1 = gstm1, `Лейкоциты` = ley_gr1_2)

Mean_value_ley<-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTM1= c("+","0","+","0"),
                             
                             `Лейкоциты` = c(mean(Group1[Group1$GSTM1 =="+",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                              mean(Group1[Group1$GSTM1 =="0",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTM1 =="+",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTM1 =="0",]$`Лейкоциты.(*10^.9/л)`, na.rm =T))
)

ggplot(data = ley_data,
       aes(x = GSTM1,
           y = `Лейкоциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_ley, color = "red", size = 2)+facet_wrap(~gr12)

Эритроциты

eri_gr1_2<- c(Group1[Group1$GSTM1 =="+",]$`Эритроциты.(*10^12/л)`,
              Group1[Group1$GSTM1 =="0",]$`Эритроциты.(*10^12/л)`,
              Group2[Group2$GSTM1 =="+",]$`Эритроциты.(*10^12/л)`,
              Group2[Group2$GSTM1 =="0",]$`Эритроциты.(*10^12/л)`)


eri_data <- data.frame(gr12, GSTM1 = gstm1, `Эритроциты` = eri_gr1_2)

Mean_value_eri<-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTM1= c("+","0","+","0"),
                             
                             `Эритроциты` = c(mean(Group1[Group1$GSTM1 =="+",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                             mean(Group1[Group1$GSTM1 =="0",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                             mean(Group2[Group2$GSTM1 =="+",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                             mean(Group2[Group2$GSTM1 =="0",]$`Эритроциты.(*10^12/л)`, na.rm =T))
)

ggplot(data = eri_data,
       aes(x = GSTM1,
           y = `Эритроциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_eri, color = "red", size = 2)+facet_wrap(~gr12)

Тромбоциты

tro_gr1_2<- c(Group1[Group1$GSTM1 =="+",]$`Тромбоциты.(*10^9/L)`,
              Group1[Group1$GSTM1 =="0",]$`Тромбоциты.(*10^9/L)`,
              Group2[Group2$GSTM1 =="+",]$`Тромбоциты.(*10^9/L)`,
              Group2[Group2$GSTM1 =="0",]$`Тромбоциты.(*10^9/L)`)


tro_data <- data.frame(gr12, GSTM1 = gstm1, `Тромбоциты` = tro_gr1_2)

Mean_value_tro <-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTM1= c("+","0","+","0"),
                             
                             `Тромбоциты` = c(mean(Group1[Group1$GSTM1 =="+",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                              mean(Group1[Group1$GSTM1 =="0",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                              mean(Group2[Group2$GSTM1 =="+",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                              mean(Group2[Group2$GSTM1 =="0",]$`Тромбоциты.(*10^9/L)`, na.rm =T))
)

ggplot(data = tro_data,
       aes(x = GSTM1,
           y = `Тромбоциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_tro, color = "red", size = 2)+facet_wrap(~gr12)

Глюкоза

gly_gr1_2<- c(Group1[Group1$GSTM1 =="+",]$`Глюкоза,.ммоль/л`,
              Group1[Group1$GSTM1 =="0",]$`Глюкоза,.ммоль/л`,
              Group2[Group2$GSTM1 =="+",]$`Глюкоза,.ммоль/л`,
              Group2[Group2$GSTM1 =="0",]$`Глюкоза,.ммоль/л`)


gly_data <- data.frame(gr12, GSTM1 = gstm1, `Глюкоза` = gly_gr1_2)

Mean_value_gly <-  data.frame(gr12 = c(rep("Группа 1",2),
                                       rep("Группа 2",2)),
                              
                              GSTM1= c("+","0","+","0"),
                              
                              `Глюкоза` = c(mean(Group1[Group1$GSTM1 =="+",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                               mean(Group1[Group1$GSTM1 =="0",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                               mean(Group2[Group2$GSTM1 =="+",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                               mean(Group2[Group2$GSTM1 =="0",]$`Глюкоза,.ммоль/л`, na.rm =T))
)

ggplot(data = gly_data,
       aes(x = GSTM1,
           y = `Глюкоза`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_gly, color = "red", size = 2)+facet_wrap(~gr12)

Взаимосвязь полиморфизмов GSTT1 с показателями крови

Гемоглобин

one.way_gem_gr1 <- aov(`Гемоглобин.(г/л)` ~ GSTT1, data = Group1)
summary(one.way_gem_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1        1     20   20.34   0.176  0.676
## Residuals   95  11009  115.89               
## 1 observation deleted due to missingness
one.way_gem_gr2 <- aov(`Гемоглобин.(г/л)` ~ GSTT1, data = Group2)
summary(one.way_gem_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1         1     27   26.54   0.173  0.678
## Residuals   173  26535  153.38
#p-value > 0.05 в обеих группах, следовательно, зависимость между гемоглобином и GSTT1 в обеих группах не обнаружена

Лейкоциты

one.way_ley_gr1 <- aov(`Лейкоциты.(*10^.9/л)` ~ GSTT1, data = Group1)
summary(one.way_ley_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1        1    3.4   3.389   0.851  0.359
## Residuals   96  382.4   3.984
one.way_ley_gr2 <- aov(`Лейкоциты.(*10^.9/л)` ~ GSTT1, data = Group2)
summary(one.way_ley_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1         1    0.0   0.000       0  0.999
## Residuals   173  577.7   3.339
#p-value > 0.05 в обеих группах, следовательно, зависимость между лейкоцитами и GSTT1 в обеих группах не обнаружена

Эритроциты

one.way_eri_gr1 <- aov(`Эритроциты.(*10^12/л)` ~ GSTT1, data = Group1)
summary(one.way_eri_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1        1   0.03 0.03001   0.219  0.641
## Residuals   96  13.13 0.13677
one.way_eri_gr2 <- aov(`Эритроциты.(*10^12/л)` ~ GSTT1, data = Group2)
summary(one.way_eri_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)  
## GSTT1         1   0.66  0.6592   3.531 0.0619 .
## Residuals   173  32.29  0.1867                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#p-value > 0.05 в обеих группах, следовательно, зависимость между эритроцитами и GSTT1 в обеих группах не обнаружена

Тромбоциты

one.way_tro_gr1 <- aov(`Тромбоциты.(*10^9/L)` ~ GSTT1, data = Group1)
summary(one.way_tro_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1        1    706   706.3    0.27  0.605
## Residuals   95 248785  2618.8               
## 1 observation deleted due to missingness
one.way_tro_gr2 <- aov(`Тромбоциты.(*10^9/L)` ~ GSTT1, data = Group2)
summary(one.way_tro_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1         1     52    51.5   0.017  0.897
## Residuals   173 531031  3069.5
#p-value > 0.05 в обеих группах, следовательно, зависимость между тромбоцитами и GSTT1 в обеих группах не обнаружена

Глюкоза

one.way_gly_gr1 <- aov(`Глюкоза,.ммоль/л` ~ GSTT1, data = Group1)
summary(one.way_gly_gr1) 
##             Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1        1   0.25  0.2505   0.188  0.666
## Residuals   96 128.17  1.3351
one.way_gly_gr2 <- aov(`Глюкоза,.ммоль/л` ~ GSTT1, data = Group2)
summary(one.way_gly_gr2)
##              Df Sum Sq Mean Sq F value Pr(>F)
## GSTT1         1   1.38   1.384   1.127   0.29
## Residuals   173 212.37   1.228
#p-value > 0.05 в обеих группах, следовательно, зависимость между глюкозой и GSTT1 в обеих группах не обнаружена

Корреляция между GSTT1 и показателями крови

Гемоглобин

gem_gr1_2<- c(Group1[Group1$GSTT1 =="+",]$`Гемоглобин.(г/л)`,
              Group1[Group1$GSTT1 =="0",]$`Гемоглобин.(г/л)`,
              Group2[Group2$GSTT1 =="+",]$`Гемоглобин.(г/л)`,
              Group2[Group2$GSTT1 =="0",]$`Гемоглобин.(г/л)`)

gstt1 <- c(rep("+", nrow(Group1[Group1$GSTT1 =="+",])),
           rep("0", nrow(Group1[Group1$GSTT1 =="0",])),
           rep("+", nrow(Group2[Group2$GSTT1 =="+",])),
           rep("0", nrow(Group2[Group2$GSTT1 =="0",]))
)

gr12 <- c(rep("Группа 1", nrow(Group1)),
          rep("Группа 2", nrow(Group2))
)

gem_data <- data.frame(gr12, GSTT1 = gstt1, `Гемоглобин` = gem_gr1_2)

Mean_value_gem<-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTT1= c("+","0","+","0"),
                             
                             `Гемоглобин` = c(mean(Group1[Group1$GSTT1 =="+",]$`Гемоглобин.(г/л)`, na.rm =T),
                                              mean(Group1[Group1$GSTT1 =="0",]$`Гемоглобин.(г/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTT1 =="+",]$`Гемоглобин.(г/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTT1 =="0",]$`Гемоглобин.(г/л)`, na.rm =T))
)

ggplot(data = gem_data,
       aes(x = GSTT1,
           y = `Гемоглобин`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_gem, color = "red", size = 2)+facet_wrap(~gr12)

Лейкоциты

ley_gr1_2<- c(Group1[Group1$GSTT1 =="+",]$`Лейкоциты.(*10^.9/л)`,
              Group1[Group1$GSTT1 =="0",]$`Лейкоциты.(*10^.9/л)`,
              Group2[Group2$GSTT1 =="+",]$`Лейкоциты.(*10^.9/л)`,
              Group2[Group2$GSTT1 =="0",]$`Лейкоциты.(*10^.9/л)`)


ley_data <- data.frame(gr12, GSTT1 = gstt1, `Лейкоциты` = ley_gr1_2)

Mean_value_ley<-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTT1= c("+","0","+","0"),
                             
                             `Лейкоциты` = c(mean(Group1[Group1$GSTT1 =="+",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                             mean(Group1[Group1$GSTT1 =="0",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                             mean(Group2[Group2$GSTT1 =="+",]$`Лейкоциты.(*10^.9/л)`, na.rm =T),
                                             mean(Group2[Group2$GSTT1 =="0",]$`Лейкоциты.(*10^.9/л)`, na.rm =T))
)

ggplot(data = ley_data,
       aes(x = GSTT1,
           y = `Лейкоциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_ley, color = "red", size = 2)+facet_wrap(~gr12)

Эритроциты

eri_gr1_2<- c(Group1[Group1$GSTT1 =="+",]$`Эритроциты.(*10^12/л)`,
              Group1[Group1$GSTT1 =="0",]$`Эритроциты.(*10^12/л)`,
              Group2[Group2$GSTT1 =="+",]$`Эритроциты.(*10^12/л)`,
              Group2[Group2$GSTT1 =="0",]$`Эритроциты.(*10^12/л)`)


eri_data <- data.frame(gr12, GSTT1 = gstt1, `Эритроциты` = eri_gr1_2)

Mean_value_eri<-  data.frame(gr12 = c(rep("Группа 1",2),
                                      rep("Группа 2",2)),
                             
                             GSTT1= c("+","0","+","0"),
                             
                             `Эритроциты` = c(mean(Group1[Group1$GSTT1 =="+",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                              mean(Group1[Group1$GSTT1 =="0",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTT1 =="+",]$`Эритроциты.(*10^12/л)`, na.rm =T),
                                              mean(Group2[Group2$GSTT1 =="0",]$`Эритроциты.(*10^12/л)`, na.rm =T))
)

ggplot(data = eri_data,
       aes(x = GSTT1,
           y = `Эритроциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_eri, color = "red", size = 2)+facet_wrap(~gr12)

Тромбоциты

tro_gr1_2<- c(Group1[Group1$GSTT1 =="+",]$`Тромбоциты.(*10^9/L)`,
              Group1[Group1$GSTT1 =="0",]$`Тромбоциты.(*10^9/L)`,
              Group2[Group2$GSTT1 =="+",]$`Тромбоциты.(*10^9/L)`,
              Group2[Group2$GSTT1 =="0",]$`Тромбоциты.(*10^9/L)`)


tro_data <- data.frame(gr12, GSTT1 = gstt1, `Тромбоциты` = tro_gr1_2)

Mean_value_tro <-  data.frame(gr12 = c(rep("Группа 1",2),
                                       rep("Группа 2",2)),
                              
                              GSTT1= c("+","0","+","0"),
                              
                              `Тромбоциты` = c(mean(Group1[Group1$GSTT1 =="+",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                               mean(Group1[Group1$GSTT1 =="0",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                               mean(Group2[Group2$GSTT1 =="+",]$`Тромбоциты.(*10^9/L)`, na.rm =T),
                                               mean(Group2[Group2$GSTT1 =="0",]$`Тромбоциты.(*10^9/L)`, na.rm =T))
)

ggplot(data = tro_data,
       aes(x = GSTT1,
           y = `Тромбоциты`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_tro, color = "red", size = 2)+facet_wrap(~gr12)

Глюкоза

gly_gr1_2<- c(Group1[Group1$GSTT1 =="+",]$`Глюкоза,.ммоль/л`,
              Group1[Group1$GSTT1 =="0",]$`Глюкоза,.ммоль/л`,
              Group2[Group2$GSTT1 =="+",]$`Глюкоза,.ммоль/л`,
              Group2[Group2$GSTT1 =="0",]$`Глюкоза,.ммоль/л`)


gly_data <- data.frame(gr12, GSTT1 = gstt1, `Глюкоза` = gly_gr1_2)

Mean_value_gly <-  data.frame(gr12 = c(rep("Группа 1",2),
                                       rep("Группа 2",2)),
                              
                              GSTT1= c("+","0","+","0"),
                              
                              `Глюкоза` = c(mean(Group1[Group1$GSTT1 =="+",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                            mean(Group1[Group1$GSTT1 =="0",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                            mean(Group2[Group2$GSTT1 =="+",]$`Глюкоза,.ммоль/л`, na.rm =T),
                                            mean(Group2[Group2$GSTT1 =="0",]$`Глюкоза,.ммоль/л`, na.rm =T))
)

ggplot(data = gly_data,
       aes(x = GSTT1,
           y = `Глюкоза`)) + geom_point(position = position_jitter(w = 0.05, h = 0))+
  geom_point(data = Mean_value_gly, color = "red", size = 2)+facet_wrap(~gr12)

Заключение

Были обнаружены достоверные различия между группой рабочих производственного цеха и рабочими административного корпуса по показателям крови. Исходя из этого, можно предположить, что условия работы влияют на гемостаз и биохимию крови. При этом корреляционная зависимость полиморфизмов рассматриваемых генов и показателей крови ни в одной из групп не была обнаружена, значит, полиморфизмы данных генов не взаимосвязаны с рассмотренными показателями и генотип не является признаком, указывающим на предрасположенность к каким-либо нарушениям в кровеносной системе по биохимическому и общему анализу крови.