Escolar Documentos
Profissional Documentos
Cultura Documentos
Carlos Adriano Beserra da Silva, Jos e Carlos Liberato de Farias, Maria Beatrice Gueiros Silva e Yasmin Lucio Martins. 21 de agosto de 2013
Resumo Neste trabalho constru mos um c odigo que percorre um determinado banco de dados, onde dentro do mesmo cont em v arias esp ecies separadas em tabelas, assim sendo, o c odigo verica todos esses dados fazendo a contagem das bases nitrogenadas de uma sequencia de DNA de uma determinada esp ecie, quantas bases h a para cada uma delas, determina o tamanho dessa sequencia e depois mostra a quantidade de DNA-n ao codicante. Palavras Chaves: Bases nitrogenadas, software R, gr acos, DNA.
O presente trabalho tem como objetivo principal vericar quais s ao as bases nitrogenadas de algumas esp ecies dadas em um determinado banco de dados, aplicando assim conceitos de estat stica vistos em sala de aula. Para a realiza c ao dos procedimentos do trabalho contamos com o apoio do software estat stico R que atua como plataforma e linguagem de programa c ao, recebendo instru c oes, processando-as e manipulando dados. Como saida do programa escrito temos um relat orio de dados sobre as esp ecies como contagem das bases, tamanho da sequ encia e quantidade de DNA n ao codicante. Al em de efetuar algumas manipula c oes na base de dados descritas na se c ao: Desenvolvendo do Trabalho. Ap os essa etapa o programa escrito em linguagem R apresenta gr acos estat sticos sobre cada base. A exibi c ao do programa codicado em linguagem R ser a divida em algumas etapas atrav es de coment arios no e por m ser a mostrado o c odigo na ntegra.
Desenvolvendo do Trabalho
O algoritmo foi desenvolvido com Software Estat stico R, e foi .utilizado um banco dados que possui sequ encias de DNA de v arias esp ecies. O banco de dados fornecido cont em 18 esp ecies de animais para inicializa c ao do projeto. S ao elas: NBos indicus ,NConsBos indicus, NBos taurus, NConsBos taurus, NBubalus bubalis, NConsBubalus bubalis, NBubalus bubalis breed Mehsana, NConsBubalus bubalis breed Mehsana, NBubalus bubalis breed Murrah, NConsBubalus bubalis breed Murrah, NBubalus bubalis bubalis, NConsBubalus bubalis bubalis, NBubalus carabanensis, NConsBubalus carabanensis, NCapra hircus, NConsCapra hircus, NOvis Aries, NConsOvis Aries . O algoritmo desenvolvido e capaz de contar a bases nitrogenadas de uma sequ encia de DNA, determinar o tamanho da sequ encia e por m transformar as bases adenina e citosina em 1 e guanina e timina em 0.
O algoritmo no R
3.1
#Importa c~ ao da biblioteca seqinr que manipula sequencias biol ogicas no R. #Leitura das bases de dados contidas no arquivo "AlinhamentoGeralNucleotideos.fasta" #previamente fornecido pelo professor da disciplina. require(seqinr) setwd("C:\\BD_Estatistica") seq=read.fasta(file = "AlinhamentoGeralNucleotideos.fasta") #Cria c~ ao de lista que contendo as esp ecies avaliadas. listaBD=seq nomesEspecies=list( "NBos indicus" , "NConsBos indicus", "NBos taurus", "NConsBos taurus", "NBubalus bubalis", "NConsBubalus bubalis", "NBubalus bubalis breed Mehsana", "NConsBubalus bubalis breed Mehsana", "NBubalus bubalis breed Murrah", "NConsBubalus bubalis breed Murrah", "NBubalus bubalis bubalis", "NConsBubalus bubalis bubalis", "NBubalus carabanensis", "NConsBubalus carabanensis", "NCapra hircus", "NConsCapra hircus", "NOvis aries", "NConsOvis aries") #Contadores de bases de nucleot deos
3.2
Nesta etapa do algoritmo um la co de repeti c ao percorre as 18 esp ecies, copiando a vers ao da base de dados para uma vari avel, contando as quantidades e fazendo as devidas manipula c oes em cada registro de cada base conforme especica c oes fornecidads e apresentadas na introdu c ao deste trabalho, a saber, adenina e citosina em 1 e guanina e timina em 0. Os contadores A,G,C e T mostrados na subse ca o anterior, s ao atualiza c oes a cada itera c ao do loop para contar as quantidades de bases. contadorBases=list() for(j in 1:18){ listaAtual = listaBD[[j]] listaConvertida = listaBD[[j]] tamListaAtual = length(listaBD[[j]]) for(i in 1:tamListaAtual){ if(listaAtual[i]=="a"){ A = A+1 listaAtual[i]=1 listaConvertida[i]=1 } else if(listaAtual[i]=="t"){ T = T+1 listaAtual[i]=2 listaConvertida[i]=1 } else if(listaAtual[i]=="g"){ G = G+1 listaAtual[i]=3 listaConvertida[i]=0 } else if(listaAtual[i]=="c"){ C = C+1 listaAtual[i]=4 listaConvertida[i]=0 } }
3.3
Neste momento e feita a contagem de cada bases para cada esp ecie e apresentado na tela o resumo de dados contadorBases[j] = c(A + G + C + T) print(paste("Nome da Esp ecie: ",nomesEspecies[j])) print(paste("Comprimento da Sequ^ encia: ",contadorBases[j])) print(paste("Bases de Nucleot deos")) print(paste("Adenina: ",A)) print(paste("Guanina: ",G)) print(paste("Citosina: ",C)) print(paste("Timina: ",T))
print(paste("DNA 0 da Sequ^ encia: ",tamListaAtual-(A+G+C+T))) print("------------------------------------------------------ ") #Zerando os contadores de bases de nucleot deos para a pr oxima itera c~ ao do loop. G=0 A=0 C=0 T=0 }
3.4
Plotagem de Gr acos
Por m, o c odigo conta com uma u ltima linha onde e poss vel ajustar par ametros e plotar o gr aco da Distribui c ao Gen etica de cada base #modelo de linha para plot, alterar apenas o indice (de 1 a 18) #da lista: listaConvertida e para o nome que aparece no gr afico nomesEspecies plot(listaConvertida[[1]][1:300],type="l",xlab="Comprimento",ylab="Valor", main=paste("Distribui c~ ao Gen etica",nomesEspecies[1]))
3.5
O algoritmo na ntegra
require(seqinr) setwd("C:\\BD_Estatistica") seq=read.fasta(file = "AlinhamentoGeralNucleotideos.fasta") #Cria c~ ao de lista que contendo as esp ecies avaliadas. listaBD=seq nomesEspecies=list( "NBos indicus" , "NConsBos indicus", "NBos taurus", "NConsBos taurus", "NBubalus bubalis", "NConsBubalus bubalis", "NBubalus bubalis breed Mehsana", "NConsBubalus bubalis breed Mehsana", "NBubalus bubalis breed Murrah", "NConsBubalus bubalis breed Murrah", "NBubalus bubalis bubalis", "NConsBubalus bubalis bubalis", "NBubalus carabanensis", "NConsBubalus carabanensis", "NCapra hircus", "NConsCapra hircus", "NOvis aries",
"NConsOvis aries") #Contadores de bases de nucleot deos A=0 G=0 C=0 T=0 contadorBases=list() for(j in 1:18){ listaAtual = listaBD[[j]] listaConvertida = listaBD[[j]] tamListaAtual = length(listaBD[[j]]) for(i in 1:tamListaAtual){ if(listaAtual[i]=="a"){ A = A+1 listaAtual[i]=1 listaConvertida[i]=1 } else if(listaAtual[i]=="t"){ T = T+1 listaAtual[i]=2 listaConvertida[i]=1 } else if(listaAtual[i]=="g"){ G = G+1 listaAtual[i]=3 listaConvertida[i]=0 } else if(listaAtual[i]=="c"){ C = C+1 listaAtual[i]=4 listaConvertida[i]=0 } } contadorBases=list() for(j in 1:18){ listaAtual = listaBD[[j]] listaConvertida = listaBD[[j]] tamListaAtual = length(listaBD[[j]]) for(i in 1:tamListaAtual){ if(listaAtual[i]=="a"){ A = A+1 listaAtual[i]=1 listaConvertida[i]=1 } else if(listaAtual[i]=="t"){ 5
T = T+1 listaAtual[i]=2 listaConvertida[i]=1 } else if(listaAtual[i]=="g"){ G = G+1 listaAtual[i]=3 listaConvertida[i]=0 } else if(listaAtual[i]=="c"){ C = C+1 listaAtual[i]=4 listaConvertida[i]=0 } } contadorBases[j] = c(A + G + C + T) print(paste("Nome da Esp ecie: ",nomesEspecies[j])) print(paste("Comprimento da Sequ^ encia: ",contadorBases[j])) print(paste("Bases de Nucleot deos")) print(paste("Adenina: ",A)) print(paste("Guanina: ",G)) print(paste("Citosina: ",C)) print(paste("Timina: ",T)) print(paste("DNA 0 da Sequ^ encia: ",tamListaAtual-(A+G+C+T))) print("------------------------------------------------------ ") #Zerando os contadores de bases de nucleot deos para a pr oxima itera c~ ao do loop. G=0 A=0 C=0 T=0 } #modelo de linha para plot, alterar apenas o indice (de 1 a 18) #da lista: listaConvertida e para o nome que aparece no gr afico nomesEspecies plot(listaConvertida[[1]][1:300],type="l",xlab="Comprimento",ylab="Valor", main=paste("Distribui c~ ao Gen etica",nomesEspecies[1]))
Resultados Obtidos
Como sa da do programa codicado para o algoritmo, v arios dados calculos que exibiremos em forma de tabelas e gr acos.
NBos indicus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante NConsBos indicus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
4.1
Tabelas de Resultados
As tabelas a seguir apresentam reumos dos dados c alculos pelo algoritmo na leitura da base de dados fornecida.
4.2
Reservamos essa se c ao para apresenta c ao dos gr acos de Distribui c ao Gen etica, plotados pelo software R.
Conclus ao
A atividade compreendeu a aplica c ao de conceitos da disciplina de probabilidade e estat stica num contexto real. Permitiu dessa forma amplicar os horizontes da vis ao dos alunos no conteudo. Al em disso a atividade incentivou o uso de ferramentas de apoio dando aos alunos uma oportunidade in edita de aprender sobre elas. Tais ferramentas foram o software estat stico R no qual tivemos que aprender a manusear para programar o algoritmo da atividade e ferramentas de processamento de texto em Latex como o WinEdit. NBos taurus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsBos taurus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NBubalus bubalis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsBubalus bubalis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NBubalus bubalis breed Mehsana Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsBubalus bubalis breed Mehsana Tamanho da sequ encia 2302 Quantidade de Adenina 435 Quantidade de Guanina 603 Quantidade de Citosina 751 Quantidade de Timina 513 Quantidade de DNA n ao - codicante 8
NBubalus bubalis bubalis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsBubalus bubalis bubalis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NBubalus carabenensis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsBubalus carabenensis Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NCapra hircus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsCapra hircus Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NOvis aries Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
NConsOvis aries Tamanho da sequ encia Quantidade de Adenina Quantidade de Guanina Quantidade de Citosina Quantidade de Timina Quantidade de DNA n ao - codicante
10
Figura 1: Figura1
Figura 2: Figura2 A aplica c ao dos conceitos vistos em aula associada ao uso de ferrentas enriqueceu o aprendizado do conte udo da disciplina e o leque de conhecimento, contribuindo de forma geral para a forma c ao de Bacharelado em ci encia da computa c ao.
11