1&&\"string\"==typeof v&&!d.checkClone&&De.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)}));if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,\"script\"),Le)).length;f0&&ye(a,!u&&ve(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Me(this,e,!0)},remove:function(e){return Me(this,e)},text:function(e){return B(this,(function(e){return void 0===e?b.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Re(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)}))},prepend:function(){return Re(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return b.clone(this,e,t)}))},html:function(e){return B(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n3,ne.removeChild(t)),s}}))}();var ze=[\"Webkit\",\"Moz\",\"ms\"],Ue=v.createElement(\"div\").style,Xe={};function Ve(e){var t=b.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=ze.length;n--;)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Qe={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Je={letterSpacing:\"0\",fontWeight:\"400\"};function Ke(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ze(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=b.css(e,n+te[a],!0,i)),r?(\"content\"===n&&(u-=b.css(e,\"padding\"+te[a],!0,i)),\"margin\"!==n&&(u-=b.css(e,\"border\"+te[a]+\"Width\",!0,i))):(u+=b.css(e,\"padding\"+te[a],!0,i),\"padding\"!==n?u+=b.css(e,\"border\"+te[a]+\"Width\",!0,i):s+=b.css(e,\"border\"+te[a]+\"Width\",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=We(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===b.css(e,\"boxSizing\",!1,r),o=i,a=$e(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===b.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===b.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=$e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Ye.test(t),l=e.style;if(u||(t=Ve(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?\"\":\"px\")),d.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Ye.test(t)||(t=Ve(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=$e(e,t,r)),\"normal\"===i&&t in Je&&(i=Je[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each([\"height\",\"width\"],(function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(b.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):Fe(e,Qe,(function(){return et(e,t,r)}))},set:function(e,n,r){var i,o=We(e),a=!d.scrollboxSize()&&\"absolute\"===o.position,s=(a||r)&&\"border-box\"===b.css(e,\"boxSizing\",!1,o),u=r?Ze(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,\"border\",!1,o)-.5)),u&&(i=ee.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=b.css(e,t)),Ke(0,n,u)}}})),b.cssHooks.marginLeft=_e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat($e(e,\"marginLeft\"))||e.getBoundingClientRect().left-Fe(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+\"px\"})),b.each({margin:\"\",padding:\"\",border:\"Width\"},(function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(b.cssHooks[e+t].set=Ke)})),b.fn.extend({css:function(e,t){return B(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),b.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?\"\":\"px\")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},b.fx=tt.prototype.init,b.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,b.fx.interval),b.fx.tick())}function st(){return e.setTimeout((function(){nt=void 0})),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=te[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners[\"*\"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){b.removeAttr(this,e)}))}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&\"radio\"===t&&k(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\\w+/g),(function(e,t){var n=pt[t]||b.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}}));var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function gt(e){return(e.match(O)||[]).join(\" \")}function vt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function yt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[b.propFix[e]||e]}))}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,\"tabindex\");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],(function(){b.propFix[this.toLowerCase()]=this})),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).addClass(e.call(this,t,vt(this)))}));if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).removeClass(e.call(this,t,vt(this)))}));if(!arguments.length)return this.attr(\"class\",\"\");if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){b(this).toggleClass(e.call(this,n,vt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=yt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=vt(this))&&G.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":G.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+gt(vt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var mt=/\\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=b.map(i,(function(e){return null==e?\"\":e+\"\"}))),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))}))):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(mt,\"\"):null==n?\"\":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,\"value\");return null!=t?t:gt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each([\"radio\",\"checkbox\"],(function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})})),d.focusin=\"onfocusin\"in e;var xt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,\"type\")?t.type:t,x=c.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!xt.test(m+b.event.triggered)&&(m.indexOf(\".\")>-1&&(x=m.split(\".\"),m=x.shift(),x.sort()),l=m.indexOf(\":\")<0&&\"on\"+m,(t=t[b.expando]?t:new b.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+x.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,xt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,\"events\")||Object.create(null))[t.type]&&G.get(a,\"handle\"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,bt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,bt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each((function(){b.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:\"focusin\",blur:\"focusout\"},(function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var wt=e.location,Tt={guid:Date.now()},Ct=/\\?/;b.parseXML=function(t){var n;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){n=void 0}return n&&!n.getElementsByTagName(\"parsererror\").length||b.error(\"Invalid XML: \"+t),n};var Et=/\\[\\]$/,St=/\\r?\\n/g,kt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,n,r){var i;if(Array.isArray(t))b.each(t,(function(t,i){n||Et.test(e)?r(e,i):Nt(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)Nt(e+\"[\"+i+\"]\",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,(function(){i(this.name,this.value)}));else for(n in e)Nt(n,e[n],t,i);return r.join(\"&\")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=b.prop(this,\"elements\");return e?b.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!b(this).is(\":disabled\")&&At.test(this.nodeName)&&!kt.test(e)&&(this.checked||!pe.test(e))})).map((function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,(function(e){return{name:t.name,value:e.replace(St,\"\\r\\n\")}})):{name:t.name,value:n.replace(St,\"\\r\\n\")}})).get()}});var Dt=/%20/g,jt=/#.*$/,qt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ht=/^(?:GET|HEAD)$/,Ot=/^\\/\\//,Pt={},Rt={},Mt=\"*/\".concat(\"*\"),It=v.createElement(\"a\");function Wt(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,b.each(e[s]||[],(function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i[\"*\"]&&a(\"*\")}function Bt(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}It.href=wt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Mt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,b.ajaxSettings),t):Bt(b.ajaxSettings,e)},ajaxPrefilter:Wt(Pt),ajaxTransport:Wt(Rt),ajax:function(t,n){\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks(\"once memory\"),x=d.statusCode||{},w={},T={},C=\"canceled\",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+\" \"]=(a[t[1].toLowerCase()+\" \"]||[]).concat(t[2]);t=a[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||wt.href)+\"\").replace(Ot,wt.protocol+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||\"*\").toLowerCase().match(O)||[\"\"],null==d.crossDomain){u=v.createElement(\"a\");try{u.href=d.url,u.href=u.href,d.crossDomain=It.protocol+\"//\"+It.host!=u.protocol+\"//\"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Ft(Pt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Ht.test(d.type),i=d.url.replace(jt,\"\"),d.hasContent?d.data&&d.processData&&0===(d.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(d.data=d.data.replace(Dt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(Ct.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(qt,\"$1\"),p=(Ct.test(i)?\"&\":\"?\")+\"_=\"+Tt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader(\"If-Modified-Since\",b.lastModified[i]),b.etag[i]&&E.setRequestHeader(\"If-None-Match\",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader(\"Content-Type\",d.contentType),E.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Mt+\"; q=0.01\":\"\"):d.accepts[\"*\"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C=\"abort\",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Ft(Rt,d,n,E)){if(E.readyState=1,c&&g.trigger(\"ajaxSend\",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,\"No Transport\");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray(\"script\",d.dataTypes)>-1&&(d.converters[\"text script\"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader(\"Last-Modified\"))&&(b.lastModified[i]=T),(T=E.getResponseHeader(\"etag\"))&&(b.etag[i]=T)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger(\"ajaxComplete\",[E,d]),--b.active||b.event.trigger(\"ajaxStop\")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,\"json\")},getScript:function(e,t){return b.get(e,void 0,t,\"script\")}}),b.each([\"get\",\"post\"],(function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}})),b.ajaxPrefilter((function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")})),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){b(this).wrapInner(e.call(this,t))})):this.each((function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){b(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not(\"body\").each((function(){b(this).replaceWith(this.childNodes)})),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},_t=b.ajaxSettings.xhr();d.cors=!!_t&&\"withCredentials\"in _t,d.ajax=_t=!!_t,b.ajaxTransport((function(t){var n,r;if(d.cors||_t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,\"abort\"===e?s.abort():\"error\"===e?\"number\"!=typeof s.status?o(0,\"error\"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,\"text\"!==(s.responseType||\"text\")||\"string\"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n(\"error\"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n(\"abort\");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),b.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),b.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter(\"script\",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")})),b.ajaxTransport(\"script\",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b(\""
],
"text/plain": [
":Scatter [Droplet Diameter (um)] (Spindle Length (um))"
]
},
"execution_count": 2,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1002"
}
},
"output_type": "execute_result"
}
],
"source": [
"hv.extension(\"bokeh\")\n",
"\n",
"df = pd.read_csv(os.path.join(data_path, 'good_invitro_droplet_data.csv'), comment='#')\n",
"\n",
"hv.Scatter(\n",
" data=df,\n",
" kdims=['Droplet Diameter (um)'],\n",
" vdims=['Spindle Length (um)']\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We now propose two models for how the droplet diameter affects the spindle length.\n",
"\n",
"1. The spindles have an inherent length, independent of droplet diameter.\n",
"2. The length of spindles is determined by the total amount of tubulin available to make them."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Model 1: Spindle size is independent of droplet size\n",
"\n",
"As a first model, we propose that the size of a mitotic spindle is inherent to the spindle itself. This means that the size of the spindle is independent of the size of the droplet or cell in which it resides. This would be the case, for example, if construction of the spindle involves length-sensing molecules, such as depolymerizing motor proteins. We define that set length as $\\phi$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### The statistical model\n",
"\n",
"Not all spindles will be measured to be exactly $\\phi$ µm in length. Rather, there may be some variation about $\\phi$ due to natural variation and measurement error. So, we would expect measured length of spindle _i_ to be\n",
"\n",
"\\begin{align}\n",
"l_i = \\phi + e_i,\n",
"\\end{align}\n",
"\n",
"where $e_i$ is the noise component of the $i$the datum.\n",
"\n",
"So, we have a theoretical model for spindle length, $l = \\phi$, and to get a fully generative model, we need to model the errors $e_i$. A reasonable model assumes\n",
"\n",
"1. Each measured spindle's length is independent of all others.\n",
"2. The variability in measured spindle length is Normally distributed.\n",
"\n",
"With these assumptions, we can write the probability density function for $l_i$ as\n",
"\n",
"\\begin{align}\n",
"f(l_i ; \\phi, \\sigma) = \\frac{1}{\\sqrt{2\\pi \\sigma^2}}\\,\\exp\\left[-\\frac{(l_i - \\phi)^2}{2\\sigma^2}\\right].\n",
"\\end{align}\n",
"\n",
"Since each measurement is independent, we can write the joint probability density function of the entire data set, which we will define as $\\mathbf{l} = \\{l_1, l_2,\\ldots\\}$, consisting of $n$ total measurements.\n",
"\n",
"\\begin{align}\n",
"f(\\mathbf{l} ; \\phi, \\sigma) = \\prod_{i} f(l_i ; \\phi, \\sigma) = \\frac{1}{(2\\pi \\sigma^2)^{n/2}}\\,\\exp\\left[-\\frac{1}{2\\sigma^2}\\sum_{i}(l_i - \\phi)^2\\right].\n",
"\\end{align}\n",
"\n",
"We can write this more succinctly, and perhaps more intuitively, as\n",
"\n",
"\\begin{align}\n",
"l_i \\sim \\text{Norm}(\\phi, \\sigma) \\;\\;\\forall i.\n",
"\\end{align}\n",
"\n",
"We will generally write our models in this format, which is easier to parse and understand. Note that in writing this generative model, we have necessarily introduced another parameter, $\\sigma$, the standard deviation parametrizing the Normal distribution. So, we have two parameters in our model, $\\phi$ and $\\sigma$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Model 2: Spindle length is set by total amount of tubulin\n",
"\n",
"#### The cartoon model\n",
"\n",
"The three key principles of this \"cartoon\" model are:\n",
"\n",
"1. The total amount of tubulin in the droplet or cell is conserved.\n",
"2. The total length of polymerized microtubules is a function of the total tubulin concentration after assembly of the spindle. This results from the balances of microtubule polymerization rate with catastrophe frequencies.\n",
"3. The density of tubulin in the spindle is independent of droplet or cell volume."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### The mathematical model\n",
"From these principles, we need to derive a mathematical model that will provide us with testable predictions. The derivation follows below (following the derivation presented in the paper), and you may read it if you are interested. Since our main focus here is building a statistical model, you can skip ahead to to the final equation, where we define a mathematical expression relating the spindle length, $l$ to the droplet diameter, $d$, which depends on two parameters, $\\gamma$ and $\\phi$. Nonetheless, it is important to see how a models such as this one is derived.\n",
"\n",
"Principle 1 above (conservation of tubulin) implies\n",
"\n",
"\\begin{align}\n",
"T_0 V_0 = T_1(V_0 - V_\\mathrm{s}) + T_\\mathrm{s}V_\\mathrm{s},\n",
"\\end{align}\n",
"\n",
"where $V_0$ is the volume of the droplet or cell, $V_\\mathrm{s}$ is the volume of the spindle, $T_0$ is the total tubulin concentration (polymerized or not), $T_1$ is the tubulin concentration in the cytoplasm after the the spindle has formed, and $T_\\mathrm{s}$ is the concentration of tubulin in the spindle. If we assume the spindle does not take up much of the total volume of the droplet or cell ($V_0 \\gg V_\\mathrm{s}$, which is the case as we will see when we look at the data), we have\n",
"\n",
"\\begin{align}\n",
"T_1 \\approx T_0 - \\frac{V_\\mathrm{s}}{V_0}\\,T_\\mathrm{s}.\n",
"\\end{align}\n",
"\n",
"The amount of tubulin in the spindle can we written in terms of the total length of polymerized microtubules, $L_\\mathrm{MT}$ as\n",
"\n",
"\\begin{align}\n",
"T_s V_\\mathrm{s} = \\alpha L_\\mathrm{MT},\n",
"\\end{align}\n",
"\n",
"where $\\alpha$ is the tubulin concentration per unit microtubule length. (We will see that it is unimportant, but from the known geometry of microtubules, $\\alpha \\approx 2.7$ nmol/µm.)\n",
"\n",
"We now formalize assumption 2 into a mathematical expression. Microtubule length should grow with increasing $T_1$. There should also be a minimal threshold $T_\\mathrm{min}$ where polymerization stops. We therefore approximate the total microtubule length as a linear function,\n",
"\n",
"\\begin{align}\n",
"L_\\mathrm{MT} \\approx \\left\\{\\begin{array}{ccl}\n",
"0 & &T_1 \\le T_\\mathrm{min} \\\\\n",
"\\beta(T_1 - T_\\mathrm{min}) & & T_1 > T_\\mathrm{min}.\n",
"\\end{array}\\right.\n",
"\\end{align}\n",
"\n",
"Because spindles form in *Xenopus* extract, $T_0 > T_\\mathrm{min}$, so there exists a $T_1$ with $T_\\mathrm{min} < T_1 < T_0$. Thus, going forward, we are assured that $T_1 > T_\\mathrm{min}$. So, we have\n",
"\n",
"\\begin{align}\n",
"V_\\mathrm{s} \\approx \\alpha\\beta\\,\\frac{T_1 - T_\\mathrm{min}}{T_\\mathrm{s}}.\n",
"\\end{align}\n",
"\n",
"With insertion of our expression for $T_1$, this becomes\n",
"\n",
"\\begin{align}\n",
"V_{\\mathrm{s}} \\approx \\alpha \\beta\\left(\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}} - \\frac{V_\\mathrm{s}}{V_0}\\right).\n",
"\\end{align}\n",
"\n",
"Solving for $V_\\mathrm{s}$, we have\n",
"\n",
"\\begin{align}\n",
"V_\\mathrm{s} \\approx \\frac{\\alpha\\beta}{1 + \\alpha\\beta/V_0}\\,\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}}\n",
"=\\frac{V_0}{1 + V_0/\\alpha\\beta}\\,\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}}.\n",
"\\end{align}\n",
"\n",
"We approximate the shape of the spindle as a prolate spheroid with major axis length $l$ and minor axis length $w$, giving\n",
"\n",
"\\begin{align}\n",
"V_\\mathrm{s} = \\frac{\\pi}{6}\\,l w^2 = \\frac{\\pi}{6}\\,k^2 l^3,\n",
"\\end{align}\n",
"\n",
"where $k \\equiv w/l$ is the aspect ratio of the spindle. We can now write an expression for the spindle length as\n",
"\n",
"\\begin{align}\n",
"l \\approx \\left(\\frac{6}{\\pi k^2}\\,\n",
"\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}}\\,\n",
"\\frac{V_0}{1+V_0/\\alpha\\beta}\\right)^{\\frac{1}{3}}.\n",
"\\end{align}\n",
"\n",
"For small droplets, with $V_0\\ll \\alpha \\beta$, this becomes\n",
"\n",
"\\begin{align}\n",
"l \\approx \\left(\\frac{6}{\\pi k^2}\\,\n",
"\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}}\\,\n",
"V_0\\right)^{\\frac{1}{3}}\n",
"= \\left(\\frac{T_0 - T_\\mathrm{min}}{k^2T_\\mathrm{s}}\\right)^{\\frac{1}{3}}\\,d,\n",
"\\end{align}\n",
"\n",
"where $d$ is the diameter of the spherical droplet or cell. So, we expect the spindle size to increase linearly with the droplet diameter for small droplets. \n",
"\n",
"For large $V_0$, the spindle size becomes independent of droplet size;\n",
"\n",
"\\begin{align}\n",
"l \\approx \\left(\\frac{6 \\alpha \\beta}{\\pi k^2}\\,\n",
"\\frac{T_0 - T_\\mathrm{min}}{T_\\mathrm{s}}\\right)^{\\frac{1}{3}}.\n",
"\\end{align}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Indentifiability of parameters\n",
"\n",
"We measure the microtubule length $l$ and droplet diameter $d$ directly from the images. We can also measure the spindle aspect ratio $k$ directly from the images. Thus, we have four unknown parameters, since we already know α ≈ 2.7 nmol/µm. The unknown parameters are:\n",
"\n",
"| parameter | meaning |\n",
"| :------: | :-----|\n",
"|$\\beta$ | rate constant for MT growth |\n",
"|$T_0$ | total tubulin concentration |\n",
"|$T_\\mathrm{min}$ | critical tubulin concentration for polymerization |\n",
"|$T_s$ | tubulin concentration in the spindle |\n",
"\n",
"We would like to determine all of these parameters. We could measure them all either in this experiment or in other experiments. We could measure the total tubulin concentration $T_0$ by doing spectroscopic or other quantitative methods on the *Xenopus* extract. We can $T_\\mathrm{min}$ and $T_s$ might be assessed by other in vitro assays, though these parameters may by strongly dependent on the conditions of the extract.\n",
"\n",
"Importantly, though, the parameters only appear in combinations with each other in our theoretical model. Specifically, we can define two parameters,\n",
"\n",
"\\begin{align}\n",
"\\gamma &= \\left(\\frac{T_0-T_\\mathrm{min}}{k^2T_\\mathrm{s}}\\right)^\\frac{1}{3} \\\\\n",
"\\phi &= \\gamma\\left(\\frac{6\\alpha\\beta}{\\pi}\\right)^{\\frac{1}{3}}.\n",
"\\end{align}\n",
"\n",
"We can then rewrite the general model expression in terms of these parameters as\n",
"\n",
"\\begin{align}\n",
"l(d) \\approx \\frac{\\gamma d}{\\left(1+(\\gamma d/\\phi)^3\\right)^{\\frac{1}{3}}}.\n",
"\\end{align}\n",
"\n",
"If we tried to determine all four parameters from this experiment only, we would be in trouble. This experiment alone cannot distinguish all of the parameters. Rather, we can only distinguish two combinations of them, which we have defined as $\\gamma$ and $\\phi$. This is an issue of **identifiability**. We may not be able to distinguish all parameters in a given model, and it is important to think carefully before the analysis about which ones we can identify. Even with our work so far, we are not quite done with characterizing identifiability."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Visualizing the mathematical model\n",
"\n",
"Let's take a quick look at the mathematical model so we can see how the curve looks. It's best to nondimensionalize the diameter by $\\phi$, giving\n",
"\n",
"\\begin{align}\n",
"\\frac{l(d)}{\\phi} \\approx \\frac{\\gamma d/\\phi}{\\left(1+(\\gamma d/\\phi)^3\\right)^{\\frac{1}{3}}}.\n",
"\\end{align}\n",
"\n",
"So, we will plot $l(/\\phi$ versus $d/\\phi$, which means we choose units of length to be $\\phi$."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.holoviews_exec.v0+json": "",
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n",
"
\n",
""
],
"text/plain": [
":Overlay\n",
" .Curve.Γ_equals_0_full_stop_03 :Curve [d/φ] (l/φ)\n",
" .Curve.Γ_equals_0_full_stop_1 :Curve [d/φ] (l/φ)\n",
" .Curve.Γ_equals_0_full_stop_3 :Curve [d/φ] (l/φ)\n",
" .Curve.Γ_equals_0_full_stop_7 :Curve [d/φ] (l/φ)\n",
" .Curve.Γ_equals_1_full_stop_0 :Curve [d/φ] (l/φ)"
]
},
"execution_count": 3,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1107"
}
},
"output_type": "execute_result"
}
],
"source": [
"hv.extension(\"bokeh\")\n",
"\n",
"def theor_spindle_length(gamma, d):\n",
" \"\"\"Compute spindle length using mathematical model\"\"\"\n",
" return gamma * d / np.cbrt(1 + (gamma * d)**3)\n",
"\n",
"d = np.linspace(0, 20, 200)\n",
"\n",
"def plot_theor(gamma):\n",
" return hv.Curve(\n",
" data=(d, theor_spindle_length(gamma, d)),\n",
" kdims=['d/φ'],\n",
" vdims=['l/φ'],\n",
" label=f'γ = {gamma}',\n",
" ).opts(\n",
" color=hv.Cycle(list(bokeh.palettes.Blues7[1:-1][::-1]))\n",
" )\n",
"\n",
"plots = [plot_theor(gamma) for gamma in [0.03, 0.1, 0.3, 0.7, 1.0]]\n",
"\n",
"hv.Overlay(plots)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The curve grows from zero to a plateau at $l = \\phi$, more rapidly for larger $\\gamma$. We can more carefully characterize the limiting behavior."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Limiting behavior\n",
"\n",
"For large droplets, with $d \\gg \\phi/\\gamma$, the spindle size becomes independent of $d$, with\n",
"\n",
"\\begin{align}\n",
"l \\approx \\phi.\n",
"\\end{align}\n",
"\n",
"Conversely, for $d \\ll \\phi/\\gamma$, the spindle length varies approximately linearly with diameter.\n",
"\n",
"\\begin{align}\n",
"l(d) \\approx \\gamma\\,d.\n",
"\\end{align}\n",
"\n",
"Note that the expression for the linear regime gives bounds for $\\gamma$. Obviously, $\\gamma > 0$, lest we get negative spindle lengths. Because $l \\le d$, lest the spindle not fit in the droplet, we also have $\\gamma \\le 1$. \n",
"\n",
"Importantly, if the experiment is done in the regime where $d$ is large (and we do not really know a priori how large that is since we do not know the parameters $\\phi$ and $\\gamma$), we cannot tell the difference between the two models, since they are equivalent in that regime. Further, if the experiment is in this regime the model is unidentifiable because we cannot resolve $\\gamma$.\n",
"\n",
"This sounds kind of dire, but this is actually a convenient fact. The second model is more complex, but it has the simpler model, model 1, as a limit. Thus, the two models are in fact commensurate with each other. Knowledge of how these limits work also enhances the experimental design. We should strive for small droplets. And perhaps most importantly, if we didn't consider the second model, we might automatically assume that droplet size has nothing to do with spindle length if we simply did the experiment in larger droplets."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Generative model\n",
"\n",
"We have a theoretical model relating the droplet diameter to the spindle length. Let us now build a generative model. For spindle, droplet pair _i_, we assume\n",
"\n",
"\\begin{align}\n",
"l_i = \\frac{\\gamma d_i}{\\left(1+(\\gamma d/\\phi)^3\\right)^{\\frac{1}{3}}} + e_i.\n",
"\\end{align}\n",
"\n",
"We will assume that $e_i$ is Normally distributed with variance $\\sigma^2$. This leads us to our statistical model.\n",
"\n",
"\\begin{align}\n",
"&\\mu_i = \\frac{\\gamma d_i}{\\left(1+(\\gamma d_i/\\phi)^3\\right)^{\\frac{1}{3}}}, \\\\[1em]\n",
"&l_i \\sim \\text{Norm}(\\mu_i, \\sigma) \\;\\forall i,\n",
"\\end{align}\n",
"\n",
"which is equivalently stated as\n",
"\n",
"\\begin{align}\n",
"l_i \\sim \\text{Norm}\\left(\\frac{\\gamma d_i}{\\left(1+(\\gamma d_i/\\phi)^3\\right)^{\\frac{1}{3}}}, \\sigma\\right) \\;\\forall i.\n",
"\\end{align}\n",
"\n",
"Importantly, note that this model builds upon our first model. Generally, when doing modeling, it is a good idea to build more complex models on your initial baseline model such that the models are related to each other by limiting behavior. This gives you a continuum of model and a sound basis for making comparisons among models.\n",
"\n",
"Note that we are assuming the droplet diameters are known. When we generate data sets for prior predictive checks, we will randomly generate them from about 20 µm to 200 µm, since this is the range achievable with the microfluidic device."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Checking model assumptions\n",
"\n",
"In deriving the mathematical model, we made a series of assumptions. It is generally a good idea to check to see if assumptions in the mathematical modeling are realized in the experiment. If they are not, you may need to relax the assumptions and have a potentially more complicated model (which may suffer from identifiability issues). This underscores the interconnection between modeling and experimental design. You can allow for modeling assumptions and identifiability if you design your experimental parameters to meet the assumptions (e.g., choosing the appropriate range of droplet sizes)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Is $V_\\mathrm{s} / V_0 \\ll 1$?\n",
"\n",
"Let's do a quick verification that the droplet volume is indeed much larger than the spindle volume. Remember, the spindle volume for a prolate spheroid of length $l$ and width $w$ is $V_\\mathrm{s} = \\pi l w^2 / 6$."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
" \n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"7bcb96ff-dcb3-497b-8c74-c36f32bd2355\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1487\"}],\"center\":[{\"id\":\"1490\"},{\"id\":\"1494\"},{\"id\":\"1524\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1491\"}],\"renderers\":[{\"id\":\"1513\"}],\"title\":{\"id\":\"1516\"},\"toolbar\":{\"id\":\"1502\"},\"x_range\":{\"id\":\"1479\"},\"x_scale\":{\"id\":\"1483\"},\"y_range\":{\"id\":\"1481\"},\"y_scale\":{\"id\":\"1485\"}},\"id\":\"1478\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1516\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1518\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1479\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1483\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1523\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1491\"},\"dimension\":1,\"ticker\":null},\"id\":\"1494\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1520\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"Vs/V0\",\"formatter\":{\"id\":\"1518\"},\"ticker\":{\"id\":\"1488\"}},\"id\":\"1487\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1492\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1496\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1487\"},\"ticker\":null},\"id\":\"1490\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1481\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1495\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1485\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1501\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"__ECDF\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[670]},\"__dummy_cat\":[\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],\"__label\":[\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[670]}},\"selected\":{\"id\":\"1523\"},\"selection_policy\":{\"id\":\"1522\"}},\"id\":\"1509\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1509\"}},\"id\":\"1514\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1499\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1488\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1495\"},{\"id\":\"1496\"},{\"id\":\"1497\"},{\"id\":\"1498\"},{\"id\":\"1499\"},{\"id\":\"1500\"}]},\"id\":\"1502\",\"type\":\"Toolbar\"},{\"attributes\":{\"items\":[{\"id\":\"1525\"}],\"visible\":false},\"id\":\"1524\",\"type\":\"Legend\"},{\"attributes\":{\"axis_label\":\"ECDF\",\"formatter\":{\"id\":\"1520\"},\"ticker\":{\"id\":\"1492\"}},\"id\":\"1491\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1509\"},\"glyph\":{\"id\":\"1511\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1512\"},\"selection_glyph\":null,\"view\":{\"id\":\"1514\"}},\"id\":\"1513\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"label\":{\"value\":\" \"},\"renderers\":[{\"id\":\"1513\"}]},\"id\":\"1525\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1512\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1501\"}},\"id\":\"1497\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1511\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1500\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1522\",\"type\":\"UnionRenderers\"}],\"root_ids\":[\"1478\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n",
" var render_items = [{\"docid\":\"7bcb96ff-dcb3-497b-8c74-c36f32bd2355\",\"root_ids\":[\"1478\"],\"roots\":{\"1478\":\"29bb5632-847a-4ec3-9521-d2c69b853982\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1478"
}
},
"output_type": "display_data"
}
],
"source": [
"# Compute spindle volume\n",
"spindle_volume = np.pi * df['Spindle Length (um)'] * df['Spindle Width (um)']**2 / 6\n",
"\n",
"# Compute the ratio V_s / V_0 (taking care of units)\n",
"vol_ratio = spindle_volume / df['Droplet Volume (uL)'] * 1e-9\n",
"\n",
"# Plot an ECDF of the results\n",
"bokeh.io.show(iqplot.ecdf(vol_ratio.values, x_axis_label='Vs/V0'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that for pretty much all spindles that were measured, $V_\\mathrm{s} / V_0$ is small, so this is a sound assumption."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Do all spindles have the same aspect ratio $k$?\n",
"\n",
"In setting up our model, we assumed that all spindles had the same aspect ratio. We can check this assumption because we have the data to do so available to us."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
" \n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"dbc8f5c9-559f-4e4b-8ae0-1a20414ab98b\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1589\"}],\"center\":[{\"id\":\"1592\"},{\"id\":\"1596\"},{\"id\":\"1626\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1593\"}],\"renderers\":[{\"id\":\"1615\"}],\"title\":{\"id\":\"1618\"},\"toolbar\":{\"id\":\"1604\"},\"x_range\":{\"id\":\"1581\"},\"x_scale\":{\"id\":\"1585\"},\"y_range\":{\"id\":\"1583\"},\"y_scale\":{\"id\":\"1587\"}},\"id\":\"1580\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1625\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1618\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1624\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1620\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\" \"},\"renderers\":[{\"id\":\"1615\"}]},\"id\":\"1627\",\"type\":\"LegendItem\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1597\"},{\"id\":\"1598\"},{\"id\":\"1599\"},{\"id\":\"1600\"},{\"id\":\"1601\"},{\"id\":\"1602\"}]},\"id\":\"1604\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1622\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1602\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1581\",\"type\":\"DataRange1d\"},{\"attributes\":{\"items\":[{\"id\":\"1627\"}],\"visible\":false},\"id\":\"1626\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1598\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1611\"},\"glyph\":{\"id\":\"1613\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1614\"},\"selection_glyph\":null,\"view\":{\"id\":\"1616\"}},\"id\":\"1615\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1585\",\"type\":\"LinearScale\"},{\"attributes\":{\"overlay\":{\"id\":\"1603\"}},\"id\":\"1599\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1587\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1600\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis_label\":\"k\",\"formatter\":{\"id\":\"1620\"},\"ticker\":{\"id\":\"1590\"}},\"id\":\"1589\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"ECDF\",\"formatter\":{\"id\":\"1622\"},\"ticker\":{\"id\":\"1594\"}},\"id\":\"1593\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1601\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1597\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1611\"}},\"id\":\"1616\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1583\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"1593\"},\"dimension\":1,\"ticker\":null},\"id\":\"1596\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"__ECDF\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[670]},\"__dummy_cat\":[\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],\"__label\":[\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[670]}},\"selected\":{\"id\":\"1625\"},\"selection_policy\":{\"id\":\"1624\"}},\"id\":\"1611\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1590\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1613\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1614\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1594\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1603\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1589\"},\"ticker\":null},\"id\":\"1592\",\"type\":\"Grid\"}],\"root_ids\":[\"1580\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n",
" var render_items = [{\"docid\":\"dbc8f5c9-559f-4e4b-8ae0-1a20414ab98b\",\"root_ids\":[\"1580\"],\"roots\":{\"1580\":\"d03c4e5a-6096-4f48-b888-61ead77451ac\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1580"
}
},
"output_type": "display_data"
}
],
"source": [
"# Compute the aspect ratio\n",
"k = df['Spindle Width (um)'] / df['Spindle Length (um)']\n",
"\n",
"# Plot ECDF\n",
"bokeh.io.show(iqplot.ecdf(k.values, x_axis_label='k'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The median aspect ratio is about 0.4, and we see spindle lengths about $\\pm 25\\%$ of that. This could be significant variation. We may wish to update the model to account for nonconstant $k$. Going forward, we will assume $k$ is constant, but you may wish to perform the analysis in this and subsequent lessons with nonconstant $k$ as an exercise.\n",
"\n",
"Importantly, these checks of the model highlight the importance of checking your assumptions against your data. Always a good idea!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Computing environment"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPython 3.8.5\n",
"IPython 7.19.0\n",
"\n",
"numpy 1.19.2\n",
"pandas 1.1.3\n",
"bokeh 2.2.3\n",
"holoviews 1.13.5\n",
"iqplot 0.1.6\n",
"bebi103 0.1.1\n",
"jupyterlab 2.2.6\n"
]
}
],
"source": [
"%load_ext watermark\n",
"%watermark -v -p numpy,pandas,bokeh,holoviews,iqplot,bebi103,jupyterlab"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}