Home » Alinhamento pairwise – R

Alinhamento pairwise – R

library(seqinr)
library(Biostrings)
######################

#carregando a sequência de um arquivo fasta
#O arquivo deve conter somente 1 sequência
#para carregar uma sequencia o endereço deve ser trocado para onde o arquivo está
minhaSeqs as.string = TRUE, seqtype = “DNA”)[[1]]
minhaSeqs

minhaSeqs

######################
#Alinhamento global DNA

sigma sigma
s1 <- “GAATTC”
s2 <- “GATTA”
globalAligns1s2 gapExtension = -8, scoreOnly = FALSE)
globalAligns1s2

######################
#Alinhamento global proteína
data(BLOSUM50)
BLOSUM50

s3 <- “PAWHEAE”
s4 <- “HEAGAWGHEE”
globalAligns gapExtension = -8, scoreOnly = FALSE)
globalAligns
printPairwiseAlignment(globalAligns, 60)

######################
#Alinhamento local
localAlign substitutionMatrix = sigma, gapOpening = -2, gapExtension = -8, scoreOnly = FALSE, type=”local”)
localAlign
printPairwiseAlignment(localAlign, 60)

######################
#funcão para vizualizar alinhamentos
printPairwiseAlignment {
require(Biostrings)
seq1aln seq2aln alnlen starts n seq1alnresidues seq2alnresidues for (i in 1:n) {
chunkseq1aln chunkseq2aln

gaps1

gaps2

seq1alnresidues

seq2alnresidues if (returnlist == ‘FALSE’)
{
print(paste(chunkseq1aln,seq1alnresidues))
print(paste(chunkseq2aln,seq2alnresidues))
print(paste(‘ ‘))
}
}
if (returnlist == ‘TRUE’)
{
vector1 vector2 mylist return(mylist)
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#carregando a biblioteca

library(Biostrings)

#montando matriz de substituição de DNA

matriz_subs #imprime a matriz de substituição

matriz_subs # Print out the matrix

seq1

seq2

alinhamento_DNA gapExtension = -2, scoreOnly = FALSE)

#alinhamento

alinhamento_DNA1

#alinhamento global

seq3

seq4

alinhamento_DNA_global gapExtension = -2, scoreOnly = FALSE, type = “global”)

#alinhamento

alinhamento_DNA_global

#alinhamento local

seq3

seq4

alinhamento_DNA_local gapExtension = -2, scoreOnly = FALSE, type = “local”)

#alinhamento

alinhamento_DNA_local

#alinhamento de Proteína

#acessando a matriz de proteína BLOSUM

#comparar a penalidade de troca dos aminoácidos

# entre as matrizes

#carregando a matriz BLOSUM45

data(“BLOSUM45″)

BLOSUM45

#carregando a matriz BLOSUM80

data(“BLOSUM80″)

BLOSUM45

seq3

seq4

alinhamento_PROT gapExtension = -8, scoreOnly = FALSE)

alinhamento_PROT

#carregando sequencias dos bancos

library(“seqinr”)

choosebank(“swissprot”)

lepra vetor_lepra_PROT ulcera vetor_ulcera_PROT closebank()

#transformando o vetor em string (sequencia)

lepra_PROT ulcera_PROT

#transformando minuscula para maiuscula

lepra_PROT ulcera_PROT

alinhamento_lepra_ucera substitutionMatrix = “BLOSUM50″, gapOpening = -2,

gapExtension = -8, scoreOnly = FALSE)

alinhamento_lepra_ucera

#funcao

printPairwiseAlignment {

require(Biostrings) # This function requires the Biostrings package

seq1aln seq2aln alnlen starts n seq1alnresidues seq2alnresidues for (i in 1:n) {

chunkseq1aln chunkseq2aln # Find out how many gaps there are in chunkseq1aln:

gaps1 # Find out how many gaps there are in chunkseq2aln:

gaps2 # Calculate how many residues of the first sequence we have printed so far in the alignment:

seq1alnresidues # Calculate how many residues of the second sequence we have printed so far in the alignment:

seq2alnresidues if (returnlist == ‘FALSE’)

{

print(paste(chunkseq1aln,seq1alnresidues))

print(paste(chunkseq2aln,seq2alnresidues))

print(paste(‘ ‘))

}

}

if (returnlist == ‘TRUE’)

{

vector1 vector2 mylist return(mylist)

}

}

printPairwiseAlignment(alignment = alinhamento_lepra_ucera, 60)

#funcao

printPairwiseAlignment {

require(Biostrings) # This function requires the Biostrings package

seq1aln seq2aln alnlen starts n seq1alnresidues seq2alnresidues for (i in 1:n) {

chunkseq1aln chunkseq2aln # Find out how many gaps there are in chunkseq1aln:

gaps1 # Find out how many gaps there are in chunkseq2aln:

gaps2 # Calculate how many residues of the first sequence we have printed so far in the alignment:

seq1alnresidues # Calculate how many residues of the second sequence we have printed so far in the alignment:

seq2alnresidues if (returnlist == ‘FALSE’)

{

print(paste(chunkseq1aln,seq1alnresidues))

print(paste(chunkseq2aln,seq2alnresidues))

print(paste(‘ ‘))

}

}

if (returnlist == ‘TRUE’)

{

vector1 vector2 mylist return(mylist)

}

}