Kamil Slowikowski
2024-04-22
Índice
Aqui, compartilhamos um único arquivo afnd.tsv (5,99 MB) em formato delimitado por tabulações com todas as frequências alélicas para 8 genes HLA, 18 genes KIR, 2 genes MIC e 29 genes de citocinas do Allele Frequency Net Database (AFND).
O script allelefrequencies.py baixa automaticamente as frequências alélicas do site.
O que é o banco de dados da rede de frequências alélicas?
O Allele Frequency Net Database (AFND) é um banco de dados público que contém informações de frequência de vários genes imunológicos, como antígenos leucocitários humanos (HLA), receptores semelhantes a imunoglobulina de células assassinas (KIR), complexo principal de histocompatibilidade relacionado à cadeia de classe I (MIC ) genes e vários polimorfismos de genes de citocinas.
O arquivo afnd.tsv tem esta aparência:
d <- fread( " afnd.tsv " )
head( d )
## group gene allele population indivs_over_n alleles_over_2n n
## 1: hla A A*01:01 Argentina Rosario Toba 15.1 0.0760 86
## 2: hla A A*01:01 Armenia combined Regions 0.1250 100
## 3: hla A A*01:01 Australia Cape York Peninsula Aborigine 0.0530 103
## 4: hla A A*01:01 Australia Groote Eylandt Aborigine 0.0270 75
## 5: hla A A*01:01 Australia New South Wales Caucasian 0.1870 134
## 6: hla A A*01:01 Australia Yuendumu Aborigine 0.0080 191
Definições:
alleles_over_2n
(Alelos / 2n) Frequência do Alelo: número total de cópias do alelo na amostra populacional em formato de três decimais.
indivs_over_n
(100 * Indivíduos / n) Porcentagem de indivíduos que possuem o alelo ou gene.
n
(Indivíduos) Número de indivíduos amostrados na população.
Aqui estão alguns exemplos de como podemos usar R para analisar esses dados.
Veja as maiores e menores populações disponíveis nos dados:
d % > %
mutate( n = parse_number( n )) % > %
select( population , n ) % > %
unique() % > %
arrange( - n )
## population n
## 1: Germany DKMS - German donors 3456066
## 2: USA NMDP European Caucasian 1242890
## 3: USA NMDP African American pop 2 416581
## 4: USA NMDP Mexican or Chicano 261235
## 5: USA NMDP South Asian Indian 185391
## ---
## 1489: Cameroon Sawa 13
## 1490: Paraguay/Argentina Ache NA-DHS_24 (G) 13
## 1491: Malaysia Orang Kanaq Cytokine 11
## 1492: Cameroon Baka Pygmy 10
## 1493: Paraguay/Argentina Guarani NA-DHS_23 (G) 10
Conte o número de alelos para cada gene:
d % > %
count( group , gene , allele ) % > %
count( group , gene ) % > %
arrange( - n ) % > %
head( 15 )
## group gene n
## 1: hla B 1979
## 2: hla A 1394
## 3: hla C 1209
## 4: hla DRB1 954
## 5: hla DPB1 384
## 6: hla DQB1 351
## 7: kir 3DL1 90
## 8: mic MICA 69
## 9: kir 3DL3 67
## 10: kir 2DL1 52
## 11: kir 2DL4 35
## 12: mic MICB 34
## 13: hla DQA1 30
## 14: kir 3DL2 30
## 15: kir 2DL5B 24
Some as frequências alélicas para cada gene em cada população. Isso nos permite ver quais populações têm um conjunto de frequências alélicas que somam 100%:
d % > %
mutate( alleles_over_2n = parse_number( alleles_over_2n )) % > %
filter( alleles_over_2n > 0 ) % > %
group_by( group , gene , population ) % > %
summarize( sum = sum( alleles_over_2n )) % > %
count( sum == 1 )
## `summarise()` has grouped output by 'group', 'gene'. You can override using the `.groups` argument.
## # A tibble: 44 × 4
## # Groups: group, gene [28]
## group gene `sum == 1` n
##
## 1 hla A FALSE 420
## 2 hla A TRUE 18
## 3 hla B FALSE 513
## 4 hla B TRUE 19
## 5 hla C FALSE 323
## 6 hla C TRUE 19
## 7 hla DPA1 FALSE 54
## 8 hla DPA1 TRUE 6
## 9 hla DPB1 FALSE 207
## 10 hla DPB1 TRUE 39
## # ℹ 34 more rows
Trace a frequência de um alelo específico em populações com mais de 1.000 indivíduos amostrados:
my_allele <- " DQB1*02:01 "
my_d <- d % > % filter( allele == my_allele ) % > %
mutate(
n = parse_number( n ),
alleles_over_2n = parse_number( alleles_over_2n )
) % > %
filter( n > 1000 ) % > %
arrange( - alleles_over_2n )
ggplot( my_d ) +
aes( x = alleles_over_2n , y = reorder( population , alleles_over_2n )) +
scale_y_discrete( position = " right " ) +
geom_colh() +
labs(
x = " Allele Frequency (Alleles / 2N) " ,
y = NULL ,
title = glue( " Frequency of {my_allele} across populations " ),
caption = " Data from AFND http://allelefrequencies.net "
)
Se você usar esses dados, cite o manuscrito mais recente sobre o Allele Frequency Net Database :
@ARTICLE{Gonzalez-Galarza2020,
title = "{Allele frequency net database (AFND) 2020 update: gold-standard
data classification, open access genotype data and new query
tools}",
author = "Gonzalez-Galarza, Faviel F and McCabe, Antony and Santos, Eduardo
J Melo Dos and Jones, James and Takeshita, Louise and
Ortega-Rivera, Nestor D and Cid-Pavon, Glenda M Del and
Ramsbottom, Kerry and Ghattaoraya, Gurpreet and Alfirevic, Ana
and Middleton, Derek and Jones, Andrew R",
journal = "Nucleic acids research",
volume = 48,
number = "D1",
pages = "D783--D788",
month = jan,
year = 2020,
language = "en",
issn = "0305-1048, 1362-4962",
pmid = "31722398",
doi = "10.1093/nar/gkz1029",
pmc = "PMC7145554"
}
Aqui estão todos os recursos que encontrei que contêm informações sobre as frequências dos alelos HLA em diferentes populações.
https://github.com/Vaccitech/HLAfreq/
Os autores fornecem arquivos xlsx neste site:
Mas as informações de frequência são agrupadas em categorias:
Existe uma ferramenta chamada HLA-Net que fornece uma visualização dos dados do CIWD.
http://tools.iedb.org/population/download
Na página Ferramentas do IEDB, podemos encontrar uma ferramenta chamada Cobertura Populacional . Os autores baixaram as informações de frequência HLA do AFND e as salvaram em um arquivo pickle Python.
https://www.ncbi.nlm.nih.gov/gv/mhc
O banco de dados e o site dbMHC parecem ter sido descontinuados. Mas um arquivo de arquivos antigos ainda está disponível via FTP.
https://bioinformatics.bethematchclinical.org/hla-resources/haplotype-frequencies/high-resolution-hla-alleles-and-haplotypes-in-the-us-population/
Obrigado a David A. Wells por compartilhar o scrapeAF, que me inspirou a trabalhar neste projeto.