CINXE.COM
Ginkgo Bioworks Launches New Protein LLM and Model API Built on Google Cloud Technology
<!DOCTYPE html> <html lang="en"> <head> <!-- begin spin_special_output(head_start) --> <script type="text/javascript" wd_script_id="view_printable_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> function view_printable() { var loc = window.location; var sep = (loc.search == "") ? "?" : "&"; var url = loc.protocol+"//"+loc.host+loc.pathname+loc.search+sep+"printable"+loc.hash; window.open(url, "_blank", ""); } </script> <link href="thirdparty/font-awesome/css/font-awesome.min.css" type="text/css" rel="stylesheet" wd_script_id="font-awesome.min.css"> <style type="text/css" wd_script_id="toolbar_style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> div.wd_toolbar { border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; margin: 15px 0px 15px 0px; padding: 5px; line-height: 1; } div.wd_toolbar-page { clear: both; } div.wd_toolbar ul.wd_tools { display: inline-block; width: 100%; margin: 0; padding: 5px 0; } div.wd_toolbar ul.wd_tools li.wd_tool { display: block; list-style-type: none; margin-right: 5px; padding: 0; float: right; } span.wd_tool_icon > a:link, span.wd_tool_icon > a:visited { border-radius: 2px; display: inline-block; width: 30px; height: 30px; box-sizing: border-box; margin: 0; padding: 7px; font-size: 16px; line-height: 1; text-align: center; color: #ffffff; background-color: #767676; } span.wd_tool_icon > a:hover { color: #ffffff; background-color: #666666; text-decoration: none; } div.wd_toolbar ul.wd_tools li.wd_tool-addthis { float: left; } </style> <script type="text/javascript" src="js/jquery-webdriver.js" wd_script_id="jquery-webdriver.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" src="js/webdriver.js" wd_script_id="webdriver.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ==">webDriver.push_jQuery();</script> <script type="text/javascript" src="js/jquery-ui.js" wd_script_id="jquery-ui.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" src="js/wd_resize.js" wd_script_id="wd_resize.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <link href="css/wd_modal.css" type="text/css" rel="stylesheet" wd_script_id="wd_modal.css"> <link href="css/wd_wcag.css" type="text/css" rel="stylesheet" wd_script_id="wd_wcag.css"> <script type="text/javascript" wd_script_id="wd_modal_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($) { webDriver.resizeModal = function() { $(this).find(".wd_modal").wd_modal("resize"); return false; } var modals = []; function _value(value, base) { if (typeof value == "string" && value.indexOf("%") > 0) { return base * parseInt(value, 10) / 100; } else { return parseInt(value, 10); } } var wd_modal = function(element, options) { this.init(element, options); }; wd_modal.prototype = { init: function(element, options) { var self = this; this.isOpen = false; this.opener = null; this.$element = $(element); this._options = { autoOpen: false, closeExisting: false, closeOnEscape: true, closeOnOverlayClick: true, fadeDuration: null, margin: "10%", padding: 10 }; this.options(options); this.$overlay = $("<div>").addClass("wd_modal-overlay").attr("wd_resize","resizeModal").appendTo($("body")).hide(); this.$outer = $("<div>").addClass("wd_modal-outer").appendTo(this.$overlay); this.$inner = $("<div>").addClass("wd_modal-inner").appendTo(this.$outer).append(this.$element); // Hack because I can't figure out where the extra few pixels at the bottom of the content are coming from this.$inner.css("overflow-y", "hidden"); this.$close = $("<a class=\"wd_modal-close fa fa-times\" href=\"#close\" title=\"Close\"><span class=\"wd_sr-only\">Close Dialog<\/span><\/a>") .on("click", function(event) {self.close(); event.preventDefault();}) .appendTo(this.$outer); this.$element.addClass("wd_modal"); if (this._options.autoOpen) this.open(this._options.closeExisting); }, options: function(options) { if (options) { $.extend(this._options, options); this._options.fadeDuration = parseInt(this._options.fadeDuration, 10); if (isNaN(this._options.fadeDuration)) this._options.fadeDuration = false; if (!$.isArray(this._options.margin)) this._options.margin = [this._options.margin]; if (this._options.margin.length < 2) this._options.margin[1] = this._options.margin[0]; if (this._options.margin.length < 3) this._options.margin[2] = this._options.margin[0]; if (this._options.margin.length < 4) this._options.margin[3] = this._options.margin[1]; if (!$.isArray(this._options.padding)) this._options.padding = [this._options.padding]; if (this._options.padding.length < 2) this._options.padding[1] = this._options.padding[0]; if (this._options.padding.length < 3) this._options.padding[2] = this._options.padding[0]; if (this._options.padding.length < 4) this._options.padding[3] = this._options.padding[1]; } else { return this._options; } }, reload: function(options) { if (options) { this.options(options); } this.resize(); }, open: function(closeExisting, now) { if (this.isOpen) return; var self = this; var myCloseExisting = closeExisting; if (!this.opener) this.opener = document.activeElement; if (closeExisting && modals.length > 0) { for (var i = modals.length - 1; i >= 0; --i) modals[i].close(true, true); } this.$overlay.addClass("wd_modal-current"); $("body").append(this.$overlay); if (!now && this._options.fadeDuration) { this.$overlay.fadeIn(this._options.fadeDuration, function() {self.open(myCloseExisting, true);}); } else { if (modals.length == 0) { $("body").css("overflow","hidden"); $(document).on("keydown.wd_modal", function (event) { var current = modals[modals.length - 1]; if ((event.which == 27 || event.keyCode == 27) && current._options.closeOnEscape) { current.close(); event.stopImmediatePropagation(); event.preventDefault(); } }); } if (this._options.closeOnOverlayClick) { this.$overlay.on("click.wd_modal", function (event) { if (event.target == this) { self.close(); event.preventDefault(); } }); } modals.push(this); this.$overlay.show(); var $focus = this.$element.find(":focusable"); if ($focus.length > 0) $focus[0].focus(); this.isOpen = true; this.$element.trigger("open"); } }, close: function(skipCurrent, now) { if (!this.isOpen) return; this.$element.trigger("beforeClose"); // TODO: allow closing of lower modals modals.pop(); if (modals.length == 0) { $("body").css("overflow",""); $(document).off("keydown.wd_modal"); } this.$overlay.off("click.wd_modal"); if (this.opener) { this.opener.focus(); this.opener = null; } this.isOpen = false; this.$overlay.removeClass("wd_modal-current").hide(); if (!skipCurrent && modals.length > 0) modals[modals.length-1].$overlay.addClass("wd_modal-current"); this.$element.trigger("close"); }, destroy: function() { this.close(false, true); $("body").append(this.$element); this.$overlay.remove(); }, resize: function() { if (!this.isOpen) return; var self = this; var winWidth = $(window).width(); var winHeight = $(window).height(); var margin = this._options.margin; var padding = this._options.padding; var width = winWidth - _value(margin[1], winWidth) - _value(margin[3], winWidth) - _value(padding[1], winWidth) - _value(padding[1], winWidth); var height = winHeight - _value(margin[0], winHeight) - _value(margin[2], winHeight) - _value(padding[0], winHeight) - _value(padding[2], winHeight); this.$inner.css("max-width", width); this.$inner.css("max-height", height); $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { self.$outer.css("padding" + v, _value(padding[i])+"px"); }); var fixed = this.$element.find("[wd_need_fixed_container]").is(":visible"); this.$inner.css("width", width); this.$inner.css("height", height); webDriver.doResize(this.$inner); if (!fixed) { this.$inner.css("width", "auto"); this.$inner.css("height", "auto"); if (this.$element.outerHeight() > height) this.$inner.css("height", height); if (this.$element.outerWidth() > width) this.$inner.css("width", width); } } }; $.fn.wd_modal = function(options) { if (options == "exists") { return !!$(this).data("wd_modal"); } else if (typeof options == "string") { var instance = $(this).data("wd_modal"); if (!instance) return null; var args = Array.prototype.slice.call(arguments, 1); return instance[options].apply(instance, args); } else { return this.each(function() { var instance = $(this).data("wd_modal"); if (instance) { instance.reload(options); } else { $(this).data("wd_modal", new wd_modal(this, options)); } }); } }; })(webDriver.jQuery); </script> <script type="text/javascript" src="js/wd_hashchange.js" wd_script_id="wd_hashchange.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" wd_script_id="asset_modal_support_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($) { var prev_group_id = ""; var prev_type_id = ""; var prev_item_id = ""; var prev_hash = false; var on_close = "back"; function hash_update() { var hash = window.location.hash || "#"; if (hash == prev_hash) return; var type_id = ""; var item_id = "" var group_id = "main"; var apos = hash.indexOf("assets_"); if (apos >= 0) { type_id = hash.substr(apos+7); var dpos = type_id.indexOf("-"); if (dpos >= 0) { group_id = type_id.substr(0, dpos); type_id = type_id.substr(dpos+1); } var cpos = type_id.indexOf(":"); if (cpos >= 0) { item_id = type_id.substr(cpos+1); type_id = type_id.substr(0, cpos); } } if (type_id == "") type_id = "all"; if ((type_id != prev_type_id || group_id != prev_group_id) && item_id == "") { var $carousel = $(".wd_asset_carousel_"+group_id+"_list") if ($carousel.length > 0) $carousel.wd_carousel("filter", (type_id == "all") ? false : ".wd_asset_type_"+type_id); var $slideshow = $(".wd_asset_slideshow_"+group_id+"_list") if ($slideshow.length > 0) $slideshow.wd_slideshow("filter", (type_id == "all") ? false : ".wd_asset_type_"+type_id); $(".wd_asset_carousel_type_link").removeClass("wd_active"); $(".wd_asset_carousel_type_link.wd_asset_type_"+type_id).addClass("wd_active"); prev_type_id = type_id; on_close = "back"; } if (type_id != prev_type_id || item_id != prev_item_id || group_id != prev_group_id) { if (item_id == "") { var save_close = on_close; on_close = false; hide_asset_modal(); on_close = save_close; } else { load_asset_modal(group_id, type_id, item_id); } set_social_share_data(); prev_item_id = item_id; if (prev_hash === false) on_close = "reset"; } prev_group_id = group_id; prev_hash = hash; } hide_asset_modal = function() { $(".wd_asset_modal").wd_modal("close"); } load_asset_modal = function(group_id, type_id, item_id) { var $modal = $(".wd_asset_modal_"+group_id);; if ($modal.length == 0) return; if (!$modal.wd_modal("exists")) { $modal.wd_modal({ autoOpen: false, }); $modal.show(); $modal.on("close", function() { if (on_close == "back") { history.back(); } else if (on_close == "reset") { var href = window.location.href; href = href.replace(/#.*$/, "#assets_all"); window.location.replace(href); } }); } $modal.wd_modal("open", true); var $slideshow = $(".wd_asset_slideshow_"+group_id+"_list"); if ($slideshow.length > 0) { var $slideshow_item = $slideshow.find(".wd_asset_"+type_id+"-"+item_id).not(".wd_clone"); if ($slideshow_item.length > 0) $slideshow.wd_slideshow("scrollToItem", $slideshow_item); } var $carousel = $(".wd_asset_carousel_"+group_id+"_list"); if ($carousel.length > 0) { var $carousel_item = $carousel.find(".wd_asset_"+type_id+"-"+item_id).not(".wd_clone"); if ($carousel_item.length > 0) $carousel.wd_carousel("scrollToItem", $carousel_item); } } set_social_share_data = function() { var href = window.location.href.replace("#", "#!"); window.addthis_share = { url: href } } $(function() { setTimeout(hash_update, 10); $(window).hashchange(hash_update); }); })(webDriver.jQuery); </script> <style type="text/css" wd_script_id="asset_modal_support_style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> .wd_asset_modal .wd_captioned_image { max-width: 100%; max-height: 100%; } .wd_asset_modal img { max-width: 100%; max-height: 100%; } .wd_asset_modal div.wd_toolbar.wd_toolbar-asset_modal { position: fixed; background: transparent; top: 5%; left: 50%; transform: translate(-50%,-50%); border: none; margin: 0; } </style> <style type="text/css" wd_script_id="asset_gallery_style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> .wd_asset_gallery_container { padding: 0; margin: 0; clear: both; } .wd_asset_gallery_container .wd_continue_link { display: block; text-align: center; margin: 2em 0; } .wd_asset_gallery_container .wd_continue_link:hover { background-color: transparent; } .wd_asset_gallery_list { background-color: #fafafa; } .wd_asset_gallery { background-color: #666666; } .wd_asset_gallery_list div.wd_toolbar { border: none; font-size: 10px; position: relative; } .wd_asset_gallery_list span.wd_tool_icon a { font-size: 10px; width: 16px; height: 16px; padding: 3px; } </style> <script type="text/javascript" src="js/wd_imagesloaded.js" wd_script_id="wd_imagesloaded.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" src="js/wd_scriptloader.js" wd_script_id="wd_scriptloader.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <link href="css/wd_slideshow.css" type="text/css" rel="stylesheet" wd_script_id="wd_slideshow.css"> <script type="text/javascript" wd_script_id="wd_slideshow_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($, undefined) { webDriver.resizeSlideshow = function() { $(this).find(".wd_slideshow-list").wd_slideshow("resize"); return false; } var wd_slideshow = function(element, options) { this.init(element, options); }; wd_slideshow.prototype = { init: function(element, options) { var self = this; this.$element = $(element); this._options = { selector: "li", preload: false, "class": "", resize: "container" // children, self, container }; this.options(options); this.$container = $("<div>").addClass("wd_slideshow").attr("wd_resize","resizeSlideshow").attr("tabindex","-1").insertBefore(this.$element); if (this._options["class"]) this.$container.addClass(this._options["class"]); this.$cropper = $("<div>").addClass("wd_slideshow-cropper").appendTo(this.$container); this.$element .addClass("wd_slideshow-list") .appendTo(this.$cropper) ; this.$prev = $("<a class=\"wd_slideshow-arrow wd_slideshow-prev fa fa-chevron-left\" href=\"#prev\" title=\"Previous\"><span class=\"wd_sr-only\">Previous Item<\/span><\/a>") .on("click", function(event) { self.prev(); event.preventDefault(); }) .appendTo(this.$container); this.$next = $("<a class=\"wd_slideshow-arrow wd_slideshow-next fa fa-chevron-right\" href=\"#next\" title=\"Next\"><span class=\"wd_sr-only\">Next Item<\/span><\/a>") .on("click", function(event) { self.next(); event.preventDefault(); }) .appendTo(this.$container); this.$container.on("keydown.wd_slideshow", function (event) { var key = event.which || event.keyCode; if (key == 37) { self.prev(); event.stopImmediatePropagation(); event.preventDefault(); } if (key == 39) { self.next(); event.stopImmediatePropagation(); event.preventDefault(); } }); this.$items = this.$element.children(this._options.selector); this.$items.addClass("wd_slideshow-item"); // Remove any non-items (e.g. unintended text nodes) this.$element.empty(); this.$element.append(this.$items); this.navEnabled = true; this.currentIndex = 0; this.$currentItem = this.$items.eq(0); if (this._options.preload) this.load_next(); }, options: function(options) { if (options) { $.extend(this._options, options); } else { return this._options; } }, reload: function(options) { if (options) { this.options(options); } this.reset(); }, reset: function() { this.$items.data("wd_slideshow-index", null); var $children = this.$element.children(); this.itemCount = $children.length; $children.each(function(index) { $(this).data("wd_slideshow-index", index); }); this.hideNav(this.itemCount < 2); var index = this.$currentItem.data("wd_slideshow-index"); if (!index) index = 0; this.scrollToIndex(index, false); }, hideNav: function(hide) { this.$prev.toggle(!hide); this.$next.toggle(!hide); this.navEnabled = !hide; }, item_loaded: function(item) { var $item = $(item); return ($item.children().length > 0 || !$item.attr("wd_ajax_url")); }, load_next: function() { var self = this; var next = null; var $children = this.$element.children().not(".wd_clone"); var after = this.currentIndex; var before = this.currentIndex; while (after < $children.length || before >= 0) { if (after < $children.length && !this.item_loaded($children[after])) { next = $children[after]; break; } ++after; if (before >= 0 && !this.item_loaded($children[before])) { next = $children[before]; break; } --before; } if (!next) { var $filtered = this.$items.remove($children); $filtered.each(function() { if (!self.item_loaded(this)) { next = this; return false; } }); } if (next) this.load_item(next, function() {self.load_next();}); }, load_item: function(item, on_complete) { var self = this; var $item = $(item); var complete = on_complete; if (!this.item_loaded($item)) { $item.html("<div>Loading...</div>"); $item.addClass("wd_loading"); $item.load( $item.attr("wd_ajax_url"), function(response, status, xhr) { if ($item.children().length == 0) $item.append("<div>No content</div>"); webDriver.queueCallback(function() { if ($item.hasClass("wd_slideshow-current")) self.resize(self._options["resize"] == "container"); $item.removeClass("wd_loading"); if ($item.hasClass("wd_slideshow-current")) { $item.wd_imagesloaded( function() { self.resize(self._options["resize"] == "container"); }, "size" ); } }); if (complete) complete(response, status, xhr); } ); } }, next: function() { return this.scrollBy(1); }, prev: function() { return this.scrollBy(-1); }, scrollBy: function(count) { var index = this.currentIndex + count; return this.scrollToIndex(index, true); }, scrollToIndex: function(index, update_hash) { var self = this; var $children = this.$element.children().not(".wd_clone"); var orig_index = index; index = (index + $children.length) % $children.length; var $child = $children.eq(index); if (update_hash && $child.attr("wd_item_hash")) { var hash = "#"+$child.attr("wd_item_hash"); var current_hash = window.location.hash || "#"; if (hash != current_hash) { var href = window.location.href+"#"; href = href.replace(/#.*$/, hash); window.location.replace(href); return; } } this.$element.find(".wd_slideshow-current").removeClass("wd_slideshow-current"); $child.addClass("wd_slideshow-current"); if (!this.item_loaded($child)) this.load_item($child); this.$container[0].focus(); this.currentIndex = index; this.$currentItem = $child; this.resize(this._options["resize"] == "container"); }, scrollToItem: function(item) { var index = $(item).data("wd_slideshow-index"); if (index !== null) this.scrollToIndex(index, true); }, filter: function(selector) { this.$element.children().detach(); var $items = this.$items; if (selector) $items = $items.filter(selector); this.$element.append($items); this.reset(); }, destroy: function() { this.filter(false); this.$items .removeClass("wd_slideshow-item") .data("wd_slideshow-index", null) ; this.$element .removeClass("wd_slideshow-list") .insertBefore(this.$container) ; this.$container.remove(); }, resize: function(resize_container) { if (resize_container) { webDriver.doResize(this.$container, "container"); } else if (this.$currentItem && !this.$currentItem.hasClass("wd_loading")) { webDriver.doResize(this.$currentItem); } } }; $.fn.wd_slideshow = function(options) { var args = Array.prototype.slice.call(arguments, 1); var result = this; this.each(function() { var instance = $(this).data("wd_slideshow"); if (typeof options == "string") { var res = instance[options].apply(instance, args); if (typeof res != "undefined") { result = res; return false; } } else { if (!instance) { instance = new wd_slideshow(this, options); $(this).data("wd_slideshow", instance); } instance.reload(options); } }); return result; }; })(webDriver.jQuery); </script> <script type="text/javascript" wd_script_id="template_list_slideshow_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> webDriver.jQuery(function($) { $(".wd_layout-slideshow").each(function() { var $slideshow = $(this); $slideshow.wd_slideshow({ preload: true, "class": "wd_asset_slideshow_wrapper wd_asset_slideshow_main_wrapper" }); }); }); </script> <script type="text/javascript" wd_script_id="scroll_to_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($) { $(function() { $(".wd_scroll_to_link").each(function() { var $this = $(this); var selector = $this.attr("wd_scroll_to_target"); var $target = $(selector); if ($target.length == 0) { $this.remove(); } else { var target = $target[0]; $(this).on("click", function(event) { target.scrollIntoView(); event.preventDefault(); }); } }); }); })(webDriver.jQuery); </script> <script type="text/javascript" src="js/wd_equal_height.js" wd_script_id="wd_equal_height.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <style type="text/css" wd_script_id="template asset_masonry_item:gallery:system style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> .wd_gallery_asset { height: 100%; width: 100%; position: relative; color: #ffffff; min-height: 100px; } .wd_gallery_asset .wd_asset_image { height: 100%; width: 100%; margin: 0; padding: 0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 0px; } .wd_gallery_asset .wd_asset_image > div { width: 100%; text-align: center; } .wd_gallery_asset .wd_asset_image img { max-width: 100%; max-height: none; margin: 0; float: none; flex-shrink: 0; } .wd_gallery_asset .wd_icon_overlay { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0, 0, 0, .75) none center center no-repeat; opacity: 0.0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; } .wd_gallery_asset .wd_icon_overlay .wd_link_underlay { display: block; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 100%; box-sizing: border-box; } .wd_gallery_asset .wd_icon_overlay a.wd_link_underlay:hover { background-color: transparent; } .wd_gallery_asset .wd_icon_overlay .wd_icon_container { font-size: 50px; position: relative; text-align: center; } .wd_gallery_asset .wd_icon_overlay .wd_icon_container > a, .wd_gallery_asset .wd_icon_overlay .wd_icon_container > a:link, .wd_gallery_asset .wd_icon_overlay .wd_icon_container > a:visited { color: #cccccc; } .wd_gallery_asset .wd_icon_overlay .wd_icon_container > a:hover { text-decoration: none; background-color: transparent; } .wd_gallery_asset .wd_title_overlay { position: absolute; bottom: 0px; left: 0px; width: 100%; height: 100%; box-sizing: border-box; padding: 10px; pointer-events: none; opacity: 0.0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: end; -webkit-align-items: flex-end; -moz-box-align: end; -ms-flex-align: end; align-items: flex-end; } .wd_gallery_asset:hover .wd_icon_overlay, .wd_gallery_asset:hover .wd_title_overlay, .wd_gallery_asset:focus-within .wd_icon_overlay, .wd_gallery_asset:focus-within .wd_title_overlay { opacity: 1.0; }</style> <script type="text/javascript" src="js/wd_masonry.js" wd_script_id="wd_masonry.js" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="></script> <script type="text/javascript" wd_script_id="template_list_masonry_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> webDriver.jQuery(function($) { var $container = $(".wd_layout-masonry"); $container.wd_masonry({"maxWidth":600,"widthSelector":"img.nada","fillWidth":true,"marginTop":10,"marginBottom":10,"marginLeft":10,"marginRight":10}); $container.wd_imagesloaded(function() { $(this).wd_masonry("reflow"); }); $container.on("wd_more_loaded", function() { $(this).wd_masonry("reflow"); }); }); </script> <style type="text/css" wd_script_id="template_list_masonry_style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> ul.wd_layout-masonry { position: relative; margin: 10px 0; padding: 0; list-style: none; } </style> <script type="text/javascript" wd_script_id="move_content_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($) { function wd_move_content() { $("[wd_move_after]").each(function() { var $this = $(this); var selectors = $this.attr("wd_move_after").split("|"); for (var i = 0; i < selectors.length; ++i) { var $dest = $(selectors[i]); if ($dest.length > 0) { $this.insertAfter($dest.eq(0)); break; } } }); } $(function() { wd_move_content(); }); })(webDriver.jQuery); </script> <script type="text/javascript" wd_script_id="format_news_script" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> (function($) { webDriver.formatNews = function() { var $news = $(this); var print_url = $news.attr("wd_print_url"); $news.find("table").each(function() { var $table = $(this); var $parent = $table.parent(); if ($parent.innerWidth() < $table.outerWidth()) { if ($parent.hasClass("wd_news_table")) { $parent.find(".fullscreen-button").show(); } else { var $btn = $("<button>View News Release Full Screen</button>") .addClass("fullscreen-button") .on("click", function() { if (print_url) window.open(print_url, "_blank", ""); else view_printable(); }) ; var $div = $("<div></div>)") .addClass("wd_news_table") .css("overflow-x", "auto") .append($btn) ; $table.replaceWith($div); $div.append($table); } } else { if ($parent.hasClass("wd_news_table")) $parent.find(".fullscreen-button").hide(); } }); } })(webDriver.jQuery); </script> <style type="text/css" wd_script_id="template detail:newsfeed_releases:site style" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ==">.wd_title { font-size: 1.3em; font-weight: bold; } .wd_subtitle { font-weight: bold; } table.wd_extimagetable { border-style: none; border-spacing:0px; clear: right; float: right; } td.wd_extimagecell { text-align: right; margin: 0px 0px 5px 5px; padding:0px; } td.wd_extimagecell img { padding-left:10px; padding-bottom:10px; border-style: none; } blockquote.wd_pullquote { font-style: italic; width:200px; margin:0 0 20px 20px; line-height: 1.8em; float: right; clear: right; } blockquote.wd_pullquote:before { content: "“ "; font-size: xx-large; } blockquote.wd_pullquote:after { content: " ”"; font-size: xx-large; float: right; } .fullscreen-button { border: 1px solid #d1d1d1; background: #e3e3e3 url(images/webdriver/view_full_screen_button_background.png) no-repeat; padding: 3px 3px 3px 30px; margin: 5px 0px 5px 0px; color: #727272; width: 220px; -moz-border-radius: 3px; border-radius: 3px; cursor: pointer; } .wd_contact { margin: 1em 0; } .wd_release_data { margin: 1em 0; } .wd_caption { text-align: center; font-size: 0.72em; font-style: italic; margin: 1em 0 0 0; } </style> <script type="text/javascript" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ==">webDriver.pop_jQuery();</script> <!-- end spin_special_output(head_start) --> <title>Ginkgo Bioworks Launches New Protein LLM and Model API Built on Google Cloud Technology</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="Ginkgo Bioworks Launches New Protein LLM and Model API Built on Google Cloud Technology" /> <meta name="twitter:description" content="Protein large language model (LLM) designed to help enterprises accelerate drug development coming to Google Cloud’s Vertex AI Model Garden soon; one of the first-of-its-kind in the industry..." /> <meta name="twitter:image" content="https://www.googlecloudpresscorner.com/image/Ginkgo+-+protein+design_1000.jpg" /> <meta property="og:site_name" content="Google Cloud Press Corner" /> <meta property="og:url" content="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology" /> <meta property="og:title" content="Ginkgo Bioworks Launches New Protein LLM and Model API Built on Google Cloud Technology" /> <meta property="og:description" content="Protein large language model (LLM) designed to help enterprises accelerate drug development coming to Google Cloud’s Vertex AI Model Garden soon; one of the first-of-its-kind in the industry..." /> <meta name="image" property="og:image" content="https://www.googlecloudpresscorner.com/image/Ginkgo+-+protein+design_1000.jpg" /> <link rel="alternate" href="https://www.googlecloudpresscorner.com/press-releases?pagetemplate=rss" type="application/rss+xml" title="Press Releases"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="//fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,700|Google+Sans:300,400,500,700&lang=en" rel="stylesheet"> <link rel="shortcut icon" href="favicon.ico"> <link rel="apple-touch-icon" href="apple-icon.png"> <link rel="stylesheet" href="css/styles.26d34b5dd98f515cd746.bundle.css"> <link rel="stylesheet" href="css/footer.css"> <link rel="stylesheet" href="css/mat-button.css"> <link rel="stylesheet" href="css/search.css"> <link rel="stylesheet" href="css/header2.css"> <link rel="stylesheet" href="css/secondary-nav.component.css"> <link rel="stylesheet" href="css/site-header.component.css"> <link rel="stylesheet" type="text/css" href="css/jquery.fancybox.css"> <link rel="stylesheet" type="text/css" href="css/wd_wcag.css"> <link rel="stylesheet" type="text/css" href="css/wdcontent.css"> <style type="text/css"> @keyframes fadein {0% {opacity:0;}85% {opacity:0;}100% {opacity:1;}}@-moz-keyframes fadein {0% {opacity:0;}85% {opacity:0;}100% {opacity:1;}}@-webkit-keyframes fadein {0% {opacity:0;}85% {opacity:0;}100% {opacity:1;}}@-o-keyframes fadein {0% {opacity:0;}85% {opacity:0;}100% {opacity:1;}} </style> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-175165319-86"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-175165319-86'); </script> <!-- begin spin_special_output(head_end) --> <link rel="canonical" href="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology" /> <!-- end spin_special_output(head_end) --> </head> <body class="glue-flexbox wd_pageid_20295 wd_item_page wd_item_122950"> <div class="wrapper"> <div _ngcontent-c2="" class="h-c-header__drawer-backdrop" id="h-js-header__drawer-backdrop"></div> <div _ngcontent-c2="" class="h-js-header__drawer-backdrop--desktop"></div> <div _ngcontent-c2="" class="glue-header h-c-header h-c-header--corporate-initiative" id="page-top"> <div _ngcontent-c2="" class="h-c-header__bar"> <!-- <div _ngcontent-c2="" class="h-c-header__hamburger h-c-header__hamburger--first-tier"> <div _ngcontent-c2="" class="h-c-header__hamburger-wrapper"> <button _ngcontent-c2="" aria-controls="h-js-header__drawer" aria-expanded="false" aria-label="Open the navigation drawer" class="h-c-header__hamburger-link" type="button"> <svg _ngcontent-c2="" aria-label="Navigation" class="h-c-header__hamburger-img h-c-header__hamburger-img--standard" role="img"> <use _ngcontent-c2="" xlink:href="#h-burger" class="h-c-header__hamburger-svg"></use> </svg> <svg _ngcontent-c2="" aria-label="Navigation" class="h-c-header__hamburger-img h-c-header__hamburger-img--reversed" role="img"> <use _ngcontent-c2="" xlink:href="#h-burger" class="h-c-header__hamburger-svg"></use> </svg> </button> </div> </div> --> <div _ngcontent-c2="" class="h-c-header__lockup"> <div _ngcontent-c2="" class="h-c-header__company-logo"> <a _ngcontent-c2="" class="h-c-header__company-logo-link" clicktracker="" href="https://cloud.google.com" title="Google Cloud" track-metadata-eventdetail="https://cloud.google.com" track-metadata-position="nav" track-name="Google Cloud" track-type="blog nav"> <span class="wd_sr-only">Google Cloud Logo</span> <svg _ngcontent-c2="" aria-label="Google Cloud" class="h-c-header__company-logo-img h-c-header__company-logo-img--standard" role="img"> <use _ngcontent-c2="" xlink:href="#h-color-cloud-logo"></use> </svg> </a> </div> <div _ngcontent-c2="" class="h-c-header__product-logo"> <div _ngcontent-c2="" class="h-c-header__product-logo-link"><span _ngcontent-c2="" class="h-c-header__product-logo-text">News</span></div> </div> <a _ngcontent-c2="" class="h-c-header__jump-to-content" href="#jump-content"><span _ngcontent-c2="" class="h-c-header__jump-to-content-text">Skip to content</span></a></div> <div _ngcontent-c2="" class="h-c-header__initiative-logo"> <a _ngcontent-c2="" class="h-c-header__initiative-logo-link" href="https://www.googlecloudpresscorner.com/latest-news"><span _ngcontent-c2="" class="h-c-header__initiative-logo-text">News</span></a></div> <div _ngcontent-c2="" aria-label="More Options" class="h-c-header-menu-dropdown__button" title="More Option Menu"><span _ngcontent-c2="" class="h-c-header-menu-dropdown__label">Menu</span> <svg _ngcontent-c2="" aria-label="Navigation" class="h-c-header-menu-dropdown__svg" role="img"> <use _ngcontent-c2="" xlink:href="#mi-chevron"></use> </svg> </div> <nav _ngcontent-c2="" class="h-c-header__nav"> <ul _ngcontent-c2="" class="h-c-header__nav-list"> <li aria-level="1" class="h-c-header__nav-li"> <a aria-expanded="true" class="h-c-header__nav-li-link" href="https://www.googlecloudpresscorner.com/latest-news" target="_self"> Latest News </a> </li> <li aria-level="1" class="h-c-header__nav-li"> <a aria-expanded="true" class="h-c-header__nav-li-link h-is-active" href="https://www.googlecloudpresscorner.com/press-releases" target="_self"> Press Releases </a> </li> <li aria-level="1" class="h-c-header__nav-li"> <a aria-expanded="true" class="h-c-header__nav-li-link" href="https://www.googlecloudpresscorner.com/leadership" target="_self"> Leadership </a> </li> <li aria-level="1" class="h-c-header__nav-li"> <a aria-expanded="true" class="h-c-header__nav-li-link" href="https://www.googlecloudpresscorner.com/digital-assets" target="_self"> Digital Assets </a> </li> <li aria-level="1" class="h-c-header__nav-li"> <a aria-expanded="true" class="h-c-header__nav-li-link" href="https://www.googlecloudpresscorner.com/subscribe" target="_self"> Subscribe </a> </li> </ul> </nav> <search-header _ngcontent-c2="" _nghost-c5=""> <div _ngcontent-c5="" uni-component="searchBar" class="search-bar desktop"> <form _ngcontent-c5="" class="search-bar__form" id="search-form" method="POST" action="https://www.googlecloudpresscorner.com/index.php?s=20322"> <legend class="wd_sr-only">Desktop Search</legend><label for="search-input" class="wd_sr-only">Search</label><input _ngcontent-c5="" aria-label="Find an article..." placeholder="Find an article..." name="query" type="text" class="search-bar__input desktop" id="search-input"> <button _ngcontent-c5="" aria-label="Search" class="search-bar__button search-bar__button--search"> <svg _ngcontent-c5="" class="h-c-icon h-c-icon--color-text" role="img"> <use _ngcontent-c5="" xlink:href="#mi-search"></use> </svg> </button> <!----> </form> </div> </search-header> <div _ngcontent-c2="" class="h-c-header__cta"> <ul _ngcontent-c2="" class="h-c-header__cta-list"> <li _ngcontent-c2="" class="h-c-header__cta-li"> <button _ngcontent-c2="" aria-label="Search" class="uni-header-search-button" id="search-button"> <svg _ngcontent-c2="" class="h-c-icon h-c-icon--color-text uni-header-search-button__icon" role="img" id="search-button-svg"> <use id="search-button-use" _ngcontent-c2="" xlink:href="#mi-search"></use> </svg> </button> </li> <!-- <li _ngcontent-c2="" aria-label="More Options" class="h-c-header__cta-li" title="More Option Menu"> <secondary-nav _ngcontent-c2="" _nghost-c6=""> <div _ngcontent-c6="" class="nav-kebab"> <div _ngcontent-c6="" class="glue-c-popover"> <p _ngcontent-c6="" class="glue-c-popover__trigger nav-kebab-popover__trigger h-c-header__cta-li-link"> <svg _ngcontent-c6="" class="h-c-icon h-c-icon--color-text nav-kebab__icon" role="img"> <use _ngcontent-c6="" xlink:href="#mi-more-vert"></use> </svg> </p> <div _ngcontent-c6="" class="glue-c-popover__dialog nav-kebab-popover__dialog"> <ul _ngcontent-c6="" class="h-no-bullet" id="secondary-nav-list"> <li _ngcontent-c6=""><a _ngcontent-c6="" href="/blog/about">About</a></li> <li _ngcontent-c6=""><a _ngcontent-c6="" href="https://cloudblog.withgoogle.com/rss/"><span _ngcontent-c6="">RSS Feed</span><svg _ngcontent-c6="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--18px" viewBox="0 0 24 24"><use _ngcontent-c6="" xlink:href="#mi-rss-feed" xmlns:xlink="http://www.w3.org/1999/xlink"></use></svg></a></li> </ul> <div _ngcontent-c6="" aria-label="Close" class="glue-c-popover__close-btn h-u-visually-hidden">×</div> </div> </div> </div> </secondary-nav> </li> --> </ul> </div> <!----> <div _ngcontent-c2="" class="header-top__cta ng-star-inserted"><a _ngcontent-c2="" class="blog-button--primary blog-button" clicktracker="" track-metadata-position="nav" track-name="get started" track-type="button" href="https://console.cloud.google.com/freetrial" track-metadata-eventdetail="https://console.cloud.google.com/freetrial">Get started</a></div> <div _ngcontent-c2="" class="h-c-header__bar-underside"></div> </div> <div _ngcontent-c2="" aria-label="Navigation drawer" class="mobile-drawer" tabindex="0"> <div _ngcontent-c2="" class="mobile-drawer__content"> <search-header _ngcontent-c2="" _nghost-c5=""> <div _ngcontent-c5="" uni-component="searchBar" class="search-bar mobile"> <form _ngcontent-c5="" class="search-bar__form" method="POST" action="https://www.googlecloudpresscorner.com/index.php?s=20322"> <legend class="wd_sr-only">Mobile Search</legend><label for="search-input-mobile" class="wd_sr-only">Search</label><input _ngcontent-c5="" aria-label="Find an article..." placeholder="Find an article..." name="query" type="text" class="search-bar__input mobile" id="search-input-mobile"> <button _ngcontent-c5="" aria-label="Search" class="search-bar__button search-bar__button--search"> <svg _ngcontent-c5="" class="h-c-icon h-c-icon--color-text" role="img"> <use _ngcontent-c5="" xlink:href="#mi-search"></use> </svg> </button> <!----> </form> </div> </search-header> <nav _ngcontent-c2="" class="mobile-drawer__nav"> <ul _ngcontent-c2="" class="mobile-drawer__nav-list"> <li aria-level="1" class="mobile-drawer__nav-li"> <a class="mobile-drawer__nav-li-link" href="https://www.googlecloudpresscorner.com/latest-news" target="_self">Latest News</a> </li> <li aria-level="1" class="mobile-drawer__nav-li"> <a class="mobile-drawer__nav-li-link h-is-active" href="https://www.googlecloudpresscorner.com/press-releases" target="_self">Press Releases</a> </li> <li aria-level="1" class="mobile-drawer__nav-li"> <a class="mobile-drawer__nav-li-link" href="https://www.googlecloudpresscorner.com/leadership" target="_self">Leadership</a> </li> <li aria-level="1" class="mobile-drawer__nav-li"> <a class="mobile-drawer__nav-li-link" href="https://www.googlecloudpresscorner.com/digital-assets" target="_self">Digital Assets</a> </li> <li aria-level="1" class="mobile-drawer__nav-li"> <a class="mobile-drawer__nav-li-link" href="https://www.googlecloudpresscorner.com/subscribe" target="_self">Subscribe</a> </li> </ul> </nav> </div> </div> </div> <main id="jump-content"> <section class="uni-latest-articles article-list h-c-page active"> <!-- BEGIN CONTENT-WRAPPER --> <div class="wd_content"> <div id="wd_printable_content"> <div class="wd_newsfeed_releases-detail"> <!--<p class="h-c-eyebrow h-u-mb-std">{category_link_list}</p>--> <div class="wd_title wd_language_left">Ginkgo Bioworks Launches New Protein LLM and Model API Built on Google Cloud Technology</div> <div class="wd_toolbar wd_toolbar-detail"><ul class="wd_tools"><li class="wd_tool wd_tool-print"><span class="wd_tool_icon"><a onclick="view_printable(); return false;" rel="nofollow" href="#print" title="print"><span class="fa fa-print"></span></a></span></li><li class="wd_tool wd_tool-socialshare_facebook"><span class="wd_tool_icon"> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.googlecloudpresscorner.com%2Findex.php%3Fs%3D20295%26item%3D122950" target="_blank" title="Facebook Share" style="background-color:#4267B2;"> <span class="fa fa-facebook"></span> <span class="wd_sr-only wd_sr-only-focusable"></span> </a> </span></li><li class="wd_tool wd_tool-socialshare_linkedin"><span class="wd_tool_icon"> <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.googlecloudpresscorner.com%2Findex.php%3Fs%3D20295%26item%3D122950" target="_blank" title="Linkedin Share" style="background-color:#0077B5;"> <span class="fa fa-linkedin"></span> <span class="wd_sr-only wd_sr-only-focusable"></span> </a> </span></li><li class="wd_tool wd_tool-socialshare_twitter"><span class="wd_tool_icon"> <a href="https://twitter.com/share?url=https%3A%2F%2Fwww.googlecloudpresscorner.com%2Findex.php%3Fs%3D20295%26item%3D122950" target="_blank" title="Twitter Share" style="background-color:#000;"> <span class="fa fa-twitter"></span> <span class="wd_sr-only wd_sr-only-focusable"></span> </a> </span></li><li class="wd_tool wd_tool-email"><span class="wd_tool_icon"><a onclick="window.location.href = 'mailto:?subject=Ginkgo%20Bioworks%20Launches%20New%20Protein%20LLM%20and%20Model%20API%20Built%20on%20Google%20Cloud%20Technology&body='+encodeURIComponent(window.location.href);return false;" href="#email" title="email"><span class="fa fa-envelope"></span></a></span></li><li class="wd_tool wd_tool-rss"><span class="wd_tool_icon"><a href="https://www.googlecloudpresscorner.com/index.php?s=20324&rsspage=20295" title="rss"><span class="fa fa-rss"></span></a></span></li><li class="wd_tool wd_tool-pdf"><span class="wd_tool_icon"><a href="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology?asPDF=1" rel="nofollow" title="pdf"><span class="fa fa-file-pdf-o"></span></a></span></li></ul></div> <div wd_move_after=".wd_body > p ~ p|.wd_body > p"> <div class="wd_asset_modal wd_asset_modal_main" style="display:none;"> <ul class="wd_layout-slideshow wd_asset_slideshow_list wd_asset_slideshow_main_list"> <li class="wd_asset_slideshow wd_asset_type_117 wd_asset_117-19167" wd_item_hash="assets_117:19167" wd_ajax_url="https://www.googlecloudpresscorner.com/press-releases?gallery=19167&ajax=ajax&op=modal"> </li> </ul> </div> <div class="wd_asset_gallery_container"> <a class="wd_scroll_to_link wd_continue_link" href="#continue" wd_scroll_to_target=".wd_body > p ~ p ~ p">Continue Reading<br/><span class="fa fa-chevron-down"></span></a> <ul class="wd_layout-masonry wd_asset_list wd_asset_gallery_list"> <li class="wd_asset_gallery wd_item wd_asset_type_117 wd_asset_117-19167"> <div class="wd_gallery_asset" wd_resize="adjustEqualHeight" wd_min_ratio="16:9"> <div class="wd_asset_image"> <div> <img src="/file.php/178231/Ginkgo+-+protein+design_1000.jpg?thumbnail=asset" border="0"/> </div> </div> <div class="wd_icon_overlay"> <a href="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology#assets_117:19167" class="wd_link_underlay" tabindex="-1"></a> <div> <div class="wd_icon_container"><a href="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology#assets_117:19167"><span class="fa fa-search-plus"></span><span class="wd_sr-only wd_sr-only-focusable">View File</span></a> <a href="/download/Ginkgo+-+protein+design.jpg" target=""><span class="fa fa-download"></span><span class="wd_sr-only wd_sr-only-focusable">Download File</span></a></div> </div> </div> </div> </li> </ul> </div> </div> <style type="text/css"> div.wd_news_body img { margin: 0 0 20px 20px; float:right; max-width: 250px; max-height: 250px; width: auto !important; height: auto !important; } div.PRN_ImbeddedAssetReference{ display: none; } div[id^="prni_dvprne"]{ display: none; } </style> <div class="wd_body wd_news_body" wd_resize="formatNews" wd_print_url="https://www.googlecloudpresscorner.com/2024-09-17-Ginkgo-Bioworks-Launches-New-Protein-LLM-and-Model-API-Built-on-Google-Cloud-Technology?printable=1"><ul> <li>Protein large language model (LLM) designed to help enterprises accelerate drug development coming to Google Cloud’s Vertex AI Model Garden soon; one of the first-of-its-kind in the industry</li> <li>Model API programmable interface now available for individual scientists and researchers to quickly test and advance work</li> </ul> <p>BOSTON, Sept. 17, 2024 /<a href="http://www.prnewswire.com/" target="_blank">PRNewswire</a>/ -- Ginkgo Bioworks Holdings, Inc. (NYSE: DNA), which is building the leading platform for cell programming and biosecurity, today announced two new offerings that will make it easier for pharmaceutical and biotech companies to develop new medicines, building on the <a href="https://www.ginkgobioworks.com/2023/08/29/google-and-ginkgo-foundry-scale-data-meets-ai/">partnership announced</a> with Google Cloud last year. The first launch is one of the first-of-its-kind in the industry – a protein large language model (LLM) built in collaboration with Google Cloud Consulting that will give individual researchers and enterprise companies the ability to develop medicines with insights from Ginkgo’s private data. Secondly, Ginkgo is launching its <a href="https://www.ginkgobioworks.com/2024/09/17/ginkgo-model-api-ai-research/">model API</a>, a powerful tool designed to bring biological AI models directly to machine learning scientists. The API is publicly available on <a href="https://models.ginkgobioworks.ai/">Ginkgo’s website</a> today, and enterprise companies will be able to access the protein-based LLM Google Cloud’s Vertex AI <a href="https://cloud.google.com/model-garden">Model Garden</a> soon.</p> <p><strong>Jason Kelly, CEO of Ginkgo Bioworks</strong>: "I’m excited to see how the community builds on top of these models and our API. AA-0 is the first model we have released trained on Ginkgo’s proprietary data – we’re opening it to data scientists and bioinformaticians so they can build new models and applications on top. We believe that the low cost for tokens and our other customer-friendly terms, like the lack of royalties, and our commitment to not re-use customer data, will allow users to build tools like iterative protein design programs that call our protein generation API or to use our embedding API to compute features for a clustering algorithm.”</p> <p>These new offerings demonstrate how Ginkgo is enabling the life sciences industry in new ways, helping them improve and accelerate the drug development process.</p> <ul> <li><strong>Protein LLM for individual researchers and enterprise companies: </strong>Built on Vertex AI in collaboration with Google Cloud Consulting and trained on Ginkgo's extensive proprietary dataset, this and future LLMs empower companies to generate novel insights and accelerate the discovery of new therapeutics. By harnessing the power of AI to analyze and understand complex protein structures and interactions, researchers and enterprises can streamline their research pipelines, optimize lead identification, and ultimately bring life-saving medicines to market faster and more efficiently. Building on models that learn from Ginkgo's private data, unavailable to the public, can enable companies to unlock hidden patterns and potential therapeutic targets that would otherwise remain elusive.</li> <li><strong>Open API for scientists and researchers: </strong>With this programmer-friendly ultra-low cost API, Ginkgo is making its internally-developed AI tools available to anyone. The interface provides an easy and scalable way to access sophisticated models trained on protein and DNA data, starting with its first release: a machine learning model trained on a proprietary Ginkgo dataset. (Read more about Ginkgo’s first model — ginkgo-AA-0-650m, a large-scale model trained on 2+ billion proprietary Ginkgo protein sequences — <a href="https://www.ginkgobioworks.com/2024/09/17/aa-0-protein-llm-technical-review/">here</a>.)</li> </ul> <p><strong>Chris Sakalosky, vice president of Strategic Industries, Google Cloud: </strong>"Ginkgo’s new protein LLM and open API mark a major step forward in making advanced AI tools accessible for drug discovery and biological research. By leveraging Google Cloud's infrastructure and AI capabilities, Ginkgo is empowering both enterprises and individual scientists to accelerate their work and drive innovation in the life sciences. Ginkgo is leading the way in democratizing access to cutting-edge AI models, to increase value to pharma companies using Ginkgo’s platform and to ultimately help people live healthier lives."</p> <p>Ginkgo has a multitude of models under development, spanning machine learning methods like language modeling and diffusion for conditional design. Ginkgo’s first protein language model release will support two use-cases:</p> <ul> <li>Generation via Masked Language Modeling: given a sequence of amino acids with one or more <mask> tokens, the model will complete the sequence.</li> <li>Embedding calculation: Calculate the final hidden layer of the trained model to extract valuable representations for downstream tasks. To begin, Ginkgo’s model returns the mean-pooled representation across the length axis.</li> </ul> <p>Over the next year, Ginkgo will roll out more models and expand the API’s capabilities, building a robust suite of tools that will enable you to solve complex problems in drug discovery, synthetic biology, genomics, and more using the latest machine learning methods. <a href="http://models.ginkgobioworks.ai/">Access the portal today and be among the first to explore our new API</a>.</p> <p><strong>Ankit Gupta, General Manager of Ginkgo AI: “</strong>Flexibility is everything. Alongside our first proprietary model, which leverages unique datasets from Ginkgo, you’ll also have access to publicly available models like <a href="https://github.com/facebookresearch/esm">ESM2</a>. This means you can explore and experiment with different approaches, all through a single streamlined platform. We’re also deeply committed to making advanced machine learning tools accessible, which is why our API comes with competitive pricing and a free tier. We’ve structured our costs to make it easy for you to jump in, experiment, and get predictions without worrying about high fees. Our initial models will have a free tier and our introductory pricing is approximately $0.18 per million tokens. This means for a protein with around 500 amino acids, users should be able to get predictions on 2000 sequences for roughly 10 cents. In the age of generative biology, with engineers designing thousands to millions of sequences at a time, we hope to enable them with enormous amounts of computational scale.”</p> <p><strong>About Ginkgo Bioworks</strong><br /> Ginkgo Bioworks is the leading horizontal platform for cell programming, providing flexible, end-to-end services that solve challenges for organizations across diverse markets, from food and agriculture to pharmaceuticals to industrial and specialty chemicals. Ginkgo Biosecurity is building and deploying the next-generation infrastructure and technologies that global leaders need to predict, detect, and respond to a wide variety of biological threats. For more information, visit <a href="https://www.ginkgobioworks.com/">ginkgobioworks.com</a> and <a href="http://ginkgobiosecurity.com/">ginkgobiosecurity.com</a>, read our <a href="https://www.ginkgobioworks.com/blog/">blog</a>, or follow us on social media channels such as X (@<a href="https://twitter.com/ginkgo">Ginkgo</a> and @<a href="https://twitter.com/Ginkgo_Biosec">Ginkgo_Biosec</a>), Instagram (@<a href="https://www.instagram.com/ginkgobioworks/">GinkgoBioworks</a>), Threads (@<a href="https://www.threads.net/@ginkgobioworks">GinkgoBioworks</a>), or <a href="https://www.linkedin.com/company/2241894/admin/feed/posts/">LinkedIn</a>.</p> <p><strong>GINKGO BIOWORKS INVESTOR CONTACT:</strong><br /> investors@ginkgobioworks.com</p> <p><strong>GINKGO BIOWORKS MEDIA CONTACT:</strong><br /> <a href="mailto:press@ginkgobioworks.com">press@ginkgobioworks.com</a></p> <p><strong>Forward-Looking Statements of Ginkgo Bioworks</strong><br /> This press release contains certain forward-looking statements within the meaning of the federal securities laws, including statements regarding the capabilities and potential success of the partnership, Ginkgo’s model API and Ginkgo's cell programming platform. These forward-looking statements generally are identified by the words "believe," "can," "project," "potential," "expect," "anticipate," "estimate," "intend," "strategy," "future," "opportunity," "plan," "may," "should," "will," "would," "will be," "will continue," "will likely result," and similar expressions. Forward-looking statements are predictions, projections and other statements about future events that are based on current expectations and assumptions and, as a result, are subject to risks and uncertainties. Many factors could cause actual future events to differ materially from the forward-looking statements in this press release, including but not limited to: (i) volatility in the price of Ginkgo's securities due to a variety of factors, including changes in the competitive and highly regulated industries in which Ginkgo operates and plans to operate, variations in performance across competitors, and changes in laws and regulations affecting Ginkgo's business, (ii) the ability to implement business plans, forecasts, and other expectations, and to identify and realize additional business opportunities, (iii) the risk of downturns in demand for products using synthetic biology, (iv) the uncertainty regarding the demand for passive monitoring programs and biosecurity services, (v) changes to the biosecurity industry, including due to advancements in technology, emerging competition and evolution in industry demands, standards and regulations, (vi) the outcome of any pending or potential legal proceedings against Ginkgo, (vii) our ability to realize the expected benefits from and the success of our Foundry platform programs, (viii) our ability to successfully develop engineered cells, bioprocesses, data packages or other deliverables, and (ix) the product development or commercialization success of our customers. The foregoing list of factors is not exhaustive. You should carefully consider the foregoing factors and the other risks and uncertainties described in the "Risk Factors" section of Ginkgo's annual report on Form 10-K filed with the U.S. Securities and Exchange Commission (the "SEC") on February 29, 2024, Ginkgo’s most recent quarterly report on Form 10-Q, and other documents filed by Ginkgo from time to time with the SEC. These filings identify and address other important risks and uncertainties that could cause actual events and results to differ materially from those contained in the forward-looking statements. Forward-looking statements speak only as of the date they are made. Readers are cautioned not to put undue reliance on forward-looking statements, and Ginkgo assumes no obligation and does not intend to update or revise these forward-looking statements, whether as a result of new information, future events, or otherwise. Ginkgo does not give any assurance that it will achieve its expectations.</p> </div> <!-- ITEMDATE: 2024-09-17 08:01:00 EDT --> </div> </div> </div><!-- END CONTENT --> </section> <div id="wd_releases_search_year"> <div class="wd_form_field wd_form_field-year"> <div class="wd_form_field_label"> <label for="year">Year</label> </div> <div class="wd_form_field_input"> <select name="year" id="year"><option value="">Select Year</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option></select> <input type="hidden" name="" value=""> </div> </div> </div> </main> <footer _ngcontent-c3="" class="h-c-footer h-c-footer--topmargin h-c-footer--standard h-has-social" id="footer-standard"> <section _ngcontent-c3="" class="h-c-footer__upper"> <section _ngcontent-c7="" class="h-c-social h-c-social--inline site-footer"> <div _ngcontent-c7="" class="h-c-social__group"> <p _ngcontent-c7="" class="h-c-social__title h-c-social__title--inline"> Follow Us </p> <ul _ngcontent-c7="" class="h-c-social__list h-no-bullet"> <!----> <li _ngcontent-c7="" class="h-c-social__item ng-star-inserted"> <a _ngcontent-c7="" class="h-c-social__link" clicktracker="" target="_blank" track-metadata-module="social links" track-type="social" track-name="RSS" track-metadata-eventdetail="https://cloudblog.withgoogle.com/rss" aria-label="RSS" href="https://cloudblog.withgoogle.com/rss"> <svg _ngcontent-c7="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--24px" viewBox="0 0 18 18"> <use _ngcontent-c7="" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-rss-feed"></use> </svg> </a> </li> <li _ngcontent-c7="" class="h-c-social__item ng-star-inserted"> <a _ngcontent-c7="" class="h-c-social__link" clicktracker="" target="_blank" track-metadata-module="social links" track-type="social" track-name="Facebook" track-metadata-eventdetail="https://www.facebook.com/googlecloud/" aria-label="Facebook" href="https://www.facebook.com/googlecloud/"> <svg _ngcontent-c7="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--24px" viewBox="0 0 18 18"> <use _ngcontent-c7="" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-facebook"></use> </svg> </a> </li> <li _ngcontent-c7="" class="h-c-social__item ng-star-inserted"> <a _ngcontent-c7="" class="h-c-social__link" clicktracker="" target="_blank" track-metadata-module="social links" track-type="social" track-name="Twitter" track-metadata-eventdetail="https://www.twitter.com/googlecloud" aria-label="Twitter" href="https://www.twitter.com/googlecloud"> <svg _ngcontent-c7="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--24px" viewBox="0 0 18 18"> <use _ngcontent-c7="" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-twitter"></use> </svg> </a> </li> <li _ngcontent-c7="" class="h-c-social__item ng-star-inserted"> <a _ngcontent-c7="" class="h-c-social__link" clicktracker="" target="_blank" track-metadata-module="social links" track-type="social" track-name="YouTube" track-metadata-eventdetail="https://www.youtube.com/googlecloud" aria-label="YouTube" href="https://www.youtube.com/googlecloud"> <svg _ngcontent-c7="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--24px" viewBox="0 0 18 18"> <use _ngcontent-c7="" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-youtube"></use> </svg> </a> </li> <li _ngcontent-c7="" class="h-c-social__item ng-star-inserted"> <a _ngcontent-c7="" class="h-c-social__link" clicktracker="" target="_blank" track-metadata-module="social links" track-type="social" track-name="LinkedIn" track-metadata-eventdetail="https://www.linkedin.com/showcase/google-cloud" aria-label="LinkedIn" href="https://www.linkedin.com/showcase/google-cloud"> <svg _ngcontent-c7="" aria-hidden="true" class="h-c-icon h-c-icon--social h-c-icon--no-padding h-c-icon--24px" viewBox="0 0 18 18"> <use _ngcontent-c7="" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-linkedin"></use> </svg> </a> </li> </ul> </div> </section> </section> <section _ngcontent-c3="" class="h-c-footer__global"> <div _ngcontent-c3="" class="h-c-footer__logo"> <a _ngcontent-c3="" href="https://www.google.com" title="Google"> <span class="wd_sr-only">Google Cloud Logo</span> <svg _ngcontent-c3="" aria-hidden="true" class="h-c-footer__logo-img" viewBox="0 0 396 130"> <use _ngcontent-c3="" xlink:href="#google-logo" xmlns:xlink="http://www.w3.org/1999/xlink"></use> </svg> </a> </div> <ul _ngcontent-c3="" class="h-c-footer__global-links h-no-bullet"> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item"><a _ngcontent-c3="" class="h-c-footer__link" clicktracker="" track-metadata-module="footer" track-metadata-position="footer" track-name="privacy" track-type="footer link" href="https://www.google.com/policies/privacy" track-metadata-eventdetail="https://www.google.com/policies/privacy"> Privacy </a></li> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item"><a _ngcontent-c3="" class="h-c-footer__link" clicktracker="" track-metadata-module="footer" track-metadata-position="footer" track-name="terms" track-type="footer link" href="https://policies.google.com/terms" track-metadata-eventdetail="https://policies.google.com/terms"> Terms </a></li> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item"><a _ngcontent-c3="" class="h-c-footer__link" clicktracker="" data-analytics="{'label': 'navlink: about'}" track-metadata-module="footer" track-metadata-position="footer" track-name="about google" track-type="footer link" href="https://www.google.com/about/" track-metadata-eventdetail="https://www.google.com/about/"> About Google </a></li> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item"><a _ngcontent-c3="" class="h-c-footer__link" clicktracker="" data-analytics="{'label': 'navlink: products'}" track-metadata-module="footer" track-metadata-position="footer" track-name="google cloud products" track-type="footer link" href="https://cloud.google.com/products/" track-metadata-eventdetail="https://cloud.google.com/products/"> Google Cloud Products </a></li> </ul> <ul _ngcontent-c3="" class="h-c-footer__global-links h-c-footer__global-links--extra h-no-bullet"> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item h-c-footer__global-links-list-item--extra"> <button _ngcontent-c3="" aria-haspopup="true" class="language-selector-btn mat-button" disableripple="" mat-button=""><span class="mat-button-wrapper"><span _ngcontent-c3="">Language</span> <mat-icon _ngcontent-c3="" class="mat-icon material-icons" role="img" aria-hidden="true">arrow_drop_down</mat-icon> </span> <div class="mat-button-ripple mat-ripple" matripple=""></div> <div class="mat-button-focus-overlay"></div> </button> <mat-menu _ngcontent-c3="" overlaptrigger="false" yposition="above" class="ng-tns-c10-0"> <!----> </mat-menu> </li> <li _ngcontent-c3="" class="h-c-footer__global-links-list-item h-c-footer__global-links-list-item--extra"> <a _ngcontent-c3="" class="h-c-footer__link" clicktracker="" track-metadata-position="footer" track-name="help" track-type="footer links" href="https://support.google.com" track-metadata-eventdetail="https://support.google.com"> <svg _ngcontent-c3="" aria-hidden="true" class="h-c-icon h-c-icon--24px h-c-icon--footer"> <use _ngcontent-c3="" xlink:href="#mi-help" xmlns:xlink="http://www.w3.org/1999/xlink"></use> </svg><span _ngcontent-c3="">Help</span></a> </li> </ul> </section> </footer> <svg class="svg-assets h-u-visually-hidden"> <symbol id="mi-arrow-forward"> <path d="M9 1.5C4.8 1.5 1.5 4.8 1.5 9s3.3 7.5 7.5 7.5 7.5-3.3 7.5-7.5S13.2 1.5 9 1.5zm0 13l-1-1 3.8-3.8H3.5V8.3h8.4L8.1 4.5l.9-1L14.5 9 9 14.5z"></path> </symbol> <symbol id="mi-help" viewBox="0 0 48 48"> <path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm2 34h-4v-4h4v4zm4.13-15.49l-1.79 1.84C26.9 25.79 26 27 26 30h-4v-1c0-2.21.9-4.21 2.34-5.66l2.49-2.52C27.55 20.1 28 19.1 28 18c0-2.21-1.79-4-4-4s-4 1.79-4 4h-4c0-4.42 3.58-8 8-8s8 3.58 8 8c0 1.76-.71 3.35-1.87 4.51z" fill="currentColor"></path> </symbol> <symbol id="mi-clear" viewBox="0 0 24 24"> <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path> <path d="M0 0h24v24H0z" fill="none"></path> </symbol> <symbol id="mi-keyboard-arrow-right" viewBox="0 0 24 24"> <path stroke-width="2" d="M9.546 6.5l5.443 5.532L9.5 17.5" fill="none" fill-rule="evenodd"></path> </symbol> <symbol id="mi-chevron" viewBox="0 0 12 8"> <path fill-rule="evenodd" d="M12 6.6L10.6 8 6 3.4 1.4 8 0 6.6l6-6"></path> </symbol> <symbol id="mi-youtube-icon" viewBox="0 0 28 20"> <path d="M11.2,14.1V5.9l7.5,4.3L11.2,14.1z M27.7,4.2c0,0-0.3-1.9-1.1-2.8c-1.1-1.1-2.3-1.1-2.8-1.2 C19.9,0,14,0,14,0S8.1,0,4.2,0.2C3.7,0.3,2.5,0.3,1.4,1.4C0.6,2.3,0.3,4.2,0.3,4.2S0,6.5,0,8.8v2.4c0,2.3,0.3,4.6,0.3,4.6 s0.3,1.9,1.1,2.8c1.1,1.1,2.5,1.1,3.1,1.2C6.7,20,13.8,20,14,20c0,0,5.9,0,9.8-0.3c0.5-0.1,1.7-0.1,2.8-1.2c0.8-0.8,1.1-2.8,1.1-2.8 s0.3-2.3,0.3-4.6V8.8C28,6.5,27.7,4.2,27.7,4.2L27.7,4.2z"></path> </symbol> <symbol id="mi-arrow-dropdown" viewBox="0 0 24 24"> <path d="M7 10l5 5 5-5z"></path> </symbol> <symbol id="mi-search" viewBox="0 0 24 22"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path> </symbol> <symbol id="social-facebook" viewBox="0 0 18 18"> <path d="M15.7,1.5H2.3c-0.5,0-0.8,0.4-0.8,0.8v13.3c0,0.5,0.4,0.8,0.8,0.8h7.2v-5.8h-2V8.4h2V6.8c0-1.9,1.2-3,2.9-3 c0.8,0,1.5,0.1,1.7,0.1v2l-1.2,0c-0.9,0-1.1,0.4-1.1,1.1v1.4h2.2l-0.3,2.3h-1.9v5.8h3.8c0.5,0,0.8-0.4,0.8-0.8V2.3 C16.5,1.9,16.1,1.5,15.7,1.5z"></path> </symbol> <symbol id="social-link" viewBox="0 0 18 18"> <path d="M12.8,5.2h-3v1.4h3c1.3,0,2.3,1,2.3,2.3s-1,2.3-2.3,2.3h-3v1.4h3c2.1,0,3.8-1.7,3.8-3.8S14.8,5.2,12.8,5.2z M6,9.8h6V8.2H6V9.8z M2.9,9c0-1.3,1-2.3,2.3-2.3h3V5.2h-3C3.2,5.2,1.5,6.9,1.5,9s1.7,3.8,3.8,3.8h3v-1.4h-3C4,11.3,2.9,10.3,2.9,9z"> </path> </symbol> <symbol id="social-linkedin" viewBox="0 0 18 18"> <path d="M15.4,1.5H2.6C2,1.5,1.5,2,1.5,2.6v12.8c0,0.6,0.5,1.1,1.1,1.1h12.8c0.6,0,1.1-0.5,1.1-1.1V2.6C16.5,2,16,1.5,15.4,1.5z M3.8,7.1H6v7.2H3.8V7.1z M4.9,6.1c-0.7,0-1.3-0.6-1.3-1.3c0-0.7,0.6-1.3,1.3-1.3c0.7,0,1.3,0.6,1.3,1.3C6.2,5.6,5.6,6.1,4.9,6.1z M14.5,14.3h-2.3v-3.5c0-0.8,0-1.9-1.2-1.9c-1.2,0-1.4,0.9-1.4,1.8v3.5H7.4V7.1h2.2v1h0c0.3-0.6,1-1.2,2.1-1.2 c2.3,0,2.7,1.5,2.7,3.4V14.3z"></path> </symbol> <symbol id="social-mail" viewBox="0 0 18 18"> <path d="M9,8.2L3,4.5h12L9,8.2z M15,13.5H3V6l6,3.8L15,6V13.5z M15,3H3C2.2,3,1.5,3.7,1.5,4.5l0,9C1.5,14.3,2.2,15,3,15 h12c0.8,0,1.5-0.7,1.5-1.5v-9C16.5,3.7,15.8,3,15,3z"></path> </symbol> <symbol id="social-twitter" viewBox="0 0 18 18"> <path d="M16.5,4.3c-0.6,0.2-1.1,0.4-1.8,0.5c0.6-0.4,1.1-1,1.4-1.7c-0.6,0.4-1.3,0.6-2,0.8c-0.6-0.6-1.4-1-2.2-1 c-1.7,0-3.1,1.4-3.1,3.1c0,0.2,0,0.5,0.1,0.7C6.3,6.5,4.1,5.3,2.5,3.4C2.3,3.9,2.1,4.4,2.1,5c0,1.1,0.5,2,1.4,2.6 c-0.5,0-1-0.2-1.4-0.4c0,0,0,0,0,0c0,1.5,1.1,2.8,2.5,3.1c-0.3,0.1-0.5,0.1-0.8,0.1c-0.2,0-0.4,0-0.6-0.1c0.4,1.2,1.5,2.1,2.9,2.2 c-1.1,0.8-2.4,1.3-3.8,1.3c-0.2,0-0.5,0-0.7,0c1.4,0.9,3,1.4,4.7,1.4c5.7,0,8.8-4.7,8.8-8.9c0-0.1,0-0.3,0-0.4 C15.6,5.5,16.1,4.9,16.5,4.3"></path> </symbol> <symbol id="social-youtube" viewBox="0 0 18 18"> <path d="M7.2,11.6V6.4L12,9.1L7.2,11.6z M17.8,5.3c0,0-0.2-1.2-0.7-1.8c-0.7-0.7-1.4-0.7-1.8-0.8C12.8,2.6,9,2.6,9,2.6 s-3.8,0-6.3,0.2c-0.3,0-1.1,0-1.8,0.8C0.4,4.1,0.2,5.3,0.2,5.3S0,6.8,0,8.2v1.5c0,1.5,0.2,2.9,0.2,2.9s0.2,1.2,0.7,1.8 c0.7,0.7,1.6,0.7,2,0.8c1.4,0.1,5.9,0.2,6.1,0.2c0,0,3.8,0,6.3-0.2c0.3,0,1.1,0,1.8-0.8c0.5-0.5,0.7-1.8,0.7-1.8S18,11.2,18,9.8V8.2 C18,6.8,17.8,5.3,17.8,5.3z"></path> </symbol> <symbol id="google-logo" viewBox="0 0 396 130"> <path d="M51.0745265,101.038701 C23.3283097,101.038701 9.65724009e-07,78.4212338 9.65724009e-07,50.645974 C-0.00548030982,22.8707143 23.3228284,0.253246753 51.0745265,0.253246753 C66.4220981,0.253246753 77.3517615,6.27798701 85.5736748,14.1408766 L75.8718171,23.8528896 C69.9794459,18.3219805 61.9987087,14.0201623 51.0690452,14.0201623 C30.8102508,14.0201623 14.9693645,30.365974 14.9693645,50.645974 C14.9693645,70.925974 30.8102508,87.2717857 51.0690452,87.2717857 C64.2076627,87.2717857 71.6950851,81.9877922 76.48572,77.1921429 C80.4157945,73.2579545 82.991994,67.6063312 83.9731424,59.8641558 L51.0745265,59.8641558 L51.0745265,46.1027273 L97.3638985,46.1027273 C97.8572133,48.5609091 98.0983894,51.5129221 98.0983894,54.7063636 C98.0983894,65.0329221 95.2755325,77.8121753 86.1875777,86.9096429 C77.3462802,96.1223377 66.0548526,101.038701 51.0745265,101.038701 L51.0745265,101.038701 Z"></path> <path d="M167.573556,68.369026 C167.573556,87.0523052 152.965957,100.813734 135.036704,100.813734 C117.112933,100.813734 102.499853,87.0468182 102.499853,68.369026 C102.499853,49.5650325 117.112933,35.9188312 135.036704,35.9188312 C152.965957,35.9188312 167.573556,49.5650325 167.573556,68.369026 L167.573556,68.369026 Z M153.333202,68.369026 C153.333202,56.6926623 144.85915,48.7035714 135.036704,48.7035714 C125.214259,48.7035714 116.740207,56.6926623 116.740207,68.369026 C116.740207,79.9191883 125.214259,88.0344805 135.036704,88.0344805 C144.85915,88.0344805 153.333202,79.9191883 153.333202,68.369026 L153.333202,68.369026 Z"></path> <path d="M238.282011,68.369026 C238.282011,87.0523052 223.674411,100.813734 205.745159,100.813734 C187.821388,100.813734 173.208307,87.0468182 173.208307,68.369026 C173.208307,49.5650325 187.821388,35.9188312 205.745159,35.9188312 C223.674411,35.9188312 238.282011,49.5650325 238.282011,68.369026 L238.282011,68.369026 Z M224.041657,68.369026 C224.041657,56.6926623 215.567605,48.7035714 205.745159,48.7035714 C195.922713,48.7035714 187.448661,56.6926623 187.448661,68.369026 C187.448661,79.9191883 195.922713,88.0344805 205.745159,88.0344805 C215.567605,88.0344805 224.041657,79.9191883 224.041657,68.369026 L224.041657,68.369026 Z"></path> <path d="M306.04702,37.943539 L306.04702,96.1442857 C306.04702,120.111558 291.927254,129.944286 275.231289,129.944286 C259.516472,129.944286 250.061272,119.376299 246.498443,110.772662 L258.897088,105.609383 C261.106042,110.893377 266.51058,117.159545 275.225808,117.159545 C285.908814,117.159545 292.535676,110.52026 292.535676,98.1086364 L292.535676,93.4391883 L292.047842,93.4391883 C288.85774,97.3733766 282.71323,100.813734 274.97915,100.813734 C258.771019,100.813734 243.916762,86.6791883 243.916762,68.4897403 C243.916762,50.1740909 258.771019,35.9188312 274.97915,35.9188312 C282.71323,35.9188312 288.852259,39.3591883 292.047842,43.1726623 L292.535676,43.1726623 L292.535676,37.943539 L306.04702,37.943539 L306.04702,37.943539 Z M293.522306,68.4897403 C293.522306,57.0602922 285.908814,48.7035714 276.212437,48.7035714 C266.389992,48.7035714 258.162597,57.0602922 258.162597,68.4897403 C258.162597,79.798474 266.389992,88.0344805 276.212437,88.0344805 C285.908814,88.0344805 293.522306,79.798474 293.522306,68.4897403 L293.522306,68.4897403 Z"></path> <path d="M329.961825,3.54545455 L329.961825,98.9207143 L315.721472,98.9207143 L315.721472,3.54545455 L329.961825,3.54545455 L329.961825,3.54545455 Z"></path> <path d="M383.755064,79.0577273 L394.805315,86.4322727 C391.242486,91.7162662 382.647846,100.813734 367.793589,100.813734 C349.376503,100.813734 336.002191,86.558474 336.002191,68.369026 C336.002191,49.0712013 349.497091,35.9188312 366.198538,35.9188312 C383.020573,35.9188312 391.247967,49.3181169 393.944755,56.566461 L395.419218,60.2537338 L352.078772,78.1962662 C355.394944,84.7093506 360.552824,88.0289935 367.793589,88.0289935 C375.039836,88.0289935 380.071647,84.4624351 383.755064,79.0577273 L383.755064,79.0577273 Z M349.743749,67.3813636 L378.717771,55.3373701 C377.12272,51.2824675 372.332085,48.4566558 366.686372,48.4566558 C359.445607,48.4511688 349.376503,54.843539 349.743749,67.3813636 L349.743749,67.3813636 Z"></path> </symbol> <symbol id="h-color-cloud-logo" viewBox="0 0 181 28"> <path d="M89.75,18.62A8.36,8.36,0,0,1,81.2,10,8.33,8.33,0,0,1,83.63,3.9a8.25,8.25,0,0,1,6.12-2.48,7.62,7.62,0,0,1,6,2.69L94.28,5.58a5.64,5.64,0,0,0-4.53-2.14,6.22,6.22,0,0,0-4.57,1.84A6.38,6.38,0,0,0,83.36,10a6.38,6.38,0,0,0,1.82,4.74,6.18,6.18,0,0,0,4.57,1.84,6.44,6.44,0,0,0,5-2.42l1.54,1.5a8,8,0,0,1-2.87,2.17A8.67,8.67,0,0,1,89.75,18.62ZM100.12,1.79V18.26H98V1.79Zm1.82,10.83a6,6,0,0,1,1.64-4.3,5.57,5.57,0,0,1,4.16-1.7,5.51,5.51,0,0,1,4.14,1.7,5.92,5.92,0,0,1,1.65,4.3,5.87,5.87,0,0,1-1.65,4.3,5.47,5.47,0,0,1-4.14,1.7,5.53,5.53,0,0,1-4.16-1.7A6,6,0,0,1,101.94,12.62Zm2.12,0a4.1,4.1,0,0,0,1.06,2.94,3.6,3.6,0,0,0,5.24,0,4.1,4.1,0,0,0,1.06-2.94,4.07,4.07,0,0,0-1.06-2.92,3.56,3.56,0,0,0-5.24,0A4.07,4.07,0,0,0,104.06,12.62Zm21.17,5.64h-2V16.69h-.1a3.75,3.75,0,0,1-1.48,1.38,4.23,4.23,0,0,1-2.08.55,4.18,4.18,0,0,1-3.19-1.18,4.74,4.74,0,0,1-1.11-3.37V7h2.11v6.94a2.49,2.49,0,0,0,2.79,2.76,2.63,2.63,0,0,0,2.11-1,3.69,3.69,0,0,0,.85-2.45V7h2.12Zm7.16.36a5,5,0,0,1-3.79-1.74A6.24,6.24,0,0,1,127,12.62a6.2,6.2,0,0,1,1.56-4.25,4.94,4.94,0,0,1,3.79-1.75,4.78,4.78,0,0,1,2.27.53,4,4,0,0,1,1.58,1.4h.09L136.24,7V1.79h2.11V18.26h-2V16.69h-.09a4,4,0,0,1-1.58,1.4A4.78,4.78,0,0,1,132.39,18.62Zm.35-1.93a3.21,3.21,0,0,0,2.55-1.13,4.17,4.17,0,0,0,1-2.94,4.21,4.21,0,0,0-1-2.92,3.23,3.23,0,0,0-2.55-1.15,3.29,3.29,0,0,0-2.55,1.15,4.21,4.21,0,0,0-1,2.92,4.14,4.14,0,0,0,1,2.92A3.29,3.29,0,0,0,132.74,16.69Z" style="fill:#5f6368"/><g id="_75x24px" data-name="75x24px"><path d="M9.49,18.62A9.46,9.46,0,0,1,0,9.31,9.46,9.46,0,0,1,9.49,0,8.91,8.91,0,0,1,15.9,2.57L14.09,4.36a6.51,6.51,0,0,0-4.6-1.82A6.69,6.69,0,0,0,2.78,9.31a6.69,6.69,0,0,0,6.71,6.77,6.25,6.25,0,0,0,4.72-1.87A5.26,5.26,0,0,0,15.6,11H9.49V8.47h8.6a8.38,8.38,0,0,1,.13,1.59A8.37,8.37,0,0,1,16,16,8.57,8.57,0,0,1,9.49,18.62Z" style="fill:#4285f4"/><path d="M31.52,12.62a5.94,5.94,0,1,1-11.87,0,5.94,5.94,0,1,1,11.87,0Zm-2.6,0a3.35,3.35,0,1,0-6.67,0,3.35,3.35,0,1,0,6.67,0Z" style="fill:#ea4335"/><path d="M44.83,12.62a5.94,5.94,0,1,1-11.87,0,5.94,5.94,0,1,1,11.87,0Zm-2.6,0a3.35,3.35,0,1,0-6.68,0,3.35,3.35,0,1,0,6.68,0Z" style="fill:#fbbc04"/><path d="M57.8,7V17.76c0,4.42-2.63,6.24-5.73,6.24a5.75,5.75,0,0,1-5.34-3.54l2.31-1a3.32,3.32,0,0,0,3,2.14c2,0,3.22-1.23,3.22-3.52v-.86H55.2A4.16,4.16,0,0,1,52,18.62a6,6,0,0,1,0-12A4.22,4.22,0,0,1,55.2,8h.09V7Zm-2.33,5.66A3.39,3.39,0,0,0,52.25,9a3.48,3.48,0,0,0-3.35,3.66,3.45,3.45,0,0,0,3.35,3.61A3.35,3.35,0,0,0,55.47,12.65Z" style="fill:#4285f4"/><path d="M62.43.64V18.26H59.79V.64Z" style="fill:#34a853"/><path d="M72.83,14.6,74.89,16a6,6,0,0,1-5,2.66,5.81,5.81,0,0,1-5.89-6,5.52,5.52,0,0,1,10.75-2.18l.27.69-8,3.31a3.07,3.07,0,0,0,2.92,1.82A3.44,3.44,0,0,0,72.83,14.6Zm-6.31-2.16,5.38-2.22A2.34,2.34,0,0,0,69.66,9,3.29,3.29,0,0,0,66.52,12.44Z" style="fill:#ea4335"/></g> </symbol> <symbol height="24" id="h-burger" viewBox="0 0 24 24" width="24"> <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path> </symbol> <symbol id="mi-rss-feed" viewBox="0 0 24 24"> <path d="M0 0h24v24H0z" fill="none"></path> <circle cx="6.18" cy="17.82" r="2.18"></circle> <path d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"></path> </symbol> <symbol id="mi-more-vert" height="24" viewBox="0 0 24 24" width="24"> <path d="M0 0h24v24H0z" fill="none"></path> <path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path> </symbol> </svg> </div><!-- end .wrapper --> <script src="js/jquery.min.js"></script> <script src="js/jquery.fancybox.js"></script> <script src="js/wd_js.js"></script> <script> // Google Cound Next OnAir forward arrow var getMoreInfo = $(".wd_category_items_3191 .item a.jb-link"); var arrowForwardIcon = $("<i class='material-icons nocontent notranslate' aria-hidden='true' translate='no'>arrow_forward</i>"); getMoreInfo.html("Get more info").append(arrowForwardIcon); // Remove unwanted forward arror from Events summary $(".wd_category_3191 .category_summary p:first-child a.jb-link i").remove(); </script> <!-- begin spin_special_output(body_end) --> <script wd_script_id="piwik_tracking_code"></script><script type="text/javascript" wd_script_id="google_tracking_code" nonce="MDc4ZmViNTFhZDAyZGE5ODFkODg4YjQ1OGY5Yzg3NDg1MGIwY2MwZQ=="> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-175165319-86']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <!-- end spin_special_output(body_end) --> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e912fe17feace77',t:'MTczMjcwMDc0NS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>