Somesh Chaturvedi
Software developer | Machine Learning Enthusiast | IIT Roorkee Alumni
Somesh Chaturvedi
GSoC '18 @ Global Alliance for Genomics and Health
IIT Roorkee Alumni in Biotechnology
Basics of genetics
Central Dogma of Life
Transcription (DNA -> mRNA)
Translation (mRNA -> Protein)
Why Python?
Computational Biology and its impact
Future
Q&A
ATGCGCTACCCCGGGTTAAGAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAAATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTGTATACCGATATTGCTGGCGACCCTGTTTTGTATGG
Biology Perspective
Computer Science perspective
Biology Perspective
Computer Science perspective
AUGCGCUACCCCGGGUUAAGAGUUUUAUCGCUUCCAUGACGCAGAAGUUAACACUUUCGGAUAUUUCUGAUGAGUCGAAAAAUUAUCUUGAUAAAGCAGGAAUUACUACUGCUUGUUUACGAAUUAAAUCGAAGUGGACUGCUGGCGGAAAAUGAGAAAAUUCGACCUAUCCUUGCGCAGCUCGAGAAGCUCUUACUUUGCGACCUUUCGCCAUCAACUAACGAUUCUGUAUACCGAUAUUGCUGGCGACCCUGUUUUGUAUGG
DNA -> ....ATGCGCATGC....
RNA -> ....AUGCGCAUGC....
Protein -> ....LGLCLTHRDGT...
DNA
Protein
RNA
Special (Lab)
Special
General
Replication
Replication
Transcription
Reverse Transcription
Translation
Direct translation from DNA to protein
5' A T G A T C T C G T A A 3'
| | | | | | | | | | | |
3' T A C T A G A G C A T T 5'
5' A T G A T C T C G T A A 3'
3' T A C T A G A G C A T T 5'
A U G A U C U C G U A A
| | | | | | | | | | | |
5' A U G A U C U C G U A A 3'
Step 1: DNA generation
Step 2: DNA reverse complement
Step 3: RNA reverse complement
Usual Way
Pythonic Way
size = 100
dna = ""
mapping = {0: "A", 1: "T", 2: "G", 3: "C"}
for i in range(size):
dna = dna + mapping[random.randint(4)]
return dna
size = 100
return "".join([random.choice('ATGC') for _ in range(size)])
Usual Way
Pythonic Way
mapping = {'A': 'T', 'C': 'G', 'T': 'A', 'G': 'C'}
dna_rev = ""
for i in len(dna):
dna_rev = dna_rev + mapping[dna[i]]
return dna_rev
mapping = {'A': 'T', 'C': 'G', 'T': 'A', 'G': 'C'}
return "".join([mapping[base] for base in dna])
Usual Way
Pythonic Way
mapping = {'A': 'U', 'C': 'G', 'T': 'A', 'G': 'C'}
rna = ""
for i in len(dna_rev):
rna = rna + mapping[dna_rev[i]]
return rna
mapping = {'A': 'U', 'C': 'G', 'T': 'A', 'G': 'C'}
return "".join([mapping[base] for base in dna_rev])
5' A U G A U C U C G U A A 3'
RNA Pol
mRNA
Codons
5' A U G A U C U C G U A A 3'
Step 1: Initiation
start codon
5' A U G A U C U C G U A A 3'
Step 2: Elongation
stop codon
5' A U G A U C U C G U A A 3'
Step 3: Termination
Protein
By Somesh Chaturvedi
Software developer | Machine Learning Enthusiast | IIT Roorkee Alumni