EpiLog: A software for the logical modelling of epithelial dynamics

preprint OA: closed
Full text JSON View at publisher

Abstract

Cellular responses are governed by regulatory networks subject to external signals from surrounding cells and to other micro-environmental cues. The logical (Boolean or multi-valued)  framework proved well suited to study such processes at the cellular level, by specifying qualitative models of involved signalling pathways and gene regulatory networks.  Here, we describe and illustrate the main features of EpiLog, a computational tool that implements an extension of the logical framework to the tissue level. EpiLog defines a collection of hexagonal cells over a 2D grid, which embodies a mono-layer epithelium. Basically, it defines a cellular automaton in which cell behaviours are driven by associated logical models subject to external signals.  EpiLog is freely available on the web at http://epilog-tool.org . It is implemented in Java (version ≥1.7 required) and the source code is provided at https://github.com/epilog-tool/epilog under a GNU General Public License v3.0.
Full text 152,996 characters · extracted from preprint-html · click to expand
EpiLog: A software for the logical modelling of... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (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= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/7-1145" }, "headline": "EpiLog: A software for the logical modelling of epithelial dynamics", "datePublished": "2018-07-27T09:59:23", "dateModified": "2019-03-11T14:58:26", "author": [ { "@type": "Person", "name": "Pedro L. Varela" }, { "@type": "Person", "name": "Camila V. Ramos" }, { "@type": "Person", "name": "Pedro T. Monteiro" }, { "@type": "Person", "name": "Claudine Chaouiya" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "Cellular responses are governed by regulatory networks subject to external signals from surrounding cells and to other micro-environmental cues. The logical (Boolean or multi-valued) framework proved well suited to study such processes at the cellular level, by specifying qualitative models of involved signalling pathways and gene regulatory networks. Here, we describe and illustrate the main features of EpiLog, a computational tool that implements an extension of the logical framework to the tissue level. EpiLog defines a collection of hexagonal cells over a 2D grid, which embodies a mono-layer epithelium. Basically, it defines a cellular automaton in which cell behaviours are driven by associated logical models subject to external signals. EpiLog is freely available on the web at http://epilog-tool.org. It is implemented in Java (version ≥1.7 required) and the source code is provided at https://github.com/epilog-tool/epilog under a GNU General Public License v3.0." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/7-1145/v2", "name": "EpiLog: A software for the logical modelling of epithelial dynamics" } } ] } Home Browse EpiLog: A software for the logical modelling of epithelial dynamics ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Varela PL, Ramos CV, Monteiro PT and Chaouiya C. EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.12688/f1000research.15613.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Software Tool Article Revised EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] Pedro L. Varela 1-3 , Camila V. Ramos 2,3 , Pedro T. Monteiro https://orcid.org/0000-0002-7934-5495 1,2 , Claudine Chaouiya https://orcid.org/0000-0003-2350-0756 3,4 Pedro L. Varela 1-3 , Camila V. Ramos 2,3 , Pedro T. Monteiro https://orcid.org/0000-0002-7934-5495 1,2 , Claudine Chaouiya https://orcid.org/0000-0003-2350-0756 3,4 PUBLISHED 11 Mar 2019 Author details Author details 1 Instituto Superior Técnico, Universidade de Lisboa, Lisbon, P-1049-001, Portugal 2 INESC-ID, Lisbon, P-1000-029, Portugal 3 Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 4 CNRS, Centrale Marseille, l'Institut de Mathématiques de Marseille, Aix-Marseille University, Marseille, France Pedro L. Varela Roles: Software, Writing – Original Draft Preparation, Writing – Review & Editing Camila V. Ramos Roles: Software, Writing – Review & Editing Pedro T. Monteiro Roles: Funding Acquisition, Software, Supervision, Writing – Original Draft Preparation, Writing – Review & Editing Claudine Chaouiya Roles: Conceptualization, Funding Acquisition, Supervision, Writing – Original Draft Preparation, Writing – Review & Editing OPEN PEER REVIEW DETAILS REVIEWER STATUS Abstract Cellular responses are governed by regulatory networks subject to external signals from surrounding cells and to other micro-environmental cues. The logical (Boolean or multi-valued) framework proved well suited to study such processes at the cellular level, by specifying qualitative models of involved signalling pathways and gene regulatory networks. Here, we describe and illustrate the main features of EpiLog, a computational tool that implements an extension of the logical framework to the tissue level. EpiLog defines a collection of hexagonal cells over a 2D grid, which embodies a mono-layer epithelium. Basically, it defines a cellular automaton in which cell behaviours are driven by associated logical models subject to external signals. EpiLog is freely available on the web at http://epilog-tool.org . It is implemented in Java (version ≥1.7 required) and the source code is provided at https://github.com/epilog-tool/epilog under a GNU General Public License v3.0. READ ALL READ LESS Keywords Logical modelling, Multicellular regulatory networks, Cellular automaton, Hexagonal grid Corresponding Author(s) Pedro T. Monteiro ( [email protected] ) Claudine Chaouiya ( [email protected] ) Close Corresponding authors: Pedro T. Monteiro, Claudine Chaouiya Competing interests: No competing interests were disclosed. Grant information: This work was supported by national funds through Fundação para Ciência e a Tecnologia (FCT) with reference PTDC/BEX-BCB/0772/2014, UID/CEC/50021/2013 and IF/01333/2013. PV was supported by grant PTDC/BEX-BCB/0772/2014 and PTDC/EIA-CCO/099229/2008. CR was supported by PTDC/BEX-BCB/0772/2014 and IF/01333/2013/CP1204/CT0001. Furthermore, CC and CR acknowledge support from the Fundação Calouste Gulbenkian. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Copyright: © 2019 Varela PL et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Varela PL, Ramos CV, Monteiro PT and Chaouiya C. EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.12688/f1000research.15613.2 ) First published: 27 Jul 2018, 7 :1145 ( https://doi.org/10.12688/f1000research.15613.1 ) Latest published: 11 Mar 2019, 7 :1145 ( https://doi.org/10.12688/f1000research.15613.2 ) Revised Amendments from Version 1 Following constructive comments from the reviewers, this revised version includes clarifications, which mostly concern: Related work on a compositional approach for logical models as well as related software tools supporting the simulation of populations of Boolean networks. Further discussion and illustration of the alpha-asynchronous updating, with an additional Supplementary File 2. Mention of the possibility to clone an epithelium model, a feature used for the model of the patterning of the fly eggshell. 'CNRS, Centrale Marseille, l'Institut de Mathématiques de Marseille, Aix-Marseille University, Marseille, France' has been added as an affiliation for Claudine Chaouiya. Following constructive comments from the reviewers, this revised version includes clarifications, which mostly concern: Related work on a compositional approach for logical models as well as related software tools supporting the simulation of populations of Boolean networks. Further discussion and illustration of the alpha-asynchronous updating, with an additional Supplementary File 2. Mention of the possibility to clone an epithelium model, a feature used for the model of the patterning of the fly eggshell. 'CNRS, Centrale Marseille, l'Institut de Mathématiques de Marseille, Aix-Marseille University, Marseille, France' has been added as an affiliation for Claudine Chaouiya. See the authors' detailed response to the review by Alejandro F. Villaverde and David Henriques See the authors' detailed response to the review by Stefano Nichele See the authors' detailed response to the review by Arnau Montagud READ REVIEWER RESPONSES Introduction Pattern formation emerges from the interplay of interaction networks, at the cellular and multi-cellular levels 1 . To uncover the complex mechanisms at stake, computational modelling is very needed. In this context, cellular automaton approaches are a natural choice of modelling framework, particularly well suited to define local rules governing the behaviours of cells over a lattice 2 . On the other hand, the logical formalism has proved efficient to explore cellular regulatory networks driving developmental processes (for a recent review on the logical modelling approach, see 3 ). However, the consideration of ensembles of communicating cells is often required to recapitulate observed patterns (e.g. 4 , 5 ). This motivated the development of EpiLog, which implements an extension of the logical framework to hexagonal grids embodying simple epithelia. Briefly, a logical model assigns discrete (Boolean or multi-valued) variables to the regulatory components, and logical regulatory rules define the evolution of the variables depending on the variables associated with the component regulators. Input components embody cell receptors receiving external signals. Unlike internal components, inputs have no associated regulatory rules, and are generally maintained at constant values accounting for fixed environmental conditions. A model state is given by the values of the components, and the dynamics is generated according to specific updating schemes. In a synchronous update, a state has at most one successor state in which all the variables have been updated as prescribed by the regulatory rules. In contrast, the asynchronous update generates as many successors as the number of updated variables, yielding more complex and non-deterministic behaviours. Properties of the resulting dynamics relate to the model attractors (stable states or point attractors, and cyclical attractors), which can be associated with different phenotypes. Beyond identifying the attractors, a major question relates to reachability properties: given an initial condition, what is (are) the reachable attractor(s)? The definition, analysis and simulation of logical models of cellular networks can be performed using one of the existing software tools 6 , 7 . Many of these support the exchange format SBML qual (Qualitative Models package for SBML) 8 , 7 . To handle multi-cellular systems, Mendes et al. have established a compositional approach relying on a process algebra framework to assess stable states reachability in asynchronous dynamics 9 . This approach showed some limitations due to the huge size of the considered state spaces, and is thus limited to the analysis of models encompassing a reduced number of cells (up to a dozen cells). In contrast to the previous compositional approach, EpiLog relies on a cellular automata framework, which allows to scale model simulations up to thousands of cells. Still, cell-cell interactions are specified using (logical) integration rules, in a way similar to that proposed by Mendes et al. 9 . These rules govern the evolution of cellular input components, depending on the values of internal components (representing e.g. secreted proteins) in neighbouring cells. Multiple simulation platforms have been developed to support the modelling of multi-cellular systems. A detailed overview of existing approaches and application domains is beyond the scope of this paper. To our knowledge, only two tools exist that integrate Boolean models in a multi-cellular context. The first, named CoGNaC 10 , is a Chaste plugin. Chaste is an open-source simulation package that includes tissue modelling. As such, it supports distinct cell-based modelling approaches 11 , 12 . The second tool, named PhysiBoSS 13 , combines intra-cellular Boolean signalling networks as handled by MaBoSS 14 and multi-cellular agent based modelling as defined in PhysiCell, an open source agent-based simulator 15 . While these tools involve explicit representations of intra-cellular networks in the form of Boolean models, and the consideration of biophysical processes governing multi-cellular behaviours, they do not allow explicit specification of cell-cell communication, a special feature of EpiLog. Methods Implementation EpiLog is implemented in Java (requires Java 7 or higher), is freely available at http://epilog-tool.org , and launches a Graphical User Interface (GUI) based on JFC/Swing. It is provided as a single .jar file which can be launched from a graphical file manager by double clicking on it or through the command line as follows: $ java -jar EpiLog-versionX.jar [--file /path/to/multicellular_project.peps] where the flag --file can be used to optionally specify the file to be open. EpiLog .peps files represent projects containing multiple multicellular models, each with potentially distinct characteristics. Additionally, an EpiLog model repository is provided at http://epilog-tool.org/models_repository where users can deposit their models by contacting [email protected] . Each model page includes a title, a description, a taxon and process classification, model .peps file(s) and supporting paper(s). Developers can freely access the code repository at http://github.com/epilog-tool/epilog , clone it and extend the code. For dependency management of external libraries, EpiLog relies on Apache Maven. A particular library is the bioLQM Java toolkit (Logical Qualitative Models of biological regulatory networks), for the representation and manipulation of logical, cellular models, available at https://github.com/colomoto/bioLQM 16 . Operation Model definition EpiLog defines projects that include multi-cellular models, called epithelium models , each being specified by: 1. The size of the hexagonal grid, as well as its border conditions; vertical and horizontal borders can be connected, or not leading to rectangular, cylindrical or toroidal grids; 2. A (set of) logical model(s), each associated with cells of the grid; these cellular models can be defined in any tool supporting the SBML qual format 8 . EpiLog imports SBML files and identifies input components in these cellular models; 3. The cellular input components; these are defined as constant positional inputs (e.g. morphogens produced by external sources) or evolving integration inputs (e.g. juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood); for the latter, logical integration rules specify which signals are received from (internal) components of neighbouring cells and how these signals are combined; 4. An initial state defining the values of the internal components of all the cells. Simulation settings Simulation settings define the updating schemes for both the cellular and epithelium models. The default scheme is synchronous, that is to say, at each iteration, all the cellular models are considered for a synchronous update of their internal components. To overcome spurious oscillations generated by these synchronous updates (see Figure 1A and Supplementary File 1 ), EpiLog allows to specify: Figure 1. ( A ) An idealised Boolean model of lateral inhibition; the Green marker is induced by the Red marker secreted by the neighbouring cell, whereas Red is induced by low levels of Green in the same cell (normal arrows denote activations, whereas blunt arrows denote inhibitions); the synchronous dynamics of this two cell model leads to a cyclic attractor (see Supplementary File 1 ). ( B ) Simulation in EpiLog, with the same cellular model over a square grid of 50×50 hexagonal cells under a synchronous update (Green induced if at least one contacting cell is Red), oscillations are due to the synchronous update of the cells, see Supplementary Movie 1 . ( C – F ) Simulations under α-asynchrony (α = 0.25): ( C ) Stable state of the grid, referred to as “stable pattern”, reached in 29 steps (Green induced if at least one contacting cell is Red), see Supplementary Movie 2 ; ( D ) Stable reverted pattern reached in 30 steps (Green induced if all contacting cells are Red); ( E ) Stable pattern reached in 63 steps (Green induced if at least 12 cells at distance up to 3 are Red); ( F ) Stable pattern reached in 70 steps, with the same setting as for panel E but considering a torus ( i.e. , no grid borders). 1. The cellular model update, with the definition of (synchronous) priority classes (increasing or decreasing) updates are gathered in ordered sets, allowing to account for different time scales for the mechanisms underlying updates of internal component 17 ; 2. The epithelium update, with the definition of probabilistic updates of the cell states, inspired by N. Fatès’ alpha-asynchronism 18 , 19 : parameter α specifies the proportion of the cells randomly chosen for update (see Supplementary File 2 for an illustration). Model perturbations The logical formalism permits to easily specify perturbations (e.g. knock-out or ectopic expression of cellular model components) by blocking the values of perturbed components. EpiLog includes this feature with the definition of component perturbations that can be applied to all the cells or to restricted regions of the grid. Model clones At any simulation step, a clone of the epithelium model can be defined, having the current state of the grid as initial condition. The reader is invited to consult the documentation available at EpiLog web site to get further information ( http://epilog-tool.org/documentation ). Use cases As a first illustration, we consider a very simple model, in which the cellular model includes two markers. When considering a juxtacrine signal ( i.e. , only contacting cells can communicate), this model accounts for the well-known Delta-Notch signalling, which implements a lateral inhibition process (see e.g. 20 ). The model is provided in Supplementary Model File 1 . In Figure 1A , a two-cell model is shown, to illustrate interactions within and between the cells. Remaining panels of Figure 1 show EpiLog simulation results, illustrating the different patterns obtained when varying the updating mode, the integration rules and the border conditions. The development of EpiLog was originally motivated by our second illustration, which relates to the dorsal appendage-forming regions of the Drosophila Melanogaster eggshell 21 (see Figure 2 ). The logical model defined by Fauré et al. reproduces the patterning of the anterior follicular epithelium of the oocyte, defining the floor (Rho expressing cells) and roof (Br expressing cells) of the future appendages 5 . EpiLog window is shown in Figure 2A , with the simulation panel displaying the stable pattern obtained with this model. Interestingly, the model shows that to get split regions (as displayed in Figure 2C ), Gurken signal emitted by the nucleus, and defined as positional input in the model ( Figure 2B ), must be removed. This is simulated in a second phase, which is performed by cloning the model when reaching the stable pattern ( Figure 2A ), and by setting the Gurken signal to zero all over the grid. The remaining panels E-G show different states of the grid, recapitulating patterns resulting from model perturbations. For further detail on this modelling study, the reader is referred to 5 . Figure 2. Model of the fly eggshell patterning of Fauré et al. 5 , implemented in EpiLog. ( A ) EpiLog main window with the stable pattern reached by a simulation starting with all the cells of the grid having their internal components at 0, and positional inputs defined as shown in panel C (phase 1). ( B ) Egg chamber with two dorsal respiratory appendages (DA); DA primordia are established as 2 regions on both sides of the oocyte midline, with follicle cells expressing Broad (Br in red), future roof of the DA, and cells expressing Rhomboid (Rho in blue), future floor of the DA. Establishment of these regions involve Gurken signalling (Grk, in orange) and Decapentaplegic signalling (Dpp, in violet). ( C ) Grk (in graded orange, with 3 different levels) and Dpp (in purple) gradient defined as positional inputs in EpiLog. ( D ) Stable pattern obtained with a simulation starting from the pattern displayed in panel A and without the Grk signal (phase 2), suggesting that Grk extinction is required to split the floor regions (see 5 ). ( E ) EpiLog simulation of a mild overexpression of Dpp. ( F ) EpiLog simulation of Pointed (Pnt, internal component) loss-of-function. ( G ) EpiLog simulation of Pnt gain-of-function clones. Note that in panels F – G , perturbed cellular models are indicated by bold borders in the grid. Summary To the best of our knowledge, EpiLog is the first software tool for the definition, simulation and visualisation of qualitative, logical (Boolean and multivalued) models over hexagonal grids. It provides a graphical user interface and tools to conveniently support the study of epithelial pattern formation, relying on a logical framework. EpiLog is free, open source and implemented in Java for operating system independence. It relies on the SBML qual standard format to import cellular models. Software availability EpiLog v1.1.1 is available from: http://epilog-tool.org/downloads Source code available from: https://github.com/epilog-tool/epilog Archived source code as at time of publication: https://doi.org/10.5281/zenodo.1320503 22 License: GNU General Public License v3.0 Author information PV and CVR developed the software. PTM acquired funding, developed the software and supervised the project. CC designed the project, acquired funding and supervised the project. PLV, CVR, PTM and CC wrote the article. Grant information This work was supported by national funds through Fundação para a Ciência e a Tecnologia (FCT) with reference PTDC/BEX-BCB/0772/2014, UID/CEC/50021/2013 and IF/01333/2013. PLV was supported by grant PTDC/BEX-BCB/0772/2014 and PTDC/EIA-CCO/099229/2008. CVR was supported by PTDC/BEXBCB/0772/2014 and IF/01333/2013/CP1204/CT0001. Furthermore, CC and CVR acknowledge support from the Fundação Calouste Gulbenkian. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Acknowledgements The authors would like to thank Adrien Fauré who implemented a first Python prototype that inspired the development of EpiLog, and who provided insightful feedback. We are also grateful to Céline Hernandez for her useful comments. Supplementary material Supplementary File 1: Dynamics of the lateral inhibition model under synchronous and asynchronous updates. Click here to access the data . Supplementary File 2: Dynamics of the lateral inhibition model under α-asynchronous updates. Click here to access the data . Supplementary Movie 1: Oscillatory behaviour of the lateral inhibition model under a synchronous update (see Figure 1 panel B). Click here to access the data . Supplementary Movie 2: Stable pattern of the lateral inhibition model under an α-asynchronous update (see Figure 1 panel C). Click here to access the data . Supplementary Model File 1: EpiLog file including variations of the lateral inhibition model as illustrated in Figure 1 . Click here to access the data . Supplementary Model File 2: EpiLog file including variations of the DA model as illustrated in Figure 2 . Click here to access the data . Faculty Opinions recommended References 1. Kicheva A, Cohen M, Briscoe J: Developmental pattern formation: insights from physics and biology. Science. 2012; 338 (6104): 210–2. PubMed Abstract | Publisher Full Text 2. Deutsch A, Dormann S: Cellular automaton modeling of biological pattern formation: characterization, applications, and analysis. Birkhäuser Boston, 2005. Publisher Full Text 3. Abou-Jaoudé W, Traynard P, Monteiro PT, et al. : Logical Modeling and Dynamical Analysis of Cellular Networks. Front Genet. 2016; 7 : 94. PubMed Abstract | Publisher Full Text | Free Full Text 4. Sánchez L, Chaouiya C, Thieffry D: Segmenting the fly embryo: logical analysis of the role of the segment polarity cross-regulatory module. Int J Dev Biol. 2008; 52 (8): 1059–75. PubMed Abstract | Publisher Full Text 5. Fauré A, Vreede BM, Sucena E, et al. : A discrete model of Drosophila eggshell patterning reveals cell-autonomous and juxtacrine effects. PLoS Comput Biol. 2014; 10 (3): e1003527. PubMed Abstract | Publisher Full Text | Free Full Text 6. Naldi A, Monteiro PT, Müssel C, et al. : Cooperative development of logical modelling standards and tools with CoLoMoTo. Bioinformatics. 2015; 31 (7): 1154–9. PubMed Abstract | Publisher Full Text 7. Chaouiya C, Bérenguier D, Keating SM, et al. : SBML qualitative models: a model representation format and infrastructure to foster interactions between qualitative modelling formalisms and tools. BMC Syst Biol. 2013; 7 : 135. PubMed Abstract | Publisher Full Text | Free Full Text 8. Chaouiya C, Keating SM, Berenguier D, et al. : The Systems Biology Markup Language (SBML) Level 3 Package: Qualitative Models, Version 1, Release 1. J Integr Bioinform. 2015; 12 (2): 270. PubMed Abstract | Publisher Full Text 9. Mendes ND, Lang F, Le Cornec YS, et al. : Composition and abstraction of logical regulatory modules: application to multicellular systems. Bioinformatics. 2013; 29 (6): 749–57. PubMed Abstract | Publisher Full Text 10. Rubinacci S, Graudenzi A, Caravagna G, et al. : CoGNaC: A Chaste Plugin for the Multiscale Simulation of Gene Regulatory Networks Driving the Spatial Dynamics of Tissues and Cancer. Cancer Inform. 2015; 14 (Suppl 4): 53–65. PubMed Abstract | Publisher Full Text | Free Full Text 11. Mirams GR, Arthurs CJ, Bernabeu MO, et al. : Chaste: an open source C++ library for computational physiology and biology. PLoS Comput Biol. 2013; 9 (3): e1002970. PubMed Abstract | Publisher Full Text | Free Full Text 12. Osborne JM, Fletcher AG, Pitt-Francis JM, et al. : Comparing individual-based approaches to modelling the self-organization of multicellular tissues. PLoS Comput Biol. 2017; 13 (2): e1005387. PubMed Abstract | Publisher Full Text | Free Full Text 13. Letort G, Montagud A, Stoll G, et al. : PhysiBoSS: a multi-scale agent-based modelling framework integrating physical dimension and cell signalling Bioinformatics. 2018; bty766. PubMed Abstract | Publisher Full Text 14. Stoll G, Caron B, Viara E, et al. : MaBoSS 2.0: an environment for stochastic Boolean modeling. Bioinformatics. 2017; 33 (14): 2226–2228. PubMed Abstract | Publisher Full Text 15. Ghaffarizadeh A, Heiland R, Friedman SH, et al. : PhysiCell: An open source physics-based cell simulator for 3-D multicellular systems. PLoS Comput Biol. 2018; 14 (2): e1005991. PubMed Abstract | Publisher Full Text | Free Full Text 16. Naldi A: BioLQM: A Java Toolkit for the Manipulation and Conversion of Logical Qualitative Models of Biological Networks. Front Physiol. 2018; 9 : 1605. PubMed Abstract | Publisher Full Text | Free Full Text 17. Fauré A, Naldi A, Chaouiya C, et al. : Dynamical analysis of a generic Boolean model for the control of the mammalian cell cycle. Bioinformatics. 2006; 22 (14): e124–131. PubMed Abstract | Publisher Full Text 18. Fatès N: A Guided Tour of Asynchronous Cellular Automata. In Cellular Automata and Discrete Complex Systems - 19th International Workshop, AUTOMATA 2013, Gießen, Germany, September 17–19, 2013. Proceedings . 2013; 15–30. Publisher Full Text 19. Fatès N: Asynchronous Cellular Automata. Springer Berlin Heidelberg, Berlin, Heidelberg. 2018; 1–21, ISBN 978-3-642-27737-5. Publisher Full Text 20. Collier JR, Monk NA, Maini PK, et al. : Pattern formation by lateral inhibition with feedback: a mathematical model of delta-notch intercellular signalling. J Theor Biol. 1996; 183 (4): 429–46. PubMed Abstract | Publisher Full Text 21. Pyrowolakis G, Veikkolainen V, Yakoby N, et al. : Gene regulation during Drosophila eggshell patterning. Proc Natl Acad Sci U S A. 2017; 114 (23): 5808–5813. PubMed Abstract | Publisher Full Text | Free Full Text 22. Varela PL, Monteiro PT, Ramos CV, et al. : epilog-tool/epilog: EpiLog v1.1.1 (Version v1.1.1). Zenodo. 2018. http://www.doi.org/10.5281/zenodo.1320503 Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 27 Jul 2018 ADD YOUR COMMENT Comment Author details Author details 1 Instituto Superior Técnico, Universidade de Lisboa, Lisbon, P-1049-001, Portugal 2 INESC-ID, Lisbon, P-1000-029, Portugal 3 Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 4 CNRS, Centrale Marseille, l'Institut de Mathématiques de Marseille, Aix-Marseille University, Marseille, France Pedro L. Varela Roles: Software, Writing – Original Draft Preparation, Writing – Review & Editing Camila V. Ramos Roles: Software, Writing – Review & Editing Pedro T. Monteiro Roles: Funding Acquisition, Software, Supervision, Writing – Original Draft Preparation, Writing – Review & Editing Claudine Chaouiya Roles: Conceptualization, Funding Acquisition, Supervision, Writing – Original Draft Preparation, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information This work was supported by national funds through Fundação para Ciência e a Tecnologia (FCT) with reference PTDC/BEX-BCB/0772/2014, UID/CEC/50021/2013 and IF/01333/2013. PV was supported by grant PTDC/BEX-BCB/0772/2014 and PTDC/EIA-CCO/099229/2008. CR was supported by PTDC/BEX-BCB/0772/2014 and IF/01333/2013/CP1204/CT0001. Furthermore, CC and CR acknowledge support from the Fundação Calouste Gulbenkian. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Article Versions (2) version 2 Revised Published: 11 Mar 2019, 7:1145 https://doi.org/10.12688/f1000research.15613.2 version 1 Published: 27 Jul 2018, 7:1145 https://doi.org/10.12688/f1000research.15613.1 Copyright © 2019 Varela PL et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Varela PL, Ramos CV, Monteiro PT and Chaouiya C. EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.12688/f1000research.15613.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Version 2 VERSION 2 PUBLISHED 11 Mar 2019 Revised Views 0 Cite How to cite this report: Montagud A. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.20225.r45550 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v2#referee-response-45550 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 18 Mar 2019 Arnau Montagud , Institut Curie, Inserm U900, Mines Paris Tech, PSL Research University, Paris, France; Barcelona Supercomputing Center (BSC), Barcelona, Spain Approved VIEWS 0 https://doi.org/10.5256/f1000research.20225.r45550 The authors have have done a good work in expanding and ... Continue reading READ ALL The authors have have done a good work in expanding and correcting all needed clarifications. I approve this improved version of the article. Competing Interests: No competing interests were disclosed. Reviewer Expertise: Systems Biology, Cancer, Boolean modelling, Multiscale modelling, Metabolic modelling, Data deconvolution I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Montagud A. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.20225.r45550 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v2#referee-response-45550 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Version 1 VERSION 1 PUBLISHED 27 Jul 2018 Views 0 Cite How to cite this report: Montagud A. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37601 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37601 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 10 Oct 2018 Arnau Montagud , Institut Curie, Inserm U900, Mines Paris Tech, PSL Research University, Paris, France; Barcelona Supercomputing Center (BSC), Barcelona, Spain Approved with Reservations VIEWS 0 https://doi.org/10.5256/f1000research.17032.r37601 The paper describes a software used for qualitative simulations of logical models in a hexagonal grid, called EpiLog. The paper is well written, even though some parts could be slightly expanded for a better comprehension. The software is easy to ... Continue reading READ ALL The paper describes a software used for qualitative simulations of logical models in a hexagonal grid, called EpiLog. The paper is well written, even though some parts could be slightly expanded for a better comprehension. The software is easy to use for people with logical modelling background and is a visual way of exploring populations of Boolean models and their effect on neighbouring cells. The software is freely available, cross-platform, can use open standards of logical models and its code can be studied and forked in GitHub. Nevertheless, the paper would benefit from some additions and clarifications: Major: Expansion of introduction: The last sentence of first paragraph could be completed with some of the reasons cellular automaton are well suited. Also, the relationship of present paper and [1] could be better worded. It is unclear if authors used Mendes et al approach as is or if they improved Mendes et al approach and can work with more than a dozen cells. Addressing these would enhance the understanding of the work. Discussion on the alpha parameter: The paper would benefit from a discussion on the use of “alpha-asynchronism” as logical modelling tools, until now, either used asynchronous and synchronous updates. Also, the paper presents results using alpha=1 (pure synchronous) or 0.25, but does not present results with alpha=0 (pure asynchronous). Presenting and discussing these (even in Supplementary) would allow users to have a better understanding on the effects of this parameter. Detailed tutorial: Even though the Documentation does a good job detailing the possibilities of the tool, the software users would benefit from a detailed discussion on the effect of changing spatial initial conditions, alpha parameter and, in general, the biological relevance of these. This supplementary file would also allow to expand on the discussion of Figure 2 that is absent from the paper (understandably being a software tool paper). Minor: Comparison to other software: Even though this software is the first that includes hexagonal grid and Boolean models, naming some other software that can be used for similar projects (with their pros and cons) would give the reader a better sense on the current status of the field. In Methods/Operation/Simulation settings, first sentence, authors say “For each epithelium, simulation settings define the updating schemes for both the cellular and epithelium models.” Does cellular model mean one cell and epithelium model the whole set of cells? As the phrase starts with epithelium, the current wording is a bit confusing. Figure 1 legend: “Stable pattern” is a bit confusing, maybe it would be better to use “pattern of stable states”. Figure 2 legend: Authors should describe “phase 1” and “phase 2” in the paper to understand what is the difference in panels C and D. In panel B, “DA” should be shown in the figure. In panel C, the colours for Grk and Dpp should be explained (even if they are described in previous panel). In Supplementary text, in the last part of the last sentence, the Figure in main text you refer to is Figure 2, panels C-F. Following previous reviewers’ comments, I had no errors using EpiLog on Windows. Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes References 1. Mendes ND, Lang F, Le Cornec YS, Mateescu R, et al.: Composition and abstraction of logical regulatory modules: application to multicellular systems. Bioinformatics . 2013; 29 (6): 749-57 PubMed Abstract | Publisher Full Text Competing Interests: No competing interests were disclosed. Reviewer Expertise: Systems Biology, Cancer, Boolean modelling, Multiscale modelling, Metabolic modelling, Data deconvolution I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Montagud A. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37601 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37601 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that ... Continue reading We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that cellular automata are a natural modelling choice to define local rules governing the behaviours of cells over a lattice. We also clarified the link between the framework as implemented in EpiLog and the work presented in Mendes et al 2013. We have included a supplementary text illustrating and discussing the use of the alpha-asynchronous update, and varying the values of alpha. This is done using the simple model of lateral inhibition. It is worth to note that a general statement of how the value of alpha impacts the dynamics (intermediate and final patterns) is hard to make, as such properties certainly depend on the model. Finally, alpha-asynchronism has been considered for cellular automata. The reviewer is right when noting that this update has not been employed for (cellular) logical models but, besides a theoretical interest, it is unclear if such an update would have any biological significance besides the fact that indeed a few cells may update their states simultaneously. Concerning your point on a detailed tutorial, in addition to the documentation,we now provide some video to illustrate the major steps in defining and simulating a model with EpiLog (available at https://www.youtube. com/channel/UCGGcpepqyYJkt7dhrhncQiQ, as indicated in the documentation). Results displayed in Figure 2 are thoroughly discussed in the original paper, Fauré et al. 2014. We now mention the two other software tools we are aware of that consider logical models in a multi-scale setting. We have clarified the terminology. In particular we have changed the legend of Fig 1, which now says ”stable state of the grid, referred to as stable pattern”. Indeed a stable pattern is defined by stable states of the cells, but not any combination of such cellular stable states remain stable in the multi-cellular model. Concerning Fig. 2, the requirement for the 2 phases is now shortly described in the main text. The legend has been modified as suggested, and dorsal appendage (DA) has been added in panel B. We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that cellular automata are a natural modelling choice to define local rules governing the behaviours of cells over a lattice. We also clarified the link between the framework as implemented in EpiLog and the work presented in Mendes et al 2013. We have included a supplementary text illustrating and discussing the use of the alpha-asynchronous update, and varying the values of alpha. This is done using the simple model of lateral inhibition. It is worth to note that a general statement of how the value of alpha impacts the dynamics (intermediate and final patterns) is hard to make, as such properties certainly depend on the model. Finally, alpha-asynchronism has been considered for cellular automata. The reviewer is right when noting that this update has not been employed for (cellular) logical models but, besides a theoretical interest, it is unclear if such an update would have any biological significance besides the fact that indeed a few cells may update their states simultaneously. Concerning your point on a detailed tutorial, in addition to the documentation,we now provide some video to illustrate the major steps in defining and simulating a model with EpiLog (available at https://www.youtube. com/channel/UCGGcpepqyYJkt7dhrhncQiQ, as indicated in the documentation). Results displayed in Figure 2 are thoroughly discussed in the original paper, Fauré et al. 2014. We now mention the two other software tools we are aware of that consider logical models in a multi-scale setting. We have clarified the terminology. In particular we have changed the legend of Fig 1, which now says ”stable state of the grid, referred to as stable pattern”. Indeed a stable pattern is defined by stable states of the cells, but not any combination of such cellular stable states remain stable in the multi-cellular model. Concerning Fig. 2, the requirement for the 2 phases is now shortly described in the main text. The legend has been modified as suggested, and dorsal appendage (DA) has been added in panel B. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that ... Continue reading We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that cellular automata are a natural modelling choice to define local rules governing the behaviours of cells over a lattice. We also clarified the link between the framework as implemented in EpiLog and the work presented in Mendes et al 2013. We have included a supplementary text illustrating and discussing the use of the alpha-asynchronous update, and varying the values of alpha. This is done using the simple model of lateral inhibition. It is worth to note that a general statement of how the value of alpha impacts the dynamics (intermediate and final patterns) is hard to make, as such properties certainly depend on the model. Finally, alpha-asynchronism has been considered for cellular automata. The reviewer is right when noting that this update has not been employed for (cellular) logical models but, besides a theoretical interest, it is unclear if such an update would have any biological significance besides the fact that indeed a few cells may update their states simultaneously. Concerning your point on a detailed tutorial, in addition to the documentation,we now provide some video to illustrate the major steps in defining and simulating a model with EpiLog (available at https://www.youtube. com/channel/UCGGcpepqyYJkt7dhrhncQiQ, as indicated in the documentation). Results displayed in Figure 2 are thoroughly discussed in the original paper, Fauré et al. 2014. We now mention the two other software tools we are aware of that consider logical models in a multi-scale setting. We have clarified the terminology. In particular we have changed the legend of Fig 1, which now says ”stable state of the grid, referred to as stable pattern”. Indeed a stable pattern is defined by stable states of the cells, but not any combination of such cellular stable states remain stable in the multi-cellular model. Concerning Fig. 2, the requirement for the 2 phases is now shortly described in the main text. The legend has been modified as suggested, and dorsal appendage (DA) has been added in panel B. We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that cellular automata are a natural modelling choice to define local rules governing the behaviours of cells over a lattice. We also clarified the link between the framework as implemented in EpiLog and the work presented in Mendes et al 2013. We have included a supplementary text illustrating and discussing the use of the alpha-asynchronous update, and varying the values of alpha. This is done using the simple model of lateral inhibition. It is worth to note that a general statement of how the value of alpha impacts the dynamics (intermediate and final patterns) is hard to make, as such properties certainly depend on the model. Finally, alpha-asynchronism has been considered for cellular automata. The reviewer is right when noting that this update has not been employed for (cellular) logical models but, besides a theoretical interest, it is unclear if such an update would have any biological significance besides the fact that indeed a few cells may update their states simultaneously. Concerning your point on a detailed tutorial, in addition to the documentation,we now provide some video to illustrate the major steps in defining and simulating a model with EpiLog (available at https://www.youtube. com/channel/UCGGcpepqyYJkt7dhrhncQiQ, as indicated in the documentation). Results displayed in Figure 2 are thoroughly discussed in the original paper, Fauré et al. 2014. We now mention the two other software tools we are aware of that consider logical models in a multi-scale setting. We have clarified the terminology. In particular we have changed the legend of Fig 1, which now says ”stable state of the grid, referred to as stable pattern”. Indeed a stable pattern is defined by stable states of the cells, but not any combination of such cellular stable states remain stable in the multi-cellular model. Concerning Fig. 2, the requirement for the 2 phases is now shortly described in the main text. The legend has been modified as suggested, and dorsal appendage (DA) has been added in panel B. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Villaverde AF and Henriques D. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r38246 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-38246 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 04 Oct 2018 Alejandro F. Villaverde , Bioprocess Engineering Group, IIM-CSIC, Vigo, Spain David Henriques , Bioprocess Engineering Group, IIM-CSIC, Vigo, Spain Approved VIEWS 0 https://doi.org/10.5256/f1000research.17032.r38246 This paper describes a new software tool for modelling epithelial dynamics in 2D. The software, called EpiLog, uses a logical framework that assigns discrete values to the model variables. The approach used for specifying the logical rules was previously presented ... Continue reading READ ALL This paper describes a new software tool for modelling epithelial dynamics in 2D. The software, called EpiLog, uses a logical framework that assigns discrete values to the model variables. The approach used for specifying the logical rules was previously presented in a paper from the same senior author (Mendes et al 1 ). The paper is well written, and the software is provided in a nice dedicated website, which also includes documentation and additional information. Furthermore, the source code is provided at GitHub. We have a few comments and suggestions regarding both the methodological approach and the software implementation: In regard to the method: 1) It is stated that the published method can only handle up to a dozen cells. However, the graphical interface seems to describe more. Maybe the authors could elaborate on the limitations of the tool, as well as on its performance for different types of problems. 2) It is not totally clear whether the approach used in this paper is exactly the same as the one published in (Mendes et al 1 ). If it is not, and if there is no other published paper describing the method, an upgraded methods paper could be of interest. On the other hand, if there is another publication describing the method, it should be cited in the paper. It is also unclear if the method has been previously validated in epithelium (hexagonal) case. The authors may want to clarify these points in a revised version. 3) We are aware that, being a software tool article, the present paper is probably not the best place for extended discussions about biological aspects. The following points may therefore be considered as suggestions for the content of an upgraded paper as described in the previous paragraph. Of course, they would also be welcome additions to an extended version of the present paper, if the authors deem them appropriate to address: 3.1) It may be useful to describe how to define a new (toy) model and a grid from scratch. 3.2) What type of cues/signals are considered? 3.3) A real case study would make it easier to follow the pipeline. 3.4) Some additional biological explanation or motivation of potential applications might make the paper more attractive. In regard to the software: 1) We tested EpiLog in Windows. We managed to load and simulate the Drosophila "Eggshell Patterning", but the software reported warnings/errors. Are these relevant? Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes References 1. Mendes ND, Lang F, Le Cornec YS, Mateescu R, et al.: Composition and abstraction of logical regulatory modules: application to multicellular systems. Bioinformatics . 2013; 29 (6): 749-57 PubMed Abstract | Publisher Full Text Competing Interests: No competing interests were disclosed. Reviewer Expertise: David Henriques: dynamic modelling, bioinformatics, logic-based modelling, systems biology. Alejandro F Villaverde: dynamic modelling, system identification, systems biology, control theory. We confirm that we have read this submission and believe that we have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Villaverde AF and Henriques D. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r38246 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-38246 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with ... Continue reading We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with our mention to a previous work (Mendes at al 2013). This should now be clarified. 2) This should be clear in the revised text. The rationale to define cell-cell communication (i.e. the rules governing the behaviours of input components of cellular models) relies on the definitions presented in Mendes et al 2013. However, EpiLog provides a graphical 1 interface and a simulation platform, producing a single model trajectory, whereas Mendes et al. aimed at determining all the stable states reachable from a given initial condition and considering an asynchronous update. 3) 3.1 should now be addressed through the video that are available on EpiLog web site 3.2 integration inputs are now more explicit in the text (juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood) 3.3 the DA formation is a real case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. 3.4 Indeed, we intend to include further arguments on biological applications in a forthcoming paper on lattice-based modelling approaches 4) Regarding the software: EpiLog relies on bioLQM, which in turn relies on JSBML libraries. The warning messages are being thrown by JSBML when loading a cellular model, but do not affect any of EpiLog’s behaviour. We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with our mention to a previous work (Mendes at al 2013). This should now be clarified. 2) This should be clear in the revised text. The rationale to define cell-cell communication (i.e. the rules governing the behaviours of input components of cellular models) relies on the definitions presented in Mendes et al 2013. However, EpiLog provides a graphical 1 interface and a simulation platform, producing a single model trajectory, whereas Mendes et al. aimed at determining all the stable states reachable from a given initial condition and considering an asynchronous update. 3) 3.1 should now be addressed through the video that are available on EpiLog web site 3.2 integration inputs are now more explicit in the text (juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood) 3.3 the DA formation is a real case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. 3.4 Indeed, we intend to include further arguments on biological applications in a forthcoming paper on lattice-based modelling approaches 4) Regarding the software: EpiLog relies on bioLQM, which in turn relies on JSBML libraries. The warning messages are being thrown by JSBML when loading a cellular model, but do not affect any of EpiLog’s behaviour. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with ... Continue reading We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with our mention to a previous work (Mendes at al 2013). This should now be clarified. 2) This should be clear in the revised text. The rationale to define cell-cell communication (i.e. the rules governing the behaviours of input components of cellular models) relies on the definitions presented in Mendes et al 2013. However, EpiLog provides a graphical 1 interface and a simulation platform, producing a single model trajectory, whereas Mendes et al. aimed at determining all the stable states reachable from a given initial condition and considering an asynchronous update. 3) 3.1 should now be addressed through the video that are available on EpiLog web site 3.2 integration inputs are now more explicit in the text (juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood) 3.3 the DA formation is a real case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. 3.4 Indeed, we intend to include further arguments on biological applications in a forthcoming paper on lattice-based modelling approaches 4) Regarding the software: EpiLog relies on bioLQM, which in turn relies on JSBML libraries. The warning messages are being thrown by JSBML when loading a cellular model, but do not affect any of EpiLog’s behaviour. We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with our mention to a previous work (Mendes at al 2013). This should now be clarified. 2) This should be clear in the revised text. The rationale to define cell-cell communication (i.e. the rules governing the behaviours of input components of cellular models) relies on the definitions presented in Mendes et al 2013. However, EpiLog provides a graphical 1 interface and a simulation platform, producing a single model trajectory, whereas Mendes et al. aimed at determining all the stable states reachable from a given initial condition and considering an asynchronous update. 3) 3.1 should now be addressed through the video that are available on EpiLog web site 3.2 integration inputs are now more explicit in the text (juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood) 3.3 the DA formation is a real case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. 3.4 Indeed, we intend to include further arguments on biological applications in a forthcoming paper on lattice-based modelling approaches 4) Regarding the software: EpiLog relies on bioLQM, which in turn relies on JSBML libraries. The warning messages are being thrown by JSBML when loading a cellular model, but do not affect any of EpiLog’s behaviour. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Nichele S. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37297 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37297 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 20 Aug 2018 Stefano Nichele , Department of Computer Science, Oslo Metropolitan University, Oslo, Norway Approved VIEWS 0 https://doi.org/10.5256/f1000research.17032.r37297 The article describes EpiLog, a software tool to model artificial development of epitelial tissue through cellular automata with hexagonal cells. EpiLog provides a high degree of customization through the graphical user interface. This includes: (a) model definition, ... Continue reading READ ALL The article describes EpiLog, a software tool to model artificial development of epitelial tissue through cellular automata with hexagonal cells. EpiLog provides a high degree of customization through the graphical user interface. This includes: (a) model definition, such as CA size, logical models and initial states; (b) simulation settings, including updates (synchronous or asynchronous/probabilistic) and (c) perturbations on single cells or regions. The article provides two simple use cases to introduce the user to the software. First, a model of lateral inhibition process is presented in FIg. 1. Second, a developmental model of Drosophila eggshell. Minor revisions: The article would benefit by the following: background section with related work and description of CA/artificial development software tools, with brief description of similarities and differences; a more advanced use case described in details (for the advanced reader). Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests: No competing interests were disclosed. Reviewer Expertise: Artificial Life, Complex Systems, Evo-Devo, Cellular Automata I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Nichele S. Reviewer Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37297 ) The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37297 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of ... Continue reading We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of two closely related tools, CoGNaC and PhysiBoSS. The DA formation is a real, advanced case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of two closely related tools, CoGNaC and PhysiBoSS. The DA formation is a real, advanced case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 11 Mar 2019 Claudine Chaouiya , Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal 11 Mar 2019 Author Response We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of ... Continue reading We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of two closely related tools, CoGNaC and PhysiBoSS. The DA formation is a real, advanced case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of two closely related tools, CoGNaC and PhysiBoSS. The DA formation is a real, advanced case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 27 Jul 2018 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 2 3 Version 2 (revision) 11 Mar 19 read Version 1 27 Jul 18 read read read Stefano Nichele , Oslo Metropolitan University, Oslo, Norway Alejandro F. Villaverde , IIM-CSIC, Vigo, Spain David Henriques , IIM-CSIC, Vigo, Spain Arnau Montagud , PSL Research University, Paris, France; Barcelona Supercomputing Center (BSC), Barcelona, Spain Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2019 Montagud A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 18 Mar 2019 | for Version 2 Arnau Montagud , Institut Curie, Inserm U900, Mines Paris Tech, PSL Research University, Paris, France; Barcelona Supercomputing Center (BSC), Barcelona, Spain 0 Views copyright © 2019 Montagud A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The authors have have done a good work in expanding and correcting all needed clarifications. I approve this improved version of the article. Competing Interests No competing interests were disclosed. Reviewer Expertise Systems Biology, Cancer, Boolean modelling, Multiscale modelling, Metabolic modelling, Data deconvolution I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (0) Montagud A. Peer Review Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.20225.r45550) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/7-1145/v2#referee-response-45550 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2018 Montagud A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 10 Oct 2018 | for Version 1 Arnau Montagud , Institut Curie, Inserm U900, Mines Paris Tech, PSL Research University, Paris, France; Barcelona Supercomputing Center (BSC), Barcelona, Spain 0 Views copyright © 2018 Montagud A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Approved With Reservations info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The paper describes a software used for qualitative simulations of logical models in a hexagonal grid, called EpiLog. The paper is well written, even though some parts could be slightly expanded for a better comprehension. The software is easy to use for people with logical modelling background and is a visual way of exploring populations of Boolean models and their effect on neighbouring cells. The software is freely available, cross-platform, can use open standards of logical models and its code can be studied and forked in GitHub. Nevertheless, the paper would benefit from some additions and clarifications: Major: Expansion of introduction: The last sentence of first paragraph could be completed with some of the reasons cellular automaton are well suited. Also, the relationship of present paper and [1] could be better worded. It is unclear if authors used Mendes et al approach as is or if they improved Mendes et al approach and can work with more than a dozen cells. Addressing these would enhance the understanding of the work. Discussion on the alpha parameter: The paper would benefit from a discussion on the use of “alpha-asynchronism” as logical modelling tools, until now, either used asynchronous and synchronous updates. Also, the paper presents results using alpha=1 (pure synchronous) or 0.25, but does not present results with alpha=0 (pure asynchronous). Presenting and discussing these (even in Supplementary) would allow users to have a better understanding on the effects of this parameter. Detailed tutorial: Even though the Documentation does a good job detailing the possibilities of the tool, the software users would benefit from a detailed discussion on the effect of changing spatial initial conditions, alpha parameter and, in general, the biological relevance of these. This supplementary file would also allow to expand on the discussion of Figure 2 that is absent from the paper (understandably being a software tool paper). Minor: Comparison to other software: Even though this software is the first that includes hexagonal grid and Boolean models, naming some other software that can be used for similar projects (with their pros and cons) would give the reader a better sense on the current status of the field. In Methods/Operation/Simulation settings, first sentence, authors say “For each epithelium, simulation settings define the updating schemes for both the cellular and epithelium models.” Does cellular model mean one cell and epithelium model the whole set of cells? As the phrase starts with epithelium, the current wording is a bit confusing. Figure 1 legend: “Stable pattern” is a bit confusing, maybe it would be better to use “pattern of stable states”. Figure 2 legend: Authors should describe “phase 1” and “phase 2” in the paper to understand what is the difference in panels C and D. In panel B, “DA” should be shown in the figure. In panel C, the colours for Grk and Dpp should be explained (even if they are described in previous panel). In Supplementary text, in the last part of the last sentence, the Figure in main text you refer to is Figure 2, panels C-F. Following previous reviewers’ comments, I had no errors using EpiLog on Windows. Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes References 1. Mendes ND, Lang F, Le Cornec YS, Mateescu R, et al.: Composition and abstraction of logical regulatory modules: application to multicellular systems. Bioinformatics . 2013; 29 (6): 749-57 PubMed Abstract | Publisher Full Text Competing Interests No competing interests were disclosed. Reviewer Expertise Systems Biology, Cancer, Boolean modelling, Multiscale modelling, Metabolic modelling, Data deconvolution I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. reply Respond to this report Responses (1) Author Response 11 Mar 2019 Claudine Chaouiya, Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal We thank you for the detailed comments and suggestions. We have revised the manuscript accordingly, and we briefly answer your points below. We have revised the introduction, noting that cellular automata are a natural modelling choice to define local rules governing the behaviours of cells over a lattice. We also clarified the link between the framework as implemented in EpiLog and the work presented in Mendes et al 2013. We have included a supplementary text illustrating and discussing the use of the alpha-asynchronous update, and varying the values of alpha. This is done using the simple model of lateral inhibition. It is worth to note that a general statement of how the value of alpha impacts the dynamics (intermediate and final patterns) is hard to make, as such properties certainly depend on the model. Finally, alpha-asynchronism has been considered for cellular automata. The reviewer is right when noting that this update has not been employed for (cellular) logical models but, besides a theoretical interest, it is unclear if such an update would have any biological significance besides the fact that indeed a few cells may update their states simultaneously. Concerning your point on a detailed tutorial, in addition to the documentation,we now provide some video to illustrate the major steps in defining and simulating a model with EpiLog (available at https://www.youtube. com/channel/UCGGcpepqyYJkt7dhrhncQiQ, as indicated in the documentation). Results displayed in Figure 2 are thoroughly discussed in the original paper, Fauré et al. 2014. We now mention the two other software tools we are aware of that consider logical models in a multi-scale setting. We have clarified the terminology. In particular we have changed the legend of Fig 1, which now says ”stable state of the grid, referred to as stable pattern”. Indeed a stable pattern is defined by stable states of the cells, but not any combination of such cellular stable states remain stable in the multi-cellular model. Concerning Fig. 2, the requirement for the 2 phases is now shortly described in the main text. The legend has been modified as suggested, and dorsal appendage (DA) has been added in panel B. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Montagud A. Peer Review Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37601) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37601 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2018 Villaverde A et al. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 04 Oct 2018 | for Version 1 Alejandro F. Villaverde , Bioprocess Engineering Group, IIM-CSIC, Vigo, Spain David Henriques , Bioprocess Engineering Group, IIM-CSIC, Vigo, Spain 0 Views copyright © 2018 Villaverde A et al. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions This paper describes a new software tool for modelling epithelial dynamics in 2D. The software, called EpiLog, uses a logical framework that assigns discrete values to the model variables. The approach used for specifying the logical rules was previously presented in a paper from the same senior author (Mendes et al 1 ). The paper is well written, and the software is provided in a nice dedicated website, which also includes documentation and additional information. Furthermore, the source code is provided at GitHub. We have a few comments and suggestions regarding both the methodological approach and the software implementation: In regard to the method: 1) It is stated that the published method can only handle up to a dozen cells. However, the graphical interface seems to describe more. Maybe the authors could elaborate on the limitations of the tool, as well as on its performance for different types of problems. 2) It is not totally clear whether the approach used in this paper is exactly the same as the one published in (Mendes et al 1 ). If it is not, and if there is no other published paper describing the method, an upgraded methods paper could be of interest. On the other hand, if there is another publication describing the method, it should be cited in the paper. It is also unclear if the method has been previously validated in epithelium (hexagonal) case. The authors may want to clarify these points in a revised version. 3) We are aware that, being a software tool article, the present paper is probably not the best place for extended discussions about biological aspects. The following points may therefore be considered as suggestions for the content of an upgraded paper as described in the previous paragraph. Of course, they would also be welcome additions to an extended version of the present paper, if the authors deem them appropriate to address: 3.1) It may be useful to describe how to define a new (toy) model and a grid from scratch. 3.2) What type of cues/signals are considered? 3.3) A real case study would make it easier to follow the pipeline. 3.4) Some additional biological explanation or motivation of potential applications might make the paper more attractive. In regard to the software: 1) We tested EpiLog in Windows. We managed to load and simulate the Drosophila "Eggshell Patterning", but the software reported warnings/errors. Are these relevant? Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes References 1. Mendes ND, Lang F, Le Cornec YS, Mateescu R, et al.: Composition and abstraction of logical regulatory modules: application to multicellular systems. Bioinformatics . 2013; 29 (6): 749-57 PubMed Abstract | Publisher Full Text Competing Interests No competing interests were disclosed. Reviewer Expertise David Henriques: dynamic modelling, bioinformatics, logic-based modelling, systems biology. Alejandro F Villaverde: dynamic modelling, system identification, systems biology, control theory. We confirm that we have read this submission and believe that we have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (1) Author Response 11 Mar 2019 Claudine Chaouiya, Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal We thank you for the comments and suggestions, and we briefly answer each point or the report below. 1) We believe the misunderstanding was due to the confusion with our mention to a previous work (Mendes at al 2013). This should now be clarified. 2) This should be clear in the revised text. The rationale to define cell-cell communication (i.e. the rules governing the behaviours of input components of cellular models) relies on the definitions presented in Mendes et al 2013. However, EpiLog provides a graphical 1 interface and a simulation platform, producing a single model trajectory, whereas Mendes et al. aimed at determining all the stable states reachable from a given initial condition and considering an asynchronous update. 3) 3.1 should now be addressed through the video that are available on EpiLog web site 3.2 integration inputs are now more explicit in the text (juxtacrine signals, or other secreted molecules influencing cells in the neighbourhood) 3.3 the DA formation is a real case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. 3.4 Indeed, we intend to include further arguments on biological applications in a forthcoming paper on lattice-based modelling approaches 4) Regarding the software: EpiLog relies on bioLQM, which in turn relies on JSBML libraries. The warning messages are being thrown by JSBML when loading a cellular model, but do not affect any of EpiLog’s behaviour. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Villaverde AF and Henriques D. Peer Review Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r38246) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-38246 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2018 Nichele S. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 20 Aug 2018 | for Version 1 Stefano Nichele , Department of Computer Science, Oslo Metropolitan University, Oslo, Norway 0 Views copyright © 2018 Nichele S. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The article describes EpiLog, a software tool to model artificial development of epitelial tissue through cellular automata with hexagonal cells. EpiLog provides a high degree of customization through the graphical user interface. This includes: (a) model definition, such as CA size, logical models and initial states; (b) simulation settings, including updates (synchronous or asynchronous/probabilistic) and (c) perturbations on single cells or regions. The article provides two simple use cases to introduce the user to the software. First, a model of lateral inhibition process is presented in FIg. 1. Second, a developmental model of Drosophila eggshell. Minor revisions: The article would benefit by the following: background section with related work and description of CA/artificial development software tools, with brief description of similarities and differences; a more advanced use case described in details (for the advanced reader). Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests No competing interests were disclosed. Reviewer Expertise Artificial Life, Complex Systems, Evo-Devo, Cellular Automata I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (1) Author Response 11 Mar 2019 Claudine Chaouiya, Instituto Gulbenkian de Ciência, Oeiras, P-2780-156, Portugal We than you for the suggestions. We considered that a proper state of the art was beyond the scope of this application note. However, we now acknowledge the existence of two closely related tools, CoGNaC and PhysiBoSS. The DA formation is a real, advanced case study. The interested reader can refer to the original paper by Fauré et al., and can also download the model from EpiLog web site. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Nichele S. Peer Review Report For: EpiLog: A software for the logical modelling of epithelial dynamics [version 2; peer review: 3 approved] . F1000Research 2019, 7 :1145 ( https://doi.org/10.5256/f1000research.17032.r37297) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/7-1145/v1#referee-response-37297 Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "EpiLog: A software for the logical modelling...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/7-1145/v2" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/7-1145/v2&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/7-1145/v2" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Varela PL et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/7-1145/v2/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/7-1145", templates : { twitter : "EpiLog: A software for the logical modelling of epithelial dynamics. Varela PL et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/7-1145/v2" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/15613/20225") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "20225"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "37600": 0, "37601": 31, "37602": 0, "37603": 0, "38246": 25, "36583": 0, "36584": 0, "36585": 0, "36586": 0, "36587": 0, "45548": 0, "36588": 0, "45549": 0, "36589": 0, "45550": 18, "37296": 0, "37297": 38, "37298": 0, "37174": 0, "37175": 0, "37599": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "6a1ce491-e67d-45db-953a-372b0cf4aa77"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "[email protected]", infoEmail: "[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. The paper's references may be in our DB but unresolved to ``paper_id`` (resolution happens at ingest when the cited DOI matches a row we already have). Run the cross-source citation reconcile pass to retry.

Source provenance

europepmc
last seen: 2026-05-19T01:45:01.086888+00:00