The second half of the last century was completely defined
by a technological revolution:
the software revolution.
The ability to program electrons on a material called silicon
made possible technologies, companies and industries
that were at one point unimaginable to many of us,
but which have now fundamentally changed the way the world works.
The first half of this century, though,
is going to be transformed by a new software revolution:
the living software revolution.
And this will be powered by the ability to program biochemistry
on a material called biology.
And doing so will enable us to harness the properties of biology
to generate new kinds of therapies,
to repair damaged tissue,
to reprogram faulty cells
or even build programmable operating systems out of biochemistry.
If we can realize this -- and we do need to realize it --
its impact will be so enormous
that it will make the first software revolution pale in comparison.
And that's because living software would transform the entirety of medicine,
agriculture and energy,
and these are sectors that dwarf those dominated by IT.
Imagine programmable plants that fix nitrogen more effectively
or resist emerging fungal pathogens,
or even programming crops to be perennial rather than annual
so you could double your crop yields each year.
That would transform agriculture
and how we'll keep our growing and global population fed.
Or imagine programmable immunity,
designing and harnessing molecular devices that guide your immune system
to detect, eradicate or even prevent disease.
This would transform medicine
and how we'll keep our growing and aging population healthy.
We already have many of the tools that will make living software a reality.
We can precisely edit genes with CRISPR.
We can rewrite the genetic code one base at a time.
We can even build functioning synthetic circuits out of DNA.
But figuring out how and when to wield these tools
is still a process of trial and error.
It needs deep expertise, years of specialization.
And experimental protocols are difficult to discover
and all too often, difficult to reproduce.
And, you know, we have a tendency in biology to focus a lot on the parts,
but we all know that something like flying wouldn't be understood
by only studying feathers.
So programming biology is not yet as simple as programming your computer.
And then to make matters worse,
living systems largely bear no resemblance to the engineered systems
that you and I program every day.
In contrast to engineered systems, living systems self-generate,
they self-organize,
they operate at molecular scales.
And these molecular-level interactions
lead generally to robust macro-scale output.
They can even self-repair.
Consider, for example, the humble household plant,
like that one sat on your mantelpiece at home
that you keep forgetting to water.
Every day, despite your neglect, that plant has to wake up
and figure out how to allocate its resources.
Will it grow, photosynthesize, produce seeds, or flower?
And that's a decision that has to be made at the level of the whole organism.
But a plant doesn't have a brain to figure all of that out.
It has to make do with the cells on its leaves.
They have to respond to the environment
and make the decisions that affect the whole plant.
So somehow there must be a program running inside these cells,
a program that responds to input signals and cues
and shapes what that cell will do.
And then those programs must operate in a distributed way
across individual cells,
so that they can coordinate and that plant can grow and flourish.
If we could understand these biological programs,
if we could understand biological computation,
it would transform our ability to understand how and why
cells do what they do.
Because, if we understood these programs,
we could debug them when things go wrong.
Or we could learn from them how to design the kind of synthetic circuits
that truly exploit the computational power of biochemistry.
My passion about this idea led me to a career in research
at the interface of maths, computer science and biology.
And in my work, I focus on the concept of biology as computation.
And that means asking what do cells compute,
and how can we uncover these biological programs?
And I started to ask these questions together with some brilliant collaborators
at Microsoft Research and the University of Cambridge,
where together we wanted to understand
the biological program running inside a unique type of cell:
an embryonic stem cell.
These cells are unique because they're totally naïve.
They can become anything they want:
a brain cell, a heart cell, a bone cell, a lung cell,
any adult cell type.
This naïvety, it sets them apart,
but it also ignited the imagination of the scientific community,
who realized, if we could tap into that potential,
we would have a powerful tool for medicine.
If we could figure out how these cells make the decision
to become one cell type or another,
we might be able to harness them
to generate cells that we need to repair diseased or damaged tissue.
But realizing that vision is not without its challenges,
not least because these particular cells,
they emerge just six days after conception.
And then within a day or so, they're gone.
They have set off down the different paths
that form all the structures and organs of your adult body.
But it turns out that cell fates are a lot more plastic
than we might have imagined.
About 13 years ago, some scientists showed something truly revolutionary.
By inserting just a handful of genes into an adult cell,
like one of your skin cells,
you can transform that cell back to the naïve state.
And it's a process that's actually known as "reprogramming,"
and it allows us to imagine a kind of stem cell utopia,
the ability to take a sample of a patient's own cells,
transform them back to the naïve state
and use those cells to make whatever that patient might need,
whether it's brain cells or heart cells.
But over the last decade or so,
figuring out how to change cell fate,
it's still a process of trial and error.
Even in cases where we've uncovered successful experimental protocols,
they're still inefficient,
and we lack a fundamental understanding of how and why they work.
If you figured out how to change a stem cell into a heart cell,
that hasn't got any way of telling you how to change a stem cell
into a brain cell.
So we wanted to understand the biological program
running inside an embryonic stem cell,
and understanding the computation performed by a living system
starts with asking a devastatingly simple question:
What is it that system actually has to do?
Now, computer science actually has a set of strategies
for dealing with what it is the software and hardware are meant to do.
When you write a program, you code a piece of software,
you want that software to run correctly.
You want performance, functionality.
You want to prevent bugs.
They can cost you a lot.
So when a developer writes a program,
they could write down a set of specifications.
These are what your program should do.
Maybe it should compare the size of two numbers
or order numbers by increasing size.
Technology exists that allows us automatically to check
whether our specifications are satisfied,
whether that program does what it should do.
And so our idea was that in the same way,
experimental observations, things we measure in the lab,
they correspond to specifications of what the biological program should do.
So we just needed to figure out a way
to encode this new type of specification.
So let's say you've been busy in the lab and you've been measuring your genes
and you've found that if Gene A is active,
then Gene B or Gene C seems to be active.
We can write that observation down as a mathematical expression
if we can use the language of logic:
If A, then B or C.
Now, this is a very simple example, OK.
It's just to illustrate the point.
We can encode truly rich expressions
that actually capture the behavior of multiple genes or proteins over time
across multiple different experiments.
And so by translating our observations
into mathematical expression in this way,
it becomes possible to test whether or not those observations can emerge
from a program of genetic interactions.
And we developed a tool to do just this.
We were able to use this tool to encode observations
as mathematical expressions,
and then that tool would allow us to uncover the genetic program
that could explain them all.
And we then apply this approach
to uncover the genetic program running inside embryonic stem cells
to see if we could understand how to induce that naïve state.
And this tool was actually built
on a solver that's deployed routinely around the world
for conventional software verification.
So we started with a set of nearly 50 different specifications
that we generated from experimental observations of embryonic stem cells.
And by encoding these observations in this tool,
we were able to uncover the first molecular program
that could explain all of them.
Now, that's kind of a feat in and of itself, right?
Being able to reconcile all of these different observations
is not the kind of thing you can do on the back of an envelope,
even if you have a really big envelope.
Because we've got this kind of understanding,
we could go one step further.
We could use this program to predict what this cell might do
in conditions we hadn't yet tested.
We could probe the program in silico.
And so we did just that:
we generated predictions that we tested in the lab,
and we found that this program was highly predictive.
It told us how we could accelerate progress
back to the naïve state quickly and efficiently.
It told us which genes to target to do that,
which genes might even hinder that process.
We even found the program predicted the order in which genes would switch on.
So this approach really allowed us to uncover the dynamics
of what the cells are doing.
What we've developed, it's not a method that's specific to stem cell biology.
Rather, it allows us to make sense of the computation
being carried out by the cell
in the context of genetic interactions.
So really, it's just one building block.
The field urgently needs to develop new approaches
to understand biological computation more broadly
and at different levels,
from DNA right through to the flow of information between cells.
Only this kind of transformative understanding
will enable us to harness biology in ways that are predictable and reliable.
But to program biology, we will also need to develop
the kinds of tools and languages
that allow both experimentalists and computational scientists
to design biological function
and have those designs compile down to the machine code of the cell,
its biochemistry,
so that we could then build those structures.
Now, that's something akin to a living software compiler,
and I'm proud to be part of a team at Microsoft
that's working to develop one.
Though to say it's a grand challenge is kind of an understatement,
but if it's realized,
it would be the final bridge between software and wetware.
More broadly, though, programming biology is only going to be possible
if we can transform the field into being truly interdisciplinary.
It needs us to bridge the physical and the life sciences,
and scientists from each of these disciplines
need to be able to work together with common languages
and to have shared scientific questions.
In the long term, it's worth remembering that many of the giant software companies
and the technology that you and I work with every day
could hardly have been imagined
at the time we first started programming on silicon microchips.
And if we start now to think about the potential for technology
enabled by computational biology,
we'll see some of the steps that we need to take along the way
to make that a reality.
Now, there is the sobering thought that this kind of technology
could be open to misuse.
If we're willing to talk about the potential
for programming immune cells,
we should also be thinking about the potential of bacteria
engineered to evade them.
There might be people willing to do that.
Now, one reassuring thought in this
is that -- well, less so for the scientists --
is that biology is a fragile thing to work with.
So programming biology is not going to be something
you'll be doing in your garden shed.
But because we're at the outset of this,
we can move forward with our eyes wide open.
We can ask the difficult questions up front,
we can put in place the necessary safeguards
and, as part of that, we'll have to think about our ethics.
We'll have to think about putting bounds on the implementation
of biological function.
So as part of this, research in bioethics will have to be a priority.
It can't be relegated to second place
in the excitement of scientific innovation.
But the ultimate prize, the ultimate destination on this journey,
would be breakthrough applications and breakthrough industries
in areas from agriculture and medicine to energy and materials
and even computing itself.
Imagine, one day we could be powering the planet sustainably
on the ultimate green energy
if we could mimic something that plants figured out millennia ago:
how to harness the sun's energy with an efficiency that is unparalleled
by our current solar cells.
If we understood that program of quantum interactions
that allow plants to absorb sunlight so efficiently,
we might be able to translate that into building synthetic DNA circuits
that offer the material for better solar cells.
There are teams and scientists working on the fundamentals of this right now,
so perhaps if it got the right attention and the right investment,
it could be realized in 10 or 15 years.
So we are at the beginning of a technological revolution.
Understanding this ancient type of biological computation
is the critical first step.
And if we can realize this,
we would enter in the era of an operating system
that runs living software.
Thank you very much.
(Applause)
تميّز النصف الثاني من القرن الماضي
بالثورة التقنية:
وهي ثورة البرمجيات.
إذ أن القدرة على برمجة الإلكترونات في مادة تُدعى بالسيليكون
أدى إلى ظهور تقنيات وشركات وصناعات
لم يكن كثير منا يتصورها في وقت من الأوقات،
لكنها غيرت اليوم جذرياً الطريقة التي يعمل بها العالم.
ورغم ذلك، فإن النصف الأول من هذا القرن
سيتغير بواسطة ثورة برمجيات جديدة:
هي ثورة البرمجيات الحية.
التي ستكون مدعومة بالقدرة على برمجة تعليمات كيميائية حيوية
على مواد حية.
وهذا سيمكننا من الاستفادة من خواص علم الأحياء
لننتج طرقاً علاجية جديدة،
لإصلاح النسج المتضررة،
وإعادة برمجة الخلايا المعيبة
أو حتى بناء أنظمة تشغيل قابلة للبرمجة من الكيمياء الحيوية.
إذا استطعنا تحقيق ذلك... ويجب علينا تحقيق ذلك...
فسيكون تأثيرها عظيماً
بحيث تجعل من ثورة البرمجيات الأولى أمراً سخيفاً عند المقارنة بها.
ذلك أن البرمجيات الحية ستغير الطب بمجمله،
بالإضافة للزراعة والطاقة،
وهذه هي القطاعات التي تهيمن عليها تقتية المعلومات.
تخيّل وجود نباتات مبرمجة تستطيع تثبيت النيتروجين بشكل أكثر فعالية
أو تقاوم الفطور الممرضة،
أو حتى برمجة المحاصيل الزراعية لتكون دائمة الإنتاج بدلاً من أن تكون سنوية
بحيث يمكنك أن تضاعف محصولك السنوي.
هذا من شأنه أن يغير حال الزراعة
وطريقة تأمين الاحتياجات الغذائية للبشر المتزايدين بالأعداد.
أو تخيّل مناعة قابلة للبرمجة،
من خلال تصميم وتسخير أجهزة جزيئية تستطيع توجيه جهازك المناعي
ليكتشف ويقضي أو حتى يقي من حدوث الأمراض.
هذا من شأنه أن يغير الطب
وطريقة حفاظنا على صحة البشر المتزايدين بالعمر.
نملك بالفعل العديد من الأدوات التي ستجعل من البرمجيات الحية حقيقة.
نستطيع أن نعدل المورثات باستخدام تقنية CRISPR.
يمكننا أن نعيد كتابة الشيفرة الوراثية أساساً تلو الآخر.
يمكننا أيضاً أن نُصنّع حلقات وظيفية من الدنا.
ولكن معرفة كيف ومتى نستخدم هذه الأدوات
لا يزال خاضعاً للتجربة والخطأ.
فهي بحاجة لخبرة كبيرة وسنوات طويلة من التخصص.
ومن الصعب اكتشاف البروتوكولات التجريبية
التي لا تؤدي للوصول إلى نتائج إلا بصعوبة عادةً.
وكما تعلم فإننا من خلال علم الأحياء نميل للتركيز على الجزئيات،
ولكننا نعلم جميعاً أنه لا يمكن فهم الطيران
بدراسة الريش فقط.
لذا فإن البرمجة الحية ليست بسهولة برمجة حاسوبك.
والأمر الذي يجعل ذلك أسوأ،
هو أن الأنظمة الحية لا تشبه إطلاقاً الأنظمة الهندسية
التي نقوم ببرمجتها يومياً.
وعلى عكس الأنظمة الهندسية، فإن الأنظمة الحية تعمل بذاتها
وتنظّم ذاتَها بذاتِها،
وتعمل على المستوى الجزيئي.
تؤدي هذه التفاعلات على المستوى الجزيئي
إلى نتائج ضخمة عموماً على المستوى الأكبر.
كما يمكنها حتى إصلاح ذاتها بذاتها.
لنأخذ على سبيل المثال، النبتة البسيطة الموجودة في منزلكم،
كتلك الموجودة على رف موقدكم
التي تَنسى ريّها كثيراً.
تقوم هذه النبتة كل يوم -رغم إهمالك لريّها- بالاستيقاظ
وتحاول استنتاج كيف ستستثمر مواردها.
هل ستنمو أم تقوم بالتركيب الضوئي أم تنتج بذوراً أم أزهاراً؟
وهذا القرار يجب أن يُتخذ على مستوى الكائن الحي بأكمله.
ولكن النبات لا يملك دماغاً ليفكّر في ذلك.
ولذلك فإن عليه أن يقوم بذلك بأوراقه.
إذ يجب عليها أن تستجيب للطبيعة
وتتخذ القرارات التي تؤثر على النبات بأكمله.
لذا فإنه يجب أن تحوي على نظام من نمط ما في هذه الخلايا،
نظامٌ يستجيب لإشارات الإدخال
ويدل ويوجه الخلية إلى وظيفتها.
ومن ثم يجب أن تعمل هذه البرامج بطريقة مُنظمة
بين كل الخلايا،
بحيث يكون عملها متناسقاً لكي تنمو النبتة وتزدهر.
إذا استطعنا فهم هذه البرامج الحيوية،
إذا استطعنا فهم آلية عمل الحاسوب الحيوي،
فسيغير هذا من قدرتنا على فهم آلية وسبب
قيام الخلايا بما تقوم به.
لأننا إذا فهمنا هذه البرامج،
فإننا سنستطيع إصلاحها إذا أخطأت.
أو سنتمكن من صناعة دارات صنعية شبيهة
تستطيع استغلال إمكانيات الحواسيب في الكيمياء الحيوية.
قادني شغفي بهذه الفكرة إلى العمل كباحثة
في مجال الرياضيات وعلوم الحاسوب والأحياء.
وأركّز في عملي على المفهوم الذي يَعدُّ علم الأحياء نوعاً من أنواع الحساب.
وهذا يتضمن أسئلةً كـ"ما الذي تحلله الخلايا
وكيف نستطيع كشف هذه البرامج الحيوية؟"
وبدأت بطرح هذه الأسئلة مع مجموعة من الزملاء الرائعين
في مركز مايكروسوفت للأبحاث في جامعة كامبرديج،
حيث أردنا أن نفهم سويةً
البرامج الحيوية الموجودة ضمن نوع مميز من الخلايا:
هي الخلية الجذعية الجنينية.
تعد هذه الخلايا مُميزة لأنها ساذجة للغاية.
حيث يمكن أن تنمو لتصبح أي خلية تريدها:
سواءً خلية دماغية أم قلبية أم عظمية أم رئوية،
أو أي خلية من خلايا الإنسان البالغ.
تُميّزهم هذه السذاجة،
ولكنها أيضاً تُحرّك خيال المجتمع العلمي،
الذي يدرك أننا إن استطعنا الاستفادة من إمكانيات هذه الخلايا،
فإننا سنملك أداة طبية قوية.
إذا استطعنا معرفة كيف تتخذ هذه الخلايا القرارات
لتتحول إلى نوع محدد من الخلايا،
فربما سنستطيع الاستفادة منهم
في إنتاج خلايا قد نحتاجها لترميم النسج المريضة أو المتأذية.
ولكن إدراك ذلك لا يخلو من التحديات،
ليس أقلها أن هذه الخلايا
لا تظهر إلا بعد 6 أيام من بدء الحمل.
ثم تختفي بعد يوم أو نحوه.
إذ تسلك مساراتٍ مختلفة
لتُشكل كافة البُنى والأعضاء الموجودة في جسمك البالغ.
ولكن تبيّن أن أقدار الخلايا أكثر مرونة
مما تخيلناه.
فمنذ 13 سنة، أحدث العلماء ثورة حقيقية.
إذ تمكنوا من إدخال بضع مورثات إلى خلية بالغة،
كتلك الموجودة في جلدك،
وبذلك تستطيع إعادة هذه الخلية إلى الحالة الساذجة.
وهذه العملية تُدعى بـ"إعادة البرمجة،"
سامحةً لنا بأن نحلم بوجود مدينة مثالية من الخلايا الجذعية،
إنها إمكانية أخذ عينة من خلايا المريض
وإعادتها إلى الحالة الساذجة
واستخدام هذه الخلايا لتصنيع ما يحتاجه هذا المريض
سواءً أكانت خلايا دماغية أو قلبية.
ولكن خلال العقد المنصرم أو نحوه،
لا تزال عملية تحديد مصير الخلية
مسألة تجريب وخطأ.
حتى أننا في بعض الحالات اكتشفنا بروتوكولات تجريبية ناجحة،
إلا أنها لا تزال غير فعّالة،
ولا نزال نجهل كيف ولماذا نجحت هذه البروتوكولات.
إذا اكتشفتَ كيف تحوّل خلية جذعية إلى خلية قلبية،
فإن ذلك لا يساعدك أبداً في معرفة كيفية تحويل خلية جذعية
إلى خلية دماغية.
لذا نحن بحاجة لأن نفهم النظام الحيوي
الذي يعمل داخل الخلايا الجذعية الجنينيّة،
وأن نفهم العمليات الحسابية التي تحدث في النظام الحي
بدءاً بطرح سؤال بسيط للغاية:
ما الذي يجب على هذا النظام فعله؟
تملك علوم الحاسوب حالياً مجموعةً من الاستراتيجيات
لمعرفة ما الذي صُممت البرامج والأجهزة للقيام به.
عندما تكتب برنامجاً فإنك تكتب تعليمات برمجية لهذا البرنامج
بحيث يعمل هذا البرنامج بشكل صحيح.
إذ تريده أن يكون وظيفياً ويؤدي مهمته.
وتريد أن يخلو من الأخطاء.
التي قد تكلّفك الكثير.
لذا فعندما يكتب المبرمج برنامجاً،
يمكنه أن يكتب مجموعة من المميزات.
التي تحدد ما الذي سيقوم به هذا البرنامج
فقد يكون البرنامج لمقارنة رقمين أيهما أكبر
أو لترتيب الأرقام تصاعدياً حسب كبرها.
تطوّرت التقنيات لتسمح لنا بأن نكشف
إذا ما كانت هذه المميزات فعالة،
أي التحقق من أن هذا البرنامج يُنفذ المطلوب منه.
ولذا فإن فكرتنا مشابهة لهذا
فالملاحظات التجريبية التي نقيسها في المختبر،
تطابق المميزات التي يجب على البرنامج الحيوي أن يقوم بها.
لذا علينا أن نوجد طريقة
لترميز هذه الميزة.
لنفترض أنك منهمك بالعمل في المختبر على قياس مورثاتك
ووجدت أنه إذا كانت المورثة A فعّالة،
فإن المورثة B أو C ستكون فعّالة أيضاً.
يمكننا كتابة هذه الملاحظة كتعبير رياضي
وإذا أردنا استخدام لغة رياضية:
إذا حدث A فسيحدث B أو C.
حسناً، هذا مثال بسيط جداً.
واستخدمته لتوضيح الفكرة فقط.
يمكننا أن نرمّز لتعابير غنية معقدة حقاً
التي تستطيع التقاط سلوك عدّة مورثات أو بروتينات مع مرور الوقت
من خلال عدة تجارب مختلفة.
وهكذا من خلال ترجمة ملاحظاتنا
إلى تعابير رياضية بهذه الطريقة،
يصبح من الممكن اختبار ما إذا يمكن لهذه الملاحظات أن تظهر
من برنامج لدراسة التفاعلات الوراثية.
وقد قمنا بتطوير أداة للقيام بذلك.
استطعنا استخدام هذه الأداة لترميز الملاحظات
وتسجيلها كتعابير رياضية،
ومن ثم فقد مكنتنا هذه الأداة من كشف البرنامج الحيوي
الذي يفسر كل ذلك.
ثم طبقنا هذه النهج
لكشف البرنامج الحيوي الذي يعمل ضمن الخلايا الجذعية الجنينية
لنحاول فهم الآلية التي يمكننا أن نحرض بها الخلايا لتعود للمرحلة الساذجة.
وهذه الأداة صُممت
لتشابه حلّالاً للمسائل الرياضية التي تستخدم بشكل روتيني في العالم
للتحقق من البرامج التقليدية.
بدأنا بمجموعة من حوالي 50 ميزةً مختلفة
قمنا بتوليدها من ملاحظاتنا التجريبية على الخلايا الجذعية الجنينية.
ومن خلال ترميز هذه الملاحظات في الأداة،
تمكنّا من كشف أول برنامج عمل جزيئي
يستطيع تفسير كل ذلك.
وهذا نوعٌ من الإنجاز بحد ذاته، أليس كذلك؟
إن القدرة على التوفيق بين كل هذه الملاحظات المختلفة
ليس بالأمر السهل،
حتى ولو كانت الظروف مواتية.
ولأننا فهمنا ذلك جيداً
فبإمكاننا أن نمضي قدماً.
يمكننا أن نستخدم هذا البرنامج لنتنبأ بما ستفعله هذه الخلية أو تلك
تحت ظروفٍ لم نختبرها بعد.
يمكننا أن نختبر هذا البرنامج من خلال تطبيقه على شرائح السيليكون.
لذا فقد قمنا بالتالي:
قمنا بتوليد تخمينات واختبرناها في المختبر،
ووجدنا أن هذا البرنامج يملك قدرة تنبؤية عالية.
إذ أخبرنا كيف يمكننا أن نسرع عملية
العودة إلى الحالة الساذجة بطريقة فعالة.
وأخبرَنا أيَّ المورثات يجب علينا أن نستهدف لنقوم بذلك،
وأي الجينات التي ستعيق هذه العملية.
حتى أننا لاحظنا أن البرنامج تنبّأ بترتيب تشغيل الجينات.
لذا فإن هذه الطريقة سمحت لنا أن نكشف عن الآليات
التي تقوم من خلالها الخلايا بما تقوم به.
لم يقتصر هذا الذي طورناه على فهم الخلايا الجذعية.
بل يسمح لنا أيضاً بفهم كل العمليات الحسابية
التي تقوم الخلية بها
في سياق التفاعلات المورثيّة.
وهي بالفعل وحدة متكاملة.
يحتاج هذا المجال بشكل عاجل لتطوير مقاربات جديدة
لفهم العمليات الحيوية بشكل أكبر
وعلى مختلف المستويات،
بدءاً من الحمض النووي وحتى تناقل المعلومات بين الخلايا.
هذا النوع من الفهم العميق فقط
هو من سيسمح لنا بالاستفادة من علم الأحياء بطرق موثوقة وقابلة للتنبؤ.
ولكن لبرمجة الأحياء يجب علينا أن نطوّر
الأدوات واللغات
التي تسمح للعلماء التجريبيين والنظريين
بتصميم الوظيفة الحيوية
وتجميع هذه التصاميم في تعليمات برمجية للخلية،
وكيميائيتها الحيوية،
حتى نستطيع بعد ذلك بناء هذه الهياكل.
وهذا شبيه بجامع للتعليمات البرمجية الحيوية
وأنا فخورة بكوني واحدةً من فريق مايكروسوفت
الذي يعمل على تطوير هذا البرنامج.
ورغم أن ذكر أنّه تحدٍ كبير يقلل من شأنه،
ولكن إذا استطعنا استيعابه،
فسيكون الجسر الأخير الذي سيصل بين البرمجيات وعلم برمجة الخلايا الحية.
بشكل عام فإن البرمجة الحيوية على الرغم من ذلك يمكن أن تتحقق
إذا استطعنا تحويل المجال ليكون متعدد الاختصاصات.
فذلك بحاجة لدمج علوم الحياة بالعلوم الفيزيائية،
ويجب على العلماء من كلٍّ من هذه التخصصات
أن يتمكنوا من العمل سوياً ويفهموا بعضهم
وأن يطرحوا أسئلة علمية مشتركة.
يجدر بنا أن نتذكر أن العديد من شركات البرمجيات العملاقة
والتقنيات التي نستخدمها كل يوم
لم تكن في مخيلتنا
عندما قمنا ببرمجة أول شريحة سيليكون.
وإذا بدأنا بالتفكير بإمكانيات هذه التقنية
التي تعتمد على علم الأحياء الحسابي،
فإننا سنطّلع على بعض الخطوات التي يجب أن نتخذها خلال ذلك
لتحقيق هذه الإمكانيات.
هناك فكرة واقعية تقترح أن هذه التقنية
يمكن أن يتم استخدامها بشك مُسيء.
فإذا كنا نفكر بإمكانية
برمجة خلايا مناعية،
فإننا يجب أن نفكر أيضاً بإمكانية برمجة جراثيم
مُصممة لتغزو تلك الخلايا المناعية.
قد يكون هناك أناس يسعون لذلك.
إليكم هذه الفكرة المُطمئنة بعض الشيء
-على الأقل للعلماء-
هي أن التعامل مع علم الأحياء هو أمر يحتاج دقة وعناية.
لذا فإن برمجة الكائنات الحية لن يكون أمراً
تستطيع القيام به في حديقة منزلكم.
ولكن بما أننا لا زلنا في بداية هذا الأمر،
فبإمكاننا أن نمضي قدماً رغم توقعنا لحدوث مشاكل ومصاعب.
يمكننا أن نسأل السؤال الأصعب مقدماً،
ويمكننا اتخاذ الإجراءات الوقائية اللازمة
ومن ضمنها أن نفكر بأخلاقيات العمل.
علينا أن نضع قيوداً على عملية تطبيق
الوظائف الحيوية.
وكجزء من هذا، يجب أن تُعطى الأبحاث في أخلاقيات علم الأحياء الأولويةَ.
لا يجب أن يسبقه بالأولوية شيءٌ آخر
في سياق شعورنا بالحماس الناتج عن الإبداع العلمي.
ولكن الجائزة الأخيرة، أو الوجهة الأخيرة في هذه الرحلة،
هي تحقيق إنجازات وابتكارات على شكل تطبيقات وصناعات
في مجالات الزراعة والطب والطاقة وصناعة المواد
وحتى علوم الحاسوب نفسها.
تخيّل أننا في يوم من الأيام سنكون قادرين على تشغيل كل ما في العالم بشكل مستدام
من الطاقة الخضراء اللانهائية
إذا استطعنا تقليد النباتات في الذي اكتَشفتْه منذ آلاف السنين:
وهي كيف يمكنها الاستفادة من الطاقة الشمسية بفعالية لا تقارن
بخلايانا الشمسية التي نصنعها حالياً.
إذا فهمنا برنامج التفاعلات الكمومية
التي تسمح للنباتات بامتصاص ضوء الشمس بفعالية كبيرة،
فقد نكون قادرين على استخدام ذلك لبناء مادة وراثية دنا حلقية صنعية
تستطيع تشكيل مادةً نستخدمها في بناء خلايا شمسية أفضل.
هناك فِرَق وعلماء يعملون على أساسيات القيام بذلك حالياً،
لذا ربما إذا استطعنا جذب اهتمامٍ واستثمار كافيين
فقد يمكننا تحقيق ذلك خلال 10 أو 15 سنة.
لذا نحن في مطلع ثورة تقنية.
وفهم هذا النوع القديم من العمليات الحسابية الحيوية
يمثل الخطوة الأولى الهامة.
وإذا استطعنا تحقيق ذلك،
فسندخل في عصر أنظمة التشغيل
التي تُدير أنظمة برمجية حيّة.
شكراً لكم جزيلاً.
(تصفيق)
La segunda mitad del siglo pasado estuvo completamente definida
por una revolución tecnológica:
la revolución del software.
La capacidad de programar electrones en un material llamado silicio
hizo posibles tecnologías, empresas e industrias
que en un punto fueron inimaginables para muchos de nosotros,
pero que ya han cambiado fundamentalmente la forma en que funciona el mundo.
Sin embargo, la primera mitad de este siglo,
va a ser transformada por una nueva revolución de software:
la revolución del software viviente.
Y esto será impulsado por la capacidad de programación bioquímica
en un material llamado biología.
Y hacerlo nos permitirá aprovechar las propiedades de la biología.
para generar nuevos tipos de terapias,
para reparar tejido dañado,
reprogramar células defectuosas
o incluso construir sistemas operativos programables a partir de bioquímica.
Si podemos hacer esto, y necesitamos hacerlo,
su impacto será tan grande
que hará palidecer, en comparación, la primera revolución de software.
Y eso es porque el software viviente transformaría la totalidad de la medicina,
la agricultura y la energía,
y estos son sectores que eclipsan a los dominados por la TI.
Imaginen plantas programables que fijan el nitrógeno de manera más efectiva
o resisten los hongos patógenos emergentes,
o incluso programar cultivos para que sean perennes en lugar de anuales
para que puedan duplicar los rendimientos cada año.
Eso transformaría la agricultura
y es como mantendremos alimentada a nuestra creciente población mundial.
O imaginen inmunidad programable,
diseño y aprovechamiento de dispositivos moleculares que guían
su sistema inmunológico para detectar, erradicar o incluso prevenir enfermedades.
Esto transformaría la medicina
y la forma de mantener la salud de una población que crece y envejece.
Ya tenemos muchas de las herramientas que harán realidad el software viviente.
Podemos editar genes con precisión con CRISPR.
Podemos reescribir el código genético una base a la vez.
Incluso podemos construir circuitos sintéticos que funcionen con ADN.
Pero descubrir cómo y cuándo manejar estas herramientas
todavía es un proceso de ensayo y error.
Se necesita una gran experiencia, años de especialización.
Y los protocolos experimentales son difíciles de descubrir.
y con demasiada frecuencia, difíciles de reproducir.
Y, ya saben, hay una tendencia en biología a enfocarnos mucho en las partes,
pero todos sabemos que algo como volar no se entendería
solo estudiando plumas.
Por lo tanto, programar biología aún no es tan simple como programar su computadora.
Y para empeorar las cosas,
los sistemas vivos no se parecen en gran medida a los sistemas diseñados
que Uds. y yo programamos todos los días.
A diferencia de los sistemas de ingeniería,
los sistemas vivos se autogeneran,
se autoorganizan,
operan a escalas moleculares.
Y estas interacciones a nivel molecular
conducen generalmente a una salida robusta a escala macro.
Incluso pueden repararse a sí mismos.
Consideren, por ejemplo, la humilde planta doméstica,
como la de sus repisas de la chimenea en casa
que siguen olvidando regar.
Todos los días, a pesar de su negligencia, esa planta tiene que despertarse
y descubrir cómo asignar sus recursos.
¿Crecerá, fotosintetizará, producirá semillas o florecerá?
Y esa es una decisión que debe tomarse a nivel de todo el organismo.
Pero una planta no tiene cerebro para resolver todo eso.
Tiene que conformarse con las células de sus hojas.
Tienen que responder al medio ambiente
y tomar las decisiones que afectan a toda la planta.
De alguna manera debe haber un programa ejecutándose dentro de estas celdas,
un programa que responde a señales y claves de entrada
y da forma a lo que hará esa célula.
Y luego esos programas deben operar de manera distribuida
a través de células individuales,
para que puedan coordinarse y que la planta pueda crecer y florecer.
Si pudiéramos entender estos programas biológicos,
si pudiéramos entender la computación biológica,
transformaría nuestra capacidad de entender cómo y por qué
las células hacen lo que hacen.
Porque, si entendemos estos programas,
podríamos depurarlos cuando las cosas salgan mal.
O podríamos aprender de ellos cómo diseñar el tipo de circuitos sintéticos
que realmente explotan el poder computacional de la bioquímica.
Mi pasión por esta idea me llevó a una carrera en investigación
en la interfaz de matemáticas, informática y biología.
En mi trabajo, me enfoco en el concepto de biología como computación.
Y eso significa preguntar, ¿qué calculan las células,
y cómo podemos descubrir estos programas biológicos?
Comencé a hacer estas preguntas junto con algunos colaboradores brillantes
en Microsoft Research y la Universidad de Cambridge,
donde en conjunto queremos entender
el programa biológico que se ejecuta dentro de un tipo único de célula:
una célula madre embrionaria.
Estas células son únicas porque son totalmente inocentes.
Pueden convertirse en lo que quieran:
una célula cerebral, cardíaca, ósea, pulmonar,
cualquier tipo de célula adulta.
Esta inocencia, las distingue,
y también encendió la imaginación de la comunidad científica,
que se dio cuenta, de que si pudiéramos aprovechar ese potencial,
tendríamos una herramienta poderosa para la medicina.
Si pudiéramos descubrir cómo toman la decisión
de convertirse en un tipo de célula u otro,
podríamos ser capaces de aprovecharlas
para generar células que necesitamos para reparar tejidos enfermos o dañados.
Pero cumplir esta visión no está exento de desafíos,
sobre todo porque estas células particulares,
emergen solo seis días después de la concepción.
Y luego, en un día más o menos, se han ido.
Han emprendido los diferentes caminos
que forman todas las estructuras y órganos del cuerpo adulto.
Pero resulta que el destino de las células es mucho más plástico
de lo que imaginamos.
Hace unos 13 años,
algunos científicos mostraron algo verdaderamente revolucionario.
Al insertar solo un puñado de genes en una célula adulta,
como una de sus células de la piel,
se puede transformar esa célula al estado inocente.
Es un proceso que en realidad se conoce como "reprogramación"
y nos permite imaginar una especie de utopía de células madre,
la capacidad de tomar una muestra de las propias células de un paciente,
transformarlas de nuevo al estado inocente
y usar esas células para hacer lo que ese paciente pueda necesitar,
ya sean células cerebrales o cardíacas.
Pero durante la última década más o menos,
averiguar cómo cambiar el destino celular,
todavía es un proceso de ensayo y error.
Incluso en los casos en que descubrimos protocolos experimentales exitosos,
siguen siendo ineficientes
y carecemos de una comprensión fundamental de cómo y por qué funcionan.
Si uno se las arregla para convertir una célula madre en una célula cardíaca,
eso no nos dice cómo cambiar una célula madre
en una célula cerebral.
Entonces queríamos entender el programa biológico
que corre dentro de una célula madre embrionaria,
y comprender el cálculo realizado por un sistema vivo
comenzando con una pregunta devastadoramente simple:
¿qué es lo que ese sistema realmente tiene que hacer?
La informática en realidad tiene un conjunto de estrategias
para lidiar con lo que el software y el hardware están destinados a hacer.
Cuando escriben un programa, codifican una pieza de software,
desean que se ejecute correctamente.
Desean rendimiento, funcionalidad.
Desean evitar errores.
Les puede costar mucho.
Cuando un desarrollador escribe un programa,
podría escribir un conjunto de especificaciones.
Esto es lo que debe hacer su programa.
Tal vez debería comparar el tamaño de dos números
u ordenar números por tamaño.
Existe la tecnología que nos permite verificar automáticamente
si están satisfechas nuestras especificaciones,
si ese programa hace lo que debería hacer.
Nuestra idea era que de la misma manera,
observaciones experimentales, cosas que medimos en el laboratorio,
corresponden a especificaciones de lo que debe hacer el programa biológico.
Así que solo necesitábamos encontrar una manera
para codificar este nuevo tipo de especificación.
Digamos que han estado ocupado en el laboratorio midiendo sus genes
y descubrieron que si el Gene A está activo,
entonces Gene B o Gene C parece estar activo.
Podemos escribir esa observación como una expresión matemática
si podemos usar el lenguaje de la lógica:
Si A, entonces B o C.
Ahora, este es un ejemplo muy simple,
Es solo para ilustrar el punto.
Podemos codificar expresiones verdaderamente ricas
que capturan el proceder de múltiples genes o proteínas a lo largo del tiempo
a través de múltiples experimentos diferentes.
Y así, al traducir nuestras observaciones
en expresiones matemáticas de esta manera,
es posible probar si esas observaciones pueden surgir o no
de un programa de interacciones genéticas.
Y desarrollamos una herramienta para hacer justamente esto.
Pudimos usar esta herramienta para codificar observaciones
como expresiones matemáticas
y luego esa herramienta nos permitiría descubrir el programa genético
que podría dar explicación de todos.
Y luego aplicamos este enfoque para descubrir
el programa genético que se ejecuta dentro de las células madre embrionarias
para ver si podíamos entender cómo inducir ese estado inocente.
Esta herramienta se construyó realmente
en un solucionador que se implementa habitualmente en todo el mundo
para verificación de software convencional.
Entonces comenzamos con un conjunto de casi 50 especificaciones diferentes
que generamos a partir de observaciones experimentales
de células madre embrionarias.
Y al codificar estas observaciones en esta herramienta,
pudimos descubrir el primer programa molecular
que podría explicarlos todos.
Eso es una hazaña en sí misma, ¿verdad?
Ser capaz de conciliar todas estas observaciones diferentes
no es el tipo de cosas que pueden hacer al dorso de un sobre,
incluso si tienen un sobre realmente grande.
Como tenemos este tipo de comprensión,
podríamos ir un paso más allá.
Podríamos usar este programa para predecir qué podría hacer esta célula
en condiciones que aún no habíamos probado.
Podríamos sondear el programa en silico.
Y así lo hicimos:
generamos predicciones que probamos en el laboratorio,
y encontramos que este programa era altamente predictivo.
Nos dijo cómo podríamos acelerar el progreso,
volver al estado inocente de forma rápida y eficiente.
Nos dijo a qué genes apuntar para hacer eso,
qué genes podrían incluso obstaculizar ese proceso.
Incluso el programa predijo el orden en que se activarían los genes.
Entonces, este enfoque realmente nos permitió descubrir la dinámica
de lo que están haciendo las células.
El desarrollo no es un método específico para la biología de células madre.
Más bien, nos permite dar sentido a la computación.
siendo llevada a cabo por la célula
en el contexto de interacciones genéticas.
En realidad, es solo un componente básico.
El campo necesita urgentemente desarrollar nuevos enfoques
para entender la computación biológica más ampliamente
y a diferentes niveles,
desde el ADN hasta el flujo de información entre las células.
Solo este tipo de comprensión transformadora
nos permitirá aprovechar la biología de manera predecible y confiable.
Pero para programar la biología, también necesitaremos desarrollar
los tipos de herramientas e idiomas
que permiten a los experimentadores y científicos computacionales
diseñar la función biológica
y hacer que esos diseños se compilen en el código de máquina de la celda,
su bioquímica
para que luego podamos construir esas estructuras.
Eso es algo parecido a un compilador de software vivo,
y estoy orgullosa de ser parte de un equipo en Microsoft
que está trabajando para desarrollar uno.
Aunque decir que es un gran desafío es un eufemismo,
pero si se lleva a cabo,
sería el puente final entre el software y el wetware.
Sin embargo, en términos más generales, la biología de programación solo será posible
si podemos transformar el campo en uno verdaderamente interdisciplinario.
Se necesita unir las ciencias físicas y de la vida,
y científicos de cada una de estas disciplinas
necesitan poder trabajar juntos con idiomas comunes
y compartir preguntas científicas.
A largo plazo, vale la pena recordar que muchas de las compañías gigantes
de software y tecnología con las que Uds. y yo trabajamos todos los días
difícilmente podrían haber sido imaginadas
cuando comenzamos a programar en microchips de silicio.
Y si comenzamos ahora a pensar en el potencial de la tecnología
habilitado por la biología computacional,
veremos algunos de los pasos que debemos seguir en el camino
para hacer eso realidad.
Existe el pensamiento aleccionador de que este tipo de tecnología
podría estar abierto al mal uso.
Si estamos dispuestos a hablar sobre el potencial
para programar células inmunes,
también deberíamos pensar en el potencial de las bacterias
diseñadas para evadirlos.
Puede haber gente dispuesta a hacer eso.
Un pensamiento tranquilizador en esto
es que, bueno, menos para los científicos
es que la biología es frágil al ser manipuleada.
Así que programar biología no será algo
que harán en el cobertizo de su jardín.
Pero como estamos al comienzo de esto,
podemos avanzar con los ojos bien abiertos.
Podemos hacer las preguntas difíciles por adelantado,
podemos establecer las salvaguardas necesarias
y, como parte de eso, tendremos que pensar en nuestra ética.
Tendremos que pensar en poner límites a la implementación
de la función biológica.
Como parte de esto, la investigación en bioética tendrá que ser una prioridad.
No puede ser relegado al segundo lugar
en la emoción de la innovación científica.
Pero el premio final, el destino final en este viaje,
serían aplicaciones innovadoras e industrias innovadoras
en áreas desde agricultura y medicina hasta energía y materiales
e incluso la informática en sí misma.
Imagínense, que algún día podríamos alimentar el planeta de manera sostenible
en la máxima energía verde
si pudiéramos imitar algo que las plantas descubrieron hace milenios:
cómo aprovechar la energía del sol con una eficiencia que no tiene paralelo
por nuestras células solares actuales.
Si entendiéramos ese programa de interacciones cuánticas
que permiten que las plantas absorban la luz solar de manera tan eficiente,
podríamos traducir eso en construir circuitos sintéticos de ADN
que ofrecen el material para mejores células solares.
Hay equipos y científicos trabajando en los fundamentos de esto en este momento,
entonces, si recibiera la atención adecuada y la inversión correcta,
se podría realizar en 10 o 15 años.
Estamos al comienzo de una revolución tecnológica.
Comprender este antiguo tipo de computación biológica
es el primer paso crítico.
Y si podemos darnos cuenta de esto,
entraríamos en la era de un sistema operativo
que ejecuta software vivo
Muchas gracias.
(Aplausos)
La seconde moitié du 20e siècle a été complètement définie
par une révolution technologique :
la révolution du logiciel.
La capacité à programmer des électrons sur une matière, le silicium,
a rendu possible des technologies, des sociétés et des industries
qui nous étaient jusqu’alors inimaginables,
mais qui ont fondamentalement changé la manière dont fonctionne le monde.
Cependant, la première moitié du 21e
va être transformée par une nouvelle révolution du logiciel :
la révolution du logiciel vivant.
Et elle sera mise en action par la capacité à programmer la biochimie
sur une matière appelée biologie.
Et ainsi, nous pourrons utiliser les propriétés de la biologie
pour créer de nouveaux types de thérapies,
pour réparer des tissus endommagés,
pour reprogrammer des cellules défectueuses,
et même pour construire des systèmes d'exploitation par la biochimie.
Si nous y arrivons - et nous devons y arriver -
les impacts seront si importants
que cela rendra la première révolution logicielle insignifiante en comparaison.
Et cela parce le logiciel vivant transformera la totalité de la médecine,
de l'agriculture et de l'énergie,
des secteurs qui écrasent ceux dominés par l'informatique.
Imaginez des plantes programmables qui fixent l'azote plus efficacement
ou qui résistent aux nouveaux pathogènes fongiques.
Imaginez des récoltes programmées pour être vivaces plutôt qu'annuelles,
afin de pouvoir faire deux moissons par an.
Cela tranformerait l'agriculture
et permettrait de nourrir une population mondiale en croissance.
Imaginez une immunité programmable,
utilisant des dispositifs moléculaires guidant votre système immunitaire
pour détecter, éradiquer voire prévenir des maladies.
Cela transformerait la médecine
et la manière de maintenir une population vieillissante en bonne santé.
Nous avons déjà beaucoup des outils qui rendent possible le logiciel vivant.
On peut éditer précisément les gènes avec CRISPR.
On peut réécrire le code génétique base par base.
On peut même construire des circuits synthétiques à partir d'ADN.
Mais comprendre comment et quand se servir de tout ça
est encore un processus d'essais et d'erreurs.
Cela demande une grande expertise, des années de spécialisation.
Les protocoles expérimentaux sont compliqués à découvrir
et trop souvent, difficiles à reproduire.
Vous savez, on a tendance en biologie à beaucoup se focaliser sur les détails,
mais on sait tous que l'acte de voler n'aurait pas pu être compris
si on n'avait étudié que les plumes.
Et donc, programmer la biologie n'est pas aussi simple que programmer un odinateur.
Et pour compliquer les choses,
les systèmes vivants ne ressemblent pas du tout aux systèmes inventés
que vous et moi programmons tous les jours.
A l'inverse des systèmes conçus par nous, les systèmes vivants s'auto-reproduisent,
s'auto-organisent,
fonctionnent au niveau moléculaire.
Et les interactions à ce niveau
produisent généralement des résultats solides à l'échelle macro.
Ils peuvent même s'auto-réparer.
Observez, par exemple, la simple plante d'intérieur,
comme celle sur votre cheminée,
que vous oubliez toujours d'arroser.
Tous les jours, malgré votre négligence, la plante se réveille
et doit déterminer comment allouer ses ressources :
grandir, faire de la photosynthèse, produire des graines ou des fleurs ?
C'est une décision qui doit être prise au niveau de l'organisme entier.
Mais une plante n'a pas de cerveau pour se décider.
Elle doit se débrouiller avec les cellules de ses feuilles.
Elles doivent réagir à l'environnement
et prendre des décisions qui affectent la plante entière.
Et donc, d'une certaine manière, il y a un programme à l'intérieur de ces cellules,
qui réagira aux signaux extérieurs
et déterminera ce que cette cellule fera.
Ces programmes doivent ensuite travailler de manière distribuée,
cellule par cellule,
afin de coordonner leur action pour que la plante grandisse et fleurisse.
Si nous arrivions à comprendre ces programmes biologiques,
si nous arrivions à comprendre les calculs biologiques,
cela transformerait notre comprehension du comportement
des cellules.
Et si nous comprenions ces programmes,
nous pourrions les déboguer en cas de problème.
Ou nous pourrions apprendre d'eux comment concevoir les circuits synthétiques
qui exploitent vraiment la puissance de calcul de la biochimie.
Ma passion pour cette idée m'a menée dans une carrière de chercheur
au croisement des maths, de l'informatique et de la biologie.
Dans mon travail, je me concentre sur le concept de calcul biologique.
Et cela signifie chercher ce que les cellules calculent,
et tenter de découvrir ces programmes biologiques.
J'ai commencé à poser ces questions avec des collaborateurs géniaux
de la R&D de Microsoft et de l'Université de Cambridge,
où nous essayons ensemble de comprendre
le programme biologique qui tourne dans un unique type de cellule :
une cellule souche embryonnaire.
Ces cellules sont uniques car elles sont totalement naïves.
Elles peuvent devenir ce qu'elles veulent :
une cellule du cerveau, du cœur, d'un os, d'un poumon,
n'importe quel type de cellule.
Cette naïveté qui les rend uniques
a enflammé l'imagination de la communauté scientifique,
qui a compris, si elle arrivait à exploiter ce potentiel,
qu'elle pourrait en faire un outil puissant pour la médecine.
Si on pouvait comprendre comment elles décident
de devenir un type ou l'autre,
on pourrait peut-être s'en servir
pour créer les cellules nécessaires pour réparer des tissus malades ou endommagés.
Mais atteindre ce but comporte pas mal de défis,
dont le principal est que ces cellules
apparaissent juste six jours après la conception.
Et disparaissent en un jour ou deux.
Elles auront pris le chemin
qui mène à toutes les structures et les organes du corps adulte.
Mais il s'avère que le destin des cellules est un peu moins figé
que nous ne le croyions.
Il y a 13 ans, des scientifiques ont montré quelque chose de révolutionnaire.
En injectant quelques gènes dans une cellule adulte,
par exemple, une cellule de peau,
on peut la faire revenir à son état naïf.
Ce processus est connu sous le nom de « reprogrammation ».
Il nous permet d'imaginer une sorte d'utopie :
collecter des cellules sur un patient,
les faire retourner à leur état naïf,
puis les transformer en ce dont le patient peut avoir besoin,
des neurones ou des cellules cardiaques.
Mais depuis dix ans,
on est toujours en train de tester
comment choisir le destin de la cellule.
Même dans les cas où on a découvert des protocoles expérimentaux qui fonctionnent,
ils restent inefficaces,
et on ne comprend toujours pas comment et pourquoi ils fonctionnent.
Savoir changer une cellule souche en une cellule cardiaque
ne vous dit en aucun cas comment changer une cellule souche
en un neurone.
Nous voulions donc comprendre le programme biologique
qui tourne dans une cellule souche embryonnaire.
Et comprendre les calculs effectués par un système vivant
démarre en posant une question incroyablement simple :
au fait, qu'est-ce que ce système doit faire ?
L'informatique utilise en fait un ensemble de stratégies
pour traiter ce que le logiciel et le matériel sont censés faire.
Quand vous écrivez un programme, vous codez du logiciel,
vous voulez qu'il fonctionne correctement,
qu'il soit performant, fonctionnel.
Vous voulez éviter les erreurs, qui pourraient coûter cher.
Quand un développeur écrit un programme,
il écrit d'abord un ensemble de spécifications,
ce que le programme est censé faire.
Peut-être doit-il comparer deux nombres
ou les ranger par ordre croissant.
Il existe des technologies qui vous permettent de vérifier automatiquement
si vos spécifications sont satisfaites,
si le programme fait ce qu'il est censé faire.
Notre idée est donc du même ordre :
des observations expérimentales, des mesures dans un laboratoire,
correspondant aux spécifications de ce que le programme biologique est censé faire.
On avait donc juste besoin de trouver
comment coder ce nouveau type de spécifications.
Imaginons que vous soyez là à observer les gènes,
vous trouvez que si le gène A est actif,
alors les gènes B ou C semblent actifs.
Vous pouvez écrire cette observation sous forme d'expression mathématique
en utilisant le langage de la logique :
Si A, alors B ou C.
Ok, c'est un exemple très simple,
juste pour illustrer mon propos.
On sait encoder des expressions complexes
qui décrivent réellement le comportement dans le temps de gènes ou de protéines
dans différentes expériences.
Ainsi, en traduisant vos observations
en expressions mathématiques,
il devient possible de tester si oui ou non ces observations émergent
d'un programme d'interactions génétiques.
Et nous avons développé un outil pour faire ça.
On a pu l'utiliser pour encoder nos observations
en expressions mathématiques,
et il nous a ensuite permis de découvrir le programme génétique
qui les expliquait toutes.
Et on a ensuite appliqué cette approche
pour découvrir le programme génétique qui tourne à l'intérieur des cellules souches
pour voir si nous pouvions comprendre comment induire cet état naïf.
Cet outil a été en fait développé
à partir d'une solution communément utilisée dans le monde
pour vérifier du logiciel classique.
On a commencé avec un ensemble de presque 50 spécifications
générées à partir d'observations expérimentales sur des cellules souches.
Et en encodant ces observations dans cet outil,
on a pu découvrir le premier programme moléculaire
qui les expliquait toutes.
Ça, ce n'est pas un mince exploit, non ?
Arriver à réunir toutes ces observations
ne se fait pas sur un coin de table,
même si vous avez une grande table.
Et puisque nous avions compris cela, nous pouvions aller un cran plus loin.
On pouvait s'en servir pour prédire le comportement de la cellule
dans des conditions qu'on n'avait pas testées.
On pouvait mener une expérience virtuelle.
Et c'est ce qu'on a fait :
on a généré des prédictions qu'on a testées au laboratoire,
et on a vu que ce programme prédisait très bien.
Il nous disait comment accélérer nos progrès
pour retourner à l'état naïf rapidement et efficacement.
Il nous a dit quels gènes cibler pour ce faire,
quels gènes pourraient même entraver ce processus.
Le programme est même capable de prévoir dans quel ordre les gènes vont s'activer.
Cette approche nous a donc vraiment permis de découvrir la dynamique des cellules.
Nous avons développé une méthode qui n'est pas spécifique aux cellules souches.
Mais elle nous permet de comprendre les calculs
que la cellule effectue
dans ce contexte d'interactions génétiques.
C'est donc juste un élément de base.
Nous avons besoin de vite développer de nouvelles approches
pour comprendre plus largement les calculs biologiques,
et ce, à différents niveaux,
depuis l'ADN jusqu'aux flux d'information entre cellules.
Seulement ce type de compréhension transformative
nous permettra d'utiliser la biologique de manière prévisible et fiable.
Mais pour programmer la biologie, il nous faudra développer
les outils et les langages
qui permettront aux expérimentateurs et aux scientifiques computationnels
de concevoir des fonctions biologiques,
de les transposer dans le langage machine de la cellule,
sa biochimie,
afin de pouvoir ensuite créer ces structures.
Cela ressemble à un compilateur de logiciel vivant,
et je suis fière de faire partie d'une équipe
qui en développe une.
Même si dire que c'est un grand défi est plutôt un euphémisme,
si on y arrive,
ce sera le lien ultime entre le logiciel et le biologiciel.
Plus largement, programmer le vivant ne sera possible
que si on arrive à rendre le domaine vraiment multidisciplinaire.
Ça demande de joindre les sciences physiques et celles du vivant,
et les scientifiques dans ces deux disciplines
doivent être capables de travailler dans un langage commun
et d'avoir des questions partagées.
Sur le long terme, il faut se souvenir que les géants actuels du logiciel
et les technologies que nous utilisons tous les jours
auraient à peine pu être imaginés
quand nous avons commencé à programmer des composants en silicium.
Si nous imaginons maintenant le potentiel pour les technologies
apporté par la biologie computationnelle,
nous verrons quelques étapes du chemin qui nous mènera
vers la concrétisation.
Il faut également garder à l'esprit que ce type de technologie
pourrait être mal utilisé.
Si on parle aisément du potentiel de la programmation des cellules immunitaires,
nous devons aussi penser au potentiel des bactéries
conçues pour les contrecarrer.
Il pourrait exister des gens qui voudraient faire cela.
Toutefois, une pensée rassurante -
moins rassurante pour les scientifiques -
est que la biologie est une chose fragile à manipuler.
Programmer le vivant ne sera pas quelque chose
qu'on fera dans sa cuisine.
Mais comme on n'en est qu'au tout début,
nous pouvons avancer lucidement.
Nous pouvons déjà poser les questions difficiles,
mettre en place les garde-fous nécessaires,
et, en complément de tout ça, nous devons parler d'éthique.
Nous devons penser à mettre des limites dans l'implémentation
d'une fonction biologique.
Et donc, en même temps, la recherche en bioéthique devra être une priorité.
Elle ne peut pas être reléguée en second
à cause de l'attrait de l'innovation scientifique.
Mais la récompense ultime, le but de notre voyage,
sera des applications et une industrie permettant des progrès
en agriculture, en médecine, dans l'énergie et dans les matériaux,
et même en informatique.
Imaginez qu'un jour nous puissions alimenter en énergie la planète
par l'énergie verte ultime,
si nous arrivions à reproduire ce que les plantes ont compris il y longtemps :
comment exploiter l'énergie du soleil avec une efficacité sans commune mesure
avec nos panneaux solaires actuels.
Si nous arrivons à comprendre ces interactions quantiques
qui permettent aux plantes d'absorber la lumière si efficacement,
nous pourrons traduire cela pour construire des circuits ADN synthétiques
qui pourraient servir à créer de meilleurs capteurs solaires.
Il y a des équipes de scientifiques qui travaillent sur ces fondements,
et donc avec la bonne attention et les bons investissements,
on pourrait y arriver en 10 à 15 ans.
Nous sommes au début d'une révolution technologique,
Comprendre ce type ancien de calcul biologique
est la première étape.
Si nous y arrivons,
nous entrerons dans l'ère d'un système d'exploitation
faisant tourner du logiciel vivant.
Merci beaucoup.
(Applaudissements)
છેલ્લા સદીના બીજા ભાગમાં સંપૂર્ણપણે વ્યાખ્યાયિત કરવામાં આવી હતી
તકનીકી ક્રાંતિ દ્વાર!
સોફ્ટવેર ક્રાંતિ.
ઈલેકટ્રોનપ્રોગ્રામ
શક્ય તકનીકઓ બનાવી કંપની, ઉદ્યોગો કે ઍક સમયે હતાં
આપણામાંના ઘણા અકલ્પની
પણ હવે જે રીતે બદલાયા
દુનિયા જેરીતે કામ કરે છે આ સદીનો પ્રથમભાગ,
જૉકે રૂપાંતરિત થઇ છે નવી સોફ્ટવેરક્રાંતિ દ્વારા, જીવંતસફ્ટવેરતિ.
અને આ ક્ષમતા દ્વારા સંચાલિત કરવામાં આવશે બાયોકેમિસ્ટ્રી કાર્યક્રમ
જીવવિજ્ calledાન કહેવાય સામગ્રી પર.
અને આમ કરવાથી આપણને ઉપયોગ થાય છે જીવવિજ્ .ાન ગુણધર્મો
નવી પ્રકારની ઉપચાર પેદા કરવા માટે,
ક્ષતિગ્રસ્ત પેશીઓને સુધારવા માટે,
ખામીયુક્ત કોષો ફરીથી પ્રોગ્રામ કરવા
અથવા તો પ્રોગ્રામ કરી શકાય તેવા બનાવો બાયોકેમિસ્ટ્રીમાંથી ઑપરેટિંગ સિસ્ટમ્સ
જો આકરી શકીએ તૅનો ખ્યાલ રાખવાની જરૂર છે
તેની અસર એટલી પ્રચંડ હશે
કે તે પ્રથમ બનાવશે સરખામણીમાં સોફ્ટવેર ક્રાંતિ નિસ્તેજ.
જીવંત સ softwareફ્ટવેર છે દવાની સંપૂર્ણતામાં પરિવર્તન લાવશે,
કૃષિ અને ઉર્જા,
અને આ એવા ક્ષેત્રો છે જે આઇટી દ્વારા વર્ચસ્વ.
પ્રોગ્રામેબલ છોડની કલ્પના કરો તે વધુ અસરકારક રીતે નાઇટ્રોજનને ઠીક કરે છે
અથવા ઉભરતા ફંગલ પેથોજેન્સનો પ્રતિકાર કરો,
અથવા તો પ્રોગ્રામિંગ વાર્ષિક બદલે
જેથી તમે બમણું કરી શકો તમારા પાક દર વર્ષે ઉપજ.
તે કૃષિમાં પરિવર્તન લાવશે
અને આપણે કેવી રીતે વધતી રહીશું અને વૈશ્વિક વસ્તી મેળવાય છે
અથવા પ્રોગ્રામેબલ પ્રતિરક્ષાની કલ્પના કરો,
મોલેક્યુલર ડિવાઇસીસની રચના અને ઉપયોગ જે તમારી kk
શોધવા માટે, નાબૂદ કરવું અથવા રોગ અટકાવે છે.
આ દવા પરિવર્તન કરશે
-આપણે કેવીરીતે વધતી રહીશું , વૃદ્ધ વસ્તી સ્વસ્થ.
અમારી પાસે પહેલાથી ઘણા સાધનો છે તે જીવંત સફ્ટવેરને વાસ્તવિકતા બનાવશે.
અમે CRISPR સાથે ચોક્કસપણે
જનીનોને સંપાદિત કરી
આપણે આનુવંશિક
એક સમયે એક આધાર
આપણે કાર્યકારી પણ બનાવી શકીએ છીએ ડીએનએ બહાર કૃત્રિમ સર્કિટ્સ.
પરંતુ કેવી રીતે અને ક્યારે બહાર નીકળવું આ સાધનો ચલાવવા માટે
હજી પણ અજમાયશ અને ભૂલની પ્રક્રિયા છે.
તેને deepંડી કુશળતાની જરૂર છે, વિશેષતા વર્ષો.
અને પ્રાયોગિક પ્રોટોકોલ શોધવા માટે મુશ્કેલ છે
બધા ઘણી વાર, પુનરુત્પાદન કરવું મુશ્કેલ.
તમે જાણો છો, આપણું વલણ જીવનમાં
ભાગોં પર ઘ્યાન રાખવા
પરંતુ આપણે બધા જાણીએ છીએ કે ઉડાન જેવું છે, સમજાય નહીં
ફક્ત પીછાઓનો અભ્યાસ કરીને.
પ્રોગ્રામિંગ બાયોલોજી નથી કમ્પ્યુટર પ્રોગ્રામ જેવુ સરળ.
અને પછી બાબતોને વધુ ખરાબ કરવા માટે,
જીવંતપ્રણાલ મોટાભાગે સામ્યતા નથી સિસ્ટમો માટે
કે તમે, હું રોજ કાર્યક્રમ.
એન્જિનિયર્ડ સિસ્ટમ્સથી વિપરીત, જીવંત પ્રણાલીઓ સ્વયં ઉત્પન્ન કરે છે,
તેઓ સ્વ આયોજન,
તેઓ પરમાણુ ભીંગડા પર કાર્ય કરે છે.
અને આ પરમાણુ-સ્તરના ક્રિયાપ્રતિક્રિયાઓ
સામાન્ય રીતે મજબૂત તરફ દોરી જાય છે મેક્રો-સ્કેલ આઉટપુટ.
તેઓ સ્વ-સમારકામ પણ કરી શકે છે.
ઉદાહરણ તરીકે, ધ્ય નમ્ર ઘરગથ્થુ છોડ,
જેમ કે એક બેઠો ઘરે તમારા mantelpiece પર
કે તમે પાણીને ભૂલી જતા રહો.
દરરોજ, તમારી ઉપેક્ષા હોવા છતાં, કે છોડ જાગે છે
અને કેવી રીતે બહાર આકૃતિ તેના સંસાધનોની ફાળવણી કરવા.
શું તે વધશે, પ્રકાશસંશ્લેષણ કરશે, બીજ,ફૂલ પેદા?
તે નિર્ણય લેવો પડશે સમગ્ર જીવતંત્રના
પરંતુ છોડમાં મગજ હોતું નથી કે બધા બહાર આકૃતિ.
તે કરવું પડશે તેના પાંદડા પર કોષો સાથે.
તેઓએ પર્યાવરણને પ્રતિક્રિયા આપવી પડશે
અને નિર્ણયો લે છે જે આખા છોડને અસર કરે છે.
તેથી કોઈક કોઈ કાર્યક્રમ હોવો જ જોઇએ આ કોષોની અંદર દોડતા,
એક પ્રોગ્રામ જેનો જવાબ છે ઇનપુટ સંકેતો અને સંકેતો
અને તે કોષ શું કરશે તે આકાર આપે છે.
અને તે પછી તે પ્રોગ્રામો ચલાવવા જ જોઇએ વિતરિત રીતે
વ્યક્તિગત કોષો તરફ,
જેથી તેઓ સંકલન કરી શકે તે છોડ વિકસે છે અને ખીલી શકે છે.
જો આપણે સમજી શક્યા હોત જૈવિક કાર્યક્રમો,
જો આપણે સમજી શક્યા હોત જૈવિક ગણતરી,
આપણી ક્ષમતામાં પરવર્તન લાવશે
કેવીરીતે, કૅમસમજવું કોષો જે કરે છે તે કરે છે.
કારણ કે, જો આપણે આ પ્રોગ્રામોને સમજીએ છીએ,
જ્યારે વસ્તુઓ ખોટી પડે તેમને ડિબગ કરી શકીએ.
તેમની પાસેથી ડિઝાઇન કેવીરીતે કરવું તે શીખી કૃત્રિમ સર્કિટનો પ્રકાર
ખરે શોષણ બાયોમિસ્ટ્રી ગણતરીશક્તિ
આ વિચાર વિશે ઉત્ધનની કારકીર્દિ તરફ દોરીm
ગણિતના ઇંટરફેસ પર કમ્પ્યુટર વિજ્ઞાન,જીવવિજ્ઞા
મારા કાર્યમાં હું ખ્યાલ પર ધ્યાન કરું છું ગણતરી તરીકે જીવવિજ્ઞાન
અને તેનો અર્થ એ છે કે પૂછવું કોષો શું ગણતરી કરે છે,
અને આપણે કેવી રીતે ઉજાગર કરી શકીએ આ જૈવિક કાર્યક્રમો?
અને મેં આ પ્રશ્નો પૂછવાનું શરૂ કર્યું કેટલાક તેજસ્વી સહયોગીઓ સાથે
માઈક્રોસોફ્ટ સંશોધન પર અને યુનિવર્સિટી ઓફ કેમ્બ્રિજ,
જ્યાં અમે સાથે સમજવા માંગતા હતા
જૈવિક કાર્યક્રમ એક અનોખા પ્રકારનાં કોષની અંદર દોડવું:
એક ગર્ભ સ્ટેમ સેલ.
આ કોષો અનન્ય છે કારણ કે તેઓ સંપૂર્ણ નિષ્કપટ છે.
તેઓ ઇચ્છે તે કંઈપણ બની શકે છે:
મગજ કોષ, એક હૃદય કોષ, હાડકાંના કોષ, ફેફસાંનું કોષ,
કોઈપણ પુખ્ત કોષ પ્રકાર.
આ ભદ્ર, તે તેમને અલગ કરે છે,
પરંતુ તે કલ્પનાને પણ સળગાવ્યું વૈજ્નિક સમુદાય
કોણ સમજાયું, જો આપણે કરી શકીએ તે સંભવિતમાં ટેપ કરો,
અમારી પાસે શક્તિશાળી હશે દવા માટે સાધન.
આપણે જાણીએ કૉષો નિર્ણય કેવી રીતે લે
એક કોષ અથવા બીજા બનવા માટે,
અમે તેમને ઉપયોગ કરવા માટે સમર્થ હોઈ શકે છે
જરૂરી કોષો ઉત્પન્ન કરવા રોગગ્રસ્ત સુધારવાmmm
પરંતુ તે દ્રષ્ટિની અનુભૂતિ તેની પડકારો વિના નથી,
ઓછામાં ઓછા કારણ કે આ ચોક્કસ કોષો,
તે માત્ર છ દિવસ ઉભરી આવે વિભાવના પછી
એક કે તેથી વધુ દિવસમાં, તેઓ ચાલ્યા ગયા.
તેઓએ જુદા જુદા માર્ગો બંધ કર્યા છે
જે બધી રચનાઓ બનાવે છે અને તમારા પુખ્ત વયના શરીરના અવયવો.
પરંતુ તે બહાર આવે છે કે સેલ fates ઘણા વધુ પ્લાસ્ટિક છે
કરતાં અમે કલ્પના કરી શકે છે.
13 વર્ષ પહેલાં વૈજ્નિકો ક્રાંતિકાર બતાવ્યું
માત્ર એક મુઠ્ઠીભર જનીનો દાખલ કરીને પુખ્ત કોષમાં,
તમારા ત્વચાના એક કોષની જેમ,કોષ બદલી શકો
નિષ્કપટ સ્થિતિમાં
અને તે એક પ્રક્રિયા છે જે ખરેખર છે "રિપ્રોગ્રામિંગ," તરીકે ઓળખાય છે
અને તે આપણને કલ્પના કરવા દે છે એક પ્રકારનું સ્ટેમ સેલ યુટોપિયા,
નમૂના લેવાની ક્ષમતા દર્દીના પોતાનાકોષો
તેમને પાછા મૂર્ખ સ્થિતિમાં પરિવર્તિત કરો
અને બનાવવા માટે તે કોષોનો ઉપયોગ કરો જે કંઇ પણ દર્દીને જરૂર પડે,
પછી ભલે તે મગજના કોષો હોય કે હૃદયના કોષો.
પરંતુ છેલ્લા એક દાયકામાં અથવા તેથી વધુ
કોષનું ભાગ્ય કેવી રીતે બદલવું તે શોધી
તે હજી પણ અજમાયશ અને ભૂલની પ્રક્રિયા છે. એવા કિસ્સાઓમાં કે જ્યાં
અમારો પર્દાફાશ થયો છે સફળપ્રાયોગિક પ્રોટોકોલ
તેઓ હજી પણ બિનકાર્યક્ષમ છે,
અને આપણી પાસે મૂળભૂત સમજણનો અભાવ છેતેઓ કેવી રીતે અને કેકામકરે
તમે શોધ્યું કેવરીતે બદલવું હૃદયકોષમાં સ્ટેમસેલ
તમને કહેવાની કોઈ રીત મળી નથી સ્ટેમ સેલ કેવી રીતે બદલવું
મગજના કોષમાં.
તેથી અમે સમજવા માંગતા હતા જૈવિક કાર્યક્રમ
ગર્ભસ્થ સ્ટેમ સેલની અંદર દોડવું,
અને ગણતરીને સમજવું એક જીવંત સિસ્ટમ દ્વારા કરવામાં આવે છે
પૂછવા સાથે શરૂ થાય છે
વિનાશક સરળ પ્રશ્ન: તે સિસ્ટમે ખરેખર શું કરવાનું છે?
હવે, ખરેખર કમ્પ્યુટર વિજ્ .ાન વ્યૂહરચનાઓનો સમૂહ છે
તે સોફ્ટવેર છે તે સાથે વ્યવહાર કરવા માટે અને હાર્ડવેર કરવાનું છે.
જ્યારે તમે કોઈ કાર્યક્રમ લખો છો, તમે સ softwareફ્ટવેરનો એક ભાગ કોડ કરો છો,
તમે ઇચ્છો છો કે તે સફ્ટવેર યોગ્ય ચાલે.
તમે પ્રભાવ, કાર્યક્ષમતા માંગો છો.
તમે ભૂલો અટકાવવા માંગો છો.
તેઓ તમને ખૂબ ખર્ચ કરી શકે છે.
તેથી જ્યારે વિકાસકર્તા કોઈ પ્રોગ્રામ લખે
તેઓ લખી શકે છે સ્પષ્ટીકરણોનો સમૂહ.
પ્રોગ્રામને શું કરવું જોઈ
કદાચ તેની તુલના કરવી બે-
સંખ્યાઓનું કદ, કદ વધારીને સંખ્યાઓ
ઓર્ડેર કરો,તકનીક અસ્તિત્વમાં છેજે આપણને
મંજૂરીઆપે તપાસમાટે શું અમારી લાક્ષણિકતાઓ
સંતુષ્ટ છેકે કાર્યક્રમ તે શું કરવું જોઈએ કરે છે.
અને તેથી અમારો વિચાર એ જ રીતે,
પ્રાયોગિક અવલોકનો, વસ્તુઓ જે આપણે પ્રયોગશાળામાં માપીએ છીએ,
તે સ્પષ્ટીકરણને અનુરૂપ છે જૈવિકકાર્યક્રમ શુંકરવું
તેથી આપણે ફક્ત એક રસ્તો ની જરૂર હતી
આ નવા પ્રકારનાં સ્પષ્ટીકરણને એન્કોડ કરવા.
તો ચાલો આપણે કહીએ તમે લેબમાં વ્યસ્ત છો તમે જનીનોને માપી રહ્યા છો
અને તમને મળ્યું છે કે જો જીન એ સક્રિય છે,
પછી જીનબી, જીનસી સક્રિય હોય તેવું લાગે
આપણે તે નિરીક્ષણ નીચે લખી શકીએ છીએ ગાણિતિક અભિવ્યક્તિ તરીકે
જો આપણે તર્કની ભાષા વાપરી શકીએ:
જો એ, પછી બી અથવા સી.
હવે, આ એક ખૂબ સરળ ઉદાહરણ છે, બરાબર.
તે માત્ર બિંદુ સમજાવવા માટે છે.
અમે ખરેખર સમૃદ્ધ અભિવ્યક્તિઓ એન્કોડ કરી શકીએ છીએ
કે ખરેખર વર્તન મેળવે છે સમય જતાં અનેક જીનો,પ્રૉટીન
બહુવિધ વિવિધ પ્રયોગો દરમ્યાન.
, તેથી આપણા અવલોકનોનું ભાષાંતર કરીને
આ રીતે ગાણિતિક અભિવ્યક્તિમાં,
તે ચકાસવું શક્ય બને છે કે નહીં અથવા તે અવલોકનો બહાર ન આવે
આનુવંશિક ક્રિયાના પ્રોગ્રામમાંથી.
અને અમે આ કરવા માટે એક સાધન બનાવ્યું છે.
અમે આ ટૂલનો ઉપયોગ કરીશક્યાં અવલોકન કરવા
ગાણિતિક અભિવ્યક્તિઓ તરીકે,
અને પછી તે સાધન અમને મંજૂરી આપશે આનુવંશિક પ્રોગ્રામને ઉજાગર કરવા
કે તે બધાને સમજાવી શકે.અને પછિ અમે આ -
અભિગમને લાગુ કરીએ છીએ આનુવંશિકપ્રોગ્રામને ઉજાગર કરવા
એમ્બ્રોયોનિ સ્ટેમસેલમા ચાલેછે
જો આપણે સમજી શકીએ કે કેમકેવી રીતે કે નિષ્કપટ રાજ્ય પ્રેરિત કરવા માટે.
,આસાધન ખરેખર બનાવામાં આવ્યુંહતું
સોલવર પર કે જે તૈનાત છે નિયમિતપણે વિશ્વભરમાં
પરંપરાગત સ softwareફ્ટવેર ચકાસણી માટે.
તેથી અમે એક સેટ સાથે પ્રારંભ કર્યો લગભગ 50 વિવિધ સ્પષ્ટીકરણો અમે પ્રાયોગિક-
માંથી પેદા ગર્ભના સ્ટેમકોષોનું નિરીક્ષણો
અને આને એન્કોડ કરીને આ સાધનમાં નિરીક્ષણો,
અમે ઉઘાડવામાં સમર્થ હતા પ્રથમ પરમાણુ કાર્યક્રમ
કે તે બધાને સમજાવી શકે.
હવે, તે એક પરાક્રમ છે અને પોતે જ, બરાબર?
સમાધાન કરવા માટે સક્ષમ છે આ બધા જુદા જુદા અવલોકનો
વસ્તુ પ્રકારની નથી તમે એક પરબિડીયું પાછળ કરી શકો છો,
ભલે તમારી પાસે ખરેખર મોટું પરબિડીયું હોય.
કારણ કે આપણી પાસે છે આ પ્રકારની સમજણ,
અમે એક પગલું આગળ વધી શકીએ.
અમે આ કાર્યક્રમની આગાહી કરવા માટે ઉપયોગ કરી શકીએ આ સેલ શકરે છેm
શરતોમાં આપણે હજી સુધી પરીક્ષણ કર્યું નથી.
આપણે સિલિકોમાં પ્રોગ્રામની તપાસ કરી શકીએ
અને તેથી અમે તે જ કર્યું:
અમે આગાહીઓ પેદા કરી કે અમે લેબમાં પરીક્ષણ કર્યું છે,
અમને જોવા મળ્યું પ્રોગ્રામ ખૂબ આગાહીયુક્ત હતું
અમને જણાવીશક્યું,આપણે કેવીરીતે કરીશકીએ પ્રગતિવેગ
પાછા નિષ્કપટ સ્થિતિમાં ઝડપ-
અસરકારક રીતે તે અમને કહ્યું કે કયા જનીનો તે કરવાનું લક્ષ્ય રાખવું,
જે જીન્સ પણ શકે છે તે પ્રક્રિયામાં અવરોધ
અમને પ્રોગ્રામની આગાહી મળી ક્રમમાં જેમાં જનીનો ચાલુ થશે.
તેથી આ અભિગમને ખરેખર અમને મંજૂરી આપી ગતિશીલતાને ઉજાગર કરવા માટે
કોષો શું કરી રહ્યા છે.આપણે શુ વિકસિત
-કર્યુંછે તે પદ્ધતિ નથી તેસ્બયોલોજી માટે વિશિષ્ટ છે
તેના બદલે, તે આપણને અર્થપૂર્ણ બનાવવા દે છે ગણતરી
સેલ દ્વારા હાથ ધરવામાં આવે છે
આનુવંશિક ક્રિયાપ્રતિક્રિયાના સંદર્ભમાં.
તેથી ખરેખર, તે ફક્ત એક બિલ્ડિંગ બ્લોક છે.
આ ક્ષેત્રની તાત્કાલિક જરૂર છે નવા અભિગમો વિકસાવવા માટે
જૈવિક સમજવા માટે ગણતરી વધુ વ્યાપક
અને વિવિધ સ્તરો પર,
સીધા જ ડીએનએથી કોષો વચ્ચેની માહિતીના પ્રવાહમાં.
માત્ર આ પ્રકારની પરિવર્તનશીલ સમજ
જીવવિજ્ઞાનનો ઉપયોગ કરવા સક્ષમ બનાવશે ધારી, વિશ્વસનીય રીતે
પણપ્રોગ્રામ બાયોલોજી મા આપણે
વિકાસ પણ કરવો પડશે સાધનો અને ભાષાઓના પ્રકારો
જે એકવાર પ્રયોગશાળા કરે છે અને ગણતરીના વૈજ્ .ાનિક
જૈવિક કાર્ય ડિઝાઇન કરવા માટે
અને તે ડિઝાઇનને કમ્પાઇલ કરો સેલના મશીન કોડ પર,
તેની બાયોકેમિસ્ટ્રી,
જેથી અમે તે કરી શકીએ તે માળખાં બનાવો.
હવે, તે કંઈક સમાન છે જીવંત સફ્ટવેર કમ્પાઈલરને,
અને મને ગર્વ છે માઇક્રોસફ્ટ પરની એક ટીમનો ભાગ તે એક વિકસિત
કરવાનુંકામ કરી રહ્યું છે
તેમ છતાં તે કહેવું એક પડકાર છે અલ્પોક્તિનો પ્રકાર છે,
પરંતુ જો તે સમજાયું,
તે અંતિમ પુલ હશે સફ્ટવેર અને વેટવેર વચ્ચે.
પ્રોગ્રામિંગબાયોલોજી ફક્ત શક્ય m
જો આપણે ક્ષેત્રમાં પરિવર્તન લાવી શકીએ ખરેખર આંતરશાખાકીય હોવા માં.
આપણને પુલ કરવાની જરૂર છે
ભૌતિક, જીવવિજ્ઞાન અને વૈજ્નિકો આ દરેક શાખાઓ
સાથે કામ કરવાનો પ્રયત્ન કરવાની જરૂર છે સામાન્ય ભાષાઓ સાથે
અને વૈજ્ .ાનિક પ્રશ્નો શેર કર્યા છે.
લાંબા ગાળે, તે યાદ રાખવા યોગ્ય છે કે વિશાળ સોફ્ટવેર કંપનીઓ ઘણા
અને ટેકનોલોજી કે તમે અને હું રોજ સાથે કામ કરીશું
ભાગ્યે જ કલ્પના કરી શકાય છે
તે સમયે અમે શરૂકર્યું સિલિકોનમાઇક્રોચિપ્સ પર પ્રોગ્રામિંગ.
અને જો આપણે હવે વિચારવાનું શરૂ કરીએ તકનીકી માટેની સંભાવના
કોમ્પ્યુટેશનલ બાયોલોજી દ્વારા સક્ષમ,અમે કેટલાંકપગલાં
જોશું આપણે માર્ગ સાથે લેવાંની-
જરૂર છે કે વાસ્તવિકતા બનાવવા માટે.
હવે, વિચારશીલ વિચાર છે કે આ પ્રકારની તકનીકી
દુરુપયોગ માટે ખુલ્લા હોઈ શકે છે.
જો આપણે વાત કરવા તૈયાર છીએ સંભવિત વિશે રોગપ્રતિકાર
કોષો ના પ્રોગ્રામિં માટે
આપણે પણ વિચારવું જોઈએ બેક્ટેરિયાની સંભાવના વિશે
તેમને ટાળવા માટે ઇજનેરી.
ત્યાં કરવા માટે તૈયાર લોકો હોઈ શકે છે.
હવે, આમાં એક આશ્વાસન વિચાર
તે છે - સારું, ઓછા તેથી વૈજ્નિકો માટે -જીવવિજ્ઞાન
છે કે સાથે કામ કરવા માટે નાજુકવસ્તુ
તેથી પ્રોગ્રામિંગ બાયોલોજી કંઈક બનવાનું નથી
તમે તમારા બગીચાના શેડમાં કરી શકશો.
પરંતુ કારણ કે આપણે આની શરૂઆતમાં છીએ,
આપણે આગળ વધી શકીએ અમારી આંખો પહોળી સાથે.
અમે મુશ્કેલ પૂછી શકો છો આગળના પ્રશ્નો,
અમે જગ્યાએ મૂકી શકો છો જરૂરી સલામતી તે
તેના ભાગરૂપે આપણ નીતિશાસ્ત્રવિશે વિચારવું-
પડસે આપણે બાઉન્ડ્રી લગાવવાનો વિચાર કરવો પડશે અમલીકરણ
પર જૈવિક કાર્ય
તેથી આના ભાગ રૂપે, બાયોથિક્સમાં સંશોધન કરો એક અગ્રતા હશે.
તે બીજા સ્થાને જઈ શકે તેમ નથી
ઉત્તેજના માં વૈજ્ઞાનિક નવીનતા.પર-
અંતિમ ઇનામ મુસાફરીપર અંતિમમુકામ
સફળતા કાર્યક્રમો હશે અને પ્રગતિ ઉદ્યોગો
કૃષિ અને દવા ક્ષેત્રે energyર્જા અને સામગ્રી માટે
અને તે પણ ગણતરી.
કલ્પના, એક દિવસ અમે શક્તિ આપી શકે છે ગ્રહ ટકાઉ
અંતિમ લીલી energyર્જા પર
જો આપણે કંઈક નકલ કરી શકે તે છોડ સહસ્ત્રાબ્દી પૂર્વે મળી:
સૂર્ય ઉર્જા વાપરવા એક કાર્યક્ષમતા અપ્રતિમ છે
અમારા વર્તમાન સૌર કોષો દ્વારા.જો આપણે તે-
પ્રોગ્રામ સમજગયા હોત ક્રિયાપ્રતિક્રિયા
જે છોડને શોષી લેવાની મંજૂરી આપે છે સૂર્યપ્રકાશ તેથી અસરકારક રીતે,
આપણે તેનું ભાષાંતર કરવામાં સમર્થ હોઈશું કૃત્રિમ ડીએનએ સર્કિટ બનાવવા માટે
કે સામગ્રી આપે છે વધુ સારા કોષો માટે.
ત્યાં ટીમો, વૈજ્નિકો કાર્યરત છે હમણાંના ફંડામેન્ટલ્સ પર
તેથી જો તેને યોગ્ય ધ્યાન મળ્યું અને યોગ્ય રોકાણ,
તે 10 અથવા 15 વર્ષમાં સાકાર થઈ શકે છે.
તેથી આપણે શરૂઆતમાં છીએ તકનીકી ક્રાંતિ
આ પ્રાચીન પ્રકારને સમજવું જૈવિક ગણતરી
જટિલ પ્રથમ પગલું છે.
અને જો આપણે આનો અહેસાસ કરી શકીએ,
અમે યુગ દાખલ કરશે operatingપરેટિંગ સિસ્ટમની
તે જીવંત સ softwareફ્ટવેર ચલાવે છે.
ખુબ ખુબ આભાર.
पिछली शताब्दी का दूसरा भाग पूरी तरह से परिभाषित किया गया था
तकनीकी क्रांति द्वारा:
सॉफ्टवेयर क्रांति।
इलेक्ट्रॉनों को प्रोग्राम करने की क्षमता सिलिकॉन नामक सामग्री पर
संभव प्रौद्योगिकियों , कंपनियों और उद्योगों
वह एक बिंदु पर थे हम में से कई के लिए अकल्पनीय,
लेकिन जो अब मौलिक रूप से बदल चुके हैं जिस तरह से दुनिया काम करती है।
इस सदी की पहली छमाही, हालांकि,
रूपांतरित होने जा रहा है एक नई सॉफ्टवेयर क्रांति द्वारा:
जीवित सॉफ्टवेयर क्रांति।
और यह क्षमता से संचालित होगा जैव रसायन के लिए कार्यक्रम
जीव विज्ञान नामक सामग्री पर।
और ऐसा करने से हम खुद को सक्षम बना पाएंगे जीव विज्ञान के गुण
नए प्रकार की चिकित्सा उत्पन्न करने के लिए,
क्षतिग्रस्त ऊतक की मरम्मत के लिए,
दोषपूर्ण कोशिकाओं को पुन: उत्पन्न करने के लिए
या प्रोग्राम बनाने योग्य भी जैव रसायन से बाहर ऑपरेटिंग सिस्टम।
अगर हम यह महसूस कर सकते हैं - और हमें इसे महसूस करने की आवश्यकता है -
इसका प्रभाव इतना बढ़ जाएगा
यह पहला बना देगा तुलना में सॉफ्टवेयर क्रांति पीला।
और ऐसा इसलिए है क्योंकि जीवित सॉफ्टवेयर चिकित्सा की संपूर्णता को बदल देगा,
कृषि और ऊर्जा,
और ये ऐसे क्षेत्र हैं जो बौने हैं उन पर यह हावी है।
प्रोग्राम कीये पौधों के बारे मे सोचो जो नाइट्रोजन को प्रभावी ढंग से ठीक करता है
या उभरते कवक रोगजनकों का विरोध करें,
या यहां तक कि फसलों की प्रोग्रामिंग वार्षिक के बजाय बारहमासी होना
तो आप दोगुना कर सकते हैं आपकी फसल की पैदावार हर साल होती है।
वह कृषि को बदल देगा
और हम अपने विकास को कैसे बनाए रखेंगे और वैश्विक आबादी को खिलाया गया।
या प्रोग्राम करने योग्य प्रतिरक्षा की कल्पना करें,
आणविक उपकरणों का डिजाइन और दोहन जो आपकी प्रतिरक्षा प्रणाली का मार्गदर्शन करता है
पता लगाना, मिटाना या यहां तक कि बीमारी को रोकने के।
इससे दवाई बदल जाएगी
और हम अपने विकास को कैसे बनाए रखेंगे और उम्र बढ़ने की आबादी स्वस्थ।
हमारे पास पहले से कई उपकरण हैं जो जीवित सॉफ्टवेयर को एक वास्तविकता बना देगा।
हम CRISPR के साथ जीन को ठीक से संपादित कर सकते हैं।
हम आनुवंशिक कोड को फिर से लिख सकते हैं एक समय में एक आधार।
हम कामकाज का निर्माण भी कर सकते हैं डीएनए से बाहर सिंथेटिक सर्किट।
लेकिन कैसे और कब का पता लगाना इन उपकरणों को फिराना है
अभी भी परीक्षण और त्रुटि की एक प्रक्रिया है।
इसके लिए गहरी विशेषज्ञता चाहिए, विशेषज्ञता के वर्ष।
और प्रायोगिक प्रोटोकॉल को खोजने के लिए मुश्किल है
और सभी अक्सर, पुन: उत्पन्न करने के लिए मुश्किल।
हमारी बायोलॉजी में एक प्रवृत्ति है जो भागों पर बहुत कुछ ध्यान केंद्रित करती है,
लेकिन हम सभी जानते हैं कि उड़ने वाली कुछ चीज़ों को समझ नहीं पाएगा
पंखों का अध्ययन करके
इसलिए प्रोग्रामिंग जीवविज्ञान अभी तक आपके कंप्यूटर को प्रोग्रामिंग के रूप में सरल नहीं है।
और फिर मामले को बदतर बनाने के लिए,
जीवित प्रणाली काफी हद तक कोई समानता नहीं रखती है इंजीनियर प्रणालियों के लिए
आप और मैं हर दिन कार्यक्रम करते हैं।
इंजीनियर प्रणालियों के विपरीत, जीवित प्रणाली स्व-उत्पन्न,
वे स्वयं को संगठित करते हैं,
वे आणविक पैमानों पर काम करते हैं।
और ये आणविक स्तर की बातचीत
आम तौर पर मजबूत करने के लिए नेतृत्व स्थूल पैमाने पर उत्पादन।
वे स्व-मरम्मत भी कर सकते हैं।
उदाहरण के लिए विचार करें, विनम्र घरेलू संयंत्र,
जैसे कि घर पर अपने अऋगीठी के चारों ओर की लकड़ी की बनावट पर बैठ गया
कि आप पानी को भूल जाते हैं |
हर दिन, आपकी उपेक्षा के बावजूद, उस संयंत्र को जागृत करना होगा
और अपने संसाधनों को आवंटित करने के लिए पता करें।
क्या यह बढ़ेगा, प्रकाश संश्लेषण, बीज या फूल का उत्पादन होगा?
और यह एक ऐसा निर्णय है जिसे पूरे जीव के स्तर पर बनाया जाना है।
एक संयंत्र में उस मस्नुैत के पास नहीं है जो कि सभी को समझने के लिए।
इसे अपने पत्तियों पर कोशिकाओं के साथ करना है।
उन्हें पर्यावरण पर प्रतिक्रिया देनी होगी
और निर्णय लेते हैं जो पूरे पौधे को प्रभावित करता है।
तो किसी तरह एक कार्यक्रम होना चाहिए इन कोशिकाओं के अंदर चल रहा है,
एक प्रोग्राम जो जवाब देता है इनपुट संकेतों और संकेतों के लिए
और आकार जो सेल करेगा।
और फिर उन कार्यक्रमों को संचालित करना होगा एक वितरित तरीके से
व्यक्तिगत कोशिकाओं के पार,
ताकि वे समन्वय कर सकें और वह पौधा विकसित और पनप सकता है।
अगर हम समझ सके ये जैविक कार्यक्रम,
अगर हम समझ सके जैविक अभिकलन,
यह हमारी क्षमता को बदल देगा कैसे और क्यों समझने के लिए
कोशिकाएं वही करती हैं जो वे करते हैं।
क्योंकि, अगर हम इन कार्यक्रमों को समझते हैं,
जब चीजें गलत होती हैं तो हम उन्हें डिबेट कर सकते हैं
या हम उनसे सीख सकते हैं कि कैसे डिजाइन किया जाए सिंथेटिक सर्किट की तरह
यह वास्तव में शोषण है जैव रसायन की कम्प्यूटेशनल शक्ति।
इस विचार के बारे में मेरा जुनून मुझे अनुसंधान में एक कैरियर के लिए प्रेरित किया
गणित के इंटरफ़ेस पर, कंप्यूटर विज्ञान और जीव विज्ञान।
अपने काम में, मैं अवधारणा पर ध्यान केंद्रित करता हूं जीवविज्ञान की गणना में
और इसका मतलब है कि पूछना कोशिकाएं क्या गणना करती हैं,
और हम कैसे उजागर कर सकते हैं ये जैविक कार्यक्रम?
और मैंने ये सवाल पूछना शुरू कर दिया कुछ शानदार सहयोगियों के साथ
Microsoft अनुसंधान में और कैम्ब्रिज विश्वविद्यालय,
जहां एक साथ हम समझना चाहते थे
जैविक कार्यक्रम सेल के एक अद्वितीय प्रकार के अंदर चल रहा है:
एक भ्रूण स्टेम सेल।
ये सेल अद्वितीय हैं क्योंकि वे पूरी तरह से भोले हैं।
वे अपनी इच्छानुसार कुछ भी बन सकते हैं:
एक मस्तिष्क सेल, एक हृदय सेल , एक हड्डी सेल, एक फेफड़े के सेल,
कोई वयस्क सेल प्रकार
यह नाविक, यह उन्हें अलग करता है,
लेकिन यह वैज्ञानिक समुदाय की कल्पना भी प्रज्वलित करता है,
कौन एहसास हुआ, अगर हम उस क्षमता में टैप कर सकते हैं,
हमारे पास दवा के लिए एक शक्तिशाली उपकरण होगा
अगर हम यह समझ सकते हैं कि ये कोशिकाएं निर्णय कैसे करती हैं
एक सेल प्रकार या दूसरे बनने के लिए,
हम उन्हें दोहन करने में सक्षम हो सकते हैं
कोशिकाओं को उत्पन्न करनेहमें रोग या क्षतिग्रस्त ऊतक की मरम्मत की आवश्यकता है।
लेकिन यह समझने की दृष्टि इसकी चुनौतियों के बिना नहीं है,
कम से कम क्योंकि ये विशेष कोशिकाएं,
वे गर्भधारण के छह दिनों के बाद ही उभरते हैं
और फिर एक दिन या तो, वे चले गए हैं
उन्होंने विभिन्न मार्गों को बंद कर दिया है
यह आपके वयस्क शरीर के सभी संरचनाओं और अंगों को बनाते हैं।
लेकिन यह पता चला है कि सेल भाग्य बहुत अधिक प्लास्टिक हैं
हम की कल्पना की तुलना में
शायद लगभग 13 साल पहले, कुछ वैज्ञानिकों ने वास्तव में क्रांतिकारी कुछ दिखाया
एक वयस्क सेल में सिर्फ कुछ मुट्ठी भर जीन डालने के द्वारा,
आपकी त्वचा कोशिकाओं में से एक की तरह,
आप उस सेल को भोले राज्य में बदल सकते हैं।
और यह एक ऐसी प्रक्रिया है जिसे वास्तव में "रिप्रोग्रामिंग" के रूप में जाना जाता है
और यह हमें स्टेम सेल यूटोपिया की तरह कल्पना करने की अनुमति देता है,
रोगी की अपनी कोशिकाओं का एक नमूना लेने की क्षमता,
उन्हें भोले राज्य में वापस बदलना
और उन कोशिकाओं का उपयोग करें जो कि रोगी की आवश्यकता हो सकती है,
चाहे मस्तिष्क कोशिकाओं या हृदय कोशिकाओं का हो।
लेकिन पिछले दशक या उससे अधिक समय से,
सेल भाग्य को बदलने का तरीका पता लगाना,
यह अभी भी परीक्षण और त्रुटि की प्रक्रिया है
यहां तक कि उन मामलों में जहां हमने सफल प्रायोगिक प्रोटोकॉल का खुलासा किया है,
वे अभी भी अक्षम हैं,
और हमें एक मौलिक समझ की कमी और वे क्यों काम करते हैं
यदि आपको पता चल गया कि एक स्टेम सेल को हृदय सेल में कैसे बदलना है,
यह आपको बताने का कोई तरीका नहीं है कि स्टेम सेल कैसे बदलना है
एक मस्तिष्क सेल में
इसलिए हम जैविक कार्यक्रम को समझना चाहते थे
एक भ्रूण स्टेम सेल के अंदर चल रहा है,
और एक जीवित प्रणाली द्वारा प्रदर्शन की गणना को समझना
एक विनाशकारी सरल प्रश्न पूछने के साथ शुरू होता है:
यह क्या है कि सिस्टम को वास्तव में करना है?
अब, कंप्यूटर विज्ञान में वास्तव में रणनीतियों का एक सेट है
इसके अलावा सॉफ्टवेयर हार्डवेयर क्या करने के लिए हैं, इसके अलावा व्यवहार करना है
आप एक प्रोग्राम लिखते हैं, तब एक कोड तयार करते हैं,
सॉफ्टवेयर सही तरीके से चलाने के लिए
आप प्रदर्शन, कार्यक्षमता चाहते हैं.
आप बग को रोकना चाहते हैं.
बहुत खर्चिला हैं
इसलिए जब एक डेवलपर एक प्रोग्राम लिखता है,
वे लिख सकते थे विनिर्देशों का एक सेट।
ये वही हैं जो आपके प्रोग्राम करेंगे
शायद इसकी तुलना करनी चाहिए दो संख्याओं का आकार
या आकार बढ़ाने के क्रम क्रमांकन
प्रौद्योगिकी मौजूद है जो हमें स्वचालित रूप से जांचने की अनुमति देता है
चाहे हमारे विनिर्देश संतुष्ट हैं,
चाहे वह प्रोग्राम ऐसा करना चाहिए जो करना चाहिए
और इसलिए हमारा विचार उसी तरह से था
प्रायोगिक टिप्पणियां, हम प्रयोगशाला में जो कुछ मापते हैं,
वे जैविक कार्यक्रम को क्या करना चाहिए, इसके विनिर्देशों के अनुरूप हैं।
इसलिए हमें सिर्फ एक तरह से समझने की जरूरत है
इस नए प्रकार के विनिर्देश को सांकेतिक शब्दों में बदलना
तो हम कहते हैं कि आप प्रयोगशाला में व्यस्त हैं और आप अपने जीन को माप रहे हैं
और आपने पाया है कि यदि जीन एक सक्रिय है,
फिर जीन बी या जीन सी सक्रिय हो रहा है।
हम एक गणितीय अभिव्यक्ति के रूप में नीचे अवलोकन लिख सकते हैं
अगर हम तर्क की भाषा का उपयोग कर सकते हैं:
यदि एक, तो बी या सी।
अब, यह एक बहुत ही सरल उदाहरण है, ठीक है।
यह बिंदु को स्पष्ट करने के लिए है
हम अमीर अभिव्यक्ति को सांकेतिक शब्दों में बदल सकते हैं
यह वास्तव में समय के साथ कई जीन या प्रोटीन के व्यवहार को पकड़ता है
कई अलग-अलग प्रयोगों में
और इसलिए हमारी टिप्पणियों का अनुवाद करके
इस तरह से गणितीय अभिव्यक्ति में,
यह जांचना संभव है कि उन टिप्पणियां उभरने या नहीं देख सकते हैं
आनुवंशिक इंटरैक्शन के एक कार्यक्रम से
और हमने ऐसा करने के लिए एक उपकरण विकसित किया है।
हम इन टूल का उपयोग करने के लिए सक्षम थे
गणितीय अभिव्यक्ति के रूप में,
फिर उस उपकरण हमें आनुवंशिक कार्यक्रम को उजागर करने की अनुमति देगा
यह उन सभी को समझा सकता है
और हम इस दृष्टिकोण को लागू करते हैं
भ्रूण स्टेम कोशिकाओं के अंदर चलने वाले आनुवंशिक कार्यक्रम को उजागर करने के लिए
क्या हम समझौता कर सकते हैं कि भोले राज्य को कैसे प्रेरित किया जाए।
और यह उपकरण वास्तव में बनाया गया था
एक सॉल्वर पर जो दुनिया भर में नियमित रूप से तैनात किया गया है
पारंपरिक सॉफ्टवेयर सत्यापन के लिए
इसलिए हमने लगभग 50 अलग-अलग विनिर्देशों के एक सेट के साथ शुरू किया
कि हम प्रयोगात्मक से उत्पन्न भ्रूण स्टेम कोशिकाओं का अवलोकन।
और इनको कूट कर इस उपकरण में अवलोकन,
हम उजागर करने में सक्षम थे पहला आणविक कार्यक्रम
कि उन सभी को समझा सकता है।
अब, यह एक तरह का करतब है में और खुद का, सही?
समेटने में सक्षम होना इन सभी का अलग-अलग अवलोकन है
इस तरह की बात नहीं है आप एक लिफाफे के पीछे कर सकते हैं,
भले ही आपके पास बहुत बड़ा लिफाफा हो।
क्योंकि हमें मिल गया है इस तरह की समझ,
हम एक कदम आगे जा सकते थे।
हम भविष्य कर सकते हैं यह सेल क्या कर सकती है
जिन स्थितियों में हमने अभी तक परीक्षण नहीं किया था।
हम सिलिको में कार्यक्रम की जांच कर सकते हैं।
और इसलिए हमने ऐसा किया:
हमने भविष्यवाणियां कीं कि हमने लैब में परीक्षण किया,
और हमने पाया कि यह कार्यक्रम अत्यधिक भविष्य कहनेवाला था।
इसने हमें बताया कि हम कैसे कर सकते हैं प्रगति में तेजी लाना
वापस भोले की अवस्था में जल्दी और कुशलता से।
यह हमें बताया कि कौन सा जीन ऐसा करने के लिए,
कौन सा जीन भी हो सकता है उस प्रक्रिया में बाधा।
हमने भी कार्यक्रम की भविष्यवाणी की जिस क्रम में जीन स्विच ऑन करेंगे।
इसलिए इस दृष्टिकोण ने हमें अनुमति दी गतिशीलता को उजागर करने के लिए
कोशिकाएं क्या कर रही हैं।
हमने जो विकसित किया वह कोई विधि नहीं है यह स्टेम सेल बायोलॉजी के लिए विशिष्ट है।
बल्कि, यह हमें कम्प्यूटेशन की भावना बनाने की अनुमति देता है
सेल द्वारा किया जा रहा है
आनुवंशिक बातचीत के संदर्भ में
तो वास्तव में, यह सिर्फ एक इमारत ब्लॉक है
क्षेत्र को नए तरीकों को विकसित करने की आवश्यकता है
जैविक गणना को अधिक मोटे तौर पर समझने के लिए
और विभिन्न स्तरों पर,
डीएनए से कोशिकाओं के बीच की जानकारी के प्रवाह के माध्यम से।
केवल इस तरह के परिवर्तनकारी समझ
हमें जीव विज्ञान का उपयोग करने में सक्षम होगा जिसका अनुमान विश्वसनीय हैं।
लेकिन जीव विज्ञान के लिए, हमें विकसित करने की भी आवश्यकता होगी
उपकरण और भाषाओं के प्रकार
जो दोनों प्रयोगात्मक और कम्प्यूटेशनल वैज्ञानिकों की अनुमति देता है
जैविक समारोह को डिजाइन करने के लिए
और उन डिजाइनों को सेल के मशीन कोड से संकलित करना है,
इसकी जैव रसायन,
ताकि हम उन संरचनाओं का निर्माण कर सकें।
अब, यह एक जीवित सॉफ्टवेयर कंपाइलर के समान है,
मुझे माइक्रोसॉफ्ट पर एक टीम का हिस्सा होने पर गर्व है
यह एक विकसित करने के लिए काम कर रहा है
हालांकि कहने के लिए कि यह एक भव्य चुनौती है, एक ख़तरनाक है,
लेकिन अगर यह एहसास हुआ,
यह अंतिम पुल होगा सॉफ्टवेयर और वेटवेयर के बीच।
अधिक व्यापक रूप से, हालांकि, जीव विज्ञान प्रोग्रामिंग केवल संभव होने जा रहा है
अगर हम क्षेत्र को बदल सकते हैं वास्तव में अंतःविषय में
इसे हमें पाटने की जरूरत है भौतिक और जीवन विज्ञान,
और वैज्ञानिकों से इन विषयों में से प्रत्येक
एक साथ काम करने में सक्षम होने की जरूरत है आम भाषाओं के साथ
और साझा करने के लिए वैज्ञानिक प्रश्न।
लंबी अवधि में, यह याद रखने योग्य है कि कई विशाल सॉफ्टवेयर कंपनियों
और प्रौद्योगिकी आप और मैं हर दिन साथ काम करते हैं
शायद ही कल्पना की जा सकती थी
उस समय हमने पहली बार शुरुआत की सिलिकॉन माइक्रोचिप्स पर प्रोग्रामिंग।
और अगर हम अब सोचने के लिए शुरू करते हैं प्रौद्योगिकी की क्षमता
कम्प्यूटेशनल जीव विज्ञान द्वारा सक्षम,
हम कुछ चरणों को देखेंगे हमें रास्ते में ले जाने की जरूरत है
एक वास्तविकता बनाने के लिए।
अब, वहाँ सोचा था इस तरह की तकनीक
दुरुपयोग करने के लिए खुला हो सकता है।
अगर हम बात करने को तैयार हैं क्षमता के बारे में
प्रतिरक्षा कोशिकाओं की प्रोग्रामिंग के लिए,
हमें भी सोचना चाहिए बैक्टीरिया की क्षमता के बारे में
उन्हें खाली करने के लिए इंजीनियर।
ऐसा करने के इच्छुक लोग हो सकते हैं।
अब, एक आश्वस्त इस में सोचा
वह है - ठीक है, कम वैज्ञानिकों के लिए -
यह जीव विज्ञान है साथ काम करने के लिए एक नाजुक चीज।
इसलिए जीव विज्ञान प्रोग्रामिंग कुछ होने वाला नहीं है
आप अपने गार्डन शेड में कर रहे हैं।
लेकिन क्योंकि हम इस की शुरुआत में हैं,
हम आगे बढ़ सकते हैं हमारी आँखें खुली हुई हैं।
हम मुश्किल से पूछ सकते हैं सामने सवाल,
हम जगह में डाल सकते हैं आवश्यक सुरक्षा उपाय
उस हिस्से के रूप में, हमें अपनी नैतिकता के बारे में सोचना होगा।
हमें सीमाएं लगाने के बारे में सोचना होगा कार्यान्वयन पर
जैविक कार्य के।
तो इस के हिस्से के रूप में, जैवविज्ञान में अनुसंधान प्राथमिकता होगी।
इसे दूसरे स्थान पर वापस नहीं लाया जा सकता है
उत्साह में वैज्ञानिक नवाचार के।
लेकिन अंतिम पुरस्कार, इस यात्रा पर अंतिम गंतव्य,
सफलता के अनुप्रयोग होंगे और सफलता उद्योगों
कृषि और चिकित्सा से क्षेत्रों में ऊर्जा और सामग्री के लिए
और यहां तक कि खुद की गणना।
सोचिए, एक दिन हम ताकतवर हो सकते हैं ग्रह लगातार
परम हरी ऊर्जा पर
अगर हम कुछ नकल कर सकते हैं सहस्राब्दियों पहले लगाए गए पौधे:
सूर्य की ऊर्जा का दोहन कैसे करें एक दक्षता के साथ जो अद्वितीय है
हमारे वर्तमान सौर कोशिकाओं द्वारा।
अगर हम उस कार्यक्रम को समझ गए क्वांटम इंटरैक्शन के
जो पौधों को अवशोषित करने की अनुमति देते हैं इतनी कुशलता से धूप,
हम इसका अनुवाद करने में सक्षम हो सकते हैं सिंथेटिक डीएनए सर्किट बनाने में
कि सामग्री की पेशकश बेहतर सौर कोशिकाओं के लिए।
टीम और वैज्ञानिक काम कर रहे हैं इस समय के मूल सिद्धांतों पर,
तो शायद अगर इसे सही ध्यान मिल गया और सही निवेश,
यह 10 या 15 वर्षों में महसूस किया जा सकता है।
इसलिए हम शुरुआत में हैं एक तकनीकी क्रांति की।
इस प्राचीन प्रकार को समझना जैविक अभिकलन का
महत्वपूर्ण पहला कदम है।
हम यह महसूस कर सकते हैं,
हम इस युग में प्रवेश करेंगे एक ऑपरेटिंग सिस्टम का
वह जीवित सॉफ्टवेयर चलाता है।
आपका बहुत बहुत धन्यवाद।
(तालियां)
La seconda metà del secolo scorso è stata completamente caratterizzata
da una rivoluzione tecnologica:
la rivoluzione del software.
La capacità di programmare gli elettroni su un materiale chiamato silicio
ha reso possibile la creazione di tecnologie, società e industrie
fino ad allora inimmaginabili per molti di noi,
ma che hanno intrinsecamente cambiato il funzionamento del mondo.
Tuttavia, la prima metà di questo secolo
sarà trasformata da una nuova rivoluzione del software:
la rivoluzione del software vivente,
che sarà resa possibile dalla capacità di programmare la biochimica
su un materiale chiamato biologia.
Questa capacità ci permetterà di sfruttare le proprietà della biologia
per creare nuovi tipi di terapie,
riparare tessuti danneggiati,
riprogrammare cellule difettose
o persino realizzare sistemi operativi programmabili basati sulla biochimica.
Se riusciremo a fare tutto ciò - e davvero ne abbiamo bisogno -
l'impatto sarà tale,
da far impallidire al confronto la prima rivoluzione del software.
Un software vivente, infatti, trasformerebbe del tutto la medicina,
l'agricoltura e l'energia,
settori che sovrastano quelli dominati dall'IT.
Pensate a piante programmabili che fissano l'azoto in modo più efficace,
o resistono all'attacco di patogeni fungini,
oppure a coltivazioni programmate per essere perenni invece che annuali
in modo da raddoppiarne la resa ogni anno.
Tutto ciò trasformerebbe l'agricoltura
e il nostro modo di nutrire la crescente popolazione globale.
Pensate anche alla possibilità di programmare l'immunità,
grazie a dispositivi molecolari progettati per permettere al sistema immunitario
di individuare, eliminare o anche prevenire le malattie.
Questo trasformerebbe la medicina
e il modo di curare una popolazione sempre più vasta e anziana.
Abbiamo già molti degli strumenti necessari a creare il software vivente.
Possiamo modificare i geni con precisione grazie ai CRISPR.
Possiamo riscrivere il codice genetico base dopo base.
Possiamo persino creare circuiti sintetici funzionanti, partendo dal DNA.
Capire come e quando utilizzare questi strumenti, però,
è ancora un processo fatto di tentativi ed errori.
Servono competenze elevate, anni di specializzazione.
Inoltre, elaborare protocolli sperimentali è difficile,
così come, molto spesso, replicarli.
Sapete, in biologia tendiamo a focalizzarci molto sulle parti,
ma sappiamo tutti che non si può comprendere il volo, ad esempio,
studiando solo le penne.
Programmare la biologia non è quindi semplice come programmare un computer.
Inoltre, come se non bastasse,
i sistemi viventi assomigliano ben poco ai sistemi artificiali
che programmiamo ogni giorno.
A differenza di quelli artificiali, i sistemi viventi si auto-generano,
si auto-organizzano,
operano su scala molecolare
e queste interazioni a livello molecolare
hanno di solito un grande impatto su macroscala.
Riescono persino ad auto-ripararsi.
Prendete, ad esempio, le comuni piante da appartamento,
tipo quella sul vostro caminetto a casa
che dimenticate sempre di annaffiare.
Ogni giorno, nonostante la trascuriate, quella pianta si deve svegliare
e decidere come impiegare le proprie risorse:
per la crescita, la fotosintesi, per la produzione di semi o fiori?
È una decisione che riguarda tutto l'organismo,
ma la pianta non ha un cervello per gestire il tutto.
Deve accontentarsi delle cellule sulle sue foglie,
che devono reagire all'ambiente circostante
e prendere decisioni che riguardano l'intera pianta.
Deve quindi esserci una sorta di programma attivo dentro quelle cellule
che risponde ai segnali d'ingresso e agli stimoli
e che ne determina il comportamento.
Quei programmi devono poi operare in maniera distribuita
tra tutte le singole cellule,
affinché si possano coordinare per far crescere e prosperare la pianta.
Comprendere questi programmi biologici,
comprendere la computazione biologica,
ci aiuterebbe a capire come e perché
le cellule fanno ciò che fanno.
Grazie alla comprensione di questi programmi
potremmo fare il debugging quando le cose vanno male
o prenderli ad esempio per progettare circuiti artificiali
che sfruttano davvero il potere computazionale della biochimica.
L'entusiasmo per questa idea mi ha portato a fare ricerca
in un ambito che collega matematica, informatica e biologia.
Il mio lavoro si concentra sull'idea di biologia come computazione.
Mi chiedo come operano le cellule
e come possiamo individuare questi programmi biologici.
Ho iniziato a farlo assieme ad un brillante team di collaboratori
al laboratorio Microsoft Research dell'Università di Cambridge,
dove volevamo comprendere
il programma biologico che fa funzionare un tipo speciale di cellule:
le cellule staminali embrionali.
Queste cellule sono uniche perché sono ancora indifferenziate.
Possono diventare qualsiasi cosa vogliano:
cellule cerebrali, cardiache, ossee, polmonari,
ogni tipo di cellula adulta.
La loro indifferenziazione le rende uniche
e accende l'immaginazione della comunità scientifica,
che ha capito come quel potenziale
potrebbe fornire alla medicina uno strumento potente.
Se riuscissimo a capire come quelle cellule decidano
di diventare un tipo di cellula e non un altro,
potremmo utilizzarle
per ottenere cellule necessarie alla cura di tessuti ammalati o danneggiati.
Realizzare quest'idea non è semplice,
soprattutto perché queste particolari cellule
compaiono appena sei giorni dopo il concepimento
e spariscono dopo circa un giorno,
quando prendono strade diverse
per formare tutte le strutture e gli organi del corpo adulto.
Tuttavia, si è scoperto che il destino delle cellule è molto più duttile
di quanto si pensasse.
Circa 13 anni fa, alcuni scienziati hanno mostrato qualcosa di rivoluzionario:
inserendo una manciata di geni in una cellula adulta,
ad esempio una cellula della pelle,
si può riportare quella cellula allo stato indifferenziato.
Questo processo, detto "riprogrammazione",
ci permette di immaginare un futuro in cui sia possibile
prendere delle cellule staminali di un paziente,
riportarle allo stato indifferenziato
e utilizzarle per generare le cellule necessarie al paziente,
siano esse cerebrali o cardiache.
Da circa 10 anni a questa parte, però,
trovare il modo di cambiare il destino delle cellule
significa procedere per tentativi ed errori.
Anche i protocolli sperimentali che siamo riusciti a identificare
risultano ancora inefficienti
e fondamentalmente non sappiamo ancora come e perché funzionino.
Sapere come trasformare una cellula staminale in una cardiaca
non significa sapere come trasformare una cellula staminale
in una cellula cerebrale.
Volevamo quindi capire il programma biologico
attivo all'interno delle cellule staminali embrionali
e per comprendere la computazione di un sistema vivente
si inizia da una domanda incredibilmente semplice:
Qual è, di fatto, il compito di quel sistema?
La scienza informatica ha delle strategie
per gestire ciò che software e hardware devono fare.
Quando si scrive un programma, si codifica del software,
si vuole che esso funzioni correttamente.
Si cercano prestazioni e funzionalità.
Si vogliono evitare i bug,
perché possono costare caro.
Così, il programmatore
potrebbe elaborare una serie di specifiche
che dicono al programma cosa fare.
Per esempio confrontare le dimensioni di numeri
oppure ordinarli in ordine crescente.
Abbiamo la tecnologia che ci permette di controllare automaticamente
se le specifiche vengono rispettate
e il programma fa ciò che deve.
Noi pensavamo, quindi, che allo stesso modo
le osservazioni sperimentali, ciò che misuriamo in laboratorio,
corrispondesse alle specifiche che regolano il programma biologico.
Dovremmo dunque solo trovare il modo
di codificare questo nuovo tipo di specifiche.
Supponiamo che analizzando i geni in laboratorio
abbiamo visto che se il Gene A è attivo,
sembrano esserlo anche il Gene B o il Gene C.
Possiamo trascrivere quell'osservazione come espressione matematica
usando il linguaggio della logica:
Se A, allora B o C.
È un esempio molto semplice, sì,
ma serve ad illustrare il concetto.
Possiamo codificare espressioni realmente complesse
che riflettano davvero il comportamento di molteplici geni o proteine nel tempo
osservato in diversi e molteplici esperimenti.
Traducendo le nostre osservazioni
in espressioni matematiche in questo modo,
risulta possibile verificare se quelle osservazioni emergono
da un programma di interazioni genetiche.
Per fare ciò, abbiamo sviluppato uno strumento
e siamo stati in grado di usarlo per codificare osservazioni
come espressioni matematiche
per poi riuscire eventualmente a scoprire il programma genetico
che sta alla loro base.
In seguito, potremmo usare questo sistema
per individuare il programma genetico delle cellule staminali embrionali
e cercare di capire come indurre il loro stato indifferenziato.
Questo strumento è stato realizzato
su un solutore utilizzato comunemente in tutto il mondo
per la normale verifica di software.
Abbiamo iniziato con un gruppo di quasi 50 specifiche diverse
generate dall'osservazione sperimentale di cellule staminali embrionali.
Codificando quelle osservazioni in questo strumento,
siamo riusciti a scoprire il primo programma molecolare
che potrebbe spiegarle tutte.
È già di per sé un gran risultato, vero?
Riuscire a dare un senso a tutte le diverse osservazioni
non è una cosa che si può fare così, su due piedi,
neppure se si tratta di piedi grandi.
Grazie a questo tipo di conoscenza, potremmo andare oltre
e usare questo programma per predire il comportamento cellulare
in condizioni mai testate prima.
Potremmo testare il programma in silico.
In effetti, l'abbiamo fatto:
abbiamo generato previsioni per poi testarle in laboratorio
e abbiamo scoperto che questo programma è altamente predittivo.
Ci ha mostrato come potevamo accelerare il ritorno
allo stato ingenuo in modo veloce ed efficiente.
Ci ha mostrato quali geni selezionare per farlo
e quali potrebbero invece ostacolare il processo.
Abbiamo visto che il programma indicava persino l'ordine di attivazione dei geni.
Questo metodo ci permetteva quindi di far luce sulle dinamiche
del funzionamento cellulare.
Questo metodo non è specifico per la biologia delle cellule staminali,
ma ci permette di comprendere la computazione attuata dalle cellule
nel contesto delle interazioni genetiche.
Si tratta quindi di un primo passo.
In questo campo servono nuove strategie
per comprendere la computazione biologica
più a fondo e su più livelli,
dal DNA fino al flusso di informazioni fra le cellule.
Solo questa comprensione rivoluzionaria
ci permetterà di utilizzare la biologia in modi prevedibili ed affidabili.
Tuttavia, per poter programmare la biologia dovremo anche sviluppare
strumenti e linguaggi tali
da permettere a scienziati sperimentali e computazionali
di progettare la funzione biologica
fino al livello del codice macchina della cellula,
la sua biochimica,
in modo da permetterci di costruire quelle strutture.
Si tratta di una sorta di compilatore di software vivente
e sono orgogliosa di far parte di un team Microsoft
che lavora per svilupparne uno.
Dire che si tratta di una grande sfida è una sorta di eufemismo,
ma riuscirci,
permetterebbe il collegamento finale tra software e wetware.
Più in generale, programmare la biologia sarà possibile solo
se renderemo il suo ambito realmente interdisciplinare.
Dobbiamo collegare le scienze fisiche e quelle umane.
Gli scienziati di ciascuna di quelle discipline
devono poter collaborare grazie a linguaggi comuni
e condividere gli scopi della ricerca.
Alla lunga, conviene ricordare che molti giganti informatici
e gran parte delle tecnologie che usiamo ogni giorno
non erano neppure immaginabili
agli albori della programmazione su microchip in silicio.
Se pensiamo ai potenziali sviluppi tecnologici
legati alla biologia computazionale,
individueremo anche i passi necessari
per renderla una realtà.
Ora, preoccupa l'idea che questo tipo di tecnologia
potrebbe essere usata impropriamente.
Se vogliamo occuparci della possibilità
di programmare cellule immunitarie,
dobbiamo anche pensare alla possibilità di batteri
progettati per aggirarle.
Ci potrebbe essere qualcuno disposto a farlo.
Un dato rassicurante -
beh, non tanto per gli scienziati -
è che la biologia è un campo delicato in cui lavorare.
Programmarla non è qualcosa
che si può fare in cantina.
Poiché siamo agli inizi
dobbiamo procedere tenendo gli occhi bene aperti.
Possiamo porci direttamente il problema,
approntare le necessarie difese
e pensare, nel contempo, alle questioni etiche.
Dovremo pensare di porre dei limiti all'utilizzo
della funzione biologica.
In quest'ottica, la ricerca in ambito di bioetica dovrà essere prioritaria.
Non può essere relegata ad un ruolo di secondo piano
a fronte dell'entusiasmo per l'innovazione scientifica.
Il risultato più grande, l'obiettivo finale di questo percorso
sarebbero applicazioni e industrie all'avanguardia
in ambiti che spaziano tra agricoltura, medicina, energia, materiali
e persino la stessa elaborazione dati.
Pensate, un giorno potremmo dare energia al pianeta in modo sostenibile
grazie alla migliore energia verde,
se riuscissimo a riprodurre ciò che le piante fanno da millenni:
come utilizzare l'energia solare con un'efficienza
che è fuori dalla portata dai pannelli fotovoltaici di oggi.
Se riuscissimo a capire le interazioni quantistiche
usate dalle piante per assorbire la luce solare in modo così efficiente,
potremmo usare quella conoscenza per creare circuiti sintetici di DNA
che sarebbero un materiale per creare pannelli fotovoltaici migliori.
In questo momento ci sono gruppi di scienziati che se ne occupano,
quindi, con la giusta attenzione e i giusti investimenti
potrebbero essere realizzati in 10 o 15 anni.
Siamo dunque all'inizio di una rivoluzione tecnologica.
Comprendere questa forma antica di computazione biologica
rappresenta il primo importante passo.
Se riusciremo a farlo,
entreremo nell'era di un sistema operativo
che gestisce software vivente.
Grazie mille.
(Applausi)
지난 세기의 후반기는
단 하나의 기술혁명으로 대표됩니다.
바로 소프트웨어 혁명입니다.
규소라는 물질에 전자를 프로그래밍하는 능력은
한때 우리가 상상도 하지 못했지만,
지금은 세상의 작동 방식을 완전히 바꾸어 놓은
많은 기술과 산업, 회사들을 가능케 했습니다.
반면 이번 세기의 전반기에는
또 다른 소프트웨어 혁명이 큰 변화를 가져올 겁니다.
바로 생체 소프트웨어 혁명입니다.
이 혁명은 생체라는 물질을
생화학적으로 프로그래밍하는 능력에서 비롯될 겁니다.
그러면 우리는 생물학의 성과를 이용해
새로운 치료법을 개발하고,
손상된 생체 조직을 복구하며,
결함 있는 세포를 재프로그래밍하거나,
프로그래밍 가능한 생화학적 운영체제를 설계할 수도 있습니다.
우리가 이를 실현할 수 있다면, 또 반드시 실현해야겠지만,
기존의 소프트웨어 혁명이 빛바랠 만큼
굉장한 여파를 미칠 겁니다.
생체 소프트웨어는 제약, 농업, 에너지 산업등
IT와 직접적인 연관성이 없는 수많은 분야에까지
막대한 변화를 가져올 것이기 때문입니다.
프로그래밍 가능한 식물을 상상해 봅시다.
이 식물은 질소를 더 효과적으로 고정하고,
유행하는 곰팡이균에 저항하며,
일 년에 한 번 대신 두 번씩 열매를 맺어
수확량을 두 배로 늘릴 수도 있습니다.
이는 농업의 양상을 완전히 바꾸어
점점 증가하는 세계 인구의 식량 소비량을 충당할 수 있는 방법이 될 것입니다.
이번에는 프로그래밍 가능한 면역체계를 상상해봅시다.
분자 단위로 제작된 생화학적 도구들이 당신의 면역체계를 도와
질병을 감지하고, 제거하며, 또는 예방할 수도 있습니다.
이는 의학의 양상을 완전히 바꾸어
점점 증가하고 고령화되는 세계 인구의 건강을 지킬 방법이 될 것입니다.
이미 생물 소프트웨어를 실현시킬 수 있는 많은 도구가 있습니다.
CRISPR 기술을 통해 유전자를 정밀히 조작할 수 있고,
유전 부호를 개별 염기 수준에서 고쳐쓸 수 있으며,
DNA로부터 실제 작동하는 합성 회로를 만들어낼 수도 있습니다.
하지만 이 도구들을 언제, 어떻게 사용해야 하는지는
여전히 시행착오를 통해 배울 수밖에 없습니다.
이를 위해서는 높은 전문성과 다년간의 경험이 필요합니다.
이 분야의 실험결과들은 찾아보기 힘들며
불행하게도 많은 경우 재현하기도 어렵습니다.
게다가, 우리는 생물을 연구할 때 각각의 기관에만 너무 주의를 기울이곤 합니다.
하지만 누구나 알듯이, 깃털만 따로 연구해서는
절대 새들이 나는 원리를 이해할 수 없습니다.
그래서 생체 프로그래밍은 아직 컴퓨터를 프로그래밍하는 것처럼 간단치 않습니다.
문제를 더 악화시키는 건,
여러분과 제가 매일 프로그래밍하는 기계적인 시스템이
생체 시스템과 별로 공통점이 없다는 겁니다.
기계적인 시스템과 다르게, 생체 시스템은 스스로 발생하고,
스스로 자신을 구성하며,
분자단위에서 작동합니다.
또 이런 분자단위의 상호작용은
대개 뚜렷한 거시적인 결과를 만들어냅니다.
생체 시스템은 스스로를 복구할 수도 있습니다.
예를 들어, 집에서 키우는 작은 식물,
여러분이 자꾸만 물 주기를 잊어버리는
그 화분을 생각해봅시다.
여러분이 알아차리지 못해도, 이 식물은 매일 잠에서 깨어
자신의 자원을 어떻게 배분할지 결정해야 합니다.
성장해야 할까요, 광합성해야 할까요, 아니면 씨앗을 만들거나 꽃을 피워야 할까요?
이 결정은 각 기관이 아니라 전체 개체 수준에서 이루어져야 합니다.
하지만 식물에게는 결정을 내릴 뇌가 없기 때문에,
잎 세포만으로 문제를 해결해야 합니다.
잎 세포들은 환경에 반응해
전체 개체에 영향을 미칠 결정을 내려야 합니다.
그러니 이 세포들에는 어떤 프로그램이 내장되어 있어,
입력되는 신호에 반응해
자신이 무엇을 할지 결정하는 것이 분명합니다.
세포들이 서로 협동해 전체 개체를 키워내려면
이 프로그램은
분산 방식으로 작동해야 합니다.
이 생물학적 프로그램, 생물학적 연산을
우리가 규명해낼 수 있다면
세포들이 어떻게, 왜 어떤 일을 하는지
훨씬 잘 이해할 수 있을 겁니다.
생물학적 프로그램을 이해하면,
무언가 문제가 생겼을 때 그걸 디버깅할 수 있습니다.
또는 이 프로그램들을 모방해 생체의 생화학적 연산능력을 온전히 활용하는
합성 회로를 설계할수도 있을 겁니다.
이런 비전에 대한 열정이
저를 수학과 컴퓨터 과학, 생물학의 접점을 연구하도록 이끌었습니다.
저는 생물학을 컴퓨터 과학의 관점에서 바라봅니다.
세포가 무엇을 연산하는지,
어떻게 생물학적 프로그램의 비밀을 밝혀낼 수 있을지 묻습니다.
캠브릿지 대학교에 있는 마이크로소프트 연구소의 동료들과 함께
이 문제를 연구하기 시작했습니다.
저희는 어떤 독특한 세포에 내장된
생체 프로그램을 이해하고자 했습니다.
바로 배아줄기세포입니다.
배아줄기세포는 아직 분화가 일어나지 않은 원시 상태라는 점에서 특별합니다.
이 세포는 자신이 원하는 어떤 세포로던 변할 수 있습니다.
뇌세포, 심장 세포, 뼈 세포, 간 세포,
분화를 마친 어떤 세포로든지요.
배아줄기세포를 구별 짓는 이 만능성은
과학계의 상상력에 불을 지폈습니다.
배아줄기세포의 잠재능력을 활용할 수 있다면
의학적으로 강력한 도구가 될 것이기 때문입니다.
배아줄기세포가 어떤 세포로 분화할지
스스로 선택하는 과정을 밝혀내면
우리는 이 세포를 사용해
감염되거나 손상된 조직 복구에 필요한 세포를 만들어낼 수 있을지도 모릅니다.
하지만 이런 비전을 실현시키는데는 몇 가지 문제가 존재합니다.
그 중 하나는, 배아줄기세포가
수정 후 단 6일 후에 나타난다는 점입니다.
그러고는 하루 이틀만에 사라져버립니다.
이미 서로 다른 방향으로 분화를 시작해
성인의 몸을 구성하는 각종 기관들을 구성하기 시작한 것이죠.
하지만 세포운명은 우리가 예상했던 것보다
더 가소적인 것으로 밝혀졌습니다.
13년 전 쯤에, 몇 명의 과학자들이 정말 놀라운 발견을 했습니다.
약간의 유전자를 성인 세포,
예를 들어 여러분의 피부 세포에 삽입해서
다시 원시 상태로 되돌릴 수 있다는 걸요.
"재프로그래밍"으로 알려진 이 기전을 통해
줄기세포를 만병통치약으로 활용하는 미래를 상상해볼 수 있습니다.
환자의 세포를 채취해
분화 전의 원시 상태로 되돌려서
환자에게 필요한 세포라면 무엇이든,
뇌세포든 심장 세포든 만들 수 있을 겁니다.
하지만 지난 10년간의 노력에도 불구하고,
세포 운명을 바꾸는 방법을 찾는 연구는
여전히 시행착오의 연속입니다.
성공적인 실험 방법을 찾아낼 때도 있지만,
그 숫자는 여전히 불충분하고,
우리는 그 방법들이 어떻게, 왜 좋은 결과를 가져오는지 잘 이해하지 못합니다.
줄기세포를 심장 세포로 분화시키는 방법을 찾아냈다고 해도,
그 발견은 줄기세포를 뇌세포로 분화시키는 방법에 대해서는
아무 것도 알려주지 않습니다.
그러니까 우리는 배아줄기세포에 내장된
생물학적 프로그램을 이해하고 싶었습니다.
생체 시스템이 수행하는 연산을 이해하려면,
먼저 정말 간단한 질문을 하나 던져야 합니다.
그 시스템이 무엇을 해야 할까요?
컴퓨터 과 학에는 소프트웨어와 하드웨어가 무엇을 해야 하는지
규정하기 위한 여러 기술이 있습니다.
어떤 프로그램을 작성할 때, 다시 말해 소프트웨어를 코딩할 때
우리는 그 소프트웨어가 올바르게 작동하기를 바랍니다.
다양한 기능을 빠르게 수행하기 바라고,
버그가 없기를 바랍니다.
버그는 큰 문제를 일으킬지도 모릅니다.
그래서 개발자가 프로그램을 작성할 때는,
여러 명시 사항을 기록해 둡니다.
이것이 바로 프로그램이 해야 할 일입니다.
두 숫자의 크기를 비교하는 일일 수도 있고,
숫자들을 오름차순으로 정렬하는 일일 수도 있습니다.
개발자에게는 프로그램이 자신의 명시 사항을 만족하는지,
즉 해야 할 일을 잘 해내는지
자동으로 확인해 주는 기술이 있습니다.
같은 맥락에서 저희는
실험실에서 얻는 관측 결과, 측정값들이
생체 프로그램이 무엇을 해야 하는지에 대한 명시 사항에 해당하는 것이라 생각했습니다.
저희는 이 새로운 종류의 명시 사항을
부호화하는 방법만 찾으면 되었습니다.
실험실에서 유전자들을 오랫동안 관찰해보니
유전자 A가 활성화되어 있을 때는,
유전자 B나 유전자 C도 활성상태에 있다는 걸 발견했다고 합시다.
그러면 이 관측 결과를 논리 언어를 사용해서
수학적 표현으로 옮겨 적을 수 있습니다.
만약 A라면, B 또는 C이다.
물론 현실은 이만큼 간단하지 않습니다.
이 예시는 그저 설명을 위한 겁니다.
하지만 더 풍부한 논리 표현을 사용하면
서로 다른 여러 실험에서 검증된,
복수 유전자와 단백질의 시간에 따른 행동을 부호화할 수 있습니다.
이렇게 관측 결과를
수학적 표현으로 바꾸면,
이 결과가 유전자 사이의 상호작용을 기술하는
특정 프로그램의 결과와 모순이 없는지 판별할 수 있습니다.
이 작업을 위한 도구를 저희가 개발했습니다.
이 도구를 사용해 관측 결과를
수학적 표현으로 부호화하고,
부호화한 관측 결과를 모두 설명해주는
유전자 프로그램을 찾아낼 수 있었습니다.
이후 저희는 같은 도구를 사용해
배아줄기세포에 내장된 유전자 프로그램을 이해하고
세포를 분화 전의 원시상태로 되돌리는 방법을 찾고자 했습니다.
이 도구는 사실
세계 곳곳에서 소프트웨어 검증을 위해 일상적으로 활용되는
솔버(풀이 프로그램)를 기초로 개발되었습니다.
배아줄기세포를 관찰하며 기록한
50개에 달하는 명시 사항들을
이 도구를 사용해 부호화해서
그 모두를 설명할 수 있는 첫 번째 분자 프로그램을
찾아내는 데 성공했습니다.
이것 만으로도 충분히 큰 성과입니다, 그렇죠?
서로 다른 수 많은 관측 결과에 빠짐없이 부합하는 가설을 찾는 작업은
결코 주먹구구식으로 이루어질 수 없습니다.
여러분 손가락이 아무리 많더라도요.
문제를 여기까지 해결했으니
한 걸음 더 나가봅시다.
밝혀진 유전자 프로그램을 바탕으로
아직 실험하지 않은 조건에서의 배아줄기세포의 행동을 예측하는 겁니다.
저희는 유전자 프로그램을 컴퓨터로 옮겨서
시뮬레이션 해보았습니다.
그 결과를 실험실에서 직접 검증해본 결과
저희가 찾아낸 프로그램의 예측은 매우 정확했습니다.
이 프로그램은 세포의 역분화 과정을
손쉽게, 효과적으로 가속시키는 방법을 알려주었습니다.
어떤 유전자를 표적으로 해야하는지,
또 어떤 유전자가 역분화 과정을 저해할지도요.
이 프로그램은 유전자들이 활성화 되는 순서도 예측해냈습니다.
저희의 접근 방식은 세포 활동의 숨겨진 작동 원리를
밝혀내는 데 아주 성공적이었습니다.
이 방법은 줄기세포를 연구하는 데만 적용될 수 있는 것이 아닙니다.
더 범용적으로, 세포가 수행하는 연산을
유전자 간 상호작용의 관점에서
이해하게 해주는 도구라 말할 수 있습니다.
어느 건물에나 쓰일 수 있는 벽돌인 셈입니다.
이 분야에는 새로운 접근 방식이 절실히 필요합니다.
생물학적 연산을 더 폭넓게,
DNA에서 세포 간 정보 교환에 이르는
다양한 수준에서 이해하기 위해서요.
이런 근본적인 이해가 뒷받침 되어야만
생물학을 안정적이고 예측 가능한 방식으로 활용할 수 있습니다.
아직 생체 프로그래밍을 위해서는,
다른 도구와 언어도 개발되어야 합니다.
실험 생물학자와 컴퓨터 과학자 모두
생물학적 기능을 설계하고
그것을 컴파일해 세포의 기계어, 즉 생화학적 정보로 바꿀 수 있어야만
생체 프로그램을 작성할 수 있습니다.
생체 소프트웨어 컴파일러라고 부를 만한 도구인데,
자랑스럽게도 제가 속한 마이크로소프트 팀에서
개발 중에 있습니다.
큰 도전이라는 표현으로도 부족할 만큼 어려운 과제이지만,
만약 실현된다면,
컴퓨터와 생체 소프트웨어 사이를 잇는 마지막 다리를 놓게 될 겁니다.
더 넓은 관점에서, 생체 프로그래밍이 가능하려면
이 분야에서 학문 간 교류가 원활히 이루어져야 합니다.
물상 과학과 생명과학이 이어지고,
각각의 분야를 연구하는 과학자들이
공통의 언어를 갖고 함께 일하며
과학적 질문을 공유할 수 있어야 합니다.
미래를 볼 때, 지금의 거대 소프트웨어 기업들과
우리가 일상적으로 사용하는 첨단 기술들이
실리콘 마이크로칩에 처음 프로그래밍을 시작했을 때는
상상조차 하지 못했던 것들이었음을 기억할 필요가 있습니다.
전산생물학이 연 기술 발전의 가능성에 대해
지금부터 생각해본다면
그 미래를 실현시키기 위해
우리가 무엇을 해야할 지 알 수 있을 겁니다.
한 가지 염려스러운 것은
이런 기술이 오남용될 수 있다는 점입니다.
프로그래밍 가능한 면역세포의
가능성에 대해 말하려면
동시에 면역 체계를 회피하도록 설계된 세균의
가능성에 대해서도 고려해보아야 합니다.
그런 세균을 만드려는 사람이 있을지도 모릅니다.
그나마 위안이 되는 것은,
과학자들에게는 별로 해당하지 않는 이야기지만,
생물이 다루기 까다로운 대상이라는 점입니다.
그래서 생체 프로그래밍이
여러분 뒷마당에서 쉽게 할 수 있는 일은 아닙니다.
하지만 이 분야가 아직 시작 단계에 있기 때문에,
우리는 경각심을 갖고 나아가야 합니다.
정면으로 힘든 질문을 던지고,
필요한 안전장치를 마련하며,
그 일환으로 연구 윤리에 대해 고민해봐야 합니다.
어떤 생명 기능까지 설계해도 되는지
규제가 필요할지도 모릅니다.
이를 위해서는 생명윤리에 대한 연구가 우선되어야 합니다.
과학의 눈부신 발전 가능성에 마음을 뺏겨
윤리가 뒷선으로 밀려서는 안 됩니다.
이 여정의 종점, 궁극적인 보상은
농업에서 의학, 에너지 산업, 재료공학, 심지어 컴퓨터 과학에 이르는
다양한 분야의 혁신적인 생산성 향상과
혁신적 응용 기술들이 될 겁니다.
언젠가는 지구 전체가
지속 가능한 친환경 에너지만으로 생활할지도 모릅니다.
식물들이 수백만년 전부터 하던 것처럼
기존의 태양광 패널과는 비교할 수 없는 효율로
태양에너지를 이용할 수 있다면요.
식물이 태양광을 그렇게 효과적으로 흡수하는
양자 간 상호작용을 기술하는 프로그램을 찾아내면
그 프로그램을 바꿔 써, 차세대 태양광 전지의 재료가 되는 물질의
DNA 합성 회로를 설계할 수 있을지도 모릅니다.
지금도 이 주제의 기초 연구를 진행 중인 과학자들이 있습니다.
적절한 지원과 투자가 뒷받침된다면
10년에서 15년 내에 실현될 수도 있습니다.
지금 우리는 한 기술 혁명의 시작점에 있습니다.
식물이 오래 전부터 수행해 온 생물학적 연산에 대한 이해는
이 혁명의 아주 중요한 첫 단계입니다.
이것이 실현된다면,
우리는 생체 소프트웨어를 구동하는
운영체제의 시대로 진입할 겁니다.
감사합니다.
(박수)
De tweede helft van de vorige eeuw werd volledig gekenmerkt
door een technologische revolutie:
de softwarerevolutie.
De mogelijkheid om elektronen in silicium te programmeren
liet technologieën, bedrijven en industrieën ontstaan
die toen voor velen van ons nog onvoorstelbaar waren,
maar die nu de aard van de wereld fundamenteel hebben veranderd.
Maar de eerste helft van deze eeuw
zal worden getransformeerd door een nieuwe softwarerevolutie:
de revolutie van levende software.
Die zal in staat zijn om biochemie te programmeren
op een materiaal dat we biologie heten.
Daardoor zullen we gebruik kunnen maken van de eigenschappen van de biologie
om nieuwe soorten therapieën te ontwerpen,
om beschadigd weefsel te herstellen,
defecte cellen te herprogrammeren
of zelfs biochemisch programmeerbare besturingssystemen te bouwen.
Als we dit kunnen realiseren -- en we moeten dit realiseren --
zal de impact ervan zo enorm zijn
dat de eerste softwarerevolutie erbij zal verbleken.
Levende software zou de geneeskunde namelijk helemaal veranderen,
en ook de landbouw en energiesector,
en deze sectoren overvleugelen veruit de sectoren gedomineerd door de IT.
Stel je programmeerbare planten voor die stikstof efficiënter fixeren
of nieuwe fungale pathogenen weerstaan,
of zelfs eenjarige gewassen tot doorlevende herprogrammeren
zodat je je jaarlijkse oogst zou kunnen verdubbelen.
Dat zou de landbouw hervormen
en onze groeiende wereldbevolking van voedsel voorzien.
Of stel je programmeerbare immuniteit voor
door het ontwerpen en inschakelen van moleculaire apparaten
die je immuunsysteem leren
om ziektes op te sporen, uit te roeien of zelfs te voorkomen.
Dit zou de geneeskunde hervormen
en onze toenemende en vergrijzende bevolking gezond houden.
We hebben al veel methodes om levende software te realiseren.
We kunnen met CRISPR genen precies bewerken.
We kunnen de genetische code base per base herschrijven.
We kunnen zelfs functionerende synthetische circuits bouwen uit DNA.
Maar uitzoeken hoe en wanneer deze tools te hanteren
is nog maar in het stadium van gissen en missen.
Er is diepgaande expertise en jaren van specialisatie nodig.
Experimentele protocollen zijn moeilijk te ontdekken
en maar al te vaak moeilijk te reproduceren.
In de biologie focussen we ons vaak op de details,
maar we weten toch dat iets als vliegen niet begrepen kan worden
door alleen maar veren te bestuderen.
Het programmeren van biologie gaat nog niet zo eenvoudig
als het programmeren van je computer.
Tot overmaat van ramp
lijken levende systemen grotendeels niet op de ontwikkelde systemen
die jullie en ik elke dag programmeren.
In tegenstelling tot technische systemen doen levende systemen aan zelfgeneratie,
zelforganisatie
en werken ze op moleculaire schaal.
Interacties op moleculair niveau
leiden over het algemeen tot een robuuste output op macroschaal.
Ze kunnen zelfs zelfreparatie aan.
Denk maar aan de nederige kamerplant
die thuis op je schoorsteenmantel staat
en die je vergat water te geven.
Ondanks je verwaarlozing moet die plant elke dag wakker worden
en uitzoeken hoe ze haar middelen zal benutten.
Zal ze groeien, aan fotosynthese doen, zaden produceren of bloeien?
Dat is een beslissing op het niveau van het hele organisme.
Maar een plant heeft geen hersens om dat allemaal uit te zoeken.
Ze moet het doen met de cellen op haar bladeren.
Die moeten reageren op de omgeving
en beslissingen nemen die de hele plant beïnvloeden.
Dus moet er in die cellen een of ander programma lopen,
een programma dat reageert op ingangssignalen
en bepaalt wat die cel zal doen.
Dan moet dat programma op een gedistribueerde manier werken
in individuele cellen,
zodat ze kunnen coördineren en de plant kan groeien en bloeien.
Als we deze biologische programma's konden begrijpen,
als we biologisch computeren begrepen,
konden we snappen
hoe en waarom cellen doen wat ze doen.
Want als we deze programma's begrepen,
konden we ze debuggen als er iets misgaat.
Of konden we van hen leren hoe synthetische circuits te ontwerpen
die de rekenkracht van de biochemie echt zouden benutten.
Mijn passie over dit idee leidde me naar een carrière in het onderzoek
op het raakpunt van wiskunde, informatica en biologie.
In mijn werk richt ik me op het concept van biologie als computerwerk.
Dat betekent uitzoeken wat cellen berekenen
en hoe deze bio-programma's te vinden.
Samen met enkele schitterende medewerkers begon ik me dat af te vragen
bij Microsoft Research en de Universiteit van Cambridge
waar we samen wilden begrijpen
hoe biologische programma’s verlopen in een uniek type cel:
een embryonale stamcel.
Deze cellen zijn uniek omdat ze helemaal naïef zijn.
Ze kunnen alles worden wat ze willen:
een hersencel, een hartcel, een botcel, een longcel,
elk type volwassen cel.
Deze naïviteit maakt ze speciaal,
maar dat ontstak ook de verbeelding van de wetenschappers,
die beseften dat als we dat potentieel konden aanboren,
we een krachtige medische tool zouden hebben.
Als we kunnen achterhalen hoe deze cellen beslissen
om een of ander type cel te zijn,
kunnen we dat misschien benutten
om cellen te genereren die ziek of beschadigd weefsel herstellen.
Maar die visie realiseren loopt niet van een leien dakje,
vooral omdat deze specifieke cellen
tot slechts zes dagen na de bevruchting ontstaan.
Na een paar dagen zijn ze weer weg.
Ze volgen dan de verschillende paden
die alle structuren en organen van je volwassen lichaam gaan uitmaken.
Maar nu blijkt het lot van cellen
veel plastischer te zijn dan we eerder dachten.
Ongeveer dertien jaar geleden vonden enkele wetenschappers iets revolutionairs.
Door het inbrengen van enkele genen in een volwassen cel,
zoals een huidcel,
kan je die cel terug naar de naïeve staat omvormen.
Het is een proces dat bekend staat als ‘herprogrammering’
en laat ons dromen van een stamcel-utopie,
waar je een staal van de eigen cellen van een patiënt kan nemen,
ze terug naar de naïeve staat kan transformeren
en ze gebruiken om de cellen te maken die de patiënt nodig heeft,
ongeacht het nu hersen- of hartcellen zijn.
Maar in de afgelopen tien jaar
bleef uitzoeken hoe het lot van de cel te veranderen
toch nog steeds een proces van gissen en missen.
Zelfs in gevallen waarin we succesvolle experimentele protocollen hebben ontdekt,
zijn ze nog steeds inefficiënt
en weten we niet hoe en waarom ze werken.
Als je vindt hoe je een stamcel in een hartcel kan veranderen,
vertelt je dat nog niets over hoe je een stamcel kan veranderen
in een hersencel.
Dus wilden we begrijpen hoe het biologische programma
in een embryonale stamcel verloopt.
Om de berekening te begrijpen die verloopt in een levend systeem
moet je beginnen met een uiterst simpele vraag:
wat moet dat systeem eigenlijk doen?
Nu heeft de informatica eigenlijk een set strategieën
om om te gaan met wat de software en de hardware moeten doen.
Wanneer je een programma of een stukje software schrijft,
wil je dat die software goed werkt.
Je wil prestaties, functionaliteit.
Je wil bugs voorkomen.
Die kunnen je duur komen te staan.
Wanneer iemand een programma schrijft,
kan hij een bestek maken.
Dat bepaalt wat je programma hoort te doen.
Misschien de grootte van twee getallen vergelijken
of ze ordenen naar grootte.
Technologie bestaat om automatisch na te gaan
of aan onze specificaties is voldaan,
of dat programma doet wat het moet doen.
Ons idee bestond erin om op dezelfde manier na te gaan
of experimentele waarnemingen, dingen die we meten in het lab,
beantwoorden aan specificaties
van wat het biologische programma moet doen.
We hoefden maar een manier te vinden
om deze nieuwe vorm van specificatie te coderen.
Stel dat je in het lab uitzocht wat je genen doen
en je ontdekte dat als gen A actief is,
gen B of gen C ook actief lijken te zijn.
We kunnen die observatie opschrijven als een wiskundige uitdrukking.
In de taal van de logica:
als A, dan B of C.
Nu is dit wel een heel eenvoudig voorbeeld, oké.
Alleen om het punt te illustreren.
Maar we kunnen echt rijke uitdrukkingen coderen
die het gedrag van meerdere genen of eiwitten in de tijd vastleggen
over meerdere verschillende experimenten.
Door onze observaties
zo in wiskundige vorm te gieten,
wordt het mogelijk om te testen of deze waarnemingen
al dan niet kunnen ontstaan
uit een programma van genetische interacties.
We ontwikkelden een tool om net dat te doen.
We konden deze tool gebruiken om waarnemingen te coderen
als wiskundige uitdrukkingen
en daardoor het genetische programma ontdekken
dat ze allemaal zou kunnen verklaren.
En dan passen we deze aanpak toe
om het genetische programma
in embryonale stamcellen zichtbaar te maken
om te zien of we kunnen begrijpen hoe die naïeve toestand te krijgen.
Deze tool was eigenlijk gebouwd
op een solver die routinematig wereldwijd wordt ingezet
voor conventionele softwareverificatie.
Dus begonnen we met een set van bijna 50 verschillende specificaties
gegenereerd uit experimentele waarnemingen van embryonale stamcellen.
Door het coderen van die waarnemingen in deze tool,
konden we het eerste moleculaire programma ontdekken
dat ze allemaal zou kunnen verklaren.
Dat is toch wel een prestatie op zich, niet?
Al die verschillende waarnemingen met elkaar verzoenen,
is niet iets dat je even doet op de achterkant van een envelop,
zelfs niet op een echt grote envelop.
Nu we dat begrepen, konden we een stap verder.
We kunnen dit gebruiken
om te voorspellen wat deze cel zou kunnen doen
in nieuwe omstandigheden.
We konden het programma in silico uittesten.
We deden precies dat:
we maakten voorspellingen die we testten in het lab
en we vonden dat dit programma een hoge voorspellende waarde had.
Het vertelde ons hoe we de voortgang konden versnellen
om snel en efficiënt naar de naïeve staat terug te keren.
Het vertelde ons op welke genen we ons moesten richten
en welke genen dit proces zelfs zouden kunnen hinderen.
We vonden zelfs dat het programma
de volgorde voorspelde waarin de genen inschakelden.
Deze benadering liet ons echt de dynamiek ontdekken
van wat de cellen doen.
Wat we hebben ontwikkeld, is geen methode die specifiek is voor stamcelbiologie.
Nee, ze stelt ons in staat te begrijpen
wat de cel aan berekeningen uitvoert
in de context van genetische wisselwerkingen.
Het is slechts één bouwsteen.
Het gebied moet dringend nieuwe methodes ontwikkelen
voor een breder begrip van biologische berekening
en wel op verschillende niveaus,
vanaf DNA tot aan de informatiestroom tussen cellen.
Alleen dit soort transformatief begrip
zal ons toelaten om de biologie
op een voorspelbare en betrouwbare manier te benutten.
Maar om biologie te programmeren, is ook de ontwikkeling nodig
van tools en talen
waarmee zowel experimentalisten als computationele wetenschappers
biologische functies kunnen ontwerpen
en dan die ontwerpen vertalen naar het machinecodeniveau van de cel,
haar biochemie,
zodat we vervolgens die structuren kunnen bouwen.
Dat lijkt wel een samensteller van levende software
en ik ben trots deel te zijn van een team van Microsoft
dat werkt aan de ontwikkeling daarvan.
Dat het een grote uitdaging is, is wel een understatement,
maar eens gerealiseerd,
zou het de laatste brug zijn tussen software en wetware.
Biologieprogrammering zal echter alleen maar mogelijk worden
als we het gebied echt interdisciplinair kunnen maken.
De wetenschappen van de fysica en het leven moeten we verbinden
en wetenschappers uit elk van deze disciplines
moeten kunnen samenwerken met gemeenschappelijke talen
en gedeelde wetenschappelijke vragen.
Uiteindelijk moeten we beseffen dat veel van de grote softwarebedrijven
en de technologie waarmee wij dagelijks werken,
nauwelijks voorstelbaar was
toen we voor het eerst programmeerden op silicium microchips.
Nu we gaan nadenken over de technologische mogelijkheden
van de computationele biologie,
zien we een aantal van de stappen die we moeten nemen
om dat te realiseren.
Nu is er de ontnuchterende gedachte dat van dit soort technologie
misbruik gemaakt kan worden.
Als we willen praten over de mogelijkheden
van immuuncellen programmeren,
moeten we ook bedenken
dat we bacteriën kunnen ontwerpen om ze ontwijken.
Er kunnen mensen zijn die dat zouden willen doen.
Een geruststellende gedachte is
dat -- nou ja, minder voor de wetenschappers --
is dat biologie een fragiel ding is om mee te werken.
Biologie programmeren is niet iets
dat je in je tuinhuisje gaat doen.
Omdat we aan het begin hiervan staan,
kunnen we verder gaan met onze ogen wijd open.
We kunnen vooraf de moeilijke vragen stellen,
de nodige waarborgen instellen
en gecombineerd hiermee nadenken over onze ethiek.
We moeten nadenken over het trekken van grenzen
voor het implementeren van biologische functies.
Als onderdeel hiervan zal onderzoek in de bio-ethiek prioritair moeten zijn.
Ze mag niet op de tweede plaats komen
in de opwinding over de wetenschappelijke innovatie.
Maar de ultieme prijs, de ultieme bestemming op deze reis,
zouden baanbrekende toepassingen en baanbrekende industrieën zijn
op het gebied van landbouw, geneeskunde, energie en materialen,
en zelfs van het computeren.
Stel dat we ooit de planeet duurzaam konden voorzien van ultieme groene energie
als we iets zouden kunnen nabootsen wat planten millennia geleden al uitvonden:
hoe zonne-energie te benutten met een rendement
dat buiten het bereik ligt van onze huidige zonnecellen.
Als we het programma begrepen van de kwantuminteracties
die planten het zonlicht zo efficiënt laten absorberen,
konden we dat vertalen in de bouw van synthetische DNA-circuits
die een materiaal vormen voor betere zonnecellen.
Er zijn nu teams en wetenschappers die aan de fundamenten hiervan werken.
Met de juiste aandacht en de juiste investeringen,
zou het in 10 of 15 jaar kunnen worden gerealiseerd.
We staan dus aan het begin van een technologische revolutie.
Inzicht in deze oude soort van biologische berekening
is de cruciale eerste stap.
Als we dit kunnen realiseren,
zouden we het tijdperk betreden van een besturingssysteem
dat levende software draait.
Veel dank.
(Applaus)
A segunda metade do século passado
foi definida por uma revolução tecnológica:
a revolução do "software".
A capacidade de programar eletrões num material chamado silício
viabilizou tecnologias, empresas e indústrias
que eram inimagináveis para muitos de nós,
mas que vieram alterar a forma como o mundo funciona.
Contudo, a primeira metade deste século
vai ser transformada por uma nova revolução de "software":
a revolução de "software" vivo,
potenciada pela capacidade de programar a bioquímica
num material chamado biologia.
Quando o fizermos, poderemos aproveitar as propriedades da biologia
para gerar novos tipos de terapias,
para reparar tecidos danificados,
para reprogramar células defeituosas
ou até construir sistemas operativos programáveis a partir da bioquímica.
Se conseguirmos fazê-lo — e temos de o conseguir —
o seu impacto será de tal dimensão
que a primeira revolução de "software" será quase irrelevante em comparação,
porque o "software" vivo irá transformar toda a medicina,
a agricultura e a energia,
e estes são os setores que fazem as áreas dominadas pela TI parecerem pequenas.
Pensem em plantas programáveis que fixam o azoto de forma mais eficaz
ou resistem a agentes patogénicos fúngicos emergentes
ou pensem em programar as colheitas para serem perenes em vez de anuais
para poderem duplicar a produção anual.
Isso irá transformar a agricultura
e a forma como alimentamos a nossa população crescente.
Pensem em imunidade programável,
poder desenhar e aproveitar dispositivos moleculares que guiam o sistema imunitário
para detetar, erradicar e até evitar doenças.
Isso irá transformar a medicina
e a forma como mantemos saudável a crescente população envelhecida.
Já temos muitas das ferramentas que tornam possível o "software" vivo,
Podemos editar genes com precisão com o CRISPR.
Podemos reescrever o código genético uma base de cada vez.
Até podemos criar circuitos sintéticos que funcionam a partir do ADN.
Mas perceber como e quando manejar estas ferramentas
ainda é um processo de tentativa e erro.
É necessário um conhecimento profundo e anos de especialização.
É difícil descobrir protocolos experimentais
e, muito frequentemente, difíceis de reproduzir.
Em biologia, temos a tendência de nos focarmos muito nas partes,
mas todos sabemos que não é a estudar penas
que aprendemos a voar.
Programar biologia ainda não é tão simples como programar um computador
E, para piorar a situação,
os sistemas vivos não se parecem com os sistemas artificiais
que todos nós programamos, todos os dias.
Ao contrário dos sistemas artificiais,
os sistemas vivos geram-se e auto-organizam-se, automaticamente,
funcionam à escala molecular.
Estas interações, a nível molecular,
produzem, geralmente, resultados à escala macroscópica.
Podem até autorreparar-se.
Pensem, por exemplo, na humilde planta doméstica
como a da lareira lá de casa,
que nos esquecemos sempre de regar.
A planta tem de acordar todos os dias, apesar da nossa negligência,
e perceber como distribuir os seus recursos.
Vai crescer, fazer fotossíntese, produzir sementes ou flores?
Uma decisão que tem de ser feita ao nível de todo o organismo.
Mas a planta não tem um cérebro para controlar isso tudo.
Tem de fazê-lo com as células das folhas.
Elas têm de reagir ao meio envolvente
e tomar decisões que afetam toda a planta.
De qualquer forma, tem de existir um programa dentro dessas células,
um programa que reage aos sinais e informações exteriores
e determinam como a célula vai agir.
Então, esses programas devem operar de forma distribuída
por cada uma das células,
para se poderem coordenar e a planta poder crescer e florir.
Se entendermos estes programas biológicos,
se conseguirmos entender a informática biológica
transformaremos a forma como entendemos
a forma e a razão por que as células fazem o que fazem.
Porque, se entendermos estes programas
poderemos depurá-los quando uma coisa corre mal.
Ou poderemos aprender como conceber os circuitos sintéticos
que exploram o poder informático da bioquímica.
A minha paixão por esta área levou-me a uma carreira em investigação
na interseção da matemática, das ciências computacionais e da biologia.
No meu trabalho, concentro-me no conceito de biologia, enquanto informática.
Isso significa entender como é que as células calculam,
e como podemos descobrir estes programas biológicos.
Comecei a fazer estas perguntas juntamente com colaboradores brilhantes
da Microsoft Research e da Universidade de Cambridge.
Queríamos entender
o programa biológico de um tipo único de célula:
uma célula estaminal embrionária.
Estas células são únicas porque são totalmente ingénuas.
Podem transformar-se em tudo o que quiserem:
um neurónio, uma célula do coração, de um osso, do pulmão,
qualquer tipo de célula adulta.
Esta simplicidade distingue-as das outras células,
mas também captou a imaginação da comunidade cientifica,
que entendeu que, se pudéssemos utilizar esse potencial,
teríamos uma ferramenta muito poderosa para a medicina.
Se conseguirmos descobrir como estas células decidem
tornarem-se determinado tipo de célula,
poderemos utilizar essa informação
para gerar as células necessárias
para reparar tecidos mortos ou danificados.
Mas chegar aí tem os seus problemas.
até porque estas células
só aparecem seis dias depois da conceção
e ao fim de um dia desaparecem.
Ativaram os diferentes caminhos
que formam todas as estruturas e órgãos do corpo adulto.
Mas os destinos das células são muito mais plásticos
do que imaginávamos.
Há 13 anos cientistas mostraram uma coisa revolucionária.
Ao inserir alguns genes numa célula adulta,
por exemplo, numa célula da pele,
é possível transformar essa célula devolvendo-lhe o estado ingénuo.
É um processo conhecido como ''reprogramação'',
e permite-nos imaginar um tipo de utopia das células tronco,
a capacidade de agarrar numa amostra das células do paciente,
devolver-lhes o estado simples
e utilizar essas células para fazer aquilo de que o paciente precisa,
sejam células cerebrais ou células cardíacas.
Mas, durante a década passada,
descobrir como mudar o destino de uma célula
ainda é um processo de tentativa e erro.
Mesmo nos casos em que descobrimos protocolos experimentais de sucesso
eles ainda não são eficazes
e falta-nos a compreensão fundamental de como funcionam e porquê.
Se descobrirmos como transformar uma célula tronco numa célula cardíaca,
isso não nos diz como transformar uma célula tronco numa célula cerebral.
Então, nós queríamos perceber o programa biológico
que funciona no interior de uma célula tronco embrionária
e entender o processamento realizado por um sistema vivo,
começando com uma pergunta extremamente simples:
O que é que este sistema tem de fazer?
A informática, atualmente, tem uma série de estratégias
para lidar com o que o "software" e o "hardware" têm de fazer.
Quando escrevemos um programa ou codificamos um "software",
queremos que o "software" funcione corretamente.
Queremos desempenho, funcionalidade.
Queremos evitar defeitos que podem custar caro.
Por isso, quando se escreve um programa,
é preciso escrever um conjunto de especificações.
É o que o nosso programa deve fazer.
Talvez possa comparar o tamanho de dois números
ou ordenar números por ordem crescente.
Há tecnologias que nos permitem verificar automaticamente
se as nossas especificações estão a ser obedecidas,
se esse programa está a fazer aquilo que deve fazer.
Portanto, a nossa ideia era no mesmo sentido,
observações experimentais, coisas que possamos medir no laboratório,
que correspondam às especificações do que o programa biológico deve fazer.
Só precisávamos de imaginar uma forma
de codificar este novo tipo de especificações.
Digamos que temos trabalhado no laboratório a medir os genes
e descobrimos que, se o gene A está ativo,
o gene B ou o gene C parece estar ativo.
Podemos anotar essa observação como uma expressão matemática,
se pudermos usar a linguagem da lógica:
Se A, então B ou C.
Ora bem, este é um exemplo muito simples.
É só para ilustrar o ponto de vista.
Podemos codificar expressões complexas
que captam o comportamento de múltiplos genes ou proteínas,
ao longo do tempo,
através de múltiplas experiências diferentes.
Ao traduzirmos as nossas observações
em expressões matemáticas,
torna-se possível testar se estas observações aparecem ou não,
a partir de um programa de interações genéticas.
Desenvolvemos uma ferramenta para fazer isto.
Conseguimos usar esta ferramenta para codificar observações
sob a forma de expressões matemáticas
e depois, essa ferramenta ajudar-nos-á a descodificar o programa genético
que pode explicar tudo isso.
Depois, aplicamos esta abordagem
para descobrir o programa genético no interior das células tronco
para ver se podemos compreender como induzir esse estado simples.
Essa ferramenta já foi construída
num solucionador distribuído por todo o mundo
para verificação de "software" convencional.
Começámos com um conjunto de quase 50 especificações diferentes
que gerámos a partir de observações experimentais de células tronco.
Ao codificar essas observações nesta ferramenta,
conseguimos descobrir o primeiro programa molecular
que pode explicar tudo isso.
Isto é uma façanha, só por si, não acham?
Conseguir reconciliar todas essas observações diferentes
não é o tipo de coisa que possamos fazer no verso de um envelope,
mesmo que esse envelope seja muito grande.
Como obtivemos este tipo de compreensão,
conseguimos dar mais um passo em frente.
Pudemos usar este programa para prever o que esta célula pode fazer
em condições em que não a tínhamos testado.
Conseguimos realizar uma experiência virtual.
Fizemos isso:
Gerámos previsões que testámos no laboratório,
e descobrimos que este programa era extremamente preditivo.
Disse-nos como podíamos acelerar o progresso
até ao estado ingénuo, de forma rápida e eficaz.
Disse-nos quais os genes a visar para fazer isso,
quais os genes que podiam impedir esse processo.
O programa até conseguiu prever a ordem por que os genes deviam ser ativados.
Esta abordagem permitiu-nos descobrir a dinâmica
do que as células estão a fazer.
Desenvolvemos um método que não é específico para as células tronco.
Pelo contrário, permite-nos perceber os cálculos
que a célula realiza,
no contexto das interações genéticas.
É de facto um bloco de construção.
Precisamos urgentemente de desenvolver novas abordagens
para perceber a informática biológica mais amplamente
e a diferentes níveis,
do ADN ao fluxo de informações entre as células.
Só este tipo de compreensão transformativa
nos permitirá dominar a biologia de formas previsíveis e fiáveis.
Mas, para programar biologia também é necessário desenvolver
o tipo de ferramentas e de linguagens
que permita que os cientistas investigadores e informáticos
concebam a função biológica
e compilem essas conceções na máquina codificadora da célula,
a sua bioquímica,
para podermos criar essas estruturas.
É uma coisa semelhante a um compilador de "software" vivo
e tenho orgulho em fazer parte duma equipa na Microsoft
que está a trabalhar para desenvolver uma.
Embora seja um eufemismo dizer que é um grande desafio,
se for realizado,
será a ponte final entre "software" e "wetware".
Mais amplamente, a programação da biologia só vai ser possível
se conseguirmos transformar esta área numa coisa interdisciplinar.
É preciso criar a ponte entre as ciências físicas e as da vida.
e cientistas de cada uma destas disciplinas
precisam de poder trabalhar juntos com uma linguagem comum
e ter as mesmas perguntas científicas.
A longo prazo, vale a pena recordar que as grandes empresas de "software"
e a tecnologia com que todos nós trabalhamos todos os dias
dificilmente teria sido imaginada
na época em que começámos a programar nos "microchips" de silício.
Se começarmos hoje a pensar no potencial da tecnologia
capacitada pela biologia computacional,
veremos alguns desses passos que precisamos de dar
para tornar isso numa realidade.
Há um pensamento sóbrio
de que este tipo de tecnologia pode estar aberto a um mau uso.
Se quisermos falar do potencial
da programação das células imunitárias,
também devemos pensar no potencial das bactérias
trabalhada para impedir isso.
Pode haver pessoas dispostas a fazer isso.
Um pensamento tranquilizador
é que — um pouco menos para os cientistas —
é que a biologia é uma coisa frágil com que podemos trabalhar.
Por isso, programar a biologia não vai ser uma coisa
que se possa fazer no barracão do jardim.
Mas, como estamos no início,
podemos avançar de olhos bem abertos.
Podemos fazer as perguntas difíceis
podemos implementar as necessárias salvaguardas
e, dentro desse âmbito, temos de pensar na ética.
Temos de pensar em colocar limites
na implementação da função biológica.
A investigação na bioética terá de ser uma prioridade.
Não pode ser relegada para segundo plano
na excitação da inovação científica.
Mas o prémio supremo, o destino supremo deste percurso,
serão as aplicações revolucionárias e as indústrias revolucionárias
em áreas da agricultura à medicina, à energia e aos materiais
e até à própria informática.
Imaginem, um dia podemos estar a alimentar a sustentabilidade do planeta
em relação à energia verde
se pudermos reproduzir uma coisa que as plantas descobriram há milénios:
como aproveitar a energia do Sol com uma eficácia sem paralelo
pelas nossas células solares.
Se compreendermos esse programa de interações "quantum"
que permitem que as plantas absorvam a luz solar de modo tão eficaz,
conseguiremos traduzir isso em circuitos de ADN sintético
que oferecem o material para as melhores células solares.
Há equipas e cientistas a trabalhar nas bases disto, neste momento,
portanto, se dermos a atenção adequada e o investimento adequado,
talvez isso possa acontecer dentro de 10 a 15 anos.
Estamos no início duma revolução tecnológica.
Compreender este antigo tipo de informática biológica
é o primeiro passo fundamental.
Se conseguirmos percebê-lo,
entraremos na era de um sistema operativo
que opera um "software" vivo.
Muito obrigada.
(Aplausos)
A segunda metade do século passado foi completamente definida
por uma revolução tecnológica:
a revolução do software.
A capacidade de programar elétrons em um material chamado silício
possibilitou tecnologias, empresas e indústrias
que eram, em algum momento, inimagináveis para muitos de nós,
mas que, agora, mudaram fundamentalmente a maneira como o mundo funciona.
Porém a primeira metade deste século
será transformada por uma nova revolução de software:
a revolução do software vivo.
Ela será movida pela capacidade de programar a bioquímica
em um material chamado biologia.
Isso nos permitirá aproveitar as propriedades da biologia
para gerar novos tipos de terapias,
reparar tecidos danificados,
reprogramar células defeituosas
ou até construir sistemas operacionais programáveis a partir da bioquímica.
Se conseguirmos perceber isso, e precisamos perceber,
o impacto será tão grande
que a primeira revolução do software perderá importância na comparação.
Isso ocorre porque o software vivo transformaria toda a medicina,
agricultura e energia,
que são setores que diminuem aqueles dominados pela TI.
Imaginem plantas programáveis que fixam o nitrogênio de maneira mais eficaz
ou resistem a patógenos fúngicos emergentes,
ou até mesmo programar as safras para serem perenes, em vez de anuais,
para que a produção seja duplicada a cada ano.
Isso transformaria a agricultura
e o modo como manteremos alimentada nossa crescente população global.
Ou imaginem uma imunidade programável,
o projeto e o aproveitamento de dispositivos moleculares
que guiam o sistema imunológico
para detectar, erradicar, ou até mesmo prevenir doenças.
Isso transformaria a medicina
e o modo como manteremos saudável nossa crescente população de idosos.
Já temos muitas das ferramentas
que tornarão o software vivo uma realidade.
Podemos editar genes com precisão usando o CRISPR,
reescrever o código genético uma base por vez
e até construir circuitos sintéticos funcionais a partir do DNA.
Mas descobrir como e quando usar essas ferramentas
ainda é um processo de tentativa e erro.
Requer conhecimento profundo e anos de especialização.
Protocolos experimentais são difíceis de descobrir
e frequentemente difíceis de reproduzir.
Na biologia, temos a tendência de focar muito as partes,
mas todos sabemos que algo como voar
não seria entendido apenas pelo estudo das penas.
Programar biologia não é tão simples quanto programar um computador.
Para piorar a situação,
sistemas vivos não têm grande semelhança com sistemas de engenharia
que programamos todos os dias.
Ao contrário de sistemas de engenharia, sistemas vivos se autogeram,
se auto-organizam,
operam em escalas moleculares.
Essas interações de nível molecular
levam geralmente a resultados robustos em macroescala.
Esses sistemas conseguem até mesmo se autocorrigirem.
Considerem, por exemplo, a humilde planta doméstica,
como aquela de sua casa,
que você se esquece de regar.
Todos os dias, apesar de sua negligência, essa planta precisa acordar
e descobrir como alocar seus recursos.
Ela crescerá, fará fotossíntese, produzirá sementes ou flores?
Essa é uma decisão que deve ser tomada no nível de todo o organismo.
Mas uma planta não tem cérebro para tomar decisões.
Ela tem que se virar com as células de suas folhas,
que precisam reagir ao meio ambiente
e tomar as decisões que afetam toda a planta.
De alguma forma, deve haver um programa em execução dentro dessas células,
que responde às pistas e aos sinais de entrada
e modela o que essa célula fará.
Depois, esses programas devem operar de modo distribuído
entre células individuais
para que possam se coordenar
e para que essa planta consiga crescer e florescer.
Se conseguíssemos entender esses programas biológicos
e a computação biológica,
isso transformaria nossa capacidade de entender como e por que
as células fazem o que fazem.
Porque, se entendêssemos esses programas, poderíamos detectar e eliminar erros.
Ou poderíamos aprender com eles a projetar o tipo de circuitos sintéticos
que realmente exploram o poder computacional da bioquímica.
Minha paixão por essa ideia me levou a uma carreira de pesquisa
em matemática, biologia e ciência da computação.
Em meu trabalho, eu me concentro no conceito de biologia como computação.
Isso significa perguntar o que as células computam,
e como podemos descobrir esses programas biológicos.
Comecei a fazer essas perguntas com alguns colaboradores geniais
da Microsoft Research e da Universidade de Cambridge,
onde, juntos, queríamos entender
o programa biológico em execução dentro de um tipo único de célula:
uma célula-tronco embrionária.
Essas células são únicas porque são totalmente simples.
Elas conseguem se transformar no que quiserem:
uma célula cerebral, cardíaca, óssea, pulmonar,
qualquer tipo de célula adulta.
Essa simplicidade as diferencia,
mas também estimula a imaginação da comunidade científica,
que percebeu que, se conseguíssemos aproveitar esse potencial,
teríamos uma ferramenta poderosa para a medicina.
Se conseguíssemos descobrir como essas células decidem
se tornar um tipo de célula ou outra,
poderíamos aproveitá-las para gerar células necessárias
para reparar tecidos doentes ou danificados.
Mas perceber que essa visão não está isenta de desafios,
principalmente porque essas células específicas
surgem apenas seis dias após a concepção
e, cerca de um dia depois, elas se foram.
Seguiram os diferentes caminhos
que formam todas as estruturas e órgãos do corpo adulto.
Mas acontece que o destino das células é muito mais plástico
do que poderíamos imaginar.
Cerca de 13 anos atrás, alguns cientistas mostraram algo realmente revolucionário.
Ao introduzir apenas um punhado de genes em uma célula adulta,
como uma das células da pele,
podemos transformar essa célula de volta ao estado simples.
É um processo conhecido como "reprogramação",
que nos permite imaginar um tipo de utopia de células-tronco:
a capacidade de coletar uma amostra das células de um paciente,
transformá-las de volta ao estado simples
e usá-las para fazer o que o paciente precisar,
sejam células cerebrais ou cardíacas.
Mas, ao longo da última década,
descobrir como mudar o destino das células
ainda é um processo de tentativa e erro.
Mesmo nos casos em que descobrimos protocolos experimentais bem-sucedidos,
eles ainda são ineficientes,
e nos falta um entendimento fundamental de como e por que eles funcionam.
Descobrir como transformar uma célula-tronco em uma cardíaca
não dirá como transformar uma célula-tronco
em uma célula cerebral.
Queríamos entender
o programa biológico em execução dentro de uma célula-tronco embrionária.
O entendimento da computação realizada por um sistema vivo
começa por uma pergunta incrivelmente simples:
"O que esse sistema realmente precisa fazer?"
A ciência da computação tem um conjunto de estratégias
para lidar com o que o software e o hardware estão destinados a fazer.
Ao escrever um programa, você codifica um software,
e quer que ele seja executado corretamente.
Você quer desempenho, funcionalidade.
Quer evitar erros,
que podem lhe custar muito.
Quando um desenvolvedor programa,
ele poderia anotar uma série de especificações
que o programa deveria fazer.
Talvez deveria comparar o tamanho de dois números
ou ordená-los de forma crescente.
A tecnologia nos permite verificar automaticamente
se nossas especificações são atendidas,
se o programa faz o que deveria fazer.
Então, nossa ideia era que, do mesmo modo,
as observações experimentais, que avaliamos no laboratório,
correspondam às especificações do que o programa biológico deveria fazer.
Só precisávamos descobrir uma forma
de codificar esse novo tipo de especificação.
Digamos que você estivesse ocupado no laboratório avaliando seus genes
e descobrisse que, se o gene A está ativo,
então o gene B ou C parece estar ativo.
Podemos anotar essa observação como uma expressão matemática
se pudermos usar a linguagem da lógica:
se A, então B ou C.
Esse é um exemplo muito simples,
apenas para exemplificar a questão.
Podemos codificar expressões muito ricas
que capturam o comportamento de múltiplos genes ou proteínas ao longo do tempo
através de vários experimentos diferentes.
Assim, ao traduzir nossas observações
em expressão matemática dessa forma,
é possível testar se essas observações podem ou não surgir
de um programa de interações genéticas.
Desenvolvemos uma ferramenta para fazer exatamente isso.
Conseguimos utilizá-la para codificar observações
como expressões matemáticas,
e essa ferramenta nos permitia descobrir o programa genético
que poderia explicar todas elas.
Em seguida, aplicamos essa abordagem para descobrir
o programa genético em execução dentro das células-tronco embrionárias
para ver se conseguíamos entender como induzir aquele estado simples.
Essa ferramenta, na verdade, foi construída
num solucionador implantado frequentemente no mundo todo
para verificação de software convencional.
Começamos com um conjunto de quase 50 especificações diferentes
que geramos a partir de observações experimentais
de células-tronco embrionárias.
Ao codificar essas observações nessa ferramenta,
conseguimos descobrir o primeiro programa molecular
que poderia explicar todas elas.
Isso por si só é uma façanha.
Conseguir conciliar todas essas observações diferentes
não é o tipo de coisa que se pode fazer no verso de um envelope,
mesmo que ele seja muito grande.
Com esse tipo de entendimento, poderíamos dar um passo adiante
e usar esse programa para prever o que essa célula podia fazer
em condições que ainda não havíamos testado.
Poderíamos examinar o programa por meio de simulações.
Foi o que fizemos:
geramos previsões, que testamos no laboratório,
e descobrimos que esse programa era altamente preditivo.
Ele informava como poderíamos acelerar o progresso
de volta ao estado simples de maneira rápida e eficiente,
quais genes selecionar para fazer isso
e quais deles até podem dificultar esse processo.
Até descobrimos que o programa previa a ordem na qual os genes seriam ativados.
Essa abordagem nos permitiu descobrir a dinâmica
do que as células estão fazendo.
Não desenvolvemos um método específico para a biologia de células-tronco.
Em vez disso, esse método permite entender a computação realizada pela célula
no contexto de interações genéticas.
É apenas um componente básico.
A área precisa desenvolver, com urgência, novas abordagens
para entender a computação biológica de modo mais amplo e em níveis diferentes,
desde o DNA até o fluxo de informações entre as células.
Somente esse tipo de entendimento transformador
nos permitirá aproveitar a biologia de maneiras previsíveis e confiáveis.
Mas, para programar a biologia,
também precisaremos desenvolver os tipos de ferramentas e linguagens
que permitam aos experimentalistas e aos cientistas da computação
projetar funções biológicas,
e que esses projetos sejam compilados até o código de máquina da célula,
sua bioquímica,
para que possamos, então, construir essas estruturas.
Isso é algo semelhante a um compilador de software vivo,
e me orgulho de fazer parte
de uma equipe da Microsoft que trabalha para desenvolver um.
Embora seja um eufemismo dizer que é um grande desafio,
a sua realização
seria a ponte final entre o software e o cérebro humano.
Mais amplamente, porém, a programação da biologia só será possível
se pudermos transformar a área em algo verdadeiramente interdisciplinar.
Precisamos relacionar as ciências físicas e a vida,
e os cientistas de cada uma dessas disciplinas
precisam conseguir trabalhar juntos com linguagens comuns
e compartilhar questões científicas.
A longo prazo, vale lembrar que muitas das empresas gigantes de software
e a tecnologia com a qual trabalhamos todos os dias
dificilmente poderiam ser imaginadas
quando começamos a programar em microchips de silício.
Se começarmos agora a pensar
no potencial da tecnologia possibilitada pela biologia computacional,
veremos alguns dos passos que precisamos seguir pelo caminho
para torná-la realidade.
É desanimador pensar que esse tipo de tecnologia
pode estar aberto ao uso indevido.
Se quisermos falar sobre o potencial de programar células imunológicas,
também devemos pensar no potencial de bactérias projetadas para evitá-las.
Pode haver pessoas dispostas a fazer isso.
Um pensamento animador a respeito,
menos para os cientistas,
é a fragilidade do trabalho com a biologia.
Programar biologia não será algo que você fará no galpão do quintal.
Mas, como estamos no início,
podemos avançar com os olhos bem abertos.
Podemos fazer as perguntas difíceis com antecedência,
pôr em prática as proteções necessárias
e, como parte disso, teremos que pensar em nossa ética.
Teremos que pensar em colocar limites na implementação da função biológica.
Como parte disso, a pesquisa em bioética terá que ser uma prioridade.
Não pode ser relegada ao segundo plano
na empolgação da inovação científica.
Mas o prêmio final, o destino final dessa jornada,
seriam aplicações e indústrias inovadoras
em áreas como agricultura, medicina, energia e materiais
e até a própria computação.
Imaginem, um dia, podermos alimentar o planeta de modo sustentável
com a energia verde final,
se pudéssemos imitar algo que as plantas descobriram há milênios:
como aproveitar a energia do Sol com uma eficiência sem paralelo
por nossas células solares atuais.
Se entendêssemos esse programa de interações quânticas
que permitem que as plantas absorvam a luz do Sol com tanta eficiência,
poderíamos traduzir isso na construção de circuitos de DNA sintético
que oferecessem o material para células solares melhores.
Há equipes e cientistas trabalhando nos fundamentos disso neste momento.
Se talvez recebessem a atenção e o investimento adequados,
isso poderia ocorrer em 10 ou 15 anos.
Estamos no início de uma revolução tecnológica.
Compreender esse tipo antigo de computação biológica
é o primeiro passo decisivo.
Se pudermos perceber isso,
entraremos na era de um sistema operacional
que executa software vivo.
Muito obrigada.
(Aplausos)
Вторая половина XX века была полностью определена
технологической революцией:
революцией программного обеспечения.
Возможность программирования электронов на кремниевых материалах
дала начало таким технологиям, компаниям и индустриям,
которые многие из нас не могли себе даже представить,
но которые уже полностью изменили нашу жизнь.
Однако первая половина нынешнего столетия
будет изменена революцией нового программного обеспечения:
революцией программного обеспечения живых систем.
Это возможно посредством биохимического программирования
на биологических материалах.
Это позволит нам использовать биологические свойства
для создания новых видов терапии,
восстановления повреждённых тканей,
перепрограммирования неисправных клеток
или даже создания программируемых операционных систем с помощью биохимии.
Если мы это поймём, а нам нужно это понять,
влияние новой технологии будет настолько огромным,
что по сравнению с ней первая программная революция будет ничтожна.
Потому что революция живого ПО перевернёт всю медицину,
сельское хозяйство и энергетику,
и это секторы перегоняют те, в которых доминируют IT-технологии.
Представьте себе программируемые растения, фиксирующие азот более эффективно
или противостоящие возникающим грибковым патогенам,
или даже модификацию урожая в многолетний вместо годичного,
чтобы вы смогли каждый год удваивать свой урожай.
Это изменит сельское хозяйство
и то, как мы будем кормить растущее мировое население.
Или же представьте себе программируемый иммунитет:
созданные и использующиеся молекулярные устройства, благодаря которым иммунитет
распознаёт, уничтожает или даже предотвращает болезни.
Это изменит медицину
и то, как мы будем поддерживать здоровье растущего и стареющего населения.
У нас уже есть много инструментов для осуществления ПО живых систем.
Мы можем редактировать гены с помощью CRISPR.
Мы можем переписывать генетический код
по одному нуклеотиду зараз.
Мы даже можем создавать функционирующие синтетические цепи из ДНК.
Мы ещё не знаем, как с этим обращаться:
мы всё ещё идём по пути проб и ошибок,
и для этого требуются глубокие знания и годы специализации.
А экспериментальные закономерности трудно обнаружить
и ещё чаще трудно воспроизвести.
Биологи обычно сосредоточиваются на отдельных частях,
но мы все понимаем, что нельзя понять полёт,
изучая только перья.
Поэтому биопрограммирование сложнее компьютерного программирования.
Более того,
живые системы в основном непохожи на инженерные системы,
разрабатываемые нами ежедневно.
По сравнению с инженерными, живые системы самогенерируемы,
они самоорганизованы
и работают на молекулярном уровне.
И эти молекулярные взаимодействия
приводят к надёжному результату на макроуровне.
Они могут даже самовосстанавливаться.
Представьте себе, например, скромное домашнее растение,
как то, что стоит у вас на камине,
которое вы забываете поливать.
Каждый день, несмотря на вашу забывчивость, растению нужно проснуться
и понять, как распределить свои ресурсы.
Будет ли оно расти, фотосинтезировать, давать семена или цвести?
И это решение должно быть принято на уровне всего организма.
Но у растения нет мозга, чтобы обо всём этом думать.
Ему приходится обходиться клетками листьев.
Они должны среагировать на среду
и принять решение, которое затронет всё растение.
Должна быть какая-то программа, которая работает внутри этих клеток,
которая отвечает на входящие сигналы
и определяет дальнейшее действие клетки.
Затем эти программы должны распределиться
по отдельным клеткам,
чтобы те скоординировались, а растение смогло расти и цвести.
Если мы поймём работу этих биологических программ,
если мы поймём биопрограммирование,
это перевернёт наше понимание того, как и почему
клетки делают то, что они делают.
Потому что, если мы поймём эти программы,
мы сможем исправлять их при необходимости.
Или же они могли бы научить нас проектировать синтетические цепи,
использующие вычислительную мощь биохимии в полной мере.
Увлечённость этой идеей привела меня к научной карьере
на стыке математики, компьютерных технологий и биологии.
В своей работе я фокусируюсь на концепции о том,
что биология — это вычислительные операции.
Отсюда возникает вопрос: что же вычисляют клетки,
и как мы можем выявлять, как работают эти биологические программы?
Я начала задавать эти вопросы вместе со своими замечательными коллегами
в Microsoft Research и Кембриджском университете.
Мы все хотели разобраться
в биологической программе, выполнямой в уникальных клетках —
это эмбриональные стволовые клетки.
Они уникальны, потому что совершенно «наивны».
Они могут стать любой другой клеткой:
клеткой мозга, сердца, костной ткани, лёгкого,
любой клеткой взрослого человека.
«Наивность» является их отличительной чертой,
но она поразила воображение научного сообщества,
осознавшего потенциал этих клеток
для использования в медицине.
Если мы поймём, как такие клетки принимают решение
стать тем или иным типом клеток,
мы могли бы использовать их
для генерирования клеток, нужных для замены повреждённых тканей.
Но при осуществлении этой идеи возникают проблемы,
во многом потому, что эти клетки
образуются всего лишь через шесть дней после зачатия.
А затем примерно за один день исчезают.
Они расходятся в разных направлениях,
формирующих структуру и органы взрослого организма.
Но оказывается, что судьба клеток более пластична,
чем мы это себе представляли.
Около 13 лет назад учёные показали нечто по-настоящему революционное.
Вживив всего несколько генов во взрослую клетку,
например, в эпителиальную клетку,
можно вернуть эту клетку обратно в «наивное» состояние.
Такой процесс называется «перепрограммированием».
Он позволяет нам представить себе своего рода утопию стволовых клеток,
возможность взять образец клеток пациента,
вернуть их в «наивное» состояние
и использовать их для пациента,
в каких бы клетках он ни нуждался — мозга или сердца.
Но в последнее десятилетие
изменение предназначения клетки
всё так же остаётся процессом проб и ошибок.
Даже в тех случаях, когда мы выработали успешные экспериментальные инструкции,
они по-прежнему неэффективны,
и у нас нет фундаментальных знаний о том, как и почему они работают.
Если вы выяснили, как превратить стволовую клетку в клетку сердца,
это не значит, что вы также можете превратить стволовую клетку
в клетку мозга.
Поэтому мы хотели понять биологический процесс,
протекающий внутри эмбриональных стволовых клеток,
а понимание вычислений, произведённых живой системой,
начинается с невероятно простого вопроса:
«Что на самом деле должна делать система?»
В информатике есть набор стратегий для определения того,
что собственно делают программные и аппаратные средства.
Когда вы пишете программу, вы кодируете часть ПО
и хотите, чтобы ПО работало правильно,
было достаточно быстрым и функциональным,
а также не содержало ошибок.
Они могут дорого обойтись.
Когда разработчик пишет программу,
он может записать набор спецификаций,
которые ваша программа должна осуществить.
Возможно, она должна сравнить два числа
или расположить числа в возрастающем порядке.
Существует технология, позволяющая автоматически проверять,
удовлетворены ли спецификации,
выполняет ли программа то, что она должна делать.
Наша идея заключалась в том, что аналогичным образом
экспериментальные наблюдения и измерения в лаборатории
соответствуют спецификациям того, что должна делать биопрограмма.
Нужно было найти способ
закодировать эту новую спецификацию.
Допустим, вы занимаетесь исследованием генов в лаборатории,
и вы обнаружили, что если ген А активен,
то гены В или С тоже активны.
Можно записать это наблюдение как математическое выражение,
используя язык логики:
если А, тогда В или С.
Это очень простой пример,
всего лишь для иллюстрации.
Можно закодировать сложные выражения,
отражающие поведение во времени различных генов и белков
в разных экспериментах.
Перевод наблюдений
в математические выражения
позволяет проверить, могут ли эти наблюдения
быть результатом генетических взаимодействий.
И именно для этого мы разработали один метод.
С его помощью мы кодировали наблюдения
в математические выражения,
а потом выясняли, какая генетическая программа
может всё это объяснить.
Мы применяем этот метод,
чтобы раскрыть генетическую программу внутри эмбриональных стволовых клеток
и узнать, как привести эти клетки в «наивное» состояние.
Этот метод был создан на основе программы,
широко используемой для обычной проверки ПО.
Мы начали с набора из 50 спецификаций,
созданных нами на основании экспериментальных наблюдений
над эмбриональными стволовыми клетками.
Закодировав эти наблюдения,
мы смогли обнаружить первую молекулярную программу,
объясняющую их.
Это само по себе достижение, не так ли?
Вы не сможете сопоставить все эти наблюдения
в спешке на клочке бумаге,
даже если он очень большой.
Поняв это,
мы смогли продвинуться ещё на один шаг.
Мы смогли использовать эту программу для предсказания действий клетки
в ещё не изученных нами условиях.
Мы смогли попробовать программу в компьютерной симуляции.
Мы поступили так:
мы выдвинули предположения и протестировали их в лаборатории.
Мы обнаружили, что программа даёт очень предсказуемые результаты.
Благодаря ей мы поняли, как ускорить превращение
в «наивное» состояние быстро и эффективно.
Мы узнали, на какие гены ориентироваться
и какие гены могут задерживать этот процесс.
Оказалось даже, что программа предсказала порядок, в котором гены будут включаться.
Этот подход помог нам раскрыть динамику
действий клеток.
Это подход можно применять не только к стволовым клеткам.
Он позволяет понять вычисления,
производимые клетками
в контексте генетических взаимодействий.
Это лишь кирпичик.
Этой области срочно нужны новые подходы,
чтобы понять биологические вычисления шире
и на разных уровнях,
начиная с ДНК и заканчивая информационным потоком между клетками.
Только такое понимание
даст нам возможность использовать биологию прогнозируемо и надёжно.
Но чтобы запрограммировать биологию, нам нужно создать
инструменты и языки взаимодействия,
которые бы позволили и экспериментаторам, и специалистам по теории вычислений
конструировать биологические функции
так, чтобы они составляли машинный код клетки,
её биохимию,
чтобы мы могли выстроить такие структуры.
Это что-то сродни живому программному компилятору,
и я горжусь тем, что работаю в группе Microsoft,
занимающейся его созданием.
Хоть и будет преуменьшением назвать это большим вызовом,
но если это получится,
это свяжет окончательно ПО с «мозгами» живых систем.
В широком смысле, программируемая биология будет возможно только тогда,
когда мы сможем сделать эту область междисциплинарной.
Нужно соединить физические и биологические науки,
и учёные из этих сфер
должны быть способны сотрудничать, используя общий язык
и решая научные вопросы, интересующие и тех, и других.
Это долгая перспектива, но нужно помнить, что многие корпорации ПО
и технологии, используемые нами ежедневно,
было невозможно представить себе
в ту пору, когда мы начинали программирование на кремниевых микрочипах.
Задумавшись о потенциале этой технологии,
возможной благодаря вычислительной биологии,
мы увидим те шаги, которые нам следует предпринять,
чтобы претворить это в жизнь.
Отрезвляет мысль о том, что подобными технологиями
могут злоупотребить.
Если мы говорим о возможности программирования
иммунных клеток,
то должны думать о возможных бактериях,
созданных, чтобы заразить их.
Кто-то может захотеть это сделать.
Обнадёживает то,
что — ну, учёных не очень, —
что биология — деликатная штука.
Программной биологией
невозможно заниматься у себя в сарае.
Так как мы только начинаем,
то можем двигаться с широко раскрытыми глазами.
Можем ставить трудные вопросы,
заручиться необходимыми гарантиями
и, соответственно, задуматься об этике.
Нам надо задуматься об ограничениях при применении
биологической функции.
Исследования в области биоэтики должны стать приоритетом.
Их нельзя считать второстепенными,
воодушевляясь научными новшествами.
Но самый главная награда, конечная цель этого путешествия —
прорыв во всех областях,
от агрикультуры и медицины до энергетики и ресурсов,
и даже в области компьютерной обработки данных.
Представьте себе, когда-нибудь
мы могли бы экологично снабжать планету зелёной энергией,
если бы мы смогли повторить то, до чего давно додумались растения:
использовать энергию солнца с эффективностью,
несравнимой с солнечными батареями.
Если бы мы поняли процесс квантовых взаимодействий,
позволяющий растениями так эффективно использовать солнечный свет,
мы смогли бы использовать его при построении синтетических сетей ДНК,
чтобы улучшить солнечные батареи.
Сейчас над этими работают группы учёных,
так что если мы привлечём к этому инвесторов,
то сможем осуществить это через 10–15 лет.
Мы на пороге технологической революции.
Понимание элементарных биологических вычислений —
важнейший первый шаг.
Претворяя это в жизнь,
мы начнём эру операционных систем,
обслуживающих ПО живых систем.
Спасибо вам большое.
(Аплодисменты)
Geçtiğimiz yüzyılın ikinci yarısı tam anlamıyla
teknolojik bir devrim ile tanımlanmıştı:
Yazılım devrimi.
Silikon olarak adlandırılan maddenin üzerinde elektronları programlama becerisi
bize hayal edemeyeceğimiz
ama esasında dünyanın çalışma şeklini değiştiren
teknolojileri, şirketleri ve sanayileri mümkün kıldı.
Bu yüzyılın ilk yarısı ise
yeni bir yazılım devrimi ile şekillenecek:
canlı yazılım devrimi.
Bu devrim, biyokimyayı programlama becerisiyle desteklenecek
ve de biyoloji dediğimiz materyal üzerinde.
Biyolojinin özelliklerinden yararlanarak
yeni terapiler geliştirme,
hasarlı dokuları onarma,
hatalı hücreleri yaniden programlama
ve biyokimya ile programlanabilir işletim sistemleri yapılabilecek.
Eğer bunu gerçekleştirebilirsek -- ki gerçekleştirmeliyiz --
etkileri o kadar büyük olacak ki
ilk yazılım devrimi buna kıyasla sönük kalacak.
Çünkü canlı yazılımlar
tüm tıbbı, tarımı ve enerjiyi kökten değiştirecek.
Bu sektörler, bilgi teknolojisinin domine ettiklerinden çok daha büyük.
Azotu daha verimli bağlayan, zararlı patojenlere daha çok direnen,
tek yıllık değil
çok yıllık olması için programlanan bitkiler hayal edin.
Her yıl mahsulünüzü ikiye katlayabilirsiniz.
Bu tarımı kökten değiştirip
büyüyen dünya nüfusunun beslenme sorununu çözebilir.
Programlanabilir bağışıklık sistemi olsa,
molekül seviyesinde araçlar tasarlayarak bağışıklık sistemine yol gösterse
hastalıkları saptayıp yok etse hatta önleyebilse.
Tıp bilimi baştan yazılır,
büyüyen ve yaşlanan nüfusumuzun nasıl sağlıklı kalacağına cevap olurdu.
Halihazırda canlı yazılımları gerçeğe dönüştürecek birçok araca sahibiz.
CRISPR ile tam olarak genleri değiştirebiliyoruz.
Bazları teker teker kullanarak genetik kodu yeniden yazabiliyoruz.
DNA'dan çalışan, sentetik devreler bile yapabiliyoruz.
Ancak bu teknolojileri ne zaman ve nasıl kullanacağımız
hâlâ deneme yanılma sürecinde.
Yıllar süren derin bir uzmanlık gerektiriyor.
Deneysel protokolleri keşfetmek zor,
genellikle tekrarlaması da zordur.
Biyolojide uzuvlara odaklanmak gibi bir eğilimimiz var.
Yine biliyoruz ki, uçmak sadece
tüyleri incelemekle anlaşılamaz.
Biyoloji bilgisayar gibi kolay programlanmıyor.
Bu da yetmezmiş gibi
canlı sistemler her gün programladığımız mekanik sistemlere
neredeyse hiç benzemezler.
Yapay sistemlerin aksine yaşayan sistemler kendi kendine ürer,
kendi kendine düzenlenir,
moleküler düzeyde çalışırlar.
Bu moleküler etkileşimler
genellikle makro seviyede sonuçlar meydane getirirler.
Kendi kendilerini onarabilirler bile.
Örneğin basit bir ev bitkisini düşünelim,
sürekli sulamayı unuttuğunuz
şöminenin önündeki bitkiyi mesela.
İhmal de etseniz o bitki her sabah uyanır
ve kaynaklarını nasıl böleceğini hesaplar.
Büyüyecek mi, fotosentez mi yapacak, tohum mu üretecek yoksa çiçeklenecek mi?
Bu tüm organizmanın vermesi gereken bir karar.
Fakat bitkinin bu kararı verecek bir beyni yok.
Bunu yapraklarındaki hücrelerle yapmalı.
Çevreye tepki vermeli,
tüm bitkiyi etkileyecek kararlar almalı.
Bir şekilde hücrelerin içinde işleyen,
etkilere tepki veren ve hücrenin ne yapacağını belirleyen
bir program olmalı.
Bu programlar farklı hücreler arasında
dağıtımlı bir şekilde çalışabiliyor olmalılar,
böylece koordinasyon sağlansın ve bitki büyüyüp gelişebilsin.
Bu biyolojik programları anlayabilirsek,
biyolojik hesapları anlayabilirsek,
hücrelerin neyi neden ve nasıl yaptıklarını
daha iyi anlayabilirdik.
Eğer bu programları anlarsak
yanlış giden süreçlere müdahale edebiliriz.
Onlardan nasıl sentetik devreler üreteceğimizi öğrenir,
biyokimyanın hesaplama gücünü kendimiz için kullanırız.
Bu fikre olan tutkum beni matematik, bilgisayar
ve biyolojinin kesiştiği bir kariyere sürükledi.
Çalışmalarımda biyolojiye bir hesaplama aracı olarak yaklaştım.
Hücreler neyi hesaplıyor,
biz bu biyolojik programları nasıl ortaya çıkarırız diye düşündüm.
Bu soruları Microsoft Research ve Cambridge Üniversitesi'nde
harika katılımcılarla birlikte tartışmaya başladık.
Birlikte özel bir hücre tipinin içinde çalışan
biyolojik programı anlamaya çalıştık:
embriyonik kök hücre.
Bu eşsiz hücreler tamamıyla saftırlar.
İstedikleri her şeye dönüşebilirler:
beyin hücresi, kalp, kemik, akciğer hücresi,
herhangi bir yetişkin hücre tipi.
Bu saflık onları farklı kılarken
bilim çevrelerinin ilgisini ateşliyor.
Eğer bu potansiyelden faydalanabilirsek
elimizde çok güçlü bir tıbbi araç olurdu.
Eğer bu hücrelerin hangi hücre tipine dönüşeceğine
nasıl karar verdiğini anlarsak
hasta ve hasarlı dokuları onarmak için
gereken hücreleri üretebiliriz.
Ama bu vizyonu gerçekleştirmenin zorlukları var.
Bunun önemli bir sebebi,
bu özel hücrelerin hamilelikten altı gün sonra oluşması.
Yaklaşık bir günde de ortadan kaybolurlar.
Her biri kendi yoluna gider,
yetişkin gövdenin değişik yapı ve organlarını yaparlar.
Ama bu hücrelerin kaderleri
sandığımızdan daha esnek.
On üç yıl kadar önce bilim insanları çığır açan bir şey gösterdiler.
Yetişkin bir hücreye bir avuç gen sokarak,
deri hücreleriniz gibi,
o hücreyi saf duruma geri getirebiliyorsunuz.
Bu süreç "yeniden programlama" olarak biliniyor.
Bir kök hücre ütopyası düşünün.
Hastanın kendi hücrelerinden bir örnek alın,
saf duruma dönüştürün
ve bu hücreleri, hastanın neye ihtiyacı varsa onu yapmak için kullanın.
beyin veya kalp hücresi.
Ama yaklaşık son 10 yılda
hücre kaderini değiştirmek
hâlâ deneme yanılma işi.
Başarılı deneysel yöntemler bulsak da
hâlâ etkin olmaktan uzaklar.
Nasıl ve neden çalıştıklarını hâlâ bilmiyoruz.
Kök hücreyi kalp hücresine dönüştürmeyi başarsanız bile
bunu nasıl beyin hücresi yapacağınızı
hâlâ bilemiyorsunuz.
Embriyonik kök hücrede çalışan
biyolojik programı anlamak istedik.
Yaşayan sistemlerin yaptığı hesaplamaları anlamak,
çok basit bir soru sorarak başlıyor.
Bu sistem ne yapmaya çalışıyor?
Bilgisayar biliminde yazılım ve donanımın
ne yapması gerektiğini söyleyen bazı stratejiler var.
Program yazarken yazılımı kodlarsınız,
doğru çalışmasını istersiniz.
Performans ve işlevsellik istersiniz.
Hataları önlemek istersiniz.
Bunların maliyeti çok olabilir.
Bir program yazarken
Bazı spesifikasyonlar yazarsınız.
Programın ne işe yarayacağı hakkında.
İki sayıyı karşılaştırmak gibi
veya küçükten büyüğe sıralamak.
Spesifikasyonların sağlandığına dair
otomatik kontrol yapan teknoloji mevcut.
Program amacına hizmet edip etmediğini ölçüyor.
Biz de bu şekilde düşündük.
Deneysel gözlemler, laboratuvarda ölçtüklerimiz,
biyolojik programın yapması gerekenlere karşılık gelir.
Yani bu yeni spesifikasyonu kodlayacak
bir yol bulmak zorundayız.
Diyelim bir süredir laboratuvarda genlerinizi ölçüyorsunuz
ve A geninin aktif olduğunu buluyorsunuz.
Sonra B ve C genleri de aktif gibi görünüyorlar.
Bu gözlemi, matematiksel bir denklem olarak yazabiliriz.
Mantık dilini kullanacak olursak,
Eğer A doğru ise, o zaman B veya C de doğrudur.
Bu çok basit bir örnek oldu.
Sadece bir noktayı açıklamak için.
Çok zengin ifadeler de kodlayabiliriz.
Değişik deneylerle çok sayıda gen
ve proteinin davranışlarını yakalayabiliriz.
Böylece gözlemlerimizi
matematiksel ifadelere dönüştürerek
bu gözlemlerin genetik etkileşimlerden
ortaya çıkıp çıkamayacaklarını test edebiliriz.
Tam da bunu yapacak bir araç geliştirdik.
Bu araçla gözlemlerimizi matematik ifadelere dönüştürebildik.
Sonra araç bize her şeyi açıklayabilecek genetik programı ortaya çıkardı.
Bu yaklaşımı kullanarak
embriyo kök hücrelerinde çalışan genetik programı bulup
nasıl saf duruma döndürebileceğimizi anlayabiliriz.
Bu aracı yaparken
dünyanın her tarafında yazılım denetleme için kullanılan
bir çözümden yararlandık.
Yaklaşık 50 farklı spesifikasyonla başladık.
Bunlar, embriyonik kök hücre deneysel gözlemlerinden ortaya çıkmıştı.
Bu araç yardımıyla gözlemlerimizi kodlayarak
hepsini birden açıklayacak
ilk moleküler programı açığa çıkarabildik.
Bu zaten kendi başına bir çığır, değil mi?
Tüm bu değişik gözlemleri
bir kağıt üstünde bir araya getiremezsiniz,
kağıt çok büyük olsa da.
Bu anlayışa ulaştıktan sonra
bir adım daha ileri gidebiliriz.
Programı kullanarak bu hücrenin henüz test yapmadığımız durumlarda
ne yapacağını tahmin edebiliriz.
Programı simülasyonda deneyebiliriz.
Biz de tam onu yaptık:
Laboratuvarda test edilmiş öngörüleri ortaya çıkardık
ve programın çok iyi tahminde bulunduğunu anladık.
Süreci hızlandırarak
saf duruma hızlı ve etkin bir şekilde nasıl gideceğimizi gösterdi.
Hangi genleri hedef almamız gerektiğini
ve hangi genlerin bu işlemi yavaşlatacağını da.
Genlerin aktive olma sırasını dahi tahmin etti.
Bu yaklaşım, hücrelerin ne yaptığının dinamiğini ortaya çıkarmamızı sağladı.
Geliştirdiğimiz şey, kök hücre biyolojisine özel bir yöntem değil,
genetik etkileşim konseptinde
hücrenin yapmakta olduğu hesaplamayı anlamamızı sağlıyor.
Yani aslında bir yapı taşı.
Biyolojik hesaplamaları daha geniş ölçek ve değişik seviyelerde anlayabilmek için
Bu alanda yeni yaklaşımlara gerek var,
DNA'dan hücrelar arası bilgi akışına kadar.
Biyolojiyi sadece bu dönüştürücü anlayışla
güvenli ve öngörülür yollarda kullanabiliriz.
Ancak biyolojiyi programlamak için
birtakım araç ve dil de geliştirmemiz lazım
ki bu araç ve diller sayesinde bilim insanları ve deney yapanlar
biyolojik fonskiyon tasarlayabilsinler.
Bu tasarılar hücrenin makine koduna dönüşecek,
yani biyokimyasına
ve böylelikle o yapıları yapabileceğiz.
Bunu canlı bir yazılım derleyici olarak düşünebiliriz.
Microsoft'ta bunu geliştiren ekibin bir parçası olduğum için gurur duyuyorum.
Bu işe zor demek hafif kalır
ama eğer yapılabilirse
yazılım ve yaşanım arasındaki son köprü olacak.
Ancak çok daha fazlası için biyolojiyi programlama,
bu alan gerçekten disiplinler arası olursa mümkün olur.
Fizik ve doğa bilimlerini birleştirmemiz gerekir.
Bu disiplinlerden gelen bilim insanları
aynı dilleri konuşarak ve aynı bilimsel soruları paylaşarak
birlikte çalışabilirler.
Uzun vadeli bir iş ama birçok dev yazılım şirketi
ve her gün kullandığımız birçok teknoloji
silikon mikroçiplere ilk programları kurduğumuz zamanlarda
hayal bile edilemezdi.
Bilgisayarlı biyolojinin mümkün kılacağı teknolojiyi
bu günden düşünmeye başlarsak
bunu gerçekleştirmek için atmamız gereken adımların
bazılarını görmeye başlarız.
Bu teknolojinin istismara açık olacağı yönünde bir düşünce de var.
Bağışıklık hücrelerini programlamanın
potansiyelini konuşacaksak
bunlardan sakınmak üzere programlanmış
bakterilerin potansiyelinden de bahsetmemiz gerek.
Bunu yapmak isteyen insanlar olabilir.
Rahatlatıcı bir düşünce şu olabilir--
aslında pek de bilim insanları için değil --
biyoloji çalışmak için narin bir şeydir.
Yani biyoloji programlaması
bahçenizde yapılacak bir şey değil.
Ama daha işin başında olduğumuz için
gözlerimizi dört açarak ilerleyebiliriz.
Zor soruları en baştan soralım,
gerekli önlemleri alalım
ve bunun parçası olarak etik soruları düşünelim.
Biyolojik fonksiyon uygulamalarına kısıtlar konması söz konusu olabilir.
Bunun bir parçası olarak biyoetik, önemli bir öncelik olarak kabul edilmeli.
Bilimsel inovasyon heyecanıyla
bunu ikinci sıraya koyamayız.
Ama en büyük ödül, bu yolculuğun son hedefi
çığır açan uygulamalar ve çığır açan endüstriler olacak.
Tarımdan tıbba, enerjiden malzeme bilimine kadar.
Hatta programlama.
Bir gün gezegeni sürdürülebilir şekilde
yeşil enerji ile beslediğimizi düşünün,
Bitkilerin milyonlarca yıl önce yaptığı bir işi öğrendiğimizi düşünün:
Bu gün kullandığımız güneş panellerinin verimlerini katlayacak şekilde
güneş enerjisini nasıl kullanacağımızı.
Quantum etkileşimlerinin o programını anlamayı başarırsak,
bitkilerin güneş enerjisini bu kadar etkili şekilde absorbe etmesini,
bu bilgiyi sentetik DNA devreleri yapımına aktarabilir
ve daha iyi güneş hücreleri için materyal sağlayabiliriz.
Bu konu üzerinde şu anda çalışan ekipler ve bilim insanları var,
yani belki de dikkat çekip gereken yatırımı alırsa
tüm bunlar 10-15 yıl içinde gerçek olabilir.
Teknolojik bir devrimin başındayız.
Bu tarihi biyolojik hesaplamayı anlamak
en önemli ilk adım.
Eğer bunu başarabilirsek
bir işletim sistemi çağına adım atacağız,
yaşayan yazılımlar çalıştıran bir çağ.
Çok teşekkür ederim.
(Alkış)
上世纪后半叶，全然是一个
被科学革命所定义的时代：
软件革命。
在一种硅半导体材料上 对电子进行编程的能力
使得我们许多人曾无法想象的
科技、公司和行业变为可能。
这如今已彻底改变了 世界运作的方式。
不过，本世纪上半叶
将要被一个 崭新的软件革命所转化：
生物软件革命。
在一种名为生物的材料上 对生物化学进行编程的能力
将会支持这一革命。
如此一来， 我们将能够利用生物特征
去开发新型疗法，
去修复受损组织，
去重编缺陷细胞，
甚至利用生物化学 构建一个可编程的操作系统。
如果我们能实现它—— 而且我们确实需要实现它——
其影响将会如此巨大，
以至于第一个软件革命， 相比之下，会变得微不足道。
这是因为生物软件 可以变革整个医疗，
农业和能源领域，
以及那些被 IT 人员掌控的部门。
想象一下可编程植物： 能够更有效进行固氮，
或可以抵御新型真菌病原体，
甚至能够将农作物编程为 多年生而非一年生，
使你的年产量可以翻倍。
这会改变农业，
同时改变全球不断增长的 粮食需求的方法。
或想象可编程的免疫力，
设计并利用能够指导 你免疫系统的分子设备
去检测、根除，甚至预防疾病。
这将改变医疗，
同时改变我们试图保持 不断增长且老龄化的人口健康的方法。
我们已经拥有很多 能让生物软件成为现实的工具。
我们能使用 CRISPR 技术 精确编辑基因。
我们能每次重写一个遗传密码。
我们甚至能利用 DNA 开发一个合成电路。
但是摸索出 如何且何时使用这些工具
依旧是一个试错的过程。
它要求极高的专业性 和多年的领域专精。
而且实验方法难以发现，
往往更是难以复制。
在生物领域，我们倾向 仅专注于局部，
但我们都知道有些东西，例如飞行， 单就羽毛进行研究，
是无法理解其原理的。
所以生物编程还未能像 电脑编程那样简单。
更糟糕的是，
生物系统和你我 每天编写的工程系统
几乎毫无相似之处。
相比工程系统， 生物系统能自我生产、
自我组织，
并以分子规模运作。
这些分子层级的相互作用
通常会导致稳健的宏观规模输出，
它甚至可以自我修复。
试想家中一盆不起眼的植物，
比如你家壁炉台上的那盆
你老是忘记浇水的植物。
尽管你会忘记， 那盆植物每天都需要醒来
并思考如何分配它所有的资源。
它是生长、进行光合作用、 产生种子，还是开花？
这是这盆植物所需要做出的决定。
但一盆植物没有大脑来弄清这件事。
这需要其叶片上细胞的帮助。
它们需要针对环境做出反应，
并且做出影响整盆植物的决定。
所以在那些叶片细胞中 必定要有一个运行的程序，
一个能响应输入信号与提示，
以及调整细胞行为的程序。
之后，那些程序 必须以分布式运行，
覆盖每一个细胞单元，
从而进行协作 让植物茁壮成长。
如果我们能够了解那些生物程序，
如果我们能够明白那些生物计算，
这将会转变我们对细胞 的行为方式和行为原因的
理解能力。
因为，如果我们了解那些程序，
当出现问题时， 我们可以为它们排错。
或我们可以向它们学习 如何设计这样
能充分利用生物化学 计算能力的合成电路。
我对这个想法的热情， 让我进入了
数学、计算机科学 和生物学的交叉领域。
工作中，我专注于一个概念： 生物学计算。
这代表着不断询问 细胞在计算什么，
以及我们如何能 解开这些生物程序的奥秘？
我开始和微软研究院与剑桥大学
的一些出色的合作人士 一起询问这些问题，
我们想要了解
在一种独特细胞中 运行的生物程序：
胚胎干细胞（ ES 细胞）。
这些细胞很独特，因为它们 非常稚嫩（即未高度分化）。
它们能够分化 为它们想要变成的东西：
一个脑细胞，一个心脏细胞， 一个骨细胞，一个肺细胞，
任何一种成熟细胞。
这一稚嫩状态让这些细胞 变得与众不同，
但也激发了科学界的想象力。
科学家们意识到， 如果我们能挖掘这一特性的潜力，
我们将会拥有一个 强大的医疗工具。
如果我们能搞清 这些细胞是如何决定
自己要发育为何种细胞的，
我们或许能够利用 ES 细胞的这一能力，
生成我们需要的细胞， 来修复携带疾病的或受损的组织。
但这一愿景的实现存在着挑战，
不仅是因为这些特定细胞
在受孕的 6 天后才出现，
之后大约在 1 天内，就会消失。
它们走上了不同的道路，
共同形成成年人体 的所有结构和器官。
但事实证明，细胞的命运
比我们所想象的更具有可塑性。
大概在 13 年前，一些科学家们 展示了一些极具革命性的东西：
通过把少量基因导入成熟细胞，
例如你的一个皮肤细胞，
你可以把这个成熟细胞 转化回未分化状态。
这一过程被称为“重编程”。
这让我们联想到 “干细胞乌托邦”，
这种能力可以采集 患者自身的细胞样本，
将其转化回未分化的原始形态，
并使用那些细胞 制造患者可能需要的细胞，
不论是脑细胞，还是心脏细胞。
但在过去的 10 年，
搞清楚如何改变细胞命运
仍然是一个试错的过程。
即使是在那些我们已经发现了 成功实验方法的情况下，
它们仍旧低效，
而且我们缺少关于 它们如何以及为何运作的基本理解。
如果你能摸清如何把一个干细胞 诱导为一个心脏细胞，
你依然不知道如何把一个干细胞
诱导为一个脑细胞。
所以我们想要了解
在 ES 细胞中运行的生物程序，
而且，了解该生物系统中 所运行的计算
始于提出一个极为简单的问题：
这个系统到底需要做什么？
计算机科学实际上已有一套策略
来执行软件和硬件的功能。
当你编写程序时， 你用代码编写了一个软件，
你希望这个软件能够正确运行，
你希望它具备完善的功能与性能，
能防止错误，
做到这些的成本很高。
所以当一个开发者编写程序时，
他们能编写出一套技术规范。
这些是你的程序应该做的“工作”。
或许它能比较两个数的大小，
或将数字进行正序排序。
这样的技术存在： 允许我们自动检查
我们的代码是否符合技术规范，
程序是否在完成它的本职工作。
于是我们的想法很类似，
实验观察值，也就是 我们在实验室中测量的东西，
符合生物编程本职工作中 怎样的技术规范？
所以我们只需要找到一个方法
来编译这个新型的技术规范。
比方说，你在实验室忙活了很久， 你一直在测量基因，
发现如果基因 A 是活跃的，
那么基因 B 或 C 也会看似活跃。
如果我们能用一种逻辑语言， 就可以将这种观察
编写为一种数学表达：
如果 A ，那么 B 或 C 。
这是一个非常简单的例子，
只是为了解释清楚我的意思。
我们可以编译很多丰富的表达，
在多个不同的实验中， 随着时间的推移，这些表达可以捕捉
多种基因或蛋白质的行为。
运用这种方法， 把我们的观察值
编译为一种数学表达，
现在有可能测试这些观察结果 是否可以从基因相互作用
的程序中得到。
我们开发了一个工具 来实现这个目的。
我们能用这个工具 将观察值编译为
数学表达。
该工具能让我们发现可以解释
所有原因的遗传程序。
之后，我们运用这个方法
来揭示 ES 细胞中运行的遗传程序，
来看看我们是否能理解 如何诱导未分化状态的细胞。
这个工具实际上是建立在
经常被部署在世界各地 用于传统的软件验证
的解算器上的。
我们从一套将近有 50 个 不同的技术规范开始，
这些是我们从对 ES 细胞的 实验观察值中得出的。
利用这个工具， 通过编译这些观察值，
我们能够揭开第一个
能够解释所有分子的程序。
这本身听着是一种壮举，是吧？
将所有的观察值协调到一起，
不是那种你可以 在信封背面做的事情，
即使你有一个很大的信封。
因为我们有着这样的理解，
我们能够再进一步。
我们能够用这个程序 在尚未测试的条件下，
来预测这个细胞可能会做什么。
我们能够在硅上探索该程序。
所以我们行动了起来：
我们依据实验室检测值 生成了预测，
并发现该程序非常具有可预测性。
它告诉我们如何能够
加速细胞返回未分化状态的过程， 使之快速且有效。
它告诉我们 可以针对哪些基因进行操作，
又有哪些基因会阻碍这一过程。
我们甚至发现了一个 能够预测基因开启顺序的程序。
这个方法让我们得以
揭秘细胞行为的动态。
我们开发的不只是一种 仅限于干细胞生物的方法。
相反，这能帮助我们理解
在遗传相互作用的环境下
细胞内在的计算程序。
所以这其实只是拼图中的一块。
该领域急需开发新方法
来更广泛地在不同层次上
了解生物计算，
从 DNA 到细胞间的信息流。
只有这样的变革性理解
才能够使我们以可预测和可靠 的方式利用生物学。
但是对于编程生物学， 我们也将需要开发
允许实验人员和计算科学家
使用的工具和语言
来设计生物函数，
并将这些设计编译成 细胞的机器代码，
也就是它的生物化学，
这样我们就可以构建这些结构。
这就类似于一个 活的生物软件编译器，
我非常自豪能成为
微软开发此类软件团队的一员。
尽管，说这是一个 很大的挑战有点轻描淡写，
但如果能实现，
这将会成为 软件和湿件最后的桥梁。
但更广泛地说，如果我们 能够将其转变为真正的跨学科领域，
编程生物学才会变成可能。
这需要我们搭建起 物理与生命科学的桥梁，
来自相关学术背景的科学家们
需要能够利用共同语言进行合作，
并分享共同的科学问题。
长远来看，值得记住的是：
当我们第一次开始 在硅微芯片上编程时，
几乎无法想象有一天会出现
我们如今每天都需要打交道的 那些大型软件公司和技术。
如果我们现在开始思考
由计算生物学支持的科技潜能，
我们将会看到为实现这一目标
一路上需要做出的努力。
如今存在一种令人警醒的想法：
这种科技可能会被滥用。
如果我们愿意探讨
编程免疫细胞的潜力，
我们也应该考虑到 改造后的细菌成功躲避
那些免疫细胞的可能。
可能有些人打算从事这方面的研究。
关于这个话题也存在 一个令人欣慰的想法——
科学家大概不这么认为——
生物太脆弱，在工作中难以把控。
所以编程生物学不会
进入你的生活。
但因为我们才刚起步，
所以我们可以 大胆且谨慎的往前走。
我们可以事先提出难题，
我们可以采取必要的保护措施，
同时，作为其中的一部分， 还需要思考我们的道德标准，
我们将需要思考那些生物函数
实行的界限。
所以其中的生物伦理学研究 将被优先考虑。
在令人激动的科学创新中，
这个话题不能屈居第二。
但我们这场旅行的最终目的地
将会是突破性的应用 以及突破性行业，
从农业，医疗，到能源和材料，
甚至计算机技术本身。
试想，有一天，我们能 使用终极绿色能源
为地球提供可持续的动力，
因为我们已经能够模仿植物 在千年前发现的东西：
如何利用我们现有太阳能电池
无法比拟的效率来利用太阳能。
如果我们能理解 让植物高效吸收太阳光的
量子相互作用的程序，
我们或许能将其编译为 能够为太阳能电池提供
更好材料的合成 DNA 电路。
现在有一些团队和科学家 正着手于解决这个课题的基本问题，
如果这个课题能获得 足够的关注和正确的投资，
在未来的 10 或 15 年内， 或许就有可能实现。
我们正处在科技革新的开端。
了解这种古老的生物计算类型
是关键的第一步。
如果我们能意识到这件事，
就将进入一个拥有 能够运行生物软件
的操作系统的时代。
非常感谢。
（掌声）
上個世紀的後半
全由一場科技革命所定義：
軟體革命。
能在矽材料上編寫電子程式的能力，
讓許多我們過去難以想像的
技術、公司和行業變為可能，
如今已從根本改變世界運作的方式。
不過本世紀的前半段
將被一場新的軟體革命轉變：
生物軟體革命。
促成這場革命的
將是在生物材料上 編寫生物化學的能力。
這讓我們能利用生物的特性
來產生新療法，
以修復受損的組織；
重新編寫有瑕疵的細胞；
甚至創造可編寫的 生物化學作業系統。
若能了解這一點—— 我們的確需要了解這一點——
它的影響會大到
讓第一場軟體革命相形失色。
那是因為生物軟體會轉變整個醫界、
農業界，和能源界，
會讓那些 IT 主宰的部門 顯得無足輕重。
想像可編寫的植物能更效率地固氮，
能抵抗新興的菌類病原體，
甚至能把一年生的作物 編寫成多年生，
使年產量加倍，
那就會轉變農業，
確保不斷成長的全球人口 都有食物可吃。
或可想像編寫免疫力，
設計利用分子裝置來引導免疫系統
去偵測、根除，甚至預防疾病。
這會轉變醫學，
確保不斷成長和老化的人口 能夠維持健康。
目前已有許多工具 能讓生物軟體成真。
我們能用 CRISPR 精確地編輯基因；
我們能夠重寫基因編碼， 一次重寫一個鹼基；
我們甚至能用 DNA 做成能運作的合成電路。
至於弄明白如何、何時使用這些工具
則仍處於試誤的過程中，
需要很深的知識技術 和多年的專門化，
而實驗操作方法難以發現，
通常也難以重現。
我們通常傾向於聚焦在 生物學的「組件」，
但我們都知道，
要了解飛行不能只研究羽毛。
因此，編寫生物學程式 仍不如編寫計算機程式那樣簡單。
更糟糕的是，
生命系統在很大程度上 與你我每天編寫的工程系統
毫無相似之處。
與工程系統相反，
生命系統自我生成、自我組織，
以「分子」的規模運作。
這些分子層級的相互作用
通常導致大規模宏觀的輸出，
甚至能自我修復。
例如，試想不起眼的室內植物，
就像那放在家裡壁爐上
卻一直忘記澆水的植物。
儘管被你忽略了，
它每天仍必須弄清楚如何分配資源：
要生長、行光合作用、 結子，還是開花？
這必須考量整個有機體來做決定。
但植物沒大腦來解決這些問題，
必須依賴葉子上的細胞，
細胞必須對環境做出反應
和做出影響整株植物的決策。
因此，這些細胞裡 必定跑著某種程式，
該程式回應輸入的信號，
提示和調整該細胞即將執行的操作。
而這些程式必須 分佈在各個細胞間執行，
彼此協調，
以便使植物生長繁衍。
若能理解這些生物的程式，
若能理解生物的運算，
就會改變我們對細胞
如何、為何執行其工作的理解能力。
一旦了解這些程式，
我們就可以在出問題時偵錯；
可以向它們學習如何設計
真正利用生物化學 運算能力的合成電路。
對這想法的熱情引領我進入
與數學、計算機科學 和生物學介面的研究領域。
我的工作專注於以生物運算的概念。
這意味著探詢細胞如何運算，
與如何揭露這些生物的程式？
我開始與一些微軟研究所 和劍橋大學的傑出人士
合作提出這些問題，
我們一起，想了解
在「胚胎幹細胞」 這種獨特類型的細胞中
運行的生物程式。
這些細胞格非常獨特， 因為它們處於稚年。
它們可以變成任何東西：
腦細胞、心臟細胞、 骨細胞、肺細胞，
任何成年細胞類型。
稚年使它們與眾不同，
也激發了科學界的想像力，
科學家意識到， 如果能挖掘這種潛力，
我們將擁有強大的醫學工具。
如果能弄清楚這些細胞
如何決定成為哪一類型的細胞，
或許我們能控制、 利用它們生成新細胞
來修復罹病或受損的組織。
但要實現此一願景面對著挑戰，
尤其是因為這些特殊的細胞
在受孕後僅六天就出現了。
然後一天左右就消失了，
踏上構成成年人人體的 各個結構和器官的不同途徑。
但事實上細胞的命運 比我們想像的要可塑得多。
大約 13 年前，有些科學家 展示真正具有革命意義的東西。
通過將少量基因插入成年細胞，
例如皮膚的細胞，
可以將該細胞轉回稚年狀態。
這個實際上稱為「重新編寫」的過程
使我們能夠想像幹細胞的完美世界，
能採集患者自身細胞的樣本，
將其轉回稚年狀態，
利用它們製造新細胞，
無論患者需要的是腦細胞、 心臟細胞，還是其他細胞。
但是過去的十年左右，
弄清楚如何改變細胞的命運
仍然是個反複試驗的過程。
即使我們發現若干成功的實驗案例，
其效率仍然低下，
我們對其如何、為何起作用 缺乏基本的了解。
明白把幹細胞轉變為心臟細胞的方法
是無法把幹細胞轉變為腦細胞的。
因此我們想了解
在胚胎幹細胞中運行的生物程式。
了解生物系統執行的運算
首先要問個簡單的問題：
系統實際上必須做什麼？
如今計算機科學實際上有一套策略
來處理軟體和硬體的功能。
我們編寫軟體程式，
希望該軟體能夠正確運行，
具備性能和功能，
還要防錯。
錯誤會造成重大的損失。
因此開發人員編寫程式時
會寫下一組規格，
列出程式應該做些什麼。
也許該比較兩個數字的大小，
或依大小排列。
現有的技術能夠自動檢查
是否滿足了我們所列的規範，
該程式是否執行了應做的工作。
因此，我們的想法是以同樣的方式
將實驗室中量得的實驗觀察結果
對應規範生物程式應該做些什麼。
因此，我們只需想出
這種新型規範的編碼方法即可。
假設你一直在實驗室裡 忙著測量基因，
發現如果基因 A 處於活動狀態，
那麼基因 B 或基因 C 似乎處於活動狀態。
如果用邏輯語言，
則能將該觀察結果表達為數學式：
若 A，則 B 或 C。
這是一個非常簡單的例子，
只為了說明這一點。
我們能編碼真正豐富的表達式，
實際用在多個不同的實驗中，
表達多個基因或蛋白質 隨時間進程展現的行為。
因此，通過以這種方式
將我們的觀察結果 轉化為數學表達式，
就有可能測試這些觀察結果
是否能經由基因的相互作用而產生。
我們開發一種工具來做。
我們能用此工具
將觀察結果編碼為數學表達式，
該工具將使我們能發現
可以解釋所有現象的基因程式。
然後用這種方法來揭示
在胚胎幹細胞內部運行的基因程式，
試圖理解如何誘導出稚年的狀態。
該工具實際上是基於
部署於全球的通用常規 軟體驗證的求解器構建的。
我們從對胚胎幹細胞的實驗觀察中
生成的近 50 種不同規格開始。
通過在此工具中 對這些觀察結果進行編碼，
我們得以發現第一個
能解釋所有觀察結果的分子程式。
這本身就是一種壯舉，對吧？
能夠協調所有這些不同的觀察結果，
那是再怎麼大的信封背面 都算不出來的。
因為已經有了這理解，
我們能再前進一步。
我們能用該程式來預測
在尚未測試的條件下 該細胞可能會做什麼。
我們可以在計算機上探索該程式。
那正是我們做的：
生成在實驗室中測試過的預測，
發現該程式具有很高的預測性。
它告訴我們如何加速進程
才能快速有效地回到稚年狀態。
它告訴應該操作哪些基因；
哪些基因可能阻礙過程。
程式甚至預測了基因開啟的順序。
這方法確實使我們能夠揭示
細胞的動態進行過程。
我們開發的並不是
針對幹細胞生物學的特定方法，
而是使我們能夠 在基因相互作用的背景下
理解細胞正在執行的運算。
因此，實際上這只是個構建模塊。
這領域迫切需要開發新的方法，
更廣泛、不同層次地理解生物運算，
從 DNA 到細胞之間的信息流。
只有這種變革性的理解
才能使我們以可預測 和可靠的方式利用生物學。
但是為要編寫生物學，
我們還需要開發各種工具和語言，
使實驗人員和計算科學家
都可以設計生物學功能，
並將這些設計編譯為 細胞的機器代碼和生物化學，
就可以建造那些結構。
這類似於生物軟體編譯器，
我很自豪能成為
微軟致力於開發 生物軟體團隊的一員。
雖然說這是個巨大的挑戰 有點輕描淡寫，
但是如果實現了，
那將是軟體和濕體之間的最終橋樑。
從更廣泛的意義上講，
只有轉變為真正的跨學科領域， 才有可能編寫生物程式。
這需要我們在物理科學 和生命科學之間架起橋樑，
而其中每個學科的科學家
得要能以共通的語言一起工作
和共享科學問題。
從長遠來看，值得記住的是
當初我們首次編寫矽微晶片時，
幾乎無法想像
許多現今你我天天用到的
巨型軟體公司和技術。
如果現在開始考慮
由計算生物學實現的技術的潛力，
我們將看到為實現這一目標 所需要採取的一些步驟。
有個警醒的想法
認為這種技術可能會被濫用。
如果要談編寫免疫細胞的潛力，
我們還應該考慮
設計細菌逃避免疫的潛力。
可能有人願意這樣做。
一個令人放心的想法是——
科學家不那麼容易放心——
生物研究很脆弱，不好弄。
生物程式不是能躲在後院 工具間裡編寫得出的。
由於才剛起步，
我們能睜大眼睛向前邁進。
我們能預先提出困難的問題，
能採取必要的保障措施。
得要考慮道德規範，
得要考慮限制實現生物功能的範圍。
因此其中一部分
必須將生物倫理學 研究作為優先事項，
不能在科學創新的激情中 將其降為第二。
但是最終的獎賞，
也是此旅程的最終目的地，
將是應用和產業的大突破，
在農業、醫藥、能源、材料，
乃至計算本身領域的大突破。
想像有一天我們能夠在地球上
利用植物終極永續的綠色能源，
如果能夠模仿植物 在幾千年前已經會了的方法——
如何有效地利用太陽能，
目前的太陽能電池無法有效辦到——
如果理解植物高效吸收陽光的 量子相互作用程式，
我們也許可以將其轉化為 構建合成的 DNA 電路，
從而為更好的太陽能電池提供材料。
現有團隊和科學家致力於此一基礎，
倘若得到正確的關注和投資，
或許能在十或十五年內實現。
因此我們正處於技術革命的起點。
了解這古老的生物運算類型 是關鍵的第一步。
若能意識到這一點，
我們即將進入運行 實時生物軟體作業系統的時代。
非常感謝。
（掌聲）