Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone Bioassay

preprint OA: closed
Full text JSON View at publisher
Full text 125,047 characters · extracted from preprint-html · click to expand
Maximising power with the minimum number of... | Gates Open Research "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://gatesopenresearch.org/js/vendor/ckeditor/' window.reactTheme = 'gates'; 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", {}); Skip to content Gates Open Research file_upload Submit via VeriXiv search clear search menu close clear Search Browse Gateways & Collections How to Publish Submit via VeriXiv My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Publication Charges Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Contact Blog My Account Submissions Content and Tracking Alerts My Details Sign In Submit via VeriXiv { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://gatesopenresearch.org/articles/9-64" }, "headline": "Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone...", "datePublished": "2025-08-27T09:32:20", "dateModified": "2025-08-27T09:32:20", "author": [ { "@type": "Person", "name": "Gemma Francesca Harvey" }, { "@type": "Person", "name": "Frank Mechan" }, { "@type": "Person", "name": "Giorgio Praulins" }, { "@type": "Person", "name": "Rosemary Lees" } ], "publisher": { "@type": "Organization", "name": "Gates Open Research", "logo": { "@type": "ImageObject", "url": "https://gatesopenresearch.org/img/AMP/Gates_image.png", "height": 600, "width": 47 } }, "image": { "@type": "ImageObject", "url": "https://gatesopenresearch.org/img/AMP/Gates_image.png", "height": 1200, "width": 94 }, "description": "Power calculations are an essential component of experimental design when evaluating vector control tools. Determining appropriate sample sizes for robustly detecting a difference between treatment groups in a bioassay (or any comparative experiment) is complicated by multiple sources of variation. While modern simulation-based methods exist to account for compounding sources of variation, uptake is slow due to limited availability of training and hardware. Here we present an accessible, user-friendly framework for performing sample size calculations for World Health Organisation (WHO) cone bioassays. Additionally, we conduct a literature review of studies published between 1998 and 2024 to identify sources of variability in WHO cone bioassay methodologies.We use simulation-based methods to assess power in the WHO cone bioassay, utilising the 2013 WHO guidance for phase I laboratory testing of ‘long-lasting’ insecticidal nets as an illustrative example of how sample size impacts detection of differences in mosquito mortality between treatments. Futhermore, we establish plausible variability assumptions across three levels of bioassay variability for the testing of insecticide-treated nets: between nets of the same product, between net pieces from the same net and between replicates on a net piece.We demonstrate that the biggest factor in determining the number of samples, and therefore mosquitoes, needed in an experiment is the effect size to be detected (mortality difference between treatments). Larger mortality differences (e.g. a 20% difference) are readily detected with the phase I guidance yet detecting a 10% difference requires more than triple this sample size. Here, we present a user-friendly browser application to allow researchers to easily design robust WHO cone bioassay experiments (link: Cone Bioassay Sample Size app)." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://gatesopenresearch.org/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://gatesopenresearch.org/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://gatesopenresearch.org/articles/9-64/v1", "name": "Maximising power with the minimum number of mosquitoes: Designing..." } } ] } Home Browse Maximising power with the minimum number of mosquitoes: Designing... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Harvey GF, Mechan F, Praulins G and Lees R. Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone Bioassay . Gates Open Res 2025, 9 :64 ( https://doi.org/10.12688/gatesopenres.16361.1 ) 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 ▬ ✚ Research Article Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone Bioassay Gemma Francesca Harvey https://orcid.org/0009-0008-6041-3305 1 , Frank Mechan https://orcid.org/0000-0001-6858-7010 1 , Giorgio Praulins https://orcid.org/0000-0003-2601-2598 1 , Rosemary Lees https://orcid.org/0000-0002-4232-9125 1 Gemma Francesca Harvey https://orcid.org/0009-0008-6041-3305 1 , Frank Mechan https://orcid.org/0000-0001-6858-7010 1 , Giorgio Praulins https://orcid.org/0000-0003-2601-2598 1 , Rosemary Lees https://orcid.org/0000-0002-4232-9125 1 PUBLISHED 27 Aug 2025 Author details Author details 1 Liverpool School of Tropical Medicine, Liverpool, England, L3 5QA, UK Gemma Francesca Harvey Roles: Data Curation, Formal Analysis, Investigation, Methodology, Software, Visualization, Writing – Original Draft Preparation Frank Mechan Roles: Conceptualization, Formal Analysis, Methodology, Software, Supervision, Writing – Original Draft Preparation Giorgio Praulins Roles: Data Curation, Formal Analysis, Investigation, Methodology, Visualization, Writing – Original Draft Preparation Rosemary Lees Roles: Funding Acquisition, Project Administration, Resources, Supervision, Writing – Review & Editing OPEN PEER REVIEW REVIEWER STATUS AWAITING PEER REVIEW Originally published as a preprint: https://doi.org/10.12688/verixiv.953.1 Abstract Power calculations are an essential component of experimental design when evaluating vector control tools. Determining appropriate sample sizes for robustly detecting a difference between treatment groups in a bioassay (or any comparative experiment) is complicated by multiple sources of variation. While modern simulation-based methods exist to account for compounding sources of variation, uptake is slow due to limited availability of training and hardware. Here we present an accessible, user-friendly framework for performing sample size calculations for World Health Organisation (WHO) cone bioassays. Additionally, we conduct a literature review of studies published between 1998 and 2024 to identify sources of variability in WHO cone bioassay methodologies. We use simulation-based methods to assess power in the WHO cone bioassay, utilising the 2013 WHO guidance for phase I laboratory testing of ‘long-lasting’ insecticidal nets as an illustrative example of how sample size impacts detection of differences in mosquito mortality between treatments. Futhermore, we establish plausible variability assumptions across three levels of bioassay variability for the testing of insecticide-treated nets: between nets of the same product, between net pieces from the same net and between replicates on a net piece. We demonstrate that the biggest factor in determining the number of samples, and therefore mosquitoes, needed in an experiment is the effect size to be detected (mortality difference between treatments). Larger mortality differences (e.g. a 20% difference) are readily detected with the phase I guidance yet detecting a 10% difference requires more than triple this sample size. Here, we present a user-friendly browser application to allow researchers to easily design robust WHO cone bioassay experiments (link: Cone Bioassay Sample Size app ). READ ALL READ LESS Keywords Malaria, bioassay, mosquito, insecticide, sample size, power analysis, variability, vector control Corresponding Author(s) Frank Mechan ( [email protected] ) Close Corresponding author: Frank Mechan Competing interests: No competing interests were disclosed. Grant information: This work was supported, in whole or in part, by the Gates Foundation [INV-050591 – I2I 3 grant number]. The conclusions and opinions expressed in this work are those of the author(s) alone and shall not be attributed to the Foundation. Under the grant conditions of the Foundation, a Creative Commons Attribution 4.0 License has already been assigned to the Author Accepted Manuscript version that might arise from this submission. Please note works submitted as a preprint have not undergone a peer review process. Additional funding to support this research was provided by Vestergaard Sarl. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Copyright: © 2025 Harvey GF 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: Harvey GF, Mechan F, Praulins G and Lees R. Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone Bioassay . Gates Open Res 2025, 9 :64 ( https://doi.org/10.12688/gatesopenres.16361.1 ) First published: 27 Aug 2025, 9 :64 ( https://doi.org/10.12688/gatesopenres.16361.1 ) Latest published: 27 Aug 2025, 9 :64 ( https://doi.org/10.12688/gatesopenres.16361.1 ) Introduction Insecticide-based interventions are a core strategy in malaria vector control ( WHO, 2024d ). In most malaria-endemic countries, the main vector control tools are insecticide-treated nets (ITNs) and indoor residual spraying (IRS). Between 2000 and 2015 it was estimated these interventions averted 542-753 million clinical Plasmodium falciparum cases, with ITNs suggested to have contributed between 62-72% to this reduction ( Bhatt et al., 2015 ). However, the effectiveness of pyrethroids, the mainstay insecticide class on ITNs is jeopardised by the development of resistance in vector populations across Africa ( Ranson et al., 2011 , Moyes et al., 2020 , Hancock et al., 2020 ), incentivising the development of ITNs containing novel compounds. New insecticide-based products undergo a comprehensive evaluation of their efficacy, safety and quality testing as part of the World Health Organisation (WHO) prequalification (PQ) for Vector Control Products process to obtain a PQ listing ( WHO, 2025 ). The initial stages of efficacy and quality testing are laboratory based, requiring demonstration of insecticidal effect before subsequent testing (such as regeneration studies, wash resistance studies, and semi-field experiments). For evaluation of neurotoxic insecticides, laboratory assays conventionally force mosquito contact with the treated surface to assess bioefficacy of active ingredient/s (AI) ( Skovmand et al., 2021 ). The WHO cone bioassay is a widely used laboratory bioassay to test new ITN and new IRS products ( Mbwambo et al., 2022 , Mbuba et al., 2023 , WHO, 2013 , 2024c ). Within this study we focus on the WHO cone bioassays use for testing ITNs. The stated purpose of this bioassay is to demonstrate the “biological availability and potency of AI(s) on the surface of a test material” as per the 2024 WHO PQ of Vector Control Products Implementation guidance (Modules 3 and 5 Bioassay methods for insecticide-treated nets: Cone test) ( WHO, 2024c ). Additionally, WHO cone bioassays are used in durability studies, to investigate changes in ITN bioefficacy with operational use. Furthermore, with the development of novel AIs targeted against pyrethroid-resistant mosquitoes; the WHO cone bioassay is used to evaluate pyrethroid-nets supplemented with a second AI such as the synergist piperonyl butoxide (PBO). The key outcomes of the WHO cone bioassay are 1 hr knockdown and 24 hr mortality. The sample size recommended in the existing WHO (2013) guidelines for laboratory and field-testing of ‘long-lasting’ insecticidal nets in phase I laboratory studies is fixed at four nets (with one net piece from each net and ten cones/replicates per net piece, for a total of 200 mosquitoes per ITN product being assessed). In the 2024 WHO PQ of Vector Control Products Implementation guidance (Modules 3 and 5, Bioassay methods for insecticide-treated nets: Cone test) gives recommendation to the number of mosquitoes per cone, exposure time, mosquito age, test room environmental conditions and cone angle ( WHO, 2024c ). Recommendations on sample size in this guidance are flexible, with the total sample size of nets dependent on the study goals and the product. Therefore, sample size calculations are the responsibility of the testing facility or manufacturer. In regeneration studies and wash resistance studies, the guidance does recommend a minimum of four ITN samples (a single net piece sample from four nets) should undergo bioassay testing ( WHO, 2024a , b ). As with all methods including quality testing and the evaluation of new chemistries, it is important that the testing process is standardised between laboratories to ensure results are robust and reproducible. Moreover, for conclusions from these results to be valid, the limits of interpretation must be well-defined, which will depend on the sample size. Specifically, the researcher must know the smallest effect size (generally mortality difference between treatment groups) their sample size can reliably detect ( Mechan et al., 2024 ). For example, if a sample size is minimally designed to detect a 10% mortality difference with 80% chance of detection a.k.a ‘power’ per convention, then an observed difference smaller than 10% is not a robust estimate or confirmation of the effect, regardless of p-value <0.05 ( Mechan et al., 2024 , Ioannidis, 2005 ). However, in practice the number of mosquitoes available for testing is often a key limiting factor in the number of replicates performed in WHO cone bioassays. To bridge these practical and statistical considerations, the pragmatic question when designing an experiment should be “what is the smallest difference I can robustly detect with the resources available to me?”. Given that the smallest effect size that can be detected with a sample size is intrinsically tied to the variability of the outcome, well supported assumptions about variability are essential to produce robust data and conclusions ( Mechan et al., 2024 ). If the data is more variable than was assumed by the experimental design, the chance of detecting the difference falls and the researchers may fail to detect a genuine effect. This variability in mosquito mortality has multiple sources, some which can be minimised by controlling the conditions of the experiments ( Mechan et al., 2024 , Praulins et al., 2024 ). As part of this study, we reviewed literature on WHO cone bioassay methodologies from 1998 to 2024 to investigate sources of variability. These findings were used to refine recommendations for minimizing variability. Assuming the appropriate measures have been taken to minimise variability, the residual variation must be quantified and built into sample size calculations. In the WHO cone bioassay there are three core units of variability within the experimental design: (1) different examples of the same net product or ‘net variability’, (2) different net pieces from the same net or ‘net piece variability’, and (3) different replicate cones on the same piece or ‘replicate variability’. This does not exclude the occurrence of other sources of variability, such as biological or environmental variation. A robust sample size calculation must assume a defined amount of variability for each of these three units. This multilevel sample size approach is generally not accounted for in vector biology experiments as commonly used conventional formulas are not designed to handle multiple, hierarchically arranged, interacting sources of variation. However, recent developments in simulation-based sample size methods have overcome this challenge of considering multiple levels of variability in experimental designs ( Mechan et al., 2024 , Johnson et al., 2015 ), with associated app-based user interfaces making otherwise challenging statistical programming highly accessible to the end-user. To generate the sample size guidance needed to produce robust WHO cone data, two key parameters must be determined: (1) the smallest difference in mosquito mortality which can be reliably detected between treatment groups and (2) the variability associated with the endpoint, which may be multiple values if considering the different layers of nets, net pieces, and replicates. If the mortality difference observed in the subsequent results is below the predetermined minimum, or the observed variability exceeds the estimate, then the risk of a type I error (false positive) is unacceptably high and thus the results cannot be considered robust ( Ioannidis, 2005 ). Furthermore, it is important to note that the power to detect a given mortality difference (e.g. a 10% difference) is dependent on the actual values being compared (e.g. 50% vs 60% is not the same as 80% vs 90%) due to mortality being truncated below 0% and above 100% thus variance is maximised at 50% ( Mechan et al., 2024 ). The effect size threshold (minimum mortality difference to be detected) and variability assumed should be set as a pragmatic trade-off to detect as small an effect as is relevant with the resources available. To aid this decision making, we present a data analysis pipeline for extracting variability estimates from existing data and identifying the sample sizes needed to detect different effect sizes, as has been demonstrated previously for WHO tube bioassays, ( Mechan et al., 2024 ). Thus, rather than a prescriptive or universal sample size number, end-users can readily identify the experimental design suitable for their purposes and resources, with full knowledge of the assumptions made and the limits of interpretation. To illustrate these concepts and findings, we use the 2013 WHO cone bioassay sample size guidance for phase I laboratory testing of ITNs ( WHO, 2013 ) as a practical example of how the different levels of the sample size (nets, net pieces, replicates) interact to generate power. Given the increased flexibility of more recent WHO cone bioassay guidance ( WHO, 2024c ), we demonstrate how modifying the sample size impacts power. To support this non-prescriptive approach, we present an app-calculator to empower researchers to calculate a robust sample size for WHO cone bioassay experiments to test ITNs. Methods Literature review To investigate the use of the WHO cone bioassay for the bioefficacy evaluation of pyrethroid ITNs we conducted a literature review of studies published between 1998 and 2021. The search was conducted in 2021 using the keywords “bio-efficacy” or “cone bioassay tests” or “Insecticide treated nets” and “long lasting insecticidal nets” and later updated in 2024 to include any subsequently published papers. We used inclusion criteria to identify studies with Anopheles mosquitoes that reported 24 hr mortality. The search identified 2,487 titles (148 from PubMed and 2,338 from PubMed Central), which we screened to identify relevant papers. Duplicate papers already found in PubMed were removed from the PubMed Central search results leaving a total of 632 papers for screening. Further screening for papers that met the inclusion criteria narrowed the results down to 55. The selected papers were thoroughly analysed, and specific details were recorded to ensure a comprehensive evaluation of study methodologies. This structured approach ensured that all relevant methodological details were consistently captured across the reviewed studies. The information which was extracted is detailed in Table 1 . Table 1. Summary of investigated parameters for literature review on cone testing methodologies. Category Parameter Reference Details Title Author Year of Publication Guidelines Referenced Guidelines Net Characteristics Type of Nets Tested Source of Nets (Purchased/Other) Net Hanging Status (Hung Before Testing) Net Aging Duration (If Aged) Storage & Transport Net Transport Conditions Sample Storage Conditions Testing Setup Net Sample Piece Size Used Number of Samples per Net/Net Side Total Number of Nets Tested Inclusion of Negative Control Netting Sample Size Number of Cones or Replicates per Net Section Number of Mosquitoes per Cone Mosquito Parameters Age of Mosquitoes Exposure Conditions Exposure Time to Netting Temperature During Testing Humidity During Testing Using WHO cone bioassay data from multiple laboratories to measure variability in mortality Existing WHO cone bioassay data was obtained based on pyrethroid-susceptible Anopheles gambiae exposed to the same six new, unwashed pyrethroid-treated nets which were circulated around seven test centre laboratories. The purpose of evaluating this data was to identify an appropriate range of variability estimates for the simulation study. Outcomes assessed were between-net and between-net piece variability (between-replicate variability could not be calculated in most cases due to data aggregation). Variability between parameters of interest and outcome (24 hr mosquito mortality) were analysed using generalised linear mixed models (GLMMs) with binomial link function within the ‘lme4’ package in R (version-4.3.3 ). To quantify variability in the outcome in each laboratory, random effect terms for ‘net’ (different nets of the same product), ‘net piece’ (different pieces from the same net) were included in the GLMMs. When considering overall net and net piece variability across the laboratories, ‘Testing lab’ (variable for different laboratory test centres) was considered as a fixed effect term as well as the random effects listed. Statistical significance of model parameters was assessed using log-likelihood ratio tests, comparing the explanatory power of different models with and without the inclusion of a given parameter. Variability values associated with ‘nets’ and ‘net pieces’ were extracted from random effects estimates of the GLMM, with standard deviation used as the unit of variation. To visualise the spread of data between different nets, violin plots with a bee swarm function were created using the ‘ggbeeswarm’ package. Simulation study Here we use the simulation principles of Johnson et al. (2015) and the sample size framework of Mechan et al. (2024) to perform simulation-based power analysis. To briefly summarise, this simulation-based power analysis process for calculating sample size involves simulating a very large number of plausible datasets from variability estimates. Subsequently, each simulated dataset is analysed individually using generalised linear models (GLM) to determine how often an effect is detected. The aim is to establish the minimum sample size (i.e. number of nets, net pieces, and replicates) to reliably distinguish a difference in mean mosquito mortality between different treatment groups/ITN products. The threshold at which a sample size was deemed sufficient was 80% power (meaning an 80% chance of detecting the effect, per convention). The power of different experimental designs was evaluated. A plausible range of combinations of effect sizes (differences in mean mosquito mortality), sample size (number of nets, net pieces, and replicates), and variability assumptions (informed by our analysis of existing data sets) were assessed ( Table 2 ). For each unique combination of simulation parameters, 5,000 plausible datasets were simulated. Each simulated dataset was analysed using a binomial GLM with net type as fixed effect. Following this, p-values were extracted from each GLM. The power for each parameter combination was reported as the proportion of 5,000 analyses for which p<0.05. By comparing the power for different sample sizes, we identify the minimum number of samples (nets, net pieces, and replicates) needed to detect a given effect size (e.g. a 15% difference in mosquito mortality). Unless otherwise stated we report power for a given experimental design at the point of maximum uncertainty (‘Umax’), meaning a 15% mortality difference represents the difference between 50% and 65%. To maximise accuracy of power estimates close to 80% (78-82%), the threshold at which a design is either sufficiently powered or not, we performed follow-up evaluations of these experimental conditions with 15,000 simulations. For the purposes of reporting here, power estimates values >79.5% were rounded up to 80%. Table 2. Range of parameters used in the simulation study. Parameter variable Possible values Mortality difference (effect size) 5-50% Total number of nets of each treatment 2-10 Total number of net pieces of each treatment 1-5 Total number of replicates on each net piece 5-11 Net variability 0.10-1.60 Net piece variability 0.10-0.90 Replicate variability 0.10-0.90 Evaluating the 2013 WHO guidance for phase I laboratory testing As we cannot show all the possible designs for a WHO cone bioassay experiment here in this article, we focus the results on the practical example of the sample size recommended in the 2013 WHO guidance for phase I laboratory testing (“Guidelines for laboratory and field-testing of long-lasting insecticidal nets”) ( WHO, 2013 ). Phase I laboratory testing requires a sample size of four nets, one net piece, and ten replicates on each ITN treatment group (for a total of 200 mosquitoes per treatment group). We evaluate the power of a WHO cone bioassay experiment to detect mortality differences with this fixed sample size, as well as showing the impact of increasing or decreasing sample size beyond this. This is not to say that the findings are limited to this context, but instead it is used for illustrative purposes. The open access associated WHO cone bioassay sample size Rshiny application ( Cone Bioassay Sample Size app ) allows the reader to investigate power for other plausible study designs. This is particularly beneficial for visualising the dynamic relationship between the different number of nets, net pieces, and replicates at the same time, which is challenging to communicate in a static format. This Rshiny application was created in R (version-4.3.3 ). Results Characterising the reporting and application of the cone method from the literature The methodological details extracted from the selected papers identifies great inconsistency in how methods are referenced and how much methodological detail is reported, as well as the details of how the tests themselves were performed ( Figure 1 ). Only some authors referenced guidelines in the Methods sections of the published studies and many referenced guidelines that were years out of date at the time of publication. Out of the 55 papers selected for analysis 15% did not reference any guidelines, while 5% referenced published papers instead of guidelines. Of the papers that did reference WHO guidelines or other associated documents, 4% used the 1998 document “Test procedures for insecticide resistance monitoring in malaria vectors, bio-efficacy and persistence of insecticides on treated surfaces: report of the WHO informal consultation, Geneva, 28-30 September 1998” ( WHO, 1998 ), while 18% used the 2005 guidelines “Guidelines for laboratory and field-testing of long-lasting insecticidal nets” ( WHO, 2005 ). There were no papers that referenced the 2006 guidelines “Guidelines for testing mosquito adulticides for indoor residual spraying and treatment of mosquito nets” ( WHO, 2006 ) or the 2024 guidelines “WHO Prequalification of Vector Control Products Implementation guidance (Modules 3 and 5) Bioassay methods for insecticide-treated nets: Cone test” ( WHO, 2024c ). Only 7% referenced the 2011 guidelines “Guidelines for monitoring durability of long-lasting insecticidal nets under operational conditions” ( WHO, 2011 ), while 47% referenced the 2013 guidelines “Guidelines for laboratory and field-testing of long-lasting insecticidal nets” ( WHO, 2013 ), and only 2% referenced the 2016 guidelines “Test procedures for insecticide resistance monitoring in malaria vector mosquitoes: second edition” ( WHO, 2016 ). A further 2% of studies referenced both WHO (2011) and WHO (2013) guidelines. In terms of how many years out of date the referenced guidelines were, the selected papers varied widely, with 7% using guidelines that were up to date, and 57% used guidelines that were 3 years out of date. The remaining 36% of studies referenced guidelines that were 5-18 years out of date. There is a need for greater consistency in the referencing of guidelines and adherence to up-to-date guidelines to ensure the reliability and comparability of results across studies. Figure 1. Standardisation in WHO cone bioassay testing. (A) Proportion of referenced guidelines used for cone bioassay testing. (B) Number of years since the referenced guidelines became outdated. (C) Types of netting used as a negative control. (D) Net sample piece sizes. (E) Testing age of mosquitoes. (F) Number of mosquitoes used per cone. Methodological details extracted from the papers included the sources of the nets used in the studies, which were diverse and included direct sourcing from the chemical company, local markets, homes, research institutes, storage facilities, and the Ministry of Health. However often it was not stated at all where the nets were sourced from. Additionally, the storage conditions for the nets varied widely, with some studies not stating the storage conditions and others using variously foil, plastic bags, or envelopes to store the nets, sometimes in the fridge. The size of the net sample used in the bioassay varied, with most studies using 25 × 25 cm samples, while others used similar sized pieces at 30 × 30 cm or 20 × 20 cm samples, or instead did not break down nets and instead did cone bioassays on whole nets. A total of 35% of papers did not state the size of net piece tested. They reported the total number of nets used, which varied from one to 932. For each net, they indicated the number of net pieces collected, with a range of one to ten net pieces per net. Additionally, they detailed the number of cones in each net piece, which ranged from one to 16 cones. The papers provided a range of information regarding their mosquito sampling. The age of the mosquitoes used in the bioassay also varied, with the majority (45%) of studies using 2–5 day old mosquitoes, while others used 2-4 day (2%), 2-3-day (9%), 3-4 day (4%) or 3–5 day (18%) old mosquitoes. Some studies (20%) did not state the age at all, and some used wild caught mosquitoes of unknown age (2%). The number of mosquitoes exposed per cone varied, with most studies using five mosquitoes per cone (73%), while others used seven (2%), ten (19%), eight to ten (2%), nine to 12 (2%) or 20 (2%) mosquitoes per cone, or did not state the number (13%). The negative control netting used in the studies varied, with non-specific “untreated” nets being the most common. Finally, papers typically specified the overall sample size for the study, which varied widely from 20 to 20,000 mosquitoes. Determining appropriate variability assumptions for the simulation study Variation in 24 hr mortality between nets (of the same product) and between net pieces (from the same net) in the WHO cone bioassay was quantified using testing data with the same samples across multiple laboratories. With pyrethroid-susceptible An. gambiae Kisumu exposed to a pyrethroid-only ITN the between-net variation differed across laboratories, with standard deviation (SD) values ranging from 0.55 to 2.00 ( Figure 2 and Table 3 ). Variability between pieces from the same net also differed between laboratories but to a lesser extent (SD range: 0.08 to 0.85) compared to between nets ( Table 3 ). Figure 2. Percentage 24 hr mortality of ITNs tested across multiple laboratories. Plots highlighting 24 hr mortality of pyrethroid-only insecticide treated-nets (ITNs) (LLIN 1 to LLIN 6) samples tested across different laboratories (Lab A-F, I) with pyrethroid-susceptible An. gambiae s.s. mosquitoes. Black dots represent raw percentage mortality values from individual bioassays (one dot represents 25 mosquitoes). Table 3. Mortality variability between-nets and between-net pieces across multiple laboratories. Lab Species tested Net SD Net piece SD A An. gambiae 1.023 0.087 B An. gambiae 1.2365 0.3464 C * An. gambiae 0 0 D An. gambiae 1.9969 0.8516 E An. gambiae 0.9837 0.6076 F An. gambiae 0.5574 0.2956 I An. gambiae 1.0748 0.3221 * Lab C: variability values are 0 due to mortality being 100% across nets, thus these data were not used in determining simulation assumptions. When measuring overall variability across laboratories by combining all data, the between-net SD was 0.641 and between-piece SD was 0.249 (across laboratories in Table 3 ). Replicate variability could not be directly assessed due to the data being aggregated. As in practice many laboratories may have substantially higher variability, to be conservative we take these summarised variability values as a pragmatic minimum/‘floor’ variability estimate. We use this floor estimate, as well as the range of values observed to establish a conservative set of three categories of variabilities: ‘moderate’, ‘high’, and ‘very high’ ( Table 4 ). The preset variability assumptions are intended for use where robust estimates are not available prior to testing; it would be reasonable for researchers to assume lower variability for their own power calculations if indicated by robust laboratory-specific data. Table 4. Variability estimates for 24 hr mortality between-nets, between-net pieces and between-replicates. Variability category Between-net SD Between-net piece SD Between-replicate SD ‘Moderate’ (practical minimum) 0.60 0.30 0.30 ‘High’ 1.20 0.60 0.60 ‘Very high’ 1.60 0.90 0.90 Limits of interpretation of the fixed 2013 sample size guidance Here we investigate mortality differences that can be reliably detected with different sample sizes using variability assumptions in the pre-set categories established above. We use the sample size guidance in the 2013 phase I laboratory testing documentation as a starting point, then demonstrate the impact of increasing or decreasing the number of samples beyond this. In the 2013 WHO guidance, sample size is fixed at four nets of each treatment group, with one piece from each net and ten replicate cones on this piece (for a total of 200 mosquitoes per treatment group). As would be expected, the probability of detecting a difference increases as the values being compared against moves away from 50% (in either direction) ( Figure 3 ). Thus 60% vs 70% requires less samples to reliably detect a given difference than 50% vs 60%. Assuming our ‘moderate’ estimate (between-net SD of 0.6, and a between-replicate SD of 0.3) the smallest difference that can be detected by this sample size guidance with, at least 80% power at the point of maximum uncertainty (‘Umax’, where the reference value is 50% mortality), is 17.5% (power: 90%). A 10% difference is only reliably detectable with this sample size guidance and ‘moderate’ variability when reference mortality is 82.5% or above (i.e. 82.5% vs 92.5% can be reliably detected). Figure 3. Power to detect 10% mortality differences between treatments in cone bioassays. Power to detect a 10% difference in 24 hr mortality between pyrethroid-treated nets at determined variability levels in the WHO cone bioassay following the 2013 WHO guidelines (four nets, one net piece per net and ten replicates per net piece). The levels of variability (Var) assessed are: ‘moderate’ (‘M’) standard deviation (SD) values = Net 0.6, Replicate (Rep) 0.3, ‘high’ (‘H’) SD values = Net 1.2, Rep 0.6 and ‘very high’ (‘V-h’) SD values = Net 1.6, Rep 0.9. The red dashed horizontal line represents 80% power threshold. As shown in Figure 3 , assuming greater variability leads to less power to detect a 10% difference. Assuming ‘high’ variability (between-net SD of 1.2, and a between-replicate SD of 0.6) still allows a 17.5% difference to be detected at the ‘Umax’ (power: 84%). However, if assuming ‘very high’ variability (between-net SD of 1.6, and a between-replicate SD of 0.9) the smallest mortality difference between treatment groups that can be detected by this sample size at ‘Umax’ is 20% (power: 89%). How does changing the sample size impact power? Here we explore how changes to the sample size guidance would impact the power to detect different mortality differences. We investigate power using ‘moderate’ and ‘high’ variability estimates mentioned above, assessing how power decreases as the variability increases. Net number ‘As outlined above the smallest difference that can be reliably detected with the 2013 WHO guidance at the ‘Umax’, with ‘moderate’ net variability assumption, is 17.5% (power: 90%) ( Figure 4A ). If instead just three nets were used, a 17.5% difference could still be detected (power: 80%). Detecting a 15% difference requires five nets (power: 88%), with a 10% difference outside the scope of our simulations (ten nets: 79% power). However, as reference mortality approaches 100%, a 10% difference becomes more feasible to detect with four nets. The threshold at which a 10% difference becomes detectable (under the same net piece, replicate, and variability assumptions) is approximately 82.5%. Figure 4. Power to detect mortality differences between treatments when alternating nets. The power to detect different 24 hr mortality effect sizes between pyrethroid-treated nets considering alternate numbers of nets, when net variability and replicate variability is assumed ‘moderate’ (A) and is assumed ‘high’ (B). Black solid line represents power of the 2013 WHO guidance (four nets) across different mortality differences at the maximum point of uncertainty ('Umax'). ‘Moderate’ standard deviation values: between-net = 0.6 and between-replicate = 0.3, ‘high’ standard deviation values: between-net = 1.2 and between-replicate = 0.3 keeping the number of net pieces fixed at one and number of replicates fixed at ten as per the 2013 WHO guidance. Red dashed horizontal line represents 80% power threshold, black dashed vertical lines represent true mortality difference of 5%, 10%,15%, 17.5% and 20%. Under our ‘ high’ net variability assumptions, a 20% difference can be reliably detected at the ‘Umax’ using three nets (power: 84%), and a 15% difference with six nets ( Figure 4B ). A 10% difference is outside the scope of simulations but becomes detectable with four nets (as per the 2013 WHO guidance) when reference mortality is 82.5% or higher. Net piece number The power to reliably detect a difference between treatment groups increases with the number of net pieces, with the largest increase from one to two net pieces but the additional benefit diminishing noticeably above three net pieces ( Figure 5A ). We fix the number of nets at four and replicates at ten as per the 2013 WHO guidance. Figure 5. Power to detect mortality differences between treatments when alternating pieces. The power to detect different 24 hr mortality differences between pyrethroid-treated nets across different numbers of net pieces, when net variability and net piece variability is assumed ‘moderate’ (A) and assumed ‘high’ (B). Black solid line represents power of the 2013 WHO guidance (one net piece) across different mortality differences at the maximum point of uncertainty ('Umax'). ‘Moderate’ standard deviation values: between-net = 0.6, between-net piece = 0.3 and between-replicate = 0.3, ‘high’ standard deviation values: between-net = 1.2, between-net piece = 0.6 and between-replicate = 0.3, keeping the number of nets fixed at four and number of replicates fixed at ten as per the 2013 WHO guidance. Red dashed horizontal line represents 80% power threshold, black vertical lines represent true difference % at 5%, 10%,15%, 17.5% and 20%. With the standard sample of one net piece, a 17.5% difference can be detected with the 2013 WHO guidance sample size at ‘Umax’ when the variability is ‘moderate’ ( Figure 5A ). A 15% difference can be detected using two net pieces (power: 95%) under these assumptions. A 10% difference can be detected with three net pieces (power: 84%). With ‘high’ variability assumptions (keeping replicate variability ‘moderate’), the 2013 WHO guidance can detect a 17.5% difference at ‘Umax’ ( Figure 5B ). A 15% difference can be detected with two net pieces (power: 91%) and 10% with four net pieces (power: 86%). Replicate number Assuming a ‘moderate’ level of net and replicate variability, the 2013 WHO guidance can detect a 17.5% difference between treatment groups (power: 90%) ( Figure 6A ). Keeping the number of nets fixed at four and pieces fixed at one, detecting a 15% and 10% difference is outside of the range of scope of simulations at ‘Umax’ when altering the number of replicates. However, if the reference mortality is just slightly higher than the ‘Umax’ (55%), a 15% difference becomes detectable with ten replicates. Furthermore, a 10% difference becomes detectable when the reference mortality is 82.5%. It is noteworthy that under these assumptions a 20% difference is still detectable with fewer replicates than the 2013 WHO guidance, with just six replicates giving 82% power. Figure 6. Power to detect mortality differences between treatments when alternating replicates. The power to detect differences in 24 hr mortality between pyrethroid-treated nets across different numbers of replicates when net variability and replicate variability is assumed ‘moderate’ (A) and is assumed ‘high’ (B). Black solid line represents power of the 2013 WHO guidance (ten replicates) across different mortality differences at the maximum point of uncertainty ('Umax'). ‘Moderate’ standard deviation values: between-net = 0.6 and between-replicate = 0.3, ‘high’ standard deviation values: between-net = 1.2 and between-replicate = 0.6, keeping the number of nets fixed at four and numbers of net pieces fixed at one as per the 2013 WHO guidance). Red dashed horizontal line represents 80% power threshold, black vertical lines represent true difference % at 5%, 10%, 15%, 17.5% and 20%. Assuming a ‘high’ variability, the 2013 guidance can detect a 17.5% difference between treatment groups (power: 84%) ( Figure 6B ). Reliably detecting a 10% and 15% difference under the 2013 WHO guidance is outside of the range of scope of simulations at ‘Umax’. However, if the reference mortality threshold is increased to approximately 62.5% a 15% difference becomes detectable. A 10% difference becomes detectable at a reference mortality at approximately 82.5% or higher. As with ‘moderate’ variability assumptions, at ‘high’ variability with fewer replicates than the 2013 WHO guidance, a 20% difference is detectable with just seven replicates giving 82% power ( Figure 6B ). Optimising sample size of nets, net pieces and replicates to minimise the number of mosquitoes needed for testing As shown above there is a trade-off between the ability to detect small differences and the size of the sample needed. For researchers performing a WHO cone bioassay the limiting resource is typically testing-age female mosquitoes. Identifying the optimal trade-off between detecting a sufficiently small difference and the mosquitoes needed to achieve this can minimise the resources needed for an experiment. Excessive effort can be avoided if identifying very small differences is not necessary to answer the research question, and wasted effort avoided by not performing experiments underpowered to answer the question. As shown above the 2013 WHO guidance to use 200 mosquitoes per treatment group is powered to detect a 17.5% difference at ‘Umax’, assuming ‘moderate’ to ‘high’ variability. However, decreasing the number of replicates from ten to six still gives sufficient power to detect a 20% difference under the same conditions, reducing the number of mosquitoes required from 200 to 120. This highlights the trade-offs between power and sample size. Increasing the number of net pieces per net has the greatest mosquito cost, yet using only a single net piece means a core source of variability (between-net piece) is not accounted for. Up to this point, this paper has considered the impact of varying net, net piece, and replicate sample sizes independently, yet in practice all three may be adjusted at the same time to optimise power. We show here that for different research objectives in terms of the effect size to be detected, there are optimal combinations of net, net piece, and replicates that maximise power for the fewest mosquitoes (refer to Table 5 ). Table 5. Minimal sample sizes per treatment to detect different mortality differences across variability estimates. Smallest effect size (24 hr mortality) detected with 80% power Assumed Variability (net, net piece, replicate) 10% 15% 20% ‘Moderate’ (0.6, 0.3, 0.3) 540 mosquitoes (4n/3p/9r, pwr = 80%) (6n/2p/9r, pwr = 80%) 240 mosquitoes (3n/2p/8r, pwr = 80%) (4n/2p/6r, pwr = 80%) (6n/2p/4r, pwr = 81%) 140 mosquitoes (2n/2p/7r, pwr = 83%) ‘High’ (1.2, 0.6, 0.6) 700 mosquitoes (7n/2p/10r, pwr = 80%) 300 mosquitoes (3n/2p/10r, pwr = 80%) (4n/3p/5r, pwr = 80%) (5n/3p/4r, pwr = 80%) (6n/2p/5r, pwr = 80%) 180 mosquitoes (3n/2p/6r, pwr = 84%) (3n/3p/4r, pwr = 84%) ‘Very high’ (1.6, 0.9, 0.9) 825 mosquitoes (5n/3p/11r, pwr = 80%) 350 mosquitoes (5n/2p/7r, pwr = 80%) 200 mosquitoes (2n/2p/10r, pwr = 82%) (4n/2p/5r, pwr = 82%) (5n/2p/4r, pwr = 82%) Supporting sample size calculations for the WHO cone bioassay with a user-friendly application To allow end-users to readily design their own experiments with WHO cones, we provide a browser-based Rshiny application. This app allows researchers to take advantage of the simulation-based framework outlined above, without the need for access to computer programmes or hardware. Users can input their minimum effect size and level of variability (for net, net piece, and replicate number), with the output all of the viable experiments they could perform that would provide robust data. Additionally, the app provides an interactive visualisation of how power changes with different numbers of net, net pieces, and replicates, across a fine-scale range of variability values (allowing tailoring to a laboratory’s level of variation). Click here for access to the application for interactive visualisation to explore other combinations of sample size to support experimental design for the WHO cone bioassay: Cone Bioassay Sample Size app https://fmechan1.shinyapps.io/who_cone_app/ . Discussion The core pragmatic question when designing a WHO cone experiment to compare ITNs is: “what is the smallest difference between groups I can reliably detect with the resources available to me?”. The mortality difference detectable is dependent on sample size and the variability of the outcome, with differences smaller than the predetermined minimum not a robust finding, regardless of reported p-values. Here we use existing data to demonstrate how power to detect mortality differences in WHO cone bioassays changes with sample size, using the 2013 WHO phase I laboratory studies guidance as a starting point and expanding this to represent the more flexible 2024 guidance for WHO PQ of Vector Control Products Implementation (Modules 3 and 5, Bioassay methods for insecticide-treated nets: Cone test) ( WHO, 2013 , WHO, 2024c ). We show that across our range of plausible variability estimates and sample sizes, general rules of thumb emerge. We show that a 20% mortality difference is readily detectable in almost all practical circumstances (even with very high variability assumptions) yet that conversely a 10% difference is challenging to detect in most practical circumstances, though more feasible when reference mortality is >80%. This leaves 15% difference as an achievable threshold for an effect size that can be detected across the entire range of reference values with sample sizes only slightly larger than the 2013 WHO guidelines. With the level of variability we measured in existing data from multiple laboratories, mortality differences smaller than 10% would not be a plausible goal unless the true values were very close to 100%. Consequently, by defining the minimum effect size in advance, the optimal sample size can be implemented thus avoiding resources being wasted. As with previous simulation studies on WHO bioassays ( Mechan et al., 2024 ), we demonstrate that statistical power is dependent not just on the absolute mortality difference itself (e.g. 10%) but on the actual values being compared (e.g. 50% vs 60%), with power increasing as the values move away from 50% (towards 0% or 100%). We also observe here, as highlighted previously for WHO tubes ( Mechan et al., 2024 ), that increasing sample size has diminishing returns in terms of power, with each additional net, net piece, or replicate having a smaller impact on power than the last. Thus, sample size calculation is always an optimisation problem. Here we highlight the importance of incorporating reasonable assumptions about variability when designing experiments. It is important for a test laboratory to have either a robust estimate of their variability or, if estimates are unavailable, to be sufficiently conservative in their assumptions. In the absence of available variability estimates, we would recommend using the ‘high’ estimate (net SD = 1.2, net piece SD = 0.6, and replicate SD = 0.6), which we have made the default in the associated app. Additionally, we advise against testing with only a single net piece per net, as this leaves a key source of variability unaccounted for. However, this does not necessarily need to come at the expense of greatly increased sample size as we show that reducing the number of replicates per net piece is an acceptable trade-off in most circumstances. To minimise the sample size needed, it is important to reduce the variability of the bioassay data you are generating as much as possible. Here, our review of published studies using WHO cone bioassays highlighted widespread inconsistencies in the application of WHO cone bioassay methodology. For example, the use of outdated guidelines—some over a decade old—and the absence of any cited guideline in 15% of studies revealed a critical gap in standardisation. These inconsistencies extend to procedural details, such as the wide range of mosquito ages, net sample sizes, and numbers of mosquitoes per cone, all of which influence bioassay outcomes. The literature review underscores that these methodological discrepancies likely exacerbate the variability observed in mortality data and limit the comparability of results across studies. By linking these findings to the need for variability-driven sample size calculations, the review highlights how more consistent adherence to up-to-date, standardised protocols could reduce variability, improve data reliability, and ensure that studies are appropriately powered to detect meaningful differences in mosquito mortality outcomes. Conventional formula-based power calculations are inflexible to multiple sources of variation, instead aggregating this together into an overall estimate of variability. However, WHO cone bioassays have multiple defined sources of variation, arranged in a hierarchical structure of nets, net pieces, and replicates. These different levels of variability can (and do, as we have demonstrated) have different amounts of variability associated with them that influence the optimal experimental design. For example, if there is high variability between net pieces then this is more efficiently addressed by testing more pieces per net rather than adding additional nets. This study focused on relatively new ITN samples, that have been tested repeatedly but not delivered to, or deployed in, the field. We observed that most variability was between nets, with lower variation between net pieces from the same net. However, for nets that have been used in the field, such as in durability studies, it is reasonable to assume that variability between both nets and net pieces from the same net would be higher than observed here. Consequently, for these power estimates to be extended to post-deployment nets it is essential to adjust the variability values appropriately using relevant data from field nets, estimated using the same analysis methods described here. Furthermore, as we lacked sufficient data for estimating variability between replicates on the net piece, we conservatively assumed it to be as variable as different net pieces. Additional data on between-replicate variability would allow more precise assumptions. While here we focused on variability in 24 hr mortality, knockdown is also a common endpoint in the WHO cone bioassay. To be applicable to knockdown, researchers would require estimates of knockdown variability. The precision of simulation-based power estimates is dependent on the number of simulations. Here we use 5,000 simulations to assess power, followed by a 15,000-simulation confirmation to assess power for estimates close to 80% (78-82), to minimise misclassification. Furthermore, given we conducted effect size in increments of 2.5% in the simulation analyses in this study, when it is stated that the minimum reference mortality for detecting a 10% difference is 82.5%, we are more accurately referring to a range of 82.5-85.0. The browser application linked here allows users to use preset variability assumptions to design WHO cone experiments or manually input variability values relevant to their laboratories. By removing the need for software, programming knowledge, or computer hardware, this tool provides democratised access to powerful simulation methods for WHO cone experiments. By using a common framework, supports robust uniformity and comparisons between studies. This simulation framework could be readily applied to using WHO cone bioassays for testing IRS products, given well-supported estimates of variability in that context. Furthermore, the simulation-based power analysis framework outlined is readily adaptable to durability studies, given plausible assumptions about variability on field-collected nets. Moreover, the process could be adapted for WHO bottle and WHO tunnel tests, as has been done previously for WHO tube assays ( Mechan et al., 2024 ). Competing interests No competing interests were disclosed. Grant information This work was supported, in whole or in part, by the Gates Foundation [INV-050591 – I2I 3 grant number]. The conclusions and opinions expressed in this work are those of the author(s) alone and shall not be attributed to the Foundation. Under the grant conditions of the Foundation, a Creative Commons Attribution 4.0 License has already been assigned to the Author Accepted Manuscript version that might arise from this submission. Please note works submitted as a preprint have not undergone a peer review process. Additional funding to support this research was provided by Vestergaard Sarl. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Data availability Underlying data This project contains the following underlying data: https://doi.org/10.5281/zenodo.15130209 ( Harvey and Mechan, 2025b ). This project contains the following underlying data: • Anonymised_Multilab_An.gambiae_only_dataset.csv Data are available under the terms of the Creative Commons Attribution 4.0 International license (CC-BY 4.0). Software availability Source code available from: https://github.com/i2i-Data-Repository/WHO-cone-bioassay-sample-size . Archived source code is available from: https://doi.org/10.5281/zenodo.15130413 ( Harvey and Mechan, 2025a ). Source code is available under the terms of the GNU General Public License version 3 (GPL-3.0-only) ( https://opensource.org/license/gpl-3-0 ). Acknowledgements We thank the following institutions for their data contribution to support this work: CREC/LSHTM Collaborative Programme (CREC)/PAMVERC Benin; Centre for Research in Infectious Diseases (CRID); Noguchi Memorial Institute of Medical Research (Vestergaard Noguchi Vector Labs (VNVL)); KCMUCo- PAMVERC, Moshi Tanzania; Institut de Recherche en Sciences de la Santé (IRSS); Kenya Medical Research Institute-Centre for Global Health Research (KEMRI-CGHR)/Research World Ltd and Centre Suisse de Recherches Scientifiques en Côte d’Ivoire (CSRS). References Bhatt S, Weiss D, Cameron E, et al. : The effect of malaria control on Plasmodium falciparum in Africa between 2000 and 2015. Nature. 2015; 526 :207–211. PubMed Abstract | Publisher Full Text | Free Full Text Hancock PA, Hendriks CJ, Tangena J-A, et al. : Mapping trends in insecticide resistance phenotypes in African malaria vectors. PLoS Biol. 2020; 18 :e3000633. PubMed Abstract | Publisher Full Text | Free Full Text Harvey G, Mechan F: Cone Bioassay Simulation Calculator. Zenodo: Zenodo. 2025a. [Accessed]. Publisher Full Text Harvey G, Mechan F: Existing WHO cone bioassay data from multiple labs (Version 1).[Data set]. Zenodo: Zenodo. 2025b. [Accessed]. Publisher Full Text Ioannidis JP: Why most published research findings are false. PLoS Med. 2005; 2 :e124. PubMed Abstract | Publisher Full Text | Free Full Text Johnson PC, Barry SJ, Ferguson HM, et al. : Power analysis for generalized linear mixed models in ecology and evolution. Methods Ecol. Evol. 2015; 6 :133–142. PubMed Abstract | Publisher Full Text | Free Full Text Mbuba E, Odufuwa OG, Moore J, et al. : Multi-country evaluation of the durability of pyrethroid plus piperonyl-butoxide insecticide-treated nets: study protocol. Malar. J. 2023; 22 :30. PubMed Abstract | Publisher Full Text | Free Full Text Mbwambo SG, Bubun N, Mbuba E, et al. : Comparison of cone bioassay estimates at two laboratories with different Anopheles mosquitoes for quality assurance of pyrethroid insecticide-treated nets. Malar. J. 2022; 21 :214. PubMed Abstract | Publisher Full Text | Free Full Text Mechan F, Praulins G, Gillespie J, et al. : Power calculation for mosquito bioassays: Quantifying variability in the WHO tube bioassay and developing sample size guidance for the PBO synergism assay using a Shiny application. Gates Open Res. 2024; 8 :96. PubMed Abstract | Publisher Full Text | Free Full Text Moyes CL, Athinya DK, Seethaler T, et al. : Evaluating insecticide resistance across African districts to aid malaria control decisions. Proc. Natl. Acad. Sci. 2020; 117 :22042–22050. PubMed Abstract | Publisher Full Text | Free Full Text Praulins G, Murphy-Fegan A, Gillespie J, et al. : Unpacking WHO and CDC Bottle Bioassay Methods: A Comprehensive Literature Review and Protocol Analysis Revealing Key Outcome Predictors. Gates Open Res. 2024; 8 :56. PubMed Abstract | Publisher Full Text | Free Full Text Ranson H, N’guessan R, Lines J, et al. : Pyrethroid resistance in African anopheline mosquitoes: what are the implications for malaria control? Trends Parasitol. 2011; 27 :91–98. PubMed Abstract | Publisher Full Text Skovmand O, Dang DM, Tran TQ, et al. : From the factory to the field: considerations of product characteristics for insecticide-treated net (ITN) bioefficacy testing. Malar. J. 2021; 20 :1–13. Publisher Full Text WHO: Test procedures for insecticide resistance monitoring in malaria vectors, bio-efficacy and persistence of insecticides on treated surfaces: report of the WHO informal consultation, Geneva, 28-30 September 1998. World Health Organization;1998. WHO: Guidelines for laboratory and field testing of long-lasting insecticidal mosquito nets. World Health Organization;2005. WHO: Guidelines for testing mosquito adulticides for indoor residual spraying and treatment of mosquito nets. World Health Organization;2006. WHO: Guidelines for monitoring the durability of long-lasting insecticidal mosquito nets under operational conditions. World Health Organization;2011. WHO: Guidelines for laboratory and field-testing of long-lasting insecticidal nets. World Health Organization;2013. WHO: Test procedures for insecticide resistance monitoring in malaria vector mosquitoes. World Health Organization;2016. WHO: Implementation guidance (Module 3). WHO Prequalification of Vector Control Products: Bioassay methods for insecticide-treated nets: Regeneration study for ITN fabric. World Health Organisation;2024a. WHO: Implementation guidance (Module 3). WHO Prequalification of Vector Control Products: Bioassay methods for insecticide-treated nets: Wash resistance study for ITN fabric. World Health Organisation;2024b. WHO: Implementation guidance (Modules 3 and 5). WHO Prequalification of Vector Control Products: Bioassay methods for insecticide-treated nets: Cone test. World Health Organisation;2024c. WHO: World malaria report 2024: addressing inequity in the global malaria response. World Health Organization;2024d. WHO: Prequalified Vector Control Products – WHO. World Health Organisation;2025. [Accessed 01/04/2025 2025]. Reference Source Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 27 Aug 2025 ADD YOUR COMMENT Comment Author details Author details 1 Liverpool School of Tropical Medicine, Liverpool, England, L3 5QA, UK Gemma Francesca Harvey Roles: Data Curation, Formal Analysis, Investigation, Methodology, Software, Visualization, Writing – Original Draft Preparation Frank Mechan Roles: Conceptualization, Formal Analysis, Methodology, Software, Supervision, Writing – Original Draft Preparation Giorgio Praulins Roles: Data Curation, Formal Analysis, Investigation, Methodology, Visualization, Writing – Original Draft Preparation Rosemary Lees Roles: Funding Acquisition, Project Administration, Resources, Supervision, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information This work was supported, in whole or in part, by the Gates Foundation [INV-050591 – I2I 3 grant number]. The conclusions and opinions expressed in this work are those of the author(s) alone and shall not be attributed to the Foundation. Under the grant conditions of the Foundation, a Creative Commons Attribution 4.0 License has already been assigned to the Author Accepted Manuscript version that might arise from this submission. Please note works submitted as a preprint have not undergone a peer review process. Additional funding to support this research was provided by Vestergaard Sarl. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Article Versions (1) version 1 Published: 27 Aug 2025, 9:64 https://doi.org/10.12688/gatesopenres.16361.1 Copyright © 2025 Harvey GF 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 Gates Open Research - - 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 Harvey GF, Mechan F, Praulins G and Lees R. Maximising power with the minimum number of mosquitoes: Designing robust sample sizes for the WHO Cone Bioassay . Gates Open Res 2025, 9 :64 ( https://doi.org/10.12688/gatesopenres.16361.1 ) 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: AWAITING PEER REVIEW AWAITING PEER REVIEW ? 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 Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 27 Aug 2025 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right 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 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 Gates Open Research 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 = "Maximising power with the minimum number...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://gatesopenresearch.org/articles/9-64/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://gatesopenresearch.org/articles/9-64/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://gatesopenresearch.org/articles/9-64/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Harvey GF 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://gatesopenresearch.org/articles/9-64/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://gatesopenresearch.org/articles/9-64", templates : { twitter : "Maximising power with the minimum number of mosquitoes: Designing.... Harvey GF et al., published by " + "Gates Open Research" + ", https://gatesopenresearch.org/articles/9-64/v1" } }; 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/16361/17763") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "17763"); $(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 = { }; $(".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 = "2d34d7ea-5707-4026-95b8-a72c3ae250fd"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); Are you a Gates-funded researcher? If you are a previous or current Gates grant holder, sign up for information about developments, publishing and publications from Gates Open Research. First Name * You must provide your first name Last Name * You must provide your last name Email * You must provide a valid email address Institution You must provide an institution. Submit Thank you! We'll keep you updated on any major new updates to Gates Open Research Gates Open Research Browse Gateways How to Publish About Contact Legal For Developers Cookie Notice Privacy Notice RSS Submit via VeriXiv © F1000 Research Limited and its licensors ISSN 2572-4754 var F1000platform = new F1000.Platform({ name: "gates", displayName: "Gates Open Research", hostName: "gatesopenresearch.org", id: "3", editorialEmail: "[email protected]", infoEmail: "[email protected]", usePmcStats: true }); 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. This is a recent paper (2025) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00