CINXE.COM
PLOS Computational Biology
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" itemscope itemtype="http://schema.org/Article" class="no-js"> <head prefix="og: http://ogp.me/ns#"> <link rel="stylesheet" href="/resource/css/home.css?79f248ebefa43b7800a14562e5049ab4"/> <!-- allows for extra head tags --> <!-- hello --> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600"> <link media="print" rel="stylesheet" type="text/css" href="/resource/css/print.css"/> <script type="text/javascript"> var siteUrlPrefix = "/ploscompbiol/"; </script> <script src="/resource/js/vendor/modernizr-v2.7.1.js" type="text/javascript"></script> <script src="/resource/js/vendor/detectizr.min.js" type="text/javascript"></script> <link rel="shortcut icon" href="/resource/img/favicon.ico" type="image/x-icon"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!-- DoubleClick overall ad setup script --> <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <!-- DoubleClick ad slot setup script --> <script id="doubleClickSetupScript" type='text/javascript'> googletag.cmd.push(function() { googletag.defineSlot('/75507958/PCOMPBIO_728x90_ATF', [728, 90], 'div-gpt-ad-1458247671871-0').addService(googletag.pubads()); googletag.defineSlot('/75507958/PCOMPBIO_160x600_BTF', [160, 600], 'div-gpt-ad-1458247671871-1').addService(googletag.pubads()); googletag.defineSlot('/75507958/PCOMPBIO_300x250_ITB1', [300, 250], 'div-gpt-ad-1458247671871-2').addService(googletag.pubads()); googletag.defineSlot('/75507958/PCOMPBIO_300x250_ITB2', [300, 250], 'div-gpt-ad-1458247671871-3').addService(googletag.pubads()); googletag.defineSlot('/75507958/PCOMPBIO_300x250_ITB3', [300, 250], 'div-gpt-ad-1458247671871-4').addService(googletag.pubads()); var personalizedAds = window.plosCookieConsent && window.plosCookieConsent.hasConsented('advertising'); googletag.pubads().setRequestNonPersonalizedAds(personalizedAds ? 0 : 1); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <script type="text/javascript"> var WombatConfig = WombatConfig || {}; WombatConfig.journalKey = "PLoSCompBiol"; WombatConfig.journalName = "PLOS Computational Biology"; WombatConfig.figurePath = "/ploscompbiol/article/figure/image"; WombatConfig.figShareInstitutionString = "plos"; WombatConfig.doiResolverPrefix = "https://dx.plos.org/"; </script> <script type="text/javascript"> var WombatConfig = WombatConfig || {}; WombatConfig.metrics = WombatConfig.metrics || {}; WombatConfig.metrics.referenceUrl = "http://lagotto.io/plos"; WombatConfig.metrics.googleScholarUrl = "https://scholar.google.com/scholar"; WombatConfig.metrics.googleScholarCitationUrl = WombatConfig.metrics.googleScholarUrl + "?hl=en&lr=&q="; WombatConfig.metrics.crossrefUrl = "https://www.crossref.org"; </script> <script defer="defer" src="/resource/js/defer.js?13928eb59791c3cc61cf"></script><script src="/resource/js/sync.js?13928eb59791c3cc61cf"></script> <script src="/resource/js/vendor/jquery.min.js" type="text/javascript"></script> <script src="/resource/js/vendor/fastclick/lib/fastclick.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.js" type="text/javascript"></script> <script src="/resource/js/vendor/underscore-min.js" type="text/javascript"></script> <script src="/resource/js/vendor/underscore.string.min.js" type="text/javascript"></script> <script src="/resource/js/vendor/moment.js" type="text/javascript"></script> <script src="/resource/js/vendor/jquery-ui-effects.min.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.tooltip.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.dropdown.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.tab.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.reveal.js" type="text/javascript"></script> <script src="/resource/js/vendor/foundation/foundation.slider.js" type="text/javascript"></script> <script src="/resource/js/util/utils.js" type="text/javascript"></script> <script src="/resource/js/components/toggle.js" type="text/javascript"></script> <script src="/resource/js/components/truncate_elem.js" type="text/javascript"></script> <script src="/resource/js/components/tooltip_hover.js" type="text/javascript"></script> <script src="/resource/js/vendor/jquery.dotdotdot.js" type="text/javascript"></script> <!--For Google Tag manager to be able to track site information --> <script> dataLayer = [{ 'mobileSite': 'false', 'desktopSite': 'true' }]; </script> <title>PLOS Computational Biology</title> <!-- for lemur --> <script> $(document).ready(()=> { let lemurTitle = $('article > h1').text(); if (lemurTitle && lemurTitle != '') { $('title').text(lemurTitle + ' | ' + 'PLOS Computational Biology'); } }); </script> </head> <body class="home ploscompbiol"> <div id="test"></div> <!-- Google Tag Manager --> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-TP26BH" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TP26BH'); </script> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-MQQMGF" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MQQMGF');</script> <!-- End Google Tag Manager --> <!-- New Relic --> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(32),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,o.indexOf("dev")!==-1&&(s.dev=!0),o.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,e,n){r(n.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,s){try{l?l-=1:o(s||new UncaughtException(t,e,n),!0)}catch(f){try{i("ierr",[f,c.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function o(t,e){var n=e?null:c.now();i("err",[t,n])}var i=t("handle"),a=t(33),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!1,p="nr@seenError";if(!c.disabled){var l=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(h){"stack"in h&&(t(14),t(13),"addEventListener"in window&&t(7),c.xhrWrappable&&t(15),d=!0)}s.on("fn-start",function(t,e,n){d&&(l+=1)}),s.on("fn-err",function(t,e,n){d&&!n[p]&&(f(n,p,function(){return!0}),this.thrown=!0,o(n))}),s.on("fn-end",function(){d&&!this.thrown&&l>0&&(l-=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})}},{}],3:[function(t,e,n){var r=t("loader");r.disabled||(r.features.ins=!0)},{}],4:[function(t,e,n){function r(){U++,L=g.hash,this[u]=y.now()}function o(){U--,g.hash!==L&&i(0,!0);var t=y.now();this[h]=~~this[h]+t-this[u],this[d]=t}function i(t,e){E.emit("newURL",[""+g,e])}function a(t,e){t.on(e,function(){this[e]=y.now()})}var s="-start",c="-end",f="-body",u="fn"+s,d="fn"+c,p="cb"+s,l="cb"+c,h="jsTime",m="fetch",v="addEventListener",w=window,g=w.location,y=t("loader");if(w[v]&&y.xhrWrappable&&!y.disabled){var x=t(11),b=t(12),E=t(9),R=t(7),O=t(14),T=t(8),P=t(15),S=t(10),M=t("ee"),N=M.get("tracer"),C=t(23);t(17),y.features.spa=!0;var L,U=0;M.on(u,r),b.on(p,r),S.on(p,r),M.on(d,o),b.on(l,o),S.on(l,o),M.buffer([u,d,"xhr-resolved"]),R.buffer([u]),O.buffer(["setTimeout"+c,"clearTimeout"+s,u]),P.buffer([u,"new-xhr","send-xhr"+s]),T.buffer([m+s,m+"-done",m+f+s,m+f+c]),E.buffer(["newURL"]),x.buffer([u]),b.buffer(["propagate",p,l,"executor-err","resolve"+s]),N.buffer([u,"no-"+u]),S.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"]),a(T,m+s),a(T,m+"-done"),a(S,"new-jsonp"),a(S,"jsonp-end"),a(S,"cb-start"),E.on("pushState-end",i),E.on("replaceState-end",i),w[v]("hashchange",i,C(!0)),w[v]("load",i,C(!0)),w[v]("popstate",function(){i(0,U>1)},C(!0))}},{}],5:[function(t,e,n){function r(){var t=new PerformanceObserver(function(t,e){var n=t.getEntries();s(v,[n])});try{t.observe({entryTypes:["resource"]})}catch(e){}}function o(t){if(s(v,[window.performance.getEntriesByType(w)]),window.performance["c"+p])try{window.performance[h](m,o,!1)}catch(t){}else try{window.performance[h]("webkit"+m,o,!1)}catch(t){}}function i(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var a=t("ee"),s=t("handle"),c=t(14),f=t(13),u=t(6),d=t(23),p="learResourceTimings",l="addEventListener",h="removeEventListener",m="resourcetimingbufferfull",v="bstResource",w="resource",g="-start",y="-end",x="fn"+g,b="fn"+y,E="bstTimer",R="pushState",O=t("loader");if(!O.disabled){O.features.stn=!0,t(9),"addEventListener"in window&&t(7);var T=NREUM.o.EV;a.on(x,function(t,e){var n=t[0];n instanceof T&&(this.bstStart=O.now())}),a.on(b,function(t,e){var n=t[0];n instanceof T&&s("bst",[n,e,this.bstStart,O.now()])}),c.on(x,function(t,e,n){this.bstStart=O.now(),this.bstType=n}),c.on(b,function(t,e){s(E,[e,this.bstStart,O.now(),this.bstType])}),f.on(x,function(){this.bstStart=O.now()}),f.on(b,function(t,e){s(E,[e,this.bstStart,O.now(),"requestAnimationFrame"])}),a.on(R+g,function(t){this.time=O.now(),this.startPath=location.pathname+location.hash}),a.on(R+y,function(t){s("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),u()?(s(v,[window.performance.getEntriesByType("resource")]),r()):l in window.performance&&(window.performance["c"+p]?window.performance[l](m,o,d(!1)):window.performance[l]("webkit"+m,o,d(!1))),document[l]("scroll",i,d(!1)),document[l]("keypress",i,d(!1)),document[l]("click",i,d(!1))}}},{}],6:[function(t,e,n){e.exports=function(){return"PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver}},{}],7:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&o(e)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,e){return t[1]}var a=t("ee").get("events"),s=t("wrap-function")(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,e){var n=t[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var r=c(n,"nr@wrapped",function(){function t(){if("function"==typeof n.handleEvent)return n.handleEvent.apply(n,arguments)}var e={object:t,"function":n}[typeof n];return e?s(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=t[1]=r}}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],8:[function(t,e,n){function r(t,e,n){var r=t[e];"function"==typeof r&&(t[e]=function(){var t=i(arguments),e={};o.emit(n+"before-start",[t],e);var a;e[m]&&e[m].dt&&(a=e[m].dt);var s=r.apply(this,t);return o.emit(n+"start",[t,a],s),s.then(function(t){return o.emit(n+"end",[null,t],s),t},function(t){throw o.emit(n+"end",[t],s),t})})}var o=t("ee").get("fetch"),i=t(33),a=t(32);e.exports=o;var s=window,c="fetch-",f=c+"body-",u=["arrayBuffer","blob","json","text","formData"],d=s.Request,p=s.Response,l=s.fetch,h="prototype",m="nr@context";d&&p&&l&&(a(u,function(t,e){r(d[h],e,f),r(p[h],e,f)}),r(s,"fetch",c),o.on(c+"end",function(t,e){var n=this;if(e){var r=e.headers.get("content-length");null!==r&&(n.rxSize=r),o.emit(c+"done",[null,e],n)}else o.emit(c+"done",[t],n)}))},{}],9:[function(t,e,n){var r=t("ee").get("history"),o=t("wrap-function")(r);e.exports=r;var i=window.history&&window.history.constructor&&window.history.constructor.prototype,a=window.history;i&&i.pushState&&i.replaceState&&(a=i),o.inPlace(a,["pushState","replaceState"],"-")},{}],10:[function(t,e,n){function r(t){function e(){f.emit("jsonp-end",[],l),t.removeEventListener("load",e,c(!1)),t.removeEventListener("error",n,c(!1))}function n(){f.emit("jsonp-error",[],l),f.emit("jsonp-end",[],l),t.removeEventListener("load",e,c(!1)),t.removeEventListener("error",n,c(!1))}var r=t&&"string"==typeof t.nodeName&&"script"===t.nodeName.toLowerCase();if(r){var o="function"==typeof t.addEventListener;if(o){var a=i(t.src);if(a){var d=s(a),p="function"==typeof d.parent[d.key];if(p){var l={};u.inPlace(d.parent,[d.key],"cb-",l),t.addEventListener("load",e,c(!1)),t.addEventListener("error",n,c(!1)),f.emit("new-jsonp",[t.src],l)}}}}}function o(){return"addEventListener"in window}function i(t){var e=t.match(d);return e?e[1]:null}function a(t,e){var n=t.match(l),r=n[1],o=n[3];return o?a(o,e[r]):e[r]}function s(t){var e=t.match(p);return e&&e.length>=3?{key:e[2],parent:a(e[1],window)}:{key:t,parent:window}}var c=t(23),f=t("ee").get("jsonp"),u=t("wrap-function")(f);if(e.exports=f,o()){var d=/[?&](?:callback|cb)=([^&#]+)/,p=/(.*)\.([^.]+)/,l=/^(\w+)(\.|$)(.*)$/,h=["appendChild","insertBefore","replaceChild"];Node&&Node.prototype&&Node.prototype.appendChild?u.inPlace(Node.prototype,h,"dom-"):(u.inPlace(HTMLElement.prototype,h,"dom-"),u.inPlace(HTMLHeadElement.prototype,h,"dom-"),u.inPlace(HTMLBodyElement.prototype,h,"dom-")),f.on("dom-start",function(t){r(t[0])})}},{}],11:[function(t,e,n){var r=t("ee").get("mutation"),o=t("wrap-function")(r),i=NREUM.o.MO;e.exports=r,i&&(window.MutationObserver=function(t){return this instanceof i?new i(o(t,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype)},{}],12:[function(t,e,n){function r(t){var e=i.context(),n=s(t,"executor-",e,null,!1),r=new f(n);return i.context(r).getCtx=function(){return e},r}var o=t("wrap-function"),i=t("ee").get("promise"),a=t("ee").getOrSetContext,s=o(i),c=t(32),f=NREUM.o.PR;e.exports=i,f&&(window.Promise=r,["all","race"].forEach(function(t){var e=f[t];f[t]=function(n){function r(t){return function(){i.emit("propagate",[null,!o],a,!1,!1),o=o||!t}}var o=!1;c(n,function(e,n){Promise.resolve(n).then(r("all"===t),r(!1))});var a=e.apply(f,arguments),s=f.resolve(a);return s}}),["resolve","reject"].forEach(function(t){var e=f[t];f[t]=function(t){var n=e.apply(f,arguments);return t!==n&&i.emit("propagate",[t,!0],n,!1,!1),n}}),f.prototype["catch"]=function(t){return this.then(null,t)},f.prototype=Object.create(f.prototype,{constructor:{value:r}}),c(Object.getOwnPropertyNames(f),function(t,e){try{r[e]=f[e]}catch(n){}}),o.wrapInPlace(f.prototype,"then",function(t){return function(){var e=this,n=o.argsToArray.apply(this,arguments),r=a(e);r.promise=e,n[0]=s(n[0],"cb-",r,null,!1),n[1]=s(n[1],"cb-",r,null,!1);var c=t.apply(this,n);return r.nextPromise=c,i.emit("propagate",[e,!0],c,!1,!1),c}}),i.on("executor-start",function(t){t[0]=s(t[0],"resolve-",this,null,!1),t[1]=s(t[1],"resolve-",this,null,!1)}),i.on("executor-err",function(t,e,n){t[1](n)}),i.on("cb-end",function(t,e,n){i.emit("propagate",[n,!0],this.nextPromise,!1,!1)}),i.on("propagate",function(t,e,n){this.getCtx&&!e||(this.getCtx=function(){if(t instanceof Promise)var e=i.context(t);return e&&e.getCtx?e.getCtx():this})}),r.toString=function(){return""+f})},{}],13:[function(t,e,n){var r=t("ee").get("raf"),o=t("wrap-function")(r),i="equestAnimationFrame";e.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],14:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function o(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,n)}var i=t("ee").get("timer"),a=t("wrap-function")(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";e.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],15:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",s)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",s)}function i(t){x.push(t),m&&(E?E.then(a):w?w(a):(R=-R,O.data=R))}function a(){for(var t=0;t<x.length;t++)r([],x[t]);x.length&&(x=[])}function s(t,e){return e}function c(t,e){for(var n in t)e[n]=t[n];return e}t(7);var f=t("ee"),u=f.get("xhr"),d=t("wrap-function")(u),p=t(23),l=NREUM.o,h=l.XHR,m=l.MO,v=l.PR,w=l.SI,g="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],x=[];e.exports=u;var b=window.XMLHttpRequest=function(t){var e=new h(t);try{u.emit("new-xhr",[e],e),e.addEventListener(g,o,p(!1))}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(c(h,b),b.prototype=h.prototype,d.inPlace(b.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,e){r(t,e),i(e)}),u.on("open-xhr-start",r),m){var E=v&&v.resolve();if(!w&&!v){var R=1,O=document.createTextNode(R);new m(a).observe(O,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===g||a()})},{}],16:[function(t,e,n){function r(t){if(!s(t))return null;var e=window.NREUM;if(!e.loader_config)return null;var n=(e.loader_config.accountID||"").toString()||null,r=(e.loader_config.agentID||"").toString()||null,f=(e.loader_config.trustKey||"").toString()||null;if(!n||!r)return null;var h=l.generateSpanId(),m=l.generateTraceId(),v=Date.now(),w={spanId:h,traceId:m,timestamp:v};return(t.sameOrigin||c(t)&&p())&&(w.traceContextParentHeader=o(h,m),w.traceContextStateHeader=i(h,v,n,r,f)),(t.sameOrigin&&!u()||!t.sameOrigin&&c(t)&&d())&&(w.newrelicHeader=a(h,m,v,n,r,f)),w}function o(t,e){return"00-"+e+"-"+t+"-01"}function i(t,e,n,r,o){var i=0,a="",s=1,c="",f="";return o+"@nr="+i+"-"+s+"-"+n+"-"+r+"-"+t+"-"+a+"-"+c+"-"+f+"-"+e}function a(t,e,n,r,o,i){var a="btoa"in window&&"function"==typeof window.btoa;if(!a)return null;var s={v:[0,1],d:{ty:"Browser",ac:r,ap:o,id:t,tr:e,ti:n}};return i&&r!==i&&(s.d.tk=i),btoa(JSON.stringify(s))}function s(t){return f()&&c(t)}function c(t){var e=!1,n={};if("init"in NREUM&&"distributed_tracing"in NREUM.init&&(n=NREUM.init.distributed_tracing),t.sameOrigin)e=!0;else if(n.allowed_origins instanceof Array)for(var r=0;r<n.allowed_origins.length;r++){var o=h(n.allowed_origins[r]);if(t.hostname===o.hostname&&t.protocol===o.protocol&&t.port===o.port){e=!0;break}}return e}function f(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.enabled}function u(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.exclude_newrelic_header}function d(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&NREUM.init.distributed_tracing.cors_use_newrelic_header!==!1}function p(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.cors_use_tracecontext_headers}var l=t(29),h=t(18);e.exports={generateTracePayload:r,shouldGenerateTrace:s}},{}],17:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<p;r++)t.removeEventListener(d[r],this.listener,!1);e.aborted||(n.duration=a.now()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==e.status&&(e.status=0):i(this,t),n.cbTime=this.cbTime,s("xhr",[e,n,this.startTime,this.endTime,"xhr"],this))}}function o(t,e){var n=c(e),r=t.params;r.hostname=n.hostname,r.port=n.port,r.protocol=n.protocol,r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.parsedOrigin=n,t.sameOrigin=n.sameOrigin}function i(t,e){t.params.status=e.status;var n=v(e,t.lastSize);if(n&&(t.metrics.rxSize=n),t.sameOrigin){var r=e.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}t.loadCaptureCalled=!0}var a=t("loader");if(a.xhrWrappable&&!a.disabled){var s=t("handle"),c=t(18),f=t(16).generateTracePayload,u=t("ee"),d=["load","error","abort","timeout"],p=d.length,l=t("id"),h=t(24),m=t(22),v=t(19),w=t(23),g=NREUM.o.REQ,y=window.XMLHttpRequest;a.features.xhr=!0,t(15),t(8),u.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,e.loadCaptureCalled=!1,e.params=this.params||{},e.metrics=this.metrics||{},t.addEventListener("load",function(n){i(e,t)},w(!1)),h&&(h>34||h<10)||t.addEventListener("progress",function(t){e.lastSize=t.loaded},w(!1))}),u.on("open-xhr-start",function(t){this.params={method:t[0]},o(this,t[1]),this.metrics={}}),u.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid);var n=f(this.parsedOrigin);if(n){var r=!1;n.newrelicHeader&&(e.setRequestHeader("newrelic",n.newrelicHeader),r=!0),n.traceContextParentHeader&&(e.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&e.setRequestHeader("tracestate",n.traceContextStateHeader),r=!0),r&&(this.dt=n)}}),u.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],o=this;if(n&&r){var i=m(r);i&&(n.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"!==t.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof e.onload))&&o.end(e)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}};for(var s=0;s<p;s++)e.addEventListener(d[s],this.listener,w(!1))}),u.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),u.on("xhr-load-added",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),u.on("xhr-load-removed",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),u.on("xhr-resolved",function(){this.endTime=a.now()}),u.on("addEventListener-end",function(t,e){e instanceof y&&"load"===t[0]&&u.emit("xhr-load-added",[t[1],t[2]],e)}),u.on("removeEventListener-end",function(t,e){e instanceof y&&"load"===t[0]&&u.emit("xhr-load-removed",[t[1],t[2]],e)}),u.on("fn-start",function(t,e,n){e instanceof y&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),u.on("fn-end",function(t,e){this.xhrCbStart&&u.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,e],e)}),u.on("fetch-before-start",function(t){function e(t,e){var n=!1;return e.newrelicHeader&&(t.set("newrelic",e.newrelicHeader),n=!0),e.traceContextParentHeader&&(t.set("traceparent",e.traceContextParentHeader),e.traceContextStateHeader&&t.set("tracestate",e.traceContextStateHeader),n=!0),n}var n,r=t[1]||{};"string"==typeof t[0]?n=t[0]:t[0]&&t[0].url?n=t[0].url:window.URL&&t[0]&&t[0]instanceof URL&&(n=t[0].href),n&&(this.parsedOrigin=c(n),this.sameOrigin=this.parsedOrigin.sameOrigin);var o=f(this.parsedOrigin);if(o&&(o.newrelicHeader||o.traceContextParentHeader))if("string"==typeof t[0]||window.URL&&t[0]&&t[0]instanceof URL){var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),e(i.headers,o)&&(this.dt=o),t.length>1?t[1]=i:t.push(i)}else t[0]&&t[0].headers&&e(t[0].headers,o)&&(this.dt=o)}),u.on("fetch-start",function(t,e){this.params={},this.metrics={},this.startTime=a.now(),this.dt=e,t.length>=1&&(this.target=t[0]),t.length>=2&&(this.opts=t[1]);var n,r=this.opts||{},i=this.target;"string"==typeof i?n=i:"object"==typeof i&&i instanceof g?n=i.url:window.URL&&"object"==typeof i&&i instanceof URL&&(n=i.href),o(this,n);var s=(""+(i&&i instanceof g&&i.method||r.method||"GET")).toUpperCase();this.params.method=s,this.txSize=m(r.body)||0}),u.on("fetch-done",function(t,e){this.endTime=a.now(),this.params||(this.params={}),this.params.status=e?e.status:0;var n;"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var r={txSize:this.txSize,rxSize:n,duration:a.now()-this.startTime};s("xhr",[this.params,r,this.startTime,this.endTime,"fetch"],this)})}},{}],18:[function(t,e,n){var r={};e.exports=function(t){if(t in r)return r[t];var e=document.createElement("a"),n=window.location,o={};e.href=t,o.port=e.port;var i=e.href.split("://");!o.port&&i[1]&&(o.port=i[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===i[0]?"443":"80"),o.hostname=e.hostname||n.hostname,o.pathname=e.pathname,o.protocol=i[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var a=!e.protocol||":"===e.protocol||e.protocol===n.protocol,s=e.hostname===document.domain&&e.port===n.port;return o.sameOrigin=a&&(!e.hostname||s),"/"===o.pathname&&(r[t]=o),o}},{}],19:[function(t,e,n){function r(t,e){var n=t.responseType;return"json"===n&&null!==e?e:"arraybuffer"===n||"blob"===n||"json"===n?o(t.response):"text"===n||""===n||void 0===n?o(t.responseText):void 0}var o=t(22);e.exports=r},{}],20:[function(t,e,n){function r(){}function o(t,e,n,r){return function(){return u.recordSupportability("API/"+e+"/called"),i(t+e,[f.now()].concat(s(arguments)),n?null:this,r),n?void 0:this}}var i=t("handle"),a=t(32),s=t(33),c=t("ee").get("tracer"),f=t("loader"),u=t(25),d=NREUM;"undefined"==typeof window.newrelic&&(newrelic=d);var p=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",h=l+"ixn-";a(p,function(t,e){d[e]=o(l,e,!0,"api")}),d.addPageAction=o(l,"addPageAction",!0),d.setCurrentRouteName=o(l,"routeName",!0),e.exports=newrelic,d.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(t,e){var n={},r=this,o="function"==typeof e;return i(h+"tracer",[f.now(),t,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],n),o)try{return e.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],n),t}finally{c.emit("fn-end",[f.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){m[e]=o(h,e)}),newrelic.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),u.recordSupportability("API/noticeError/called"),i("err",[t,f.now(),!1,e])}},{}],21:[function(t,e,n){function r(t){if(NREUM.init){for(var e=NREUM.init,n=t.split("."),r=0;r<n.length-1;r++)if(e=e[n[r]],"object"!=typeof e)return;return e=e[n[n.length-1]]}}e.exports={getConfiguration:r}},{}],22:[function(t,e,n){e.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}},{}],23:[function(t,e,n){var r=!1;try{var o=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("testPassive",null,o),window.removeEventListener("testPassive",null,o)}catch(i){}e.exports=function(t){return r?{passive:!0,capture:!!t}:!!t}},{}],24:[function(t,e,n){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),e.exports=r},{}],25:[function(t,e,n){function r(t,e){var n=[a,t,{name:t},e];return i("storeMetric",n,null,"api"),n}function o(t,e){var n=[s,t,{name:t},e];return i("storeEventMetrics",n,null,"api"),n}var i=t("handle"),a="sm",s="cm";e.exports={constants:{SUPPORTABILITY_METRIC:a,CUSTOM_METRIC:s},recordSupportability:r,recordCustom:o}},{}],26:[function(t,e,n){function r(){return s.exists&&performance.now?Math.round(performance.now()):(i=Math.max((new Date).getTime(),i))-a}function o(){return i}var i=(new Date).getTime(),a=i,s=t(34);e.exports=r,e.exports.offset=a,e.exports.getLastTimestamp=o},{}],27:[function(t,e,n){function r(t){return!(!t||!t.protocol||"file:"===t.protocol)}e.exports=r},{}],28:[function(t,e,n){function r(t,e){var n=t.getEntries();n.forEach(function(t){"first-paint"===t.name?p("timing",["fp",Math.floor(t.startTime)]):"first-contentful-paint"===t.name&&p("timing",["fcp",Math.floor(t.startTime)])})}function o(t,e){var n=t.getEntries();if(n.length>0){var r=n[n.length-1];if(c&&c<r.startTime)return;p("lcp",[r])}}function i(t){t.getEntries().forEach(function(t){t.hadRecentInput||p("cls",[t])})}function a(t){if(t instanceof v&&!g){var e=Math.round(t.timeStamp),n={type:t.type};e<=l.now()?n.fid=l.now()-e:e>l.offset&&e<=Date.now()?(e-=l.offset,n.fid=l.now()-e):e=l.now(),g=!0,p("timing",["fi",e,n])}}function s(t){"hidden"===t&&(c=l.now(),p("pageHide",[c]))}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var c,f,u,d,p=t("handle"),l=t("loader"),h=t(31),m=t(23),v=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){f=new PerformanceObserver(r);try{f.observe({entryTypes:["paint"]})}catch(w){}u=new PerformanceObserver(o);try{u.observe({entryTypes:["largest-contentful-paint"]})}catch(w){}d=new PerformanceObserver(i);try{d.observe({type:"layout-shift",buffered:!0})}catch(w){}}if("addEventListener"in document){var g=!1,y=["click","keydown","mousedown","pointerdown","touchstart"];y.forEach(function(t){document.addEventListener(t,a,m(!1))})}h(s)}},{}],29:[function(t,e,n){function r(){function t(){return e?15&e[n++]:16*Math.random()|0}var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var o,i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",s=0;s<i.length;s++)o=i[s],"x"===o?a+=t().toString(16):"y"===o?(o=3&t()|8,a+=o.toString(16)):a+=o;return a}function o(){return a(16)}function i(){return a(32)}function a(t){function e(){return n?15&n[r++]:16*Math.random()|0}var n=null,r=0,o=window.crypto||window.msCrypto;o&&o.getRandomValues&&Uint8Array&&(n=o.getRandomValues(new Uint8Array(31)));for(var i=[],a=0;a<t;a++)i.push(e().toString(16));return i.join("")}e.exports={generateUuid:r,generateSpanId:o,generateTraceId:i}},{}],30:[function(t,e,n){function r(t,e){if(!o)return!1;if(t!==o)return!1;if(!e)return!0;if(!i)return!1;for(var n=i.split("."),r=e.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chromium")===-1&&(o="Safari",i=c[1])}e.exports={agent:o,version:i,match:r}},{}],31:[function(t,e,n){function r(t){function e(){t(s&&document[s]?document[s]:document[i]?"hidden":"visible")}"addEventListener"in document&&a&&document.addEventListener(a,e,o(!1))}var o=t(23);e.exports=r;var i,a,s;"undefined"!=typeof document.hidden?(i="hidden",a="visibilitychange",s="visibilityState"):"undefined"!=typeof document.msHidden?(i="msHidden",a="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(i="webkitHidden",a="webkitvisibilitychange",s="webkitVisibilityState")},{}],32:[function(t,e,n){function r(t,e){var n=[],r="",i=0;for(r in t)o.call(t,r)&&(n[i]=e(r,t[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],33:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(o<0?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=r},{}],34:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(t,e,n){function r(){}function o(t){function e(t){return t&&t instanceof r?t:t?f(t,c,a):a()}function n(n,r,o,i,a){if(a!==!1&&(a=!0),!l.aborted||i){t&&a&&t(n,r,o);for(var s=e(o),c=m(n),f=c.length,u=0;u<f;u++)c[u].apply(s,r);var p=d[y[n]];return p&&p.push([x,n,r,s]),s}}function i(t,e){g[t]=m(t).concat(e)}function h(t,e){var n=g[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function m(t){return g[t]||[]}function v(t){return p[t]=p[t]||o(n)}function w(t,e){l.aborted||u(t,function(t,n){e=e||"feature",y[n]=e,e in d||(d[e]=[])})}var g={},y={},x={on:i,addEventListener:i,removeEventListener:h,emit:n,get:v,listeners:m,context:e,buffer:w,abort:s,aborted:!1};return x}function i(t){return f(t,c,a)}function a(){return new r}function s(){(d.api||d.feature)&&(l.aborted=!0,d=l.backlog={})}var c="nr@context",f=t("gos"),u=t(32),d={},p={},l=e.exports=o();e.exports.getOrSetContext=i,l.backlog=d},{}],gos:[function(t,e,n){function r(t,e,n){if(o.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[e]=r,r}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){o.buffer([t],r),o.emit(t,e,n)}var o=t("ee").get("handle");e.exports=r,r.ee=o},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!P++){var t=T.info=NREUM.info,e=v.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return f.abort();c(R,function(e,n){t[e]||(t[e]=n)});var n=a();s("mark",["onload",n+T.offset],null,"api"),s("timing",["load",n]);var r=v.createElement("script");0===t.agent.indexOf("http://")||0===t.agent.indexOf("https://")?r.src=t.agent:r.src=h+"://"+t.agent,e.parentNode.insertBefore(r,e)}}function o(){"complete"===v.readyState&&i()}function i(){s("mark",["domContent",a()+T.offset],null,"api")}var a=t(26),s=t("handle"),c=t(32),f=t("ee"),u=t(30),d=t(27),p=t(21),l=t(23),h=p.getConfiguration("ssl")===!1?"http":"https",m=window,v=m.document,w="addEventListener",g="attachEvent",y=m.XMLHttpRequest,x=y&&y.prototype,b=!d(m.location);NREUM.o={ST:setTimeout,SI:m.setImmediate,CT:clearTimeout,XHR:y,REQ:m.Request,EV:m.Event,PR:m.Promise,MO:m.MutationObserver};var E=""+location,R={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-spa-1212.min.js"},O=y&&x&&x[w]&&!/CriOS/.test(navigator.userAgent),T=e.exports={offset:a.getLastTimestamp(),now:a,origin:E,features:{},xhrWrappable:O,userAgent:u,disabled:b};if(!b){t(20),t(28),v[w]?(v[w]("DOMContentLoaded",i,l(!1)),m[w]("load",r,l(!1))):(v[g]("onreadystatechange",o),m[g]("onload",r)),s("mark",["firstbyte",a.getLastTimestamp()],null,"api");var P=0}},{}],"wrap-function":[function(t,e,n){function r(t,e){function n(e,n,r,c,f){function nrWrapper(){var i,a,u,p;try{a=this,i=d(arguments),u="function"==typeof r?r(i,a):r||{}}catch(l){o([l,"",[i,a,c],u],t)}s(n+"start",[i,a,c],u,f);try{return p=e.apply(a,i)}catch(h){throw s(n+"err",[i,a,h],u,f),h}finally{s(n+"end",[i,a,p],u,f)}}return a(e)?e:(n||(n=""),nrWrapper[p]=e,i(e,nrWrapper,t),nrWrapper)}function r(t,e,r,o,i){r||(r="");var s,c,f,u="-"===r.charAt(0);for(f=0;f<e.length;f++)c=e[f],s=t[c],a(s)||(t[c]=n(s,u?c+r:r,o,c,i))}function s(n,r,i,a){if(!h||e){var s=h;h=!0;try{t.emit(n,r,i,e,a)}catch(c){o([c,n,r,i],t)}h=s}}return t||(t=u),n.inPlace=r,n.flag=p,n}function o(t,e){e||(e=u);try{e.emit("internal-error",t)}catch(n){}}function i(t,e,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(t);return r.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(i){o([i],n)}for(var a in t)l.call(t,a)&&(e[a]=t[a]);return e}function a(t){return!(t&&t instanceof Function&&t.apply&&!t[p])}function s(t,e){var n=e(t);return n[p]=t,i(t,n,u),n}function c(t,e,n){var r=t[e];t[e]=s(r,n)}function f(){for(var t=arguments.length,e=new Array(t),n=0;n<t;++n)e[n]=arguments[n];return e}var u=t("ee"),d=t(33),p="nr@original",l=Object.prototype.hasOwnProperty,h=!1;e.exports=r,e.exports.wrapFunction=s,e.exports.wrapInPlace=c,e.exports.argsToArray=f},{}]},{},["loader",2,17,5,3,4]); ;NREUM.loader_config={accountID:"804283",trustKey:"804283",agentID:"402703674",licenseKey:"cf99e8d2a3",applicationID:"402703674"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"cf99e8d2a3", // Modified this value from the generated script, to pass prod vs dev applicationID: window.location.hostname.includes('journals.plos.org') ? "402703674" : "402694889", sa:1} </script> <!-- End New Relic --> <header> <div id="topslot" class="head-top"> <a id="skip-to-content" tabindex="0" class="button" href="#main-content"> Skip to main content </a> <div class="center"> <div class="title">Advertisement</div> <!-- DoubleClick Ad Zone --> <div class='advertisement' id='div-gpt-ad-1458247671871-0' style='width:728px; height:90px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458247671871-0'); }); </script> </div> </div> </div> <div id="user" class="nav" data-user-management-url="https://community.plos.org"> </div> <div id="pagehdr"> <nav class="nav-main"> <h1 class="logo"> <a href="/ploscompbiol/.">PLOS Computational Biology</a> </h1> <section class="top-bar-section"> <ul class="nav-elements"> <li class="menu-section-header has-dropdown " id="browse"> <span class="menu-section-header-title"> Browse </span> <ul class="menu-section dropdown " id="browse-dropdown-list"> <li> <a href="/ploscompbiol/issue" >Current Issue</a> </li> <li> <a href="/ploscompbiol/volume" >Journal Archive</a> </li> <li> <a href="/ploscompbiol/s/collections" >Collections</a> </li> <li> <a href="/ploscompbiol/s/find-and-read-articles" >Find and Read Articles</a> </li> </ul> </li> <li class="multi-col-parent menu-section-header has-dropdown" id="publish"> Publish <div class="dropdown mega "> <ul class="multi-col" id="publish-dropdown-list"> <li class="menu-section-header " id="submissions"> <span class="menu-section-header-title"> Submissions </span> <ul class="menu-section " id="submissions-dropdown-list"> <li> <a href="/ploscompbiol/s/getting-started" >Getting Started</a> </li> <li> <a href="/ploscompbiol/s/submission-guidelines" >Submission Guidelines</a> </li> <li> <a href="/ploscompbiol/s/figures" >Figures</a> </li> <li> <a href="/ploscompbiol/s/tables" >Tables</a> </li> <li> <a href="/ploscompbiol/s/supporting-information" >Supporting Information</a> </li> <li> <a href="/ploscompbiol/s/latex" >LaTeX</a> </li> <li> <a href="/ploscompbiol/s/other-article-types" >Other Article Types</a> </li> <li> <a href="/ploscompbiol/s/preprints" >Preprints</a> </li> <li> <a href="/ploscompbiol/s/revising-your-manuscript" >Revising Your Manuscript</a> </li> <li> <a href="/ploscompbiol/s/submit-now" >Submit Now</a> </li> </ul> </li> <li class="menu-section-header " id="policies"> <span class="menu-section-header-title"> Policies </span> <ul class="menu-section " id="policies-dropdown-list"> <li> <a href="/ploscompbiol/s/best-practices-in-research-reporting" >Best Practices in Research Reporting</a> </li> <li> <a href="/ploscompbiol/s/human-subjects-research" >Human Subjects Research</a> </li> <li> <a href="/ploscompbiol/s/animal-research" >Animal Research</a> </li> <li> <a href="/ploscompbiol/s/competing-interests" >Competing Interests</a> </li> <li> <a href="/ploscompbiol/s/disclosure-of-funding-sources" >Disclosure of Funding Sources</a> </li> <li> <a href="/ploscompbiol/s/licenses-and-copyright" >Licenses and Copyright</a> </li> <li> <a href="/ploscompbiol/s/data-availability" >Data Availability</a> </li> <li> <a href="/ploscompbiol/s/code-availability" >Code Availability</a> </li> <li> <a href="/ploscompbiol/s/complementary-research" >Complementary Research</a> </li> <li> <a href="/ploscompbiol/s/materials-software-and-code-sharing" >Materials, Software and Code Sharing</a> </li> <li> <a href="/ploscompbiol/s/ethical-publishing-practice" >Ethical Publishing Practice</a> </li> <li> <a href="/ploscompbiol/s/authorship" >Authorship</a> </li> <li> <a href="/ploscompbiol/s/corrections-expressions-of-concern-and-retractions" >Corrections, Expressions of Concern, and Retractions</a> </li> </ul> </li> <li class="menu-section-header " id="manuscript-review-and-publication"> <span class="menu-section-header-title"> Manuscript Review and Publication </span> <ul class="menu-section " id="manuscript-review-and-publication-dropdown-list"> <li> <a href="/ploscompbiol/s/editorial-and-peer-review-process" >Editorial and Peer Review Process</a> </li> <li> <a href="/ploscompbiol/s/reviewer-guidelines" >Guidelines for Reviewers</a> </li> <li> <a href="/ploscompbiol/s/guidelines-for-editors" >Guidelines for Editors</a> </li> <li> <a href="/ploscompbiol/s/accepted-manuscripts" >Accepted Manuscripts</a> </li> <li> <a href="/ploscompbiol/s/comments" >Comments</a> </li> </ul> </li> </ul> </div> </li> <li class="menu-section-header has-dropdown " id="about"> <span class="menu-section-header-title"> About </span> <ul class="menu-section dropdown " id="about-dropdown-list"> <li> <a href="/ploscompbiol/s/journal-information" >Journal Information</a> </li> <li> <a href="/ploscompbiol/s/editors-in-chief" >Editors-in-Chief</a> </li> <li> <a href="/ploscompbiol/s/editorial-board" >Editorial Board</a> </li> <li> <a href="/ploscompbiol/s/publishing-information" >Publishing Information</a> </li> <li> <a href="https://plos.org/publication-fees" >Publication Fees</a> </li> <li> <a href="https://plos.org/press-and-media" >Press and Media</a> </li> <li> <a href="/ploscompbiol/s/contact" >Contact</a> </li> </ul> </li> <script src="/resource/js/vendor/jquery.hoverIntent.js" type="text/javascript"></script> <script src="/resource/js/components/menu_drop.js" type="text/javascript"></script> <script src="/resource/js/components/hover_delay.js" type="text/javascript"></script> <li id="navsearch" class="head-search"> <form name="searchForm" action="/ploscompbiol/search" method="get"> <fieldset> <legend>Search</legend> <label for="search">Search</label> <div class="search-contain"> <input id="search" type="text" name="q" placeholder="SEARCH" required/> <button id="headerSearchButton" type="submit" aria-label="Submit search"> <i title="Submit search" class="search-icon"></i> </button> </div> </fieldset> <input type="hidden" name="filterJournals" value="PLoSCompBiol"/> </form> <a id="advSearch" href="/ploscompbiol/search"> advanced search </a> <script src="/resource/js/components/placeholder_style.js" type="text/javascript"></script> </li> </ul> </section> </nav> </div> </header> <main id="main-content"> <div id="home-content"> <div class="row top"> <div class="hero light-text overlay-dark" id="hero"> <a alt="Ten simple rules to bridge ecology and palaeoecology by publishing outside palaeoecological journals" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012487"><img alt="Ten simple rules to bridge ecology and palaeoecology by publishing outside palaeoecological journals" data-file-extension="jpg" src="/ploscompbiol/indirect/b1ba81d3433772e03b8b37d9f06537696e4175c1e70669734cf6d88f29c2d246"> </a> <div class="hero-content"> <p class="published_at">October 15, 2024</p> <h1 class="title"><a alt="Ten simple rules to bridge ecology and palaeoecology by publishing outside palaeoecological journals" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012487">Ten simple rules to bridge ecology and palaeoecology by publishing outside palaeoecological journals</a></h1> <div class="blurb authors"> <p>Despite advances in methodologies facilitating direct comparison of palaeoecological data with neo-ecological data, most of the scientific knowledge derived from palaeoecological studies remains siloed.</p> </div> <p class="credit">Image credit: PLOS</p> </div> </div> <div id="billboard"> <h3>Interested in joining the board?</h3> <h4>PLOS Computational Biology is looking for new colleagues to join our exceptional team of editors.</h4><a href="https://survey.alchemer.com/s3/7644939/b67c7f8a67fb">Apply</a> </div> </div> <div class="row one"> <article class="block medium image" id="cellcat-1-1"> <div class="block-content"> <p class="date">11/12/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Evolutionary history of calcium-sensing receptors unveils hyper/hypocalcemia-causing mutations" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012591">Evolutionary history of calcium-sensing receptors unveils hyper/hypocalcemia-causing mutations</a></h2> <div class="blurb"> <p>CaSR plays a crucial role in maintaining calcium balance in the body. This study investigates the evolutionary history of CaSR to better understand its function and the impact of mutations.</p> </div> </div> <p class="credits">Image credit: Bircan et al</p><a class="block-image" alt="Evolutionary history of calcium-sensing receptors unveils hyper/hypocalcemia-causing mutations" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012591"><img alt="Evolutionary history of calcium-sensing receptors unveils hyper/hypocalcemia-causing mutations" data-file-extension="jpg" src="/ploscompbiol/indirect/d21e213ce9b79c3634f3c54f55f770eb718b0c7107f2bd35c434b1687c29051e"></a> </article> <div id="article-list"> <h3>Recently Published Articles</h3> <section> <ul id="article-results" class="list-plain results"> <li><a href="article?id=10.1371/journal.pcbi.1012605" data-tooltip class="truncated-tooltip" title="An off-lattice discrete model to characterise filamentous yeast colony morphology">An off-lattice discrete model to characterise filamentous yeast colony morphology</a></li> <li><a href="article?id=10.1371/journal.pcbi.1012568" data-tooltip class="truncated-tooltip" title="An inductive bias for slowly changing features in human reinforcement learning">An inductive bias for slowly changing features in human reinforcement learning</a></li> <li><a href="article?id=10.1371/journal.pcbi.1012623" data-tooltip class="truncated-tooltip" title="Socially driven negative feedback regulates activity and energy use in ant colonies">Socially driven negative feedback regulates activity and energy use in ant colonies</a></li> </ul> </section> <div class="more-link"> <a href="search?sortOrder=DATE_NEWEST_FIRST&filterStartDate=2024-10-28&filterEndDate=2024-11-27&filterJournals=PLoSCompBiol&q=">See all articles</a> </div> <script src="/resource/js/vendor/jquery.dotdotdot.js" type="text/javascript"></script> </div> <div id="issue"> <a href="/ploscompbiol/issue"> <img src="/ploscompbiol/article/figure/image?size=medium&id=10.1371/image.pcbi.v20.i10.g001" class="current-img" alt="Current Issue"> </a> <p class="boxtitle"><a href="/ploscompbiol/issue">Current Issue</a> <span class="subhead">October 2024</span></p> </div> </div> <div class="row two"> <article class="block medium image" id="cellcat-1-2"> <div class="block-content"> <p class="date">11/08/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="A deep learning model for prediction of autism status using whole-exome sequencing data" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012468">A deep learning model for prediction of autism status using whole-exome sequencing data</a></h2> <div class="blurb"> <p>Genetic factors are considered as major contributors to the development of autism. The authors present a deep neural network model, Separate Translated Autism Research Neural Network (STAR-NN), to predict autism status using WES data. </p> </div> </div> <p class="credits">Image credit: Georgeanne Cordero</p><a class="block-image" alt="A deep learning model for prediction of autism status using whole-exome sequencing data" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012468"><img alt="A deep learning model for prediction of autism status using whole-exome sequencing data" data-file-extension="jpg" src="/ploscompbiol/indirect/b81e0910821475b4889fc9aafe574858fc7a075c5dd57b411a7201f82cc9009f"></a> </article> <article class="block medium image" id="cellcat-1-3"> <div class="block-content"> <p class="date">11/11/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="A computational algorithm for optimal design of a bioartificial organ scaffold architecture" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012079">A computational algorithm for optimal design of a bioartificial organ scaffold architecture</a></h2> <div class="blurb"> <p>The authors used a diffuse interface approach to study the design of bioartificial organ scaffold architectures. These scaffolds, composed of poroelastic hydrogels housing transplanted cells, are linked to the patient’s blood circulation via an anastomosis graft.</p> </div> </div> <p class="credits">Image credit: Čanić et al</p><a class="block-image" alt="A computational algorithm for optimal design of a bioartificial organ scaffold architecture" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012079"><img alt="A computational algorithm for optimal design of a bioartificial organ scaffold architecture" data-file-extension="jpg" src="/ploscompbiol/indirect/7f2ffcb5280b12c2706934d99980db55da3706c6a5a1cd3c0a559df94f75c05c"></a> </article> </div> <div class="row three"> <div class="column left"> <article class="block large image" id="cellcat2-1"> <div class="block-content"> <p class="date">10/31/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Autistic traits foster effective curiosity-driven exploration" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012453">Autistic traits foster effective curiosity-driven exploration</a></h2> <div class="blurb"> <p>In this study, participants with varying levels of autistic traits participated in a game of locating hidden characters. The authors aimed to understand their decision-making process: which character they decided to engage with and for how long.</p> </div> </div><a class="block-image" alt="Autistic traits foster effective curiosity-driven exploration" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012453"><img alt="Autistic traits foster effective curiosity-driven exploration" data-file-extension="jpg" src="/ploscompbiol/indirect/847069990b5b9f91dca2f047a2c2ee6607f2193baf89a4f5ed5e7860dc2f59c6"></a> <p class="credits">Image credit: Poli et al</p> </article> <article class="block large image" id="cellcat2-2"> <div class="block-content"> <p class="date">10/31/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Detectability of runs of homozygosity is influenced by analysis parameters and population-specific demographic history" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012566">Detectability of runs of homozygosity is influenced by analysis parameters and population-specific demographic history</a></h2> <div class="blurb"> <p>As populations decline, the probability of inbreeding increases, along with the potential for negative effects on individual fitness. Detecting and characterizing runs of homozygosity (ROHs) is a popular strategy for assessing the extent of individual inbreeding present in a population.</p> </div> </div><a class="block-image" alt="Detectability of runs of homozygosity is influenced by analysis parameters and population-specific demographic history" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012566"><img alt="Detectability of runs of homozygosity is influenced by analysis parameters and population-specific demographic history" data-file-extension="jpg" src="/ploscompbiol/indirect/ec49dd5c5712c5953834ce6b87eff8beca83ac80f0a675882b9a3ec39556d42a"></a> <p class="credits">Image credit: JR Korpa</p> </article> <article class="block large image" id="cellcat2-3"> <div class="block-content"> <p class="date">10/28/2024</p> <p class="category">Perspective</p> <h2 class="title"><a alt="Best practices for estimating and reporting epidemiological delay distributions of infectious diseases" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012520">Best practices for estimating and reporting epidemiological delay distributions of infectious diseases</a></h2> <div class="blurb"> <p>The authors formulate a checklist of best practices for estimating and reporting epidemiological delays. They also provide a flowchart to guide practitioners based on their data. </p> </div> </div><a class="block-image" alt="Best practices for estimating and reporting epidemiological delay distributions of infectious diseases" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012520"><img alt="Best practices for estimating and reporting epidemiological delay distributions of infectious diseases" data-file-extension="jpg" src="/ploscompbiol/indirect/9e8256a810f7f71d38edc4420765058fca5684bb57881c0b56700f1bd4f2919e"></a> <p class="credits">Image credit: CDC</p> </article> <div class="row-small-blocks"> <article class="block small image" id="cellcat3-1"> <div class="block-content"> <p class="date">10/22/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Simulation of 69 microbial communities indicates sequencing depth and false positives are major drivers of bias in prokaryotic metagenome-assembled genome recovery" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012530">Simulation of 69 microbial communities indicates sequencing depth and false positives are major drivers of bias in prokaryotic metagenome-assembled genome recovery</a></h2> <div class="blurb"> <p>This study explored how the microbial community assembly can influence its species...</p> </div> </div><a class="block-image" alt="Simulation of 69 microbial communities indicates sequencing depth and false positives are major drivers of bias in prokaryotic metagenome-assembled genome recovery" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012530"><img alt="Simulation of 69 microbial communities indicates sequencing depth and false positives are major drivers of bias in prokaryotic metagenome-assembled genome recovery" data-file-extension="jpg" src="/ploscompbiol/indirect/654b0eb5ed19e658b7ca62c2506f3001468eb41502f9f50c78fba6e094aa3304"></a> <p class="credits">Image credit: Hans Isaacson</p> </article> <article class="block small image" id="cellcat3-2"> <div class="block-content"> <p class="date">10/18/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Understanding dual process cognition via the minimum description length principle" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012383">Understanding dual process cognition via the minimum description length principle</a></h2> <div class="blurb"> <p>Scientists have recognized that much of human and animal behavior falls into two separate categories: slow, effortful deliberation and fast, automatic habitual action selection. </p> </div> </div><a class="block-image" alt="Understanding dual process cognition via the minimum description length principle" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012383"><img alt="Understanding dual process cognition via the minimum description length principle" data-file-extension="jpg" src="/ploscompbiol/indirect/010b488eec970111d245af710f3f80c347892ce4cafb3778eb87d437c945aadb"></a> <p class="credits">Image credit: Moskovitz et al</p> </article> <article class="block small image" id="cellcat3-3"> <div class="block-content"> <p class="date">10/02/2024</p> <p class="category">Formal Comment</p> <h2 class="title"><a alt="The art of seeing the elephant in the room: 2D embeddings of single-cell data do make sense" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012403">The art of seeing the elephant in the room: 2D embeddings of single-cell data do make sense</a></h2> <div class="blurb"> <p>This piece investigates the findings of a recent paper that claimed <i>t-SNE</i> and UMAP embeddings of single-cell datasets are “specious” and fail to capture true biological structure. </p> </div> </div><a class="block-image" alt="The art of seeing the elephant in the room: 2D embeddings of single-cell data do make sense" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012403"><img alt="The art of seeing the elephant in the room: 2D embeddings of single-cell data do make sense" data-file-extension="jpg" src="/ploscompbiol/indirect/dcc024a8258a830ad0e0b260e6a27ae3c17e3bea55bb21b5ba08ea47eed199d1"></a> <p class="credits">Image credit: Lause et al</p> </article> <article class="block small image" id="cellcat3-4"> <div class="block-content"> <p class="date">10/01/2024</p> <p class="category">Research Article</p> <h2 class="title"><a alt="Why aphid virus retention needs more attention: Modelling aphid behaviour and virus manipulation in non-persistent plant virus transmission" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012479">Why aphid virus retention needs more attention: Modelling aphid behaviour and virus manipulation in non-persistent plant virus transmission</a></h2> <div class="blurb"> <p>Plant viruses threaten food security and are often transmitted by insect vectors. </p> </div> </div><a class="block-image" alt="Why aphid virus retention needs more attention: Modelling aphid behaviour and virus manipulation in non-persistent plant virus transmission" href="/ploscompbiol/article?id=10.1371/journal.pcbi.1012479"><img alt="Why aphid virus retention needs more attention: Modelling aphid behaviour and virus manipulation in non-persistent plant virus transmission" data-file-extension="jpg" src="/ploscompbiol/indirect/a3f3afa94b852fd2e4f4832bbdfd83815ce71c1071bb32aa11b0f880978eed1d"></a> <p class="credits">Image credit: Cunniffe et al</p> </article> </div> <div class="row-small-blocks"> <article class="carousel-wrap jcarousel-wrapper small" id="carousel-1"> <div class="block-header"> Collections </div> <div class="jcarousel carousel"> <ul> <li> <h3><a href="https://collections.plos.org/comp-biol-topic-pages" alt="Topic Pages">Topic Pages<br></a></h3> <p></p> <p>This Collection aims to increase the coverage of computational biology-related topics in Wikipedia by rewarding authors with a citable, PubMed-indexed static version of the living document on Wikipedia.</p> <p></p></li> <li> <h3><a href="https://collections.plos.org/developing-computational-biology" alt="Developing Computational Biology">Developing Computational Biology<br></a></h3> <p></p> <p>This series of perspective articles from computational biologists in a variety of countries, offers their personal viewpoint on the history, current status, and future of computational biology in their region.</p> <p></p></li> <li> <h3><a href="https://collections.plos.org/compbiol-education" alt="Education">Education</a></h3> <p></p> <p>This collection aims to provide practical tutorials and background information on important computational methods used to investigate key biological questions, as well as resources for training scientists at all stages of their careers.</p> <p></p></li> <li> <h3><a href="https://collections.plos.org/ten-simple-rules" alt="Benchmarking">Benchmarking<br></a></h3> <p></p> <p>The <a href="https://journals.plos.org/ploscompbiol/s/collections" target="_blank">Benchmarking collection</a> help readers decide between a number of methods which are developed to solve scientific problems.</p> <p></p></li> </ul> </div> <div class="carousel-control"> <a class="jcarousel-prev" href="#"></a> <div class="numbers"> <span class="number" data-js="carousel-current-item"></span> <span> of </span> <span class="number" data-js="carousel-total-index"></span> </div><a class="jcarousel-next" href="#"></a> </div> </article> <article class="carousel-wrap jcarousel-wrapper small" id="carousel-2"> <div class="block-header"> Other PLOS content </div> <div class="jcarousel carousel"> <ul> <li> <h3><a href="https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3000583" alt="PLOS Biology">PLOS Biology</a></h3> <p></p> <p>Knowledge-guided analysis of "omics" data using the KnowEnG cloud platform</p> <p></p></li> <li> <h3><a href="https://journals.plos.org/plosntds/article?id=10.1371/journal.pntd.0007981" alt="PLOS Neglected Tropical Diseases">PLOS Neglected Tropical Diseases<br></a></h3> <p></p> <p>Test accuracy of polymerase chain reaction methods against conventional diagnostic techniques for Cutaneous Leishmaniasis (CL) in patients with clinical or epidemiological suspicion of CL: Systematic review and meta-analysis</p> <p></p></li> <li> <h3><a href="https://journals.plos.org/plospathogens/article?id=10.1371/journal.ppat.1008262" alt="PLOS Pathogens">PLOS Pathogens<br></a></h3> <p></p> <p>Murine and related chapparvoviruses are nephro-tropic and produce novel accessory proteins in infected kidneys</p> <p></p></li> <li> <h3><a href="https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.1003008" alt="PLOS Medicine">PLOS Medicine<br></a></h3> <p></p> <p>Prevalence and genetic profiles of isoniazid resistance in tuberculosis patients: A multicountry analysis of cross-sectional data</p> <p></p></li> </ul> </div> <div class="carousel-control"> <a class="jcarousel-prev" href="#"></a> <div class="numbers"> <span class="number" data-js="carousel-current-item"></span> <span> of </span> <span class="number" data-js="carousel-total-index"></span> </div><a class="jcarousel-next" href="#"></a> </div> </article> </div> </div> <div class="column right"> <div id="external-content-top"> <div id="submission-links"> <h3>Publish with PLOS</h3> <ul class="split-container"> <li class="split-item"><a href="/ploscompbiol/s/submit-now" id="submissionInstruct">Submission Instructions</a></li> <li class="split-item"><a href="https://www.editorialmanager.com/pcompbiol" id="submissionManu">Submit Your Manuscript</a></li> </ul> </div> <div id="social-links"> <h3>Connect with Us</h3> <ul class="social-media"> <li id="social-link-email"><a href="/ploscompbiol/s/contact" class="social" title="Contact Us"> <span class="icon-email" icon-hidden="true"></span> <span class="icon-text">Contact Us</span> </a></li> <li id="social-link-RSS"><a href="/ploscompbiol/feed/atom" class="social" title="RSS"> <span class="icon-rss" icon-hidden="true"></span> <span class="icon-text">RSS</span> </a></li> <li id="social-link-twitter"><a href="https://twitter.com/ploscompbiol" class="social" title="PLOS Computational Biology on Twitter" target="_blank"> <span class="icon-twitter" icon-hidden="true"></span> <span class="icon-text">PLOS Computational Biology on Twitter</span> </a></li> <li id="social-link-facebook"><a href="https://www.facebook.com/plos.org" class="social" title="PLOS on Facebook" target="_blank"> <span class="icon-facebook" icon-hidden="true"></span> <span class="icon-text">PLOS on Facebook</span> </a></li> <li id="social-link-blogs"><a href="https://blogs.plos.org/" class="social-blogs" title="PLOS Blogs">PLOS Blogs</a></li> </ul> </div> <div id="twitter"> <section id="twitter1" class="twitter"> <a class="twitter-timeline" data-height="441" href="https://twitter.com/ploscompbiol?ref_src=twsrc%5Etfw">Tweets by @ploscompbiol</a> <script> (function() { function loadTwitter() { if(window.plosCookieConsent) { if(window.plosCookieConsent.hasConsented('functionality')) { $.getScript("https://platform.twitter.com/widgets.js"); } else if(!window.plosCookieConsent.hasInteracted()) { setTimeout(loadTwitter, 1000); } } else { setTimeout(loadTwitter, 1000); } } function resize() { if(typeof twttr === 'undefined') { setTimeout(resize, 1); // Back of the line with ya! return; } twttr.ready( function (twttr) { twttr.events.bind( 'rendered', function() { var twitterFeed = $('#twitter iframe'); var left = $('.column.left'); // Desktop Home Page var right = $('.column.right'); if(left.length && right.length) { var newHeight = twitterFeed.height() + left.height() - right.height(); twitterFeed.height(newHeight); } } ); }); } loadTwitter(); resize(); document.addEventListener('twitter_resize', resize); })(); </script> </section> </div> </div> <div id="external-content-bottom"> <div id="blogs" data-host-name="https://blogs.plos.org/" data-blog-title="PLOS Biologue" data-blog-url="https://blogs.plos.org/biologue" data-feed-url="https://blogs.plos.org/biologue/?feed=json" data-post-count="2"> </div> </div> </div> </div> </div><script src="/resource/js/vendor/jquery.carousel.js" type="text/javascript"></script> <script src="/resource/js/components/carousel.js" type="text/javascript"></script> <div class="plos-row"> <div class="home-email-subscription" id="etocs-signup"> <h2>Get new content from PLOS Computational Biology in your inbox</h2> <div class="form-container"> <iframe src="https://cdn.forms-content.sg-form.com/9249349f-f12d-11ee-abf2-3a2f5caf8370" frameborder="0"></iframe> </div> <div class="consent"> <div class="email_consent"> PLOS will use your email address to provide content from <span style="font-style: italic;">PLOS Computational Biology</span>. You can find out more about how PLOS processes your data by reading our <a href="https://plos.org/privacy-policy" target="_blank" title="Page opens in new window">Privacy Policy</a>. You can unsubscribe at any time by clicking the unsubscribe link in our emails or by contacting us at privacy@plos.org. </div> </div> </div> </div> <div class="spotlight"> <section id="ad-slot-bottom"> <div class="ad-item"> <!-- DoubleClick Ad Zone --> <div class='advertisement' id='div-gpt-ad-1458247671871-2' style='width:300px; height:250px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458247671871-2'); }); </script> </div> </div> <div class="ad-item"> <!-- DoubleClick Ad Zone --> <div class='advertisement' id='div-gpt-ad-1458247671871-3' style='width:300px; height:250px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458247671871-3'); }); </script> </div> </div> <div class="ad-item"> <!-- DoubleClick Ad Zone --> <div class='advertisement' id='div-gpt-ad-1458247671871-4' style='width:300px; height:250px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458247671871-4'); }); </script> </div> </div> </section> </div> <div class="journal-issn">PLOS Computational Biology | ISSN: 1553-7358 (online)</div> </main> <footer id="pageftr"> <div class="row"> <div class="block x-small"> <ul class="nav nav-secondary"> <li class="ftr-header"><a href="https://plos.org/publications/journals/">Publications</a></li> <li><a href="/plosbiology/" id="ftr-bio">PLOS Biology</a></li> <li><a href="/climate/" id="ftr-climate">PLOS Climate</a></li> <li><a href="/complexsystems/" id="ftr-complex-systems">PLOS Complex Systems</a></li> <li><a href="/ploscompbiol/" id="ftr-compbio">PLOS Computational Biology</a></li> <li><a href="/digitalhealth/" id="ftr-digitalhealth">PLOS Digital Health</a></li> <li><a href="/plosgenetics/" id="ftr-gen">PLOS Genetics</a></li> <li><a href="/globalpublichealth/" id="ftr-globalpublichealth">PLOS Global Public Health</a></li> </ul> </div> <div class="block x-small"> <ul class="nav nav-secondary"> <li class="ftr-header"> </li> <li><a href="/plosmedicine/" id="ftr-med">PLOS Medicine</a></li> <li><a href="/mentalhealth/" id="ftr-mental-health">PLOS Mental Health</a></li> <li><a href="/plosntds/" id="ftr-ntds">PLOS Neglected Tropical Diseases</a></li> <li><a href="/plosone/" id="ftr-one">PLOS ONE</a></li> <li><a href="/plospathogens/" id="ftr-path">PLOS Pathogens</a></li> <li><a href="/sustainabilitytransformation/" id="ftr-sustainabilitytransformation">PLOS Sustainability and Transformation</a></li> <li><a href="/water/" id="ftr-water">PLOS Water</a></li> </ul> </div> <div class="block xx-small"> <ul class="nav nav-tertiary"> <li> <a href="https://plos.org" id="ftr-home">Home</a> </li> <li> <a href="https://blogs.plos.org" id="ftr-blog">Blogs</a> </li> <li> <a href="https://collections.plos.org/" id="ftr-collections">Collections</a> </li> <li> <a href="mailto:webmaster@plos.org" id="ftr-feedback">Give feedback</a> </li> <li> <a href="/ploscompbiol/lockss-manifest" id="ftr-lockss">LOCKSS</a> </li> </ul> </div> <div class="block xx-small"> <ul class="nav nav-primary"> <li><a href="https://plos.org/privacy-policy" id="ftr-privacy">Privacy Policy</a></li> <li><a href="https://plos.org/terms-of-use" id="ftr-terms">Terms of Use</a></li> <li><a href="https://plos.org/advertise/" id="ftr-advertise">Advertise</a></li> <li><a href="https://plos.org/media-inquiries" id="ftr-media">Media Inquiries</a></li> <li><a href="https://plos.org/contact" id="ftr-contact">Contact</a></li> </ul> </div> </div> <div class="row"> <p> <img src="/resource/img/logo-plos-footer.png" alt="PLOS" class="logo-footer"/> <span class="footer-non-profit-statement">PLOS is a nonprofit 501(c)(3) corporation, #C2354500, based in San Francisco, California, US</span> </p> <div class="block"> </div> </div> <script src="/resource/js/global.js" type="text/javascript"></script> </footer> <script src="/resource/js/pages/home.js" type="text/javascript"></script> </body> </html>