Recent advances in our understanding of the... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/8-123" }, "headline": "Recent advances in our understanding of the structure and function of more unusual cation channels", "datePublished": "2019-01-30T12:51:18", "dateModified": "2019-01-30T12:51:18", "author": [ { "@type": "Person", "name": "Brandon M. Brown" }, { "@type": "Person", "name": "Hai M. Nguyen" }, { "@type": "Person", "name": "Heike Wulff" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "As their name implies, cation channels allow the regulated flow of cations such as sodium, potassium, calcium, and magnesium across cellular and intracellular membranes. Cation channels have long been known for their fundamental roles in controlling membrane potential and excitability in neurons and muscle. In this review, we provide an update on the recent advances in our understanding of the structure–function relationship and the physiological and pathophysiological role of cation channels. The most exciting developments in the last two years, in our opinion, have been the insights that cryoelectron microscopy has provided into the inner life and the gating of not only voltage-gated channels but also mechanosensitive and calcium- or sodium-activated channels. The mechanosensitive Piezo channels especially have delighted the field not only with a fascinating new type of structure but with important roles in blood pressure regulation and lung function." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/8-123", "name": "Recent advances in our understanding of the structure and function..." } } ] } Home Browse Recent advances in our understanding of the structure and function... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Brown BM, Nguyen HM and Wulff H. Recent advances in our understanding of the structure and function of more unusual cation channels [version 1; peer review: 2 approved] . F1000Research 2019, 8 (F1000 Faculty Rev):123 ( https://doi.org/10.12688/f1000research.17163.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 ▬ ✚ Review Recent advances in our understanding of the structure and function of more unusual cation channels [version 1; peer review: 2 approved] Brandon M. Brown 1 , Hai M. Nguyen 1 , Heike Wulff https://orcid.org/0000-0003-4437-5763 1 Brandon M. Brown 1 , Hai M. Nguyen 1 , Heike Wulff https://orcid.org/0000-0003-4437-5763 1 PUBLISHED 30 Jan 2019 Author details Author details 1 Department of Pharmacology, School of Medicine, University of California, Davis, Davis, USA Brandon M. Brown Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing Hai M. Nguyen Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing Heike Wulff Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing OPEN PEER REVIEW DETAILS REVIEWER STATUS Abstract As their name implies, cation channels allow the regulated flow of cations such as sodium, potassium, calcium, and magnesium across cellular and intracellular membranes. Cation channels have long been known for their fundamental roles in controlling membrane potential and excitability in neurons and muscle. In this review, we provide an update on the recent advances in our understanding of the structure–function relationship and the physiological and pathophysiological role of cation channels. The most exciting developments in the last two years, in our opinion, have been the insights that cryoelectron microscopy has provided into the inner life and the gating of not only voltage-gated channels but also mechanosensitive and calcium- or sodium-activated channels. The mechanosensitive Piezo channels especially have delighted the field not only with a fascinating new type of structure but with important roles in blood pressure regulation and lung function. READ ALL READ LESS Keywords cation channel Corresponding Author(s) Heike Wulff ( [email protected] ) Close Corresponding author: Heike Wulff Competing interests: No competing interests were disclosed. Grant information: BMB was supported by the National Center for Advancing Translational Sciences (UL1 TR001860 and linked award TL1 TR001861). HMN and HW were supported by R01NS100294 from the National Institute for Neurological Disorders and Stroke. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Copyright: © 2019 Brown BM 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: Brown BM, Nguyen HM and Wulff H. Recent advances in our understanding of the structure and function of more unusual cation channels [version 1; peer review: 2 approved] . F1000Research 2019, 8 (F1000 Faculty Rev):123 ( https://doi.org/10.12688/f1000research.17163.1 ) First published: 30 Jan 2019, 8 (F1000 Faculty Rev):123 ( https://doi.org/10.12688/f1000research.17163.1 ) Latest published: 30 Jan 2019, 8 (F1000 Faculty Rev):123 ( https://doi.org/10.12688/f1000research.17163.1 ) Introduction Cation channels mediate the flow of cations (Na + , K + , Ca 2+ , and Mg 2+ ) across hydrophobic lipid membrane barriers, allowing both excitable cells such as neurons or muscle and non-excitable cells such as lymphocytes and endothelial cells to regulate membrane potential, Ca 2+ signaling, and various other cellular processes 1 . Based on the International Union of Basic and Clinical Pharmacology (IUPHAR) Guide to Pharmacology 2 , the human genome contains 145 voltage-gated-like channels 3 , 55 ligand-gated channels 4 , and 27 “so-called” other channels 5 , such as connexins or Piezo and store-operated channels, that conduct cations. All of these channels play specific physiological roles, which can make them attractive drug targets for the treatment of disease. Conversely, mutations in cation channel genes or genes encoding associated β-subunits or scaffolding proteins can cause so-called channelopathies such as cystic fibrosis, long or short QT syndrome, and various forms of epilepsy. In this review, we provide an update on what, in our opinion, constitutes the most exciting new findings concerning cation channels during the last two years, namely our increased understanding of gating mechanisms of more unusual, non-voltage-gated channels such as Slack (K Na 1.1), K Ca 3.1 (SK4), ENaC, TCP1, or Piezo1. We would like to apologize upfront to the many scientists whose fascinating work we cannot mention due to space constraints or because, as one of our colleagues once so fittingly put it, “we play in a different sand box” and are biased by what we find interesting. Advances in understanding cation channel structures The recent increase in the number of solved ion channel structures is largely due to technological advances in cryoelectron microscopy (cryo-EM), such as improvements in microscope design and imaging hardware, as well as enhanced image processing which allows the reconstruction of 3D structures from a large number of single-particle 2D images even if they are conformationally heterogeneous 6 . Cryo-EM is thus increasingly being used to obtain near-atomic resolution structures 6 of membrane proteins such as G protein–coupled receptors (GPCRs) and ion channels that have traditionally been difficult to obtain with x-ray crystallography or nuclear magnetic resonance spectroscopy. (See Table 1 for the Protein Data Base ID numbers of the structures mentioned in this article.) Overall, the most impressive effort in channel structure–function studies within the last couple of years has come from the laboratory of Roderick MacKinnon, whose group solved the first ion channel structure, the bacterial K + channel KcsA, in 1998 7 . Since the latter part of 2016, his group has elucidated the structure of Eag1 (K v 10.1) 8 , which unlike previously solved K V channel structures was not domain-swapped; hERG (K V 11.1) 9 ; KCNQ1 (K V 7.1) 10 ; HCN1 11 ; Slack (Slo2.2, K Na 1.1) 12 ; Kir6.2 in complex with SUR1 13 ; BK (K Ca 1.1) in the presence and absence of calcium 14 , 15 ; as well as the human K Ca 3.1 (SK4) channel in complex with calmodulin 16 . All of these structures provided new and often unexpected insights into the gating mechanisms of the respective channels and showcase the power of cryo-EM. Table 1. Ion Channel Structures. Protein Data Base ID Channel Species Method Resolution Conformation 6CNM K Ca 3.1 (SK4, IK) Human Cryo-EM 3.4 Å Closed state 6CNN K Ca 3.1 (SK4, IK) Human Cryo-EM 3.5 Å Ca 2+ -bound open state I 6CNO K Ca 3.1 (SK4, IK) Human Cryo-EM 4.7 Å Ca 2+ -bound open state II 5VA1 K V 11.1/hERG Human Cryo-EM 3.7 Å Open state 5VA2 K V 11.1/hERG Human Cryo-EM 3.8 Å Open state 5VA3 Kv11.1/hERG Human Cryo-EM 4.0 Å Open state 5U70 K Na 1.1 (Slack, Slo2.2) Chicken Cryo-EM 3.8 Å Open state 5U76 K Na 1.1 (Slack, Slo2.2) Chicken Cryo-EM 3.8 Å Closed state 6BQN ENaC Human Cryo-EM 3.9 Å Uncleaved state 6C96 TPC1 Mouse Cryo-EM 3.4 Å Closed state 6C9A TPC1 Mouse Cryo-EM 3.2 Å Open state 5Z10 Piezo1 Mouse Cryo-EM 4.0 Å Closed state 6B3R Piezo1 Mouse Cryo-EM 3.7 Å Closed state 6BPZ Piezo1 Mouse Cryo-EM 3.8 Å Closed state 5K7L K V 10.1 (Eag1) Rat Cryo-EM 3.8 Å CaM-bound state 5TJ6 K Ca 1.1 (Slo1, BK) Aplysia Cryo-EM 3.5 Å Open state 5TJI K Ca 1.1 (Slo1, BK) Aplysia Cryo-EM 3.8 Å Ca 2+ -free state 5U6O HCN1 Human Cryo-EM 3.5 Å Human HCN1 in cAMP-free closed state 5U6P HCN1 Human Cryo-EM 3.5 Å Human HCN1 in cAMP-bound open state 6C3O K ATP (K IR 6.2-SUR1) Human Cryo-EM 3.9 Å Quatrefoil form 6C3P K ATP (K IR 6.2-SUR1) Human Cryo-EM 5.6 Å Propeller form 6DVW TRPV3 Mouse Cryo-EM 4.3 Å Closed apo state 6DVY TRPV3 Mouse Cryo-EM 4.0 Å 2-APB–bound closed state 6DVY TRPV3 Mouse Cryo-EM 4.2 Å 2-APB–bound open state 6MHO TRPV3 Human Cryo-EM 3.4 Å Closed apo state 6MHS TRPV3 Human Cryo-EM 3.2 Å Sensitized state 6BPQ TRPM8 Collared flycatcher Cryo-EM 4.1 Å 6DJR TRPC3 Human Cryo-EM 5.8 Å Apo state 6DJS TRPC3 Human Cryo-EM 5.8 Å Apo state 6A70 PKD1/PKD2 Human Cryo-EM 3.6 Å Closed state 5XSY Na V 1.4-β1 Electric eel Cryo-EM 4.0 Å VSDs in “up” conformation 6AGF Na V 1.4-β1 Human Cryo-EM 3.2 Å VSDs in “up” conformation 5X0M Na V PaS Cockroach Cryo-EM 3.8 Å Closed pore 6A90 Na V PaS Cockroach Cryo-EM 2.8 Å With Dc1a 6A95 Na V PaS Cockroach Cryo-EM 2.6 Å With tetrodotoxin and Dc1a 6A91 Na V PaS Cockroach Cryo-EM 3.2 Å With saxitoxin and Dc1a IK4C KcsA Escherichia coli X-ray 2.0 Å Closed, ready to open IK4D KcsA E. coli X-ray 2.3 Å Closed, inactivated state 5VK6 KcsA(E71A) E. coli X-ray 2.3 Å Open conductive state 5VKE KcsA(Y82A) E. coli X-ray 2.4 Å C-type inactivated state 5GJV Ca V 1.1 Rabbit Cryo-EM 3.6 Å Inactivated state 6C1P Na V Ab(R2G) Arcobacter butzleri X-ray 2.9 Å VSD mutation inducing a pathogenic gating pore 6C1M Na V Ab(R2G) A. butzleri X-ray 2.5 Å With methylguanidinum 6C1K Na V Ab(R2G) A. butzleri X-ray 2.7 Å With guanidnium 6C1E Na V Ab(R3G) A. butzleri X-ray 2.9 Å VSD mutation inducing a pathogenic gating pore 2-APB, 2-aminoethoxy-diphenyl borate; CaM, calmodulin; cAMP, cyclic adenosine monophosphate; cryo-EM, cryoelectron microscopy; VSD, voltage sensor domain. In the most recently solved structure of the intermediated-conductance calcium-activated potassium channel K Ca 3.1 (SK4), the channel-CaM complex is captured at 3.4- and 3.5-Å resolution in what is suggested to be the closed and two different, activated states. K Ca 3.1 is widely expressed in the immune system, whereas the closely related small-conductance K Ca 2 (SK1-3) channels are found mostly in neurons. The K Ca 3.1 structure shows that the channel is non-domain-swapped 16 . In the absence of calcium, calmodulin is bound to the calmodulin-binding domain (CaM-BD) in the C-terminus with its C-lobe while the N-lobe is poorly resolved. However, the true game changer for our understanding of K Ca channel gating—and possibly its drug development efforts—are the two open structures, where the N-lobe of calmodulin has “swung over” to the S4-S5 linker of another subunit and pulls it down, causing S6 to move outward and to expand the cytoplasmic pore entry. The structure thus solves the long-standing problem of the gating symmetry and shows that K Ca channels in fact gate with fourfold symmetry and not with twofold symmetry as previously suggested 17 . A very interesting technical aspect of this article is how the heterogenicity of the particles with the “floppy” N-lobe in the absence of calcium was dealt with and how the two different open states were sorted out. We therefore highly recommend the online methods of the article 16 to interested readers. Another powerful illustration of the advances of cryo-EM is the Hite et al . study 18 , in which the MacKinnon group captured the sodium-activated potassium channel Slack (K Na 1.1, Slo2.2) in multiple conformations by titrating increasing concentrations of sodium. Slack is expressed in neurons, where it is activated by high concentrations of intracellular Na + that can occur following repeated action potential firing. Together with the previously solved closed Slack structure 12 , the Hite and MacKinnon article, which collected images at five different Na + concentrations, shows that Slack exists in multiple closed conformations from which an open conformation emerges in a highly Na + -dependent manner 12 , suggesting that opening of this ligand-gated channel is a highly concerted, switch-like process. In another effort from the MacKinnon laboratory, the structure of the hyperpolarization-activated cyclic nucleotide-gated (HCN) channel member 1 was elucidated 11 . HCN channels are non-selective cation channels that are permeant to both sodium and potassium and underlie pace making both in the heart and in the central nervous system. All four members of this family are voltage-gated but also are modulated by the endogenous ligand cyclic adenosine monophosphate (cAMP). The structure, which was solved at 3.5-Å resolution in the presence and absence of cAMP, explains the 4:1 potassium-to-sodium permeability ratio of HCN and shows an unusually long S4 helix that extends in the cytoplasm to stabilize a closed pore in the presence of a depolarized voltage sensor. These structural features suggest a gating mechanism in which downward displacement of the S4 helix during membrane hyperpolarization disrupts these stabilizing interactions to open the channel, thus explaining HCN’s reversed polarity of voltage dependence. Binding of cAMP induces a rotation of the gate-forming inner helices, thus favoring channel opening 11 . Transient receptor potential (TRP) channels act as sensors in a variety of physiological processes. They are a diverse group of cation channels that are often relatively non-selective and permeable to sodium, calcium, and magnesium. Recently, a series of TRP channel structures have been solved. The full-length mouse vanilloid subfamily member 3 (TRPV3) was obtained in both the closed state and in the open state with the agonist 2-aminoethoxy-diphenyl borate (2-APB) 19 . 2-APB was found to bind at three allosteric sites, and channel opening was shown to induce conformational changes in both the outer pore and the intracellular gate 19 . Understanding TRPV3 activation at the molecular level is important because the channel constitutes a potential target for the treatment of inflammatory skin conditions, itch, and pain. TRP melastatin cation channel member 8 (TRPM8) is the primary cold and menthol sensor in humans. Its structure was recently solved by Yin et al . at 4.1-Å resolution 20 . Whereas the channel shares the same overall homotetrameric structure that is characteristic of other TRP channels, TRPM8 has a unique N-terminal domain fold pattern. The structure shows that the menthol-binding site is located within the voltage sensor–like domain 20 . Another recently elucidated TRP channel is TRPC3, the TRP cation channel subfamily C member 3, a calcium-permeant channel in which genetic mutations have been associated with neurodegenerative and cardiovascular diseases. The cryo-EM structures for the full-length human TRPC3 and its cytoplasmic domain (CPD) showed that the TRPC3 transmembrane domain resembles other TRP channels and that the CPD is a stable module involved in channel assembly and gating 21 . The structure of TRPC3 is important for understanding TRP channel gating since it was observed that horizontal helices in the cytoplasmic domain transition into a coiled-coil bundle. These helices are coupled to the transmembrane domain via loops and these transitions facilitate gating. Completing the recent insights into TRP channel structures is the 3.6-Å resolution structure of a truncated human polycystic kidney disease (PKD)1-PKD2 complex in a 1:3 PKD1-to-PKD2 stoichiometry 22 . Mutations in PKD1 and PKD2 account for most cases of autosomal dominant PKD, rendering this structure very important because of the potential insights it can provide into PKD disease mechanisms by finally affording the opportunity to map a large number of disease mutations onto a structure. PKD1 exhibits a typical voltage-gated ion channel fold that interacts with PKD2 to form a domain-swapped, non-canonical TRP channel. However, many questions remain about this mysterious complex. For example, the S6 segment of PKD1 is broken in the middle, and the extracellular half, S6a, resembles a typical pore helix, whereas the intracellular parts are disordered. The structure further shows three positively charged residues protruding into the putative ion-conducting path, suggesting that the structure is of non-conductive state 22 . The membrane protein, Piezo1, encoded by the piezo gene is a 38-transmembrane domain mechanosensitive ion channel that functions as a trimer. Piezo1 is expressed in blood vessels and is crucial for sensing blood flow–associated shear stress. Following up on an earlier, lower-resolution structure 23 that showed a trimeric propeller-like protein with a central cap suggesting that Piezo1 uses its peripheral blades as force sensors to gate the central ion-conducting pore, Zhao et al. recently solved Piezo1 with an overall resolution of 3.97 Å based on the analysis of close to three million particles 24 . The new structure shows a central, 90 Å–long intracellular beam, which undergoes a lever-like motion to connect a set of transmembrane helical units to the pore. This structure provides the basis for mechanical activation of Piezo1, in which a lever-like mechanogating mechanism involving the curved blades of Piezo transmits a conformational change to the pore that allows ion permeation. The overall structure and the suggested gating mechanism are unlike those of any other ion channel. The unique features of Piezo1 add breadth and depth to the ways in which ion channels gate and conduct ions. Another recently solved cryo-EM structure is that of the epithelial sodium channel (ENaC), which regulates Na + and water homeostasis 25 . Whereas most sodium channels are voltage-gated and generally consist of a large α subunit with four repeat domains, ENaC assembles as a heterotrimeric channel that contains protease-sensitive domains critical for gating. The structure revealed that ENaC assembles with a 1:1:1 stoichiometry of α:β:γ subunits arranged in a counter-clockwise fashion with the protease-sensitive inhibitory domains wedged between the subunits. Solving the structure of ENaC has allowed for the exact definition of subunit arrangement and stoichiometry and for the elucidation of the mechanism of inhibition. The sodium channel field has been further enriched by two new Na V channel structures, both of which could be very useful for drug design: (1) the first human Na V channel in the Na V 1.4-beta1 complex at 3.2-Å resolution 26 and (2) the insect NaVPaS channel bound to a gating modifier toxin at 2.8-Å resolution and in the presence of tetrodotoxin at 2.6 Å 27 . Organellar two-pore channels (TPCs) are an interesting type of channel that, as the name suggests, has two pores. Recently, the structure of the murine sodium-selective TPC1, a channel expressed on endosomes and fulfilling a critical role in regulating the physiological functions of these acidic organelles, was solved 28 . Not to be confused with the two-pore potassium-selective channels (K 2P ), TPC1 is a homodimer consisting of two six-transmembrane (6-TM) subunits with the N- and C-termini located on the cytoplasmic side of the membrane. The channel is voltage-dependent but can also be activated by phosphatidylinositol 3,5-bisphosphate binding in one 6-TM domain with the other 6-TM domain sensing voltage 28 . This mechanism of activation is very important since it has recently become clear that phospholipids play an integral role in the activation and regulation of some ion channels. Lastly, Cuello et al. significantly contributed to the field’s understanding of gating by providing a series of structural snapshots showing the gating cycle of KcsA by using traditional x-ray crystallography and a set of cleverly cross-linked constitutively open-channel mutants that capture KcsA in the closed inactivated state and an open-conductive and a deep C-type inactivated state 29 . These roughly 2-Å structures of KcsA provide unprecedented insight into how the selectivity filter backbone changes as a channel progresses through its gating cycle 29 . Advances in understanding cation channel physiology and pathophysiology As mentioned in the Introduction, cation channels are best known for their control of membrane potential 1 and were traditionally classified into voltage-gated 3 and ligand-gated 4 . However, research in the past decade has started to shed light on the physiological role of channels gated by other mechanisms such as mechanical force 30 – 32 , and we recently have learned about the important roles of Piezo channels in blood pressure regulation and breathing. Furthermore, the field is gaining more and more insights in the role of “silent” channel subunits and cation channels in mitochondria. Mechanotransduction is a crucial physiological process that is evolutionarily conserved across many species of vertebrate and invertebrate animals down to plants and single-cell protozoans. Despite their long-recognized role in the conversion of mechanical stimuli into biological signals that drive many physiological processes, including itch and pain sensation in vertebrate mammals 33 , 34 , root formation in plants 35 , and direction changes in ciliates 36 , it was not until 2010 that the first mechanosensitive cation channels, Piezo1 and Piezo2, were identified 37 . Since their discovery, the Piezos have not only provided us with fascinating channel structures and channel-gating mechanisms 23 , 24 but also helped advance our understanding of many physiological processes. Blood pressure regulation is one such process in which mechanosensitive channels are important. Physical activities such as exercise require increased delivery of oxygen-rich blood to the body as oxygen consumption is increased. Vasoconstriction can elevate blood pressure to maximize blood distribution, but it is not clear how changes in blood flow elicit this vascular response. Using a conditional gene knockout (KO) model of Piezo1 38 , which is abundantly expressed in the vascular endothelium, Rode et al . identified this mechanosensitive channel as the missing link between blood flow and vasoconstriction 38 . Flow-associated mechanical force changes activate Piezo1 to depolarize the endothelium and the adjacent vascular smooth muscle cells, leading to vasoconstriction induced by the calcium increase via voltage-gated Ca 2+ channels 38 . Atherosclerosis is a risk factor in stroke and myocardial infarction and occurs selectively in regions where blood flow in the arterial system is disturbed. Interestingly, Piezo1 is also involved in enabling endothelial cells to distinguish different flow patterns 39 . Both laminar and disturbed flow activate a common regulatory cascade consisting of the mechanosensitive Piezo1 channel, the purinergic P2Y7 receptor, and the Gq/G11-mediated signaling pathway. It turns out, however, that only disturbed flow results in Piezo1- and Gq/G11-mediated integrin activation. Subsequently, the resulting downstream activation of the nuclear factor-kappa B (NF-κB) transcription factor is a key factor underlying the flow-specific regulation of endothelial inflammation in vascular disorders such as atherosclerosis 39 . Mechanotransduction also plays a crucial role in the respiratory system, in which dysfunction can cause perinatal mortality and adult sleep apnea. Piezo2 is expressed in airway sensory neurons and recently was revealed to be the main sensor behind the transduction of stretch signals associated with breathing. Nonomura et al. demonstrated that gene silencing of the Piezo2 channel, both globally and conditionally in airway sensory neurons, led to respiratory distress and mortality 40 . Conversely, opto-activation of Piezo2 in vagal neurons causes apnea in adult mice, suggesting that Piezo2 is the stretch sensor responsible for mechanotransduction within various airway-innervating sensory neurons 40 . Ion channel research is often assumed to be synonymous with patch-clamp electrophysiology because much of our understanding of ion channels comes from studies measuring current flowing through channels. Thus, non-conducting or “silent” channel subunits are often ignored. In most cases, silent channels share high structural and sequence homology with their canonical ion-conducting partners and, when interacting within a macromolecular complex, can fine-tune the biophysical gating properties of their binding partners. The K V 8.2 channel is one such non-conducting channel that has recently been shown to be not so “silent”. Human carriers of K V 8.2 mutations suffer severe visual impairment, and the underlying channelopathology was unmasked to involve altered interactions between K V 8.2 and the K V 2.1 channel that regulates the excitability of rods and cones 41 . The ion channel field has also recently been looking deep below the plasma membrane where cation channels are increasingly being recognized for their importance in intracellular organelles. One such intracellular location, where ion channels are functionally relevant, is the metabolic powerhouse of the cell, the mitochondria. It was of course known for a long time that mitochondrial K + (mitoK) channels exist and can exert cardioprotective functions, even though their exact molecular identity was unclear. K Na 1.2 (Slick, Slo2.1) is one of the mitoK channels that had been linked to a cardioprotective role but its expression in mitochondria had never been functionally confirmed by electrophysiology. Through single-channel patch clamp on mitoplasts prepared from cardiomyocytes, Smith et al . identified six channels with biophysical and pharmacological properties matching the biophysical characteristic of K Na 1.2 in wild-type (WT) but not in K Na 1.2-KO mice 42 . The authors further demonstrated that the K Na opener bithionol uncoupled respiration in WT but not KO cardiomyocytes and that KO mice had elevated body fat and that their hearts were less responsive to increases in energy demand, thus confirming a role of K Na 1.2 in the regulation of energy consumption and fat metabolism 42 . Last, but certainly not least, the cation field recently was afforded an atomic-level view into the pathogenic mechanisms of periodic paralysis, a channelopathy with episodes of flaccid muscle weakness, which is caused by point mutations in the S4 segment of the voltage sensor domain of either the voltage-gated sodium channel Na V 1.4 or the voltage-gated calcium channel Ca V 1.1. These mutations, which affect the arginine residues (R1, R2, or R3) in S4 that act as gating charges, create a “leaky” voltage sensor through which cations can permeate. By introducing these mutations into the bacterial Na V Ab channel and solving its structure at 2.7-Å resolution by x-ray crystallography, the Catterall laboratory 43 visualized the pathway for this cation leak and identified a possible binding site for the design of drugs to possibly treat hypokalemic and normokalemic periodic paralysis. Conclusions With the recent advances in cryo-EM techniques, the cation channel field has gained a new understanding of ion channel structure–function relationships with never-seen-before molecular details during the last two years. Although it has often been pointed out that the conditions under which cryo-EM is performed are very unphysiological, we believe that the field is getting closer to understanding the full gating cycle of both voltage- and ligand-gated channels at the atomistic level as they progress from the resting to the open and the inactivated state. Of course, ion channel function is inherently dynamic, and a complete understanding of the mechanisms of gating 44 and permeation and selectivity 45 as well as the visualization of ion flow at the atomistic level 44 will only be possible with the aid of molecular dynamics (MD) simulations. Whether these structures will truly enable structure-based drug design and accelerate ion channel drug discovery is a different question in our opinion. Drug development has many aspects: first and foremost, target validation, which is why it is crucial to gain what is often termed “deep” understanding of the biology of ion channels. As the last two years have again demonstrated, we are still learning new biology, as revealed by the unexpected role of the Piezo channels in blood pressure regulation and breathing or the importance of mitochondrial K Na 1.2 channels in energy consumption and fat metabolism. Grant information BMB was supported by the National Center for Advancing Translational Sciences (UL1 TR001860 and linked award TL1 TR001861). HMN and HW were supported by R01NS100294 from the National Institute for Neurological Disorders and Stroke. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. F1000 recommended References 1. Hille B: Ion channels of excitable membranes. Sunderland, MA: Sinauer Associates; 2001. Reference Source 2. Alexander SP, Kelly E, Marrion NV, et al. : THE CONCISE GUIDE TO PHARMACOLOGY 2017/18: Overview. Br J Pharmacol. 2017; 174 (Suppl 1): S1–S16. PubMed Abstract | Publisher Full Text | Free Full Text 3. Alexander SP, Striessnig J, Kelly E, et al. : THE CONCISE GUIDE TO PHARMACOLOGY 2017/18: Voltage-gated ion channels. Br J Pharmacol. 2017; 174 (Suppl 1): S160–S194. PubMed Abstract | Publisher Full Text | Free Full Text 4. Alexander SP, Peters JA, Kelly E, et al. : THE CONCISE GUIDE TO PHARMACOLOGY 2017/18: Ligand-gated ion channels. Br J Pharmacol. 2017; 174 (Suppl 1): S130–S159. PubMed Abstract | Publisher Full Text | Free Full Text 5. Alexander SP, Kelly E, Marrion NV, et al. : THE CONCISE GUIDE TO PHARMACOLOGY 2017/18: Other ion channels. Br J Pharmacol. 2017; 174 (Suppl 1): S195–S207. PubMed Abstract | Publisher Full Text | Free Full Text 6. Earl LA, Falconieri V, Milne JL, et al. : Cryo-EM: beyond the microscope. Curr Opin Struct Biol. 2017; 46 : 71–8. PubMed Abstract | Publisher Full Text | Free Full Text 7. Doyle DA, Morais Cabral J, Pfuetzner RA, et al. : The structure of the potassium channel: molecular basis of K + conduction and selectivity. Science. 1998; 280 (5360): 69–77. PubMed Abstract | Publisher Full Text 8. Whicher JR, Mackinnon R: Structure of the voltage-gated K + channel Eag1 reveals an alternative voltage sensing mechanism. Science. 2016; 353 (6300): 664–9. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 9. Wang W, Mackinnon R: Cryo-EM Structure of the Open Human Ether-à-go-go -Related K + Channel hERG. Cell. 2017; 169 (3): 422–430.e10. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 10. Sun J, Mackinnon R: Cryo-EM Structure of a KCNQ1/CaM Complex Reveals Insights into Congenital Long QT Syndrome. Cell. 2017; 169 (6): 1042–1050.e9. PubMed Abstract | Publisher Full Text | Free Full Text 11. Lee CH, Mackinnon R: Structures of the Human HCN1 Hyperpolarization-Activated Channel. Cell. 2017; 168 (1–2): 111–120.e11. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 12. Hite RK, Mackinnon R: Structural Titration of Slo2.2, a Na + -Dependent K + Channel. Cell. 2017; 168 (3): 390–399.e11. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 13. Lee KPK, Chen J, Mackinnon R: Molecular structure of human K ATP in complex with ATP and ADP. eLife. 2017; 6 : pii: e32481. PubMed Abstract | Publisher Full Text | Free Full Text 14. Tao X, Hite RK, Mackinnon R: Cryo-EM structure of the open high-conductance Ca 2+ -activated K + channel. Nature. 2017; 541 (7635): 46–51. PubMed Abstract | Publisher Full Text | Free Full Text 15. Hite RK, Tao X, Mackinnon R: Structural basis for gating the high-conductance Ca 2+ -activated K + channel. Nature. 2017; 541 (7635): 52–7. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 16. Lee CH, Mackinnon R: Activation mechanism of a human SK-calmodulin channel complex elucidated by cryo-EM structures. Science. 2018; 360 (6388): 508–13. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 17. Schumacher MA, Rivard AF, Bächinger HP, et al. : Structure of the gating domain of a Ca 2+ -activated K + channel complexed with Ca 2+ /calmodulin. Nature. 2001; 410 (6832): 1120–4. PubMed Abstract | Publisher Full Text 18. Hite RK, Yuan P, Li Z, et al. : Cryo-electron microscopy structure of the Slo2.2 Na + -activated K + channel. Nature. 2015; 527 (7577): 198–203. PubMed Abstract | Publisher Full Text | Free Full Text 19. Singh AK, McGoldrick LL, Sobolevsky AI: Structure and gating mechanism of the transient receptor potential channel TRPV3. Nat Struct Mol Biol. 2018; 25 (9): 805–13. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 20. Yin Y, Wu M, Zubcevic L, et al. : Structure of the cold- and menthol-sensing ion channel TRPM8. Science. 2018; 359 (6372): 237–41. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 21. Sierra-Valdez F, Azumaya CM, Romero LO, et al. : Structure-function analyses of the ion channel TRPC3 reveal that its cytoplasmic domain allosterically modulates channel gating. J Biol Chem. 2018; 293 (41): 16102–14. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 22. Su Q, Hu F, Ge X, et al. : Structure of the human PKD1-PKD2 complex. Science. 2018; 361 (6406): pii: eaat9819. PubMed Abstract | Publisher Full Text | F1000 Recommendation 23. Ge J, Li W, Zhao Q, et al. : Architecture of the mammalian mechanosensitive Piezo1 channel. Nature. 2015; 527 (7576): 64–9. PubMed Abstract | Publisher Full Text 24. Zhao Q, Zhou H, Chi S, et al. : Structure and mechanogating mechanism of the Piezo1 channel. Nature. 2018; 554 (7693): 487–92. PubMed Abstract | Publisher Full Text | F1000 Recommendation 25. Noreng S, Bharadwaj A, Posert R, et al. : Structure of the human epithelial sodium channel by cryo-electron microscopy. eLife. 2018; 7 : pii: e39340. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 26. Pan X, Li Z, Zhou Q, et al. : Structure of the human voltage-gated sodium channel Na v 1.4 in complex with β1. Science. 2018; 362 (6412): pii: eaau2486. PubMed Abstract | Publisher Full Text 27. Shen H, Li Z, Jiang Y, et al. : Structural basis for the modulation of voltage-gated sodium channels by animal toxins. Science. 2018; 362 (6412): pii: eaau2596. PubMed Abstract | Publisher Full Text | F1000 Recommendation 28. She J, Guo J, Chen Q, et al. : Structural insights into the voltage and phospholipid activation of the mammalian TPC1 channel. Nature. 2018; 556 (7699): 130–4. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 29. Cuello LG, Cortes DM, Perozo E: The gating cycle of a K + channel at atomic resolution. eLife. 2017; 6 : pii: e28032. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 30. Honoré E, Martins JR, Penton D, et al. : The Piezo Mechanosensitive Ion Channels: May the Force Be with You! Rev Physiol Biochem Pharmacol. 2015; 169 : 25–41. PubMed Abstract | Publisher Full Text 31. Ranade SS, Syeda R, Patapoutian A: Mechanically Activated Ion Channels. Neuron. 2015; 87 (6): 1162–79. PubMed Abstract | Publisher Full Text | Free Full Text 32. Zhao Q, Wu K, Geng J, et al. : Ion Permeation and Mechanotransduction Mechanisms of Mechanosensitive Piezo Channels. Neuron. 2016; 89 (6): 1248–63. PubMed Abstract | Publisher Full Text 33. Chalfie M: Neurosensory mechanotransduction. Nat Rev Mol Cell Biol. 2009; 10 (1): 44–52. PubMed Abstract | Publisher Full Text 34. Hamill OP, Martinac B: Molecular basis of mechanotransduction in living cells. Physiol Rev. 2001; 81 (2): 685–740. PubMed Abstract | Publisher Full Text 35. Monshausen GB, Gilroy S: Feeling green: mechanosensing in plants. Trends Cell Biol. 2009; 19 (5): 228–35. PubMed Abstract | Publisher Full Text 36. Iwatsuki K, Hirano T: Induction of the thigmotaxis in Paramecium caudatum . Comp Biochem Physiol A Physiol. 1995; 110 (2): 167–70. PubMed Abstract | Publisher Full Text 37. Coste B, Mathur J, Schmidt M, et al. : Piezo1 and Piezo2 are essential components of distinct mechanically activated cation channels. Science. 2010; 330 (6000): 55–60. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 38. Rode B, Shi J, Endesh N, et al. : Piezo1 channels sense whole body physical activity to reset cardiovascular homeostasis and enhance performance. Nat Commun. 2017; 8 (1): 350. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 39. Albarrán-Juárez J, Iring A, Wang S, et al. : Piezo1 and G q /G 11 promote endothelial inflammation depending on flow pattern and integrin activation. J Exp Med. 2018; 215 (10): 2655–2672. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 40. Nonomura K, Woo S-H, Chang RB, et al. : Piezo2 senses airway stretch and mediates lung inflation-induced apnoea. Nature. 2017; 541 (7636): 176–181. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 41. Gayet-Primo J, Yaeger DB, Khanjian RA, et al. : Heteromeric K V 2/K V 8.2 Channels Mediate Delayed Rectifier Potassium Currents in Primate Photoreceptors. J Neurosci. 2018; 38 (14): 3414–3427. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 42. Smith CO, Wang YT, Nadtochiy SM, et al. : Cardiac metabolic effects of K Na 1.2 channel deletion and evidence for its mitochondrial localization. FASEB J. 2018; fj201800139R. PubMed Abstract | Publisher Full Text | Free Full Text | F1000 Recommendation 43. Jiang D, Gamal El-Din TM, Ing C, et al. : Structural basis for gating pore current in periodic paralysis. Nature. 2018; 557 (7706): 590–594. PubMed Abstract | Publisher Full Text | F1000 Recommendation 44. Jensen MØ, Jogini V, Borhani DW, et al. : Mechanism of voltage gating in potassium channels. Science. 2012; 336 (6078): 229–33. PubMed Abstract | Publisher Full Text 45. Noskov SY, Bernèche S, Roux B: Control of ion selectivity in potassium channels by electrostatic and dynamic properties of carbonyl ligands. Nature. 2004; 431 (7010): 830–4. PubMed Abstract | Publisher Full Text | F1000 Recommendation Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 30 Jan 2019 ADD YOUR COMMENT Comment Author details Author details 1 Department of Pharmacology, School of Medicine, University of California, Davis, Davis, USA Brandon M. Brown Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing Hai M. Nguyen Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing Heike Wulff Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information BMB was supported by the National Center for Advancing Translational Sciences (UL1 TR001860 and linked award TL1 TR001861). HMN and HW were supported by R01NS100294 from the National Institute for Neurological Disorders and Stroke. 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: 30 Jan 2019, 8:123 https://doi.org/10.12688/f1000research.17163.1 Copyright © 2019 Brown BM et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Brown BM, Nguyen HM and Wulff H. Recent advances in our understanding of the structure and function of more unusual cation channels [version 1; peer review: 2 approved] . F1000Research 2019, 8 (F1000 Faculty Rev):123 ( https://doi.org/10.12688/f1000research.17163.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: 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 Editorial Note on the Review Process Faculty Reviews are review articles written by the prestigious Members of Faculty Opinions . The articles are commissioned and peer reviewed before publication to ensure that the final, published version is comprehensive and accessible. The reviewers who approved the final version are listed with their names and affiliations. Reviewers who approved this article Benoît Roux , Department of Biochemistry and Molecular Biology, University of Chicago, USA Competing interests: No competing interests were declared. (for version 1) Nieng Yan , Department of Molecular Biology, Princeton University, USA Competing interests: No competing interests were declared. (for version 1) Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 30 Jan 2019 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 2 Version 1 30 Jan 19 Faculty Reviews are review articles written by the prestigious Members of Faculty Opinions . The articles are commissioned and peer reviewed before publication to ensure that the final, published version is comprehensive and accessible. The reviewers who approved the final version are listed with their names and affiliations. Benoît Roux , Department of Biochemistry and Molecular Biology, University of Chicago, USA Competing interests: No competing interests were declared. View more View less Nieng Yan , Department of Molecular Biology, Princeton University, USA Competing interests: No competing interests were declared. View more View less Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Recent advances in our understanding of the...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/8-123/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/8-123/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/8-123/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Brown BM et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/8-123/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/8-123", templates : { twitter : "Recent advances in our understanding of the structure and function.... Brown BM et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/8-123/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/17163/18763") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("faculty-reviews", "article", "18763"); $(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 = { "43480": 0, "43481": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "9a490551-c6e2-4f02-a42b-a209199112df"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "
[email protected]", infoEmail: "
[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.