Elaine Françoso
Meu projeto de doutorado é “Filogeografia de Bombus morio e Bombus pauloensis (Hymenoptera: Apidae)” :
Departamento de Genética e Biologia Evolutiva, IB, USP.http://www.ib.usp.br/~lgea/
Trabalho final
Help
DNA Barcode package:unknown R Documentation
Description:
Essa função tem como objetivo alinhar uma dada sequência de COI do mtDNA de uma espécie desconhecida com um banco de dados de sequências de espécies conhecidas obtidas no projeto DNA BArcode e construir uma matriz de distância genética para a identificação da espécie a partir do modelo de substituição de nucleotídeos K2P (ou K80). Em insetos, espécies diferentes possuem em média uma divergência genética nessa região de 2%. Portanto, essa espécie desconhecida será identificada de acordo com a similaridade genética com sequências do banco de dados.
Usage:
Barcode(align,seq.test=1,threshold=0.02,output="plot")
Arguments:
align: DNAbin. Alinhamento
seq.test: character ou numeric. Nome da sequência a ser testada ou a posição da sequência no alinhamento
threshold: numeric. Linha de corte
output: character. Define se a função retorna um gráfico (plot) ou um vetor (table)
Details:
As sequências devem estar alinhadas ou podem ser alinhadas usando a função auxiliar "align.muscle", descrita na função "Barcode". A distância é calculada de acordo com o modelo de substituição de bases K2P (ou K81).
Value:
Retorna um gráfico (plot) ou um vetor (table) com as 10 espécies mais próximas geneticamente.
Warning:
"Não há sequencia com o nome apresentado": se o nome da sequência não constar no alinhamento.
Note:
Author(s):
Elaine Françoso
francoso@usp.br
References:
Paradis E., Claude J. & Strimmer K. 2004. APE: analyses of phylogenetics and evolution in R language. Bioinformatics 20: 289-290.
http://www.barcodeoflife.org/
http://www.drive5.com/muscle/downloads.htm
See Also:
align.muscle, dist.dna
Examples:
test.seq<-read.dna("spX.fasta",format="fasta")
ref.seq<-read.dna("BD.fasta",format="fasta")
align<-align.muscle(test.seq,ref.seq)
Barcode(align,"spX",0.02,"plot")
Barcode(align,"spX",0.02,"table")
Função Barcode
require(ape)
####### Função de alinhamento #######
## Muscle binaries might be downloaded from http://www.drive5.com/muscle/downloads.htm
align.muscle<-function(test.seq,ref.seqs,muscle.path="muscle.exe"){
write.dna(test.seq,"seqs.fas",format="fasta") #append=T: coloca a sequencia "test" e depois as sequências "ref" (sem sobrescrever)
write.dna(ref.seq,"seqs.fas",format="fasta",append=T)
if(Sys.info()[1]=="Windows"){ #para rodar em Windows
system(paste('cmd /c',muscle.path,'-in seqs.fas -out align.fas'))
}
else{
system(paste(muscle.path,"-in seqs.fas -out align.fas"))
}
align<-read.dna("align.fas",format="fasta")
align
}
####### Função de busca de similaridade #######
Barcode<-function(align,seq.test=1,threshold=0.02,output="plot"){
if(is.numeric(seq.test)==FALSE){
seq.test<-match(seq.test,rownames(align))
if(is.na(seq.test)==TRUE){
warning("Não há sequencia com o nome apresentado")
stop()
}
}
dist.mat<-as.matrix(dist.dna(align,model="K81"))
close.seqs<-sort(dist.mat[,seq.test])[2:11]
if(output=="plot"){
par(mar=c(12,4,2,2))
dot.color<-rep("black",10)
dot.color[close.seqs<threshold]<-"red"
plot(close.seqs,xlab="",ylab="Similaridade", main="DNA Barcode" ,axes=F,ylim=c(0,max(close.seqs)),col=dot.color,pch=17)
axis(1,at=1:10,lab=names(close.seqs),las=3,font=3)
axis(2,las=1)
abline(h=threshold,col="red")
}else if(output=="table"){
print(close.seqs)}}
#### Teste das funções
→spX
test.seq<-read.dna("spX.fasta",format="fasta")
ref.seq<-read.dna("BD.fasta",format="fasta")
align<-align.muscle(read.dna("spX.fasta",format="fasta"),ref.seq)
Barcode(align,"spX",0.02,"plot") Barcode(align,"spX",0.02,"table")