Reprodutibilidade 🔄
1. Fazer. Refazer. Desfazer. Fazer Novamente. SALVAR TUDO! 🚨
No trabalho com dados genômicos sempre rodamos as análise infindáveis vezes com parâmetros diferentes e geramos inúmeras versões dos gráficos apresentados fazendo uso de scripts levemente modificados. Assim, é de suma impotância que tenhamos um ótimo controle dessas diferentes versões. Isso é geralmente conseguido usando-se um bom Sistema de Controle de Versões, que garante que tenhamos total controle de todas as versões envolvidas. O GitHub é a plataforma de hospedagem de códigos e arquivos mais comumente utilizada na área científica, e faz do Git — um amplo sistema de controle de versões. Portanto, iremos agora passar por uma breve introdução à rotina de trabalho com o essa importante ferramente de trabalho.
1.1. Criando Uma Conta no GitHub
Caso você ainda não tenha uma conta no GitHub, você pode criar uma de forma gratuita aqui usando o caminho que você achar melhor.
1.2. Criando Um Novo Repositório
Os códigos armazenados no GitHub são hospedados dentro de repositórios destinados a projetos específicos, e esses repositórios podem ser públicos ou privados. Assim, precisamos agora criar um novo repositório chamado WorkshopSBBE26, o que pode ser feito aqui segundo esses parâmetros (não é preciso se preocupar com as demais opções):
Repository NameWorkshopSBBE26
DescriptionAdicione uma pequena descrição do seu repositório. Lembre-se que é bom ter uma descrição que seja de fácil entendimento por parte de possíveis visitantes.
1.3. Gerando uma chave SSH pública no NPAD/UFRN
Você agora pode conectar a sua conta no NPAD/UFRN ao seu GitHub também através de uma Chave Pública tipo RSA. Para isso, primeiro crie uma chave na sua conta no NPAD/UFRN usando o comando abaixo. Você deverá digitar uma senha para a sua chave, apertar Enter e depois repetir a mesma senha e apertar Enter outra vez. Isso feito, a sua chave terá sido criada. ⚠️ Atenção! É importante que você se lembre da sua senha depois — guarde-a com sabedoria!
ssh-keygen -t ed25519 -C "COLOQUE-AQUI-O-EMAIL-CADASTRADO-NO-GITHUB" -f ~/.ssh/MyNPAD-MyGitHub
Abra a chave criada com o comando abaixo e copie todo o seu contúdo:
cat ~/.ssh/MyNPAD-MyGitHub.pub
Você deve registrar o a chave criada aqui usando os seguintes parâmetros:
TitleEscolha um nome que faça sentido para você e que possa ser fácil de você lembrar no futuro.
KeyCole aqui todo o conteúdo da chave criada.
Por fim, você pode fazer com que o NPAD/UFRN sempre use essa chave. Para isso, abra o ficheiro ~/.ssh/config com o programa nano com o seguinte comando:
nano ~/.ssh/config
E nele cole as linhas abaixo (lembre-se que para sair do nano você deve fazer control + o, apertar Enter e então control + x):
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/MyNPAD-MyGitHub
1.4. NPAD/UFRN <-> GitHub — Uma Conexão Necessária
Só resta a você configurar a sua conta no NPAD/UFRN de forma tal que ela sempre use a sua conta no GitHub. Isso pode ser feito com o comando abaixo fazendo uso.
git config --global user.name USUÁRIO-GITHUB; git config --global user.email EMAIL-GITHUB
Pronto! Agora você tem repositório criado e tudo configurado no NPAD/UFRN. Assim, agora você pode conectar esse repositório ao diretório tutorial_ipyrad criado no passo anterior. Para isso, vamos primeiro entrar no diretório tutorial_ipyrad e depois iniciar essa conexão com o comando abaixo:
cd ~/tutorial_ipyrad; git init -b main
Daí você pode fazer a conexão de fato adicionando ao comando abaixo o seu nome de usuário no GitHub e WorkshopSBBE26 como nome de repositório:
git remote add origin git@github.com:USUÁRIO-GITHUB/WorkshopSBBE26.git
Você pode criar o seu primeiro ficheiro dentro do seu repositório. Vamos aproveitar essa oportunidade para criar um arquivo especial dentro do sistema do GitHub — o ficheiro README.md. Crie-o com o nano e coloque nele o conteúdo abaixo Lembre-se que você deve apertar control + o seguido do Enter para salvar, e depois control + x para sair do programa nano.
## Dummy Repository for the [SBBE26 Introduction to Genomic Analyses Workshop](https://sbbe-oficial.github.io/workshopgenomics/)
> Documentation outlining the pipeline's workflow.
***
### Data Processing
The dataset [ipsimdata.tar.gz](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/ipsimdata.tar.gz) was processed with [Ipyrad](https://ipyrad.readthedocs.io/en/master/) using the parameters in [params-tutorial.txt](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/params-tutorial.txt).
### Population Structure
#### Principal Component Analysis
This analysis was performed with the software [Plink](https://www.cog-genomics.org/plink/) as described in [RunsPCA.sh](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/PCA/RunsPCA.sh). The results were ploted using R script [PlotsPCA.R](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/PCA/PlotsPCA.R).
- [PCA_Plot.pdf](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/PCA/PCA_Plot.pdf)
#### Estimation of Individual Ancestries
This analysis was performed with the software [Admixture](https://dalexander.github.io/admixture/) as described in [RunsAdmixture.sh](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/Admixture/RunsAdmixture.sh). The results were ploted using R script [PlotsAdmixture.R](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/Admixture/PlotsAdmixture.R).
- [Admixture_Plot.pdf](https://github.com/USUÁRIO-GITHUB/WorkshopSBBE26/blob/main/SBBE26_PopGen/Admixture/Admixture_Plot.pdf)
Tendo adicionado o primeiro ficheiro, agora você pode submeter ao GitHub as mudança feita localmente no nosso repositório. Primeiro, temos que adicionar as mudanças:
git add .
Então você pode adicionar uma nota (commit) a ser vinculada à mudança em questão:
git commit -m "COLOQUE-AQUI-UM-COMENTÁRIO-QUE-FAÇA-SENTIDO"
Finalmente, você pode enviar ao seu repositório as mudanças e no mesmo segundo o seu repositório será atualizado no GitHub!
git push -u origin main
Você agora pode atualizar a página do seu repositório no GitHub e todas as mudanças já devem estar ativas!
Parabéns — você concluiu um dia inteiro de análises genômicas! 🎊