Skip to content

Instantly share code, notes, and snippets.

@ldante86
Created November 16, 2016 23:41
Show Gist options
  • Save ldante86/3d211c5461d941aad6072b33c0973786 to your computer and use it in GitHub Desktop.
Save ldante86/3d211c5461d941aad6072b33c0973786 to your computer and use it in GitHub Desktop.
convert RNA to amino acid
#!/bin/bash -
#
# SCRIPT: codon
# AUTHOR: Luciano D. Cecere
# DATE: 10/30/2014-06:09:05 PM
PROGRAM=${0##*/}
codon()
{
local amino slc str=$1
case $1 in
auu|auc|aua) amino=Isoleucine slc=I ;;
cuu|cuc|cua|cug|uua|uug) amino=Leucine slc=L ;;
guu|guc|gua|gug) amino=Valine slc=V ;;
uuu|uuc) amino=Phenylalanine slc=F ;;
aug) amino=Methionine slc=M ;;
ugu|ugc) amino=Cysteine slc=C ;;
gcu|gcc|gca|gcg) amino=Alanine slc=A ;;
ggu|ggc|gga|ggg) amino=Glycine slc=G ;;
ccu|ccc|cca|ccg) amino=Proline slc=P ;;
acu|acc|aca|acg) amino=Threonine slc=U ;;
ucu|ucc|uca|ucg|agu|agc) amino=Serine slc=S ;;
uau|uac) amino=Throsine slc=Y ;;
ugg) amino=Tryptophan slc=W ;;
caa|cag) amino=Glutamine slc=Q ;;
aau|aac) amino=Asparagine slc=N ;;
cau|cac) amino=Histidine slc=H ;;
gaa|gag) amino="Glutamic Acid" slc=E ;;
gau|gac) amino="Aspartic Acid" slc=D ;;
aaa|aag) amino=Lysine slc=K ;;
cgu|cgc|cga|cgg|aga|agg) amino=Arginine slc=F ;;
uaa|uag|uga) amino="Stop amino" slc=STOP ;;
*) amino="Invalid codon" slc=? ;;
esac
declare -u $str
cat <<-eof
RNA Codon: $( tr a-z A-Z <<< $str)
Amino Acid: $amino
SLC: $slc
eof
}
chart()
{
cat <<-eof
AMINO ACID SLC RNA CODONS
=====================================================
ISOLEUCINE I AUU, AUC, AUA
LEUCINE L CUU, CUC, CUA, CUG, UUA, UUG
VALINE V GUU, GUC, GUA, GUG
PHENYLALANINE F UUU, UUC
METHIONINE M AUG
CYSTEINE C UGU, UGC
ALANINE A GCU, GCC, GCA, GCG
GLYCINE G GGU, GGC, GGA, GGG
PROLINE P CCU, CCC, CCA, CCG
THREONINE U ACU, ACC, ACA, ACG
SERINE S UCU, UCC, UCA, UCG, AGU, AGC
THROSINE Y UAU, UAC
TRYPTOPHAN W UGG
GLUTAMINE Q CAA, CAG
ASPARAGINE N AAU, AAC
HISTIDINE H CAU, CAC
GLUTAMIC ACID E GAA, GAG
ASPARTIC ACID D GAU, GAC
LYSINE K AAA, AAG
ARGININE F CGU, CGC, CGA, CGG, AGA, AGG
STOP CODONS STOP UAA, UAG, UGA
=====================================================
eof
}
help()
{
cat <<-eof
$PROGRAM - convert RNA codon to Amino Acid
usage: $PROGRAM [-option] [aucg]
Options: -c --chart View codon chart
-h --help Display this help
eof
}
if [ $# -eq 0 ]; then
help
echo
chart
exit 1
fi
declare -l codon=$1
case $codon in
-c|--chart) chart
;;
-h|--help) help
;;
*) codon "${codon:0:3}"
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment