Skip to content

ldgh/3A-public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

3A-public

en

Introdução

As inferências de ancestralidade genética em uma população ou indivíduos miscigenados pode se dar em três níveis : populacional, individual e local cromossômica, sendo que todas essas medidas estão correlacionadas. A ancestralidade populacional é a porcentagem do conjunto dos genomas de uma população que deriva de cada uma das populações parentais. As ancestralidades individuais são as porcentagens do genoma de um indivíduo miscigenado originárias de cada uma das populações parentais. A inferência de ancestralidade cromossômica é a inferência da ancestralidade de cada ponto de cada cromossomo de cada indivíduo.

O LDGH integra diferentes metodologias para realizar as inferências de ancestralidades com dados genômicos. O fluxograma da Figura 2 ilustra nosso pipeline bioinformático para realizar diferentes análises genético populacionais relacionados com as inferências da ancestralidade, com loci independentes (REAP, NaTORA, PCA, Admixture) e a partir de haplótipos (RFMix, IBDrefine, Chromopainter).

Clique para ir para o Fluxograma Público de Ancestralidade do LDGH (atualizado)

Figura 2

As Figuras A e B, extraídas de Kehdy et al. (2015) ilustram a ancestralidade de populações brasileiras do projeto EPIGEN-Brasil.

Figuras A e B

O cromosaicos da Figura 3 ilustram a ancestralidade local cromossomica de alguns membros do nosso grupo de pesquisa.

Figura 3

LEAL, T. P. do nosso grupo tem desenvolvido a ferramenta MosA3ic para automatizar a integração de parte dessas metodologias (PCA, Admixture e a inferência da ancestralidade local com RFMix2). O programa atualmente (31/12/2020) realiza todos os passos necessários para as seguintes análises:

  • PCA
  • ADMIXTURE
  • Local Ancestry com RFMix2
  • IBD
  • Chromopainter

O script funciona no padrão de arquivos de descrição, isso é, você configura os arquivos de entrada de forma que todos os parâmetros estejam descritos nos files. O programa tem o seguinte getopt:

usage: 3A.py [-h] -a ANALYSIS -p PROGRAMS -r REFERENCE -d DATABASE -f FOLDER
             [-A] [-n] [-T THREAD]

3A script: Automated Ancestry Analysis Script

optional arguments:
  -h, --help            show this help message and exit

Required arguments:
  -a ANALYSIS, --analysis ANALYSIS
                        File with the description of analysis to be performed
  -p PROGRAMS, --programs PROGRAMS
                        File with the path to the programs used
  -r REFERENCE, --reference REFERENCE
                        File with the path of reference files
  -d DATABASE, --database DATABASE
                        File with the description of the databases
  -f FOLDER, --folder FOLDER
                        Folder to store the intermediary files and output
                        files

Optional arguments:
  -A, --changeAdmixture
                        Change the colors in ADMIXTURE plot
  -n, --notClean        Use this flag if the data is not clean by
                        SmartCleanning
  -T THREAD, --thread THREAD
                        Number of processors to be used in haplotyping and
                        local ancestry inference

Bibliotecas

No script implementado em Python 3 utilizamos as seguintes bibliotecas:

  • os
  • sys
  • argparse
  • numpy
  • subprocess
  • matplotlib
  • math
  • pandas
  • seaborn

Também utilizamos um script implementado em Python2 modificado chamado plot_karyogram que utiliza as seguintes bibliotecas:

  • os
  • argparse
  • numpy
  • pylab
  • matplotlib
  • brewer2mpl

Flags

Analises

-a analises.txt

Esse arquivo tem como objetivo descrever quais análises e parâmetros referentes aos plots. Note que cada linha é independente entre si, isso é, você pode usar somente uma linha caso todos os pré-requisitos para rodar aquela linha sejam saisfeitos.

PCA	8	/home/thiagop/3A_JC/PCAColor.txt
ADMIXTURE	2	5	2	2	AFR	/home/thiagop/3A_JC/Cores.txt
rfmix
rfmix individual	200627820015_R09C01	/home/thiagop/3A_JC/admix/RFMix	LocalAncestry	0.95	EUR,NAT,AFR,ASIA,UNK	red,forestgreen,blue,pink,black	1	22
rfmix populational	/home/thiagop/3A_JC/admix/RFMix	LocalAncestry	0.95	EUR,NAT,AFR,ASIA,UNK	red,forestgreen,blue,pink,black	1	22

Programs

-p programs.txt

Esse arquivo tem como objetivo de facilitar a portabilidade do script entre diferentes máquinas. O arquivo é composto por duas colunas: nome do programa e caminho do programa separados por tab. Os programas necessários para rodar todo o script são:

plink	/home/thiago/Programs/plink
smartcleaning	/home/thiagop/3A/Programs/MosaiQC
convertf	/home/thiago/Programs/convertf
smartpca	/home/thiago/Programs/smartpca
admixture	/home/thiago/Programs/admixture
bcftools	bcftools
shapeit4	/home/thiago/Programs/shapeit4-master/bin/shapeit4
vcftools	vcftools
rfmix	/home/thiago/Programs/rfmix-master/rfmix
karyogram	/home/thiago/Programs/karyogram/plot_karyogram.py
mergecleandata	/home/thiago/Programs/mergeCleanData.py

Reference

-r reference.txt

Esse arquivo tem como objetivo descrever o caminho dos arquivos de referencia. Apesar do reference.txt ter 4 arquivos, na versão atual o programa usa somente dois:

  • Genetic maps (MAPS)
  • Descrição dos centromeros(centromer) para o plot_karyogram.py
  • Os outros dois files(DBSNP e KGP) são para rodar o SDQC, coisa que recomendamos que seja feita antes usando o SDQC mais novo
DBSNP	/media/thiago/Data/Unificado/Ref/dbSNP_HG38_HG37_last_version_chr*_corrected.txt.gz
KGP	/media/thiago/Data/Unificado/Ref/HumanOmni5Exome-4-v1-1-B-auxilliary-file.txt
MAPS	/media/thiago/Data/Unificado/Ref/chr*.b37.gmap.gz
centromer	/home/thiago/Programs/karyogram/centrometer

Database

-d database.txt

Esse arquivo tem como objetivo descrever as bases de dados. Cada banco de dados será composto por 6 colunas:

  • Identificador, isso é, a forma com que esse banco de dados será chamado pelo resto da execução
  • Grupo (em geral usamos EUR, AFR, NAT e Admixed). O único nome que, se mudado, pode trazer problemas a execução é o Admixed, uma vez que na execução do RFMix ele colocará toda população não Admixed como parental
  • Caminho absoluto para a base de dados sem o sufixo (bed/bim/fam)
  • Primeiro cromossomo
  • Ultimo cromossomo
  • Versão do genoma
#pop, grupo, local, chr inicial, chr final, genoma de referencia
MENCK	Admixed	/home/thiagop/3A_JC/MENCK	1	22	37
NAT	NAT	/home/thiagop/3A_JC/NAT	1	22	37
AFR	AFR	/home/thiagop/3A_JC/AFR	1	22	37
EUR	EUR	/home/thiagop/3A_JC/EUR	1	22	37
ASIA	ASIA	/home/thiagop/3A_JC/ASIAN	1	22	37

Outros

PCAColor (utilizado dentro do arquivo analises.txt)

ADMIXTURE 2 12 2 2 MEGA1 /home/thiago/PycharmProjects/3A/Cores

  • PCA: Faz todas as análises necessárias (merge datasets, LD prunning, convertf e smartpca), gera a quantidade de PCs na segunda colunas (no exemplo, 8) e plota baseado no arquivo PCAColor.txt. O PCA color tem o ID quye deve estar incluido no arquivo do Database, o formato e a cor.

Kehdy et al. Figure 3 (B e D) Published online 2015 Jun 29. doi: 10.1073/pnas.1504447112

  • ADMIXTURE: Faz todas as análises necessárias (merge datasets, LD prunning, admixture), gera o ADMIXTURE do K da segunda coluna até o K da terceira coluna (2 e 5 no exemplo), repetindo cada K a quantidade de vezes da coluna 5 (2) e o plot deve ser guiar pela ancestralidade referência da coluna 6 (AFR) e com as cores no barplot seguindo a lista de cores do arquivo definido (Cores.txt). A quarta coluna foi descontinuada uma vez que o número de threads foi passado para o getopt. Note que você pode mudar o plot do ADMIXTURE usando a flag -A, que só rodará o plot do ADMIXTURE.

Kehdy et al. Figure 3 (A e C) Published online 2015 Jun 29. doi: 10.1073/pnas.1504447112

  • RFMIX: Faz todas as análises necessárias (merge datasets, haplotipagem, separar referência dos miscigenados e inferência via rfmix2)
  • RFMIX individual: Faz o plot dos cromossomos miscigenados de um indivíduo específico (coluna 2) que está presente na pasta presentes na coluna 3 (/home/thiagop/3A_JC/admix/RFMix) com o nome presente na coluna 4 (LocalAncestry), usando somente as janelas com o valor maior ou igual com o valor rpesente na coluna 5 (0.95), cujas parentais estão presente na coluna 6 (EUR,NAT,AFR,ASIA,UNK) que tem as cores na coluna 7 (red,forestgreen,blue,pink,black) e que tem como primeiro cromossomo na coluna 8 e o último na coluna 9 (1 e 22 respectivamente)

Mosaic002Mosaic003 Mosaic011

  • RFMIX populational: Faz o plot das ancestralidades pro cromossomo e distribuição dos tamanhos de tracts do banco de dados que está presente na pasta presentes na coluna 2 (/home/thiagop/3A_JC/admix/RFMix) com o nome presente na coluna 3 (LocalAncestry), usando somente as janelas com o valor maior ou igual com o valor rpesente na coluna 4 (0.95), cujas parentais estão presente na coluna 5 (EUR,NAT,AFR,ASIA,UNK) que tem as cores na coluna 6 (red,forestgreen,blue,pink,black) e que tem como primeiro cromossomo na coluna 7 e o último na coluna 8 (1 e 22 respectivamente)

Cores (utilizado dentro do arquivo analises.txt)

Assim como no PCAColor, um arquivo referente as cores a serem utilizadas no resultados dos Admixture:

PCA 12 /home/thiago/PycharmProjects/3A/PCAColor

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published