/usr/lib/python3/dist-packages/biotools/translate.py is in python3-biotools 1.2.12-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | _gencode = {
'ATA': 'I', 'ATC': 'I', 'ATT': 'I', 'ATG': 'M',
'AUA': 'I', 'AUC': 'I', 'AUU': 'I', 'AUG': 'M',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACT': 'T',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T',
'AAC': 'N', 'AAT': 'N', 'AAA': 'K', 'AAG': 'K',
'AAC': 'N', 'AAU': 'N', 'AAA': 'K', 'AAG': 'K',
'AGC': 'S', 'AGT': 'S', 'AGA': 'R', 'AGG': 'R',
'AGC': 'S', 'AGU': 'S', 'AGA': 'R', 'AGG': 'R',
'CTA': 'L', 'CTC': 'L', 'CTG': 'L', 'CTT': 'L',
'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCT': 'P',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P',
'CAC': 'H', 'CAT': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CAC': 'H', 'CAU': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGT': 'R',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R',
'GTA': 'V', 'GTC': 'V', 'GTG': 'V', 'GTT': 'V',
'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCT': 'A',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A',
'GAC': 'D', 'GAT': 'D', 'GAA': 'E', 'GAG': 'E',
'GAC': 'D', 'GAU': 'D', 'GAA': 'E', 'GAG': 'E',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGT': 'G',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G',
'TCA': 'S', 'TCC': 'S', 'TCG': 'S', 'TCT': 'S',
'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S',
'TTC': 'F', 'TTT': 'F', 'TTA': 'L', 'TTG': 'L',
'UUC': 'F', 'UUU': 'F', 'UUA': 'L', 'UUG': 'L',
'TAC': 'Y', 'TAT': 'Y', 'TAA': '*', 'TAG': '*',
'UAC': 'Y', 'UAU': 'Y', 'UAA': '*', 'UAG': '*',
'TGC': 'C', 'TGT': 'C', 'TGA': '*', 'TGG': 'W',
'UGC': 'C', 'UGU': 'C', 'UGA': '*', 'UGG': 'W'}
def translate(sequence):
'''
Translate a nucleotide using the standard genetic code. The sequence
parameter can be either a string or a `Sequence` object. Stop codons are
denoted with an asterisk (*).
'''
try:
value = ''.join(_gencode.get(sequence.seq[i:i + 3].upper(), 'X')
for i in xrange(0, int(len(sequence) / 3) * 3, 3))
return sequence.__class__("translate(%s)" % sequence.name, value,
original=sequence.original, type='prot',
defline=sequence.defline)
except AttributeError:
value = ''.join(_gencode.get(sequence[i:i + 3].upper(), 'X')
for i in xrange(0, int(len(sequence) / 3) * 3, 3))
return sequence.__class__(value)
if __name__ == '__main__':
import sys
print(translate(sys.argv[1]))
|