Entering edit mode
15.4 years ago
Biostar User
★
1.0k
Computing the reverse complement with the Pygr bioinformatics framework:
#
# Reverse complement example with pygr
#
from pygr.sequence import Sequence
# needs a separate function to reverse strings
def rev(it):
"Reverses an interable and returns it as a string"
return ''.join(reversed(it))
# original sequence as as string
seq = 'ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG'
# create a Sequence class instance named bobo
dna = Sequence(seq,'bobo')
# sequence class' type and content
print type(dna)
print dna
# the -operator reverse complements the DNA, returns a new sequence
print -dna
# to reverse the DNA, reverse the input data
rdna = Sequence( rev(seq),'bobo')
print rdna
# to complement the DNA reverse complement, then reverse again
cseq = rev(str(-dna))
cdna = Sequence(cseq,'bobo')
print cdna
Produces the output:
<class 'pygr.sequence.Sequence'>
ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG
CTATCGGGCACCCTTTCAGCGGCCCATTACAATGGCCAT
GATAGCCCGTGGGAAAGTCGCCGGGTAATGTTACCGGTA
TACCGGTAACATTACCCGGCGACTTTCCCACGGGCTATC