@rcsb/rcsb-statistics 0.3.8 → 0.3.9-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="RCSB Protein Data Bank: A Resource for Studying Biological Macromolecules"/><title>RCSB Statistics</title><script defer="defer" src="/static/js/main.a8849d73.js"></script><link href="/static/css/main.861341d0.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript sto run this app.</noscript><div id="statsroot"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="RCSB Protein Data Bank: A Resource for Studying Biological Macromolecules"/><title>RCSB Statistics</title><script defer="defer" src="/static/js/main.092dba6d.js"></script><link href="/static/css/main.861341d0.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript sto run this app.</noscript><div id="statsroot"></div></body></html>
@@ -0,0 +1,47 @@
1
+ "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[630],{1630:(e,t,r)=>{r.r(t),r.d(t,{default:()=>f});var i=r(6540),a=r(4976),n=r(7581);const o=n.Ay.ul`
2
+ padding: 0;
3
+ max-height: 300px;
4
+ overflow-y: auto;
5
+ `,s=(0,n.Ay)(a.N_).attrs({className:"list-group-item"})`
6
+ padding: 7px 10px;
7
+ `,l=e=>{let{items:t}=e;return i.createElement(o,null,t.map(((e,t)=>i.createElement(s,{key:t,to:e.link},e.description_menu))))},d=(n.Ay.label`
8
+ display: block;
9
+ font-size: 1.2em;
10
+ margin-bottom: 0.5em;
11
+ `,n.Ay.input`
12
+ width: 300px;
13
+ padding: 0.5em;
14
+ font-size: 1em;
15
+ border-radius: 4px;
16
+ margin-bottom: 1em;
17
+ `),p=n.Ay.div`
18
+ display: flex;
19
+ justify-content: center;
20
+ margin-bottom: 1em;
21
+ `,c=n.Ay.div`
22
+ display: flex;
23
+ flex-wrap: wrap;
24
+ gap: 20px;
25
+ justify-content: flex-start;
26
+ padding: 10px;
27
+ `,m=n.Ay.div`
28
+ flex: 1 1 300px;
29
+ max-width: 350px;
30
+ min-height: 250px;
31
+ position: relative;
32
+ overflow: hidden;
33
+ box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
34
+ border-radius: 4px;
35
+ `,u=n.Ay.h3`
36
+ background-color: #325880;
37
+ color: #fff;
38
+ padding: 10px;
39
+ margin: 0;
40
+ font-weight: bold;
41
+ font-size: 1.1em;
42
+ border-bottom: 1px solid #ddd;
43
+ border-top-left-radius: 4px;
44
+ border-top-right-radius: 4px;
45
+ font-size: 16px;
46
+ font-weight: bold;
47
+ `;var x=r(637);const f=()=>{const[e,t]=(0,i.useState)(""),[r,a]=(0,i.useState)({});return(0,i.useEffect)((()=>{const t=x._1.filter((t=>(t.description_menu??"").toLowerCase().includes(e.toLowerCase()))).reduce(((e,t)=>{const r=t.category||"Uncategorized";return e[r]||(e[r]=[]),e[r].push(t),e}),{});a(t)}),[e]),i.createElement("article",null,i.createElement(p,null,i.createElement(d,{id:"statistics-filter",type:"text",placeholder:"Browse Statistics",value:e,onChange:e=>t(e.target.value)})),i.createElement(c,null,Object.entries(r).map((e=>{let[t,r]=e;return i.createElement(m,{key:t},i.createElement(u,null,t),i.createElement(l,{items:r}))}))))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[637],{637:(e,t,r)=>{r.d(t,{Tb:()=>b,_1:()=>g,jS:()=>y});var i=r(8422),o=r(8132),a=r(7231),n=r(3444);const l=e=>"cumulative"===e.config.chartType.dataView?a.Operator.LessOrEqual:a.Operator.Range,s=(e,t)=>"cumulative"===e.config.chartType.dataView?`${t}-12-31`:{from:`${t}-01-01`,to:`${t}-12-31`,include_lower:!0,include_upper:!0},p=(e,t)=>t.filter((e=>e.visible)).map((t=>({type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:e,operator:a.Operator.ExactMatch,value:t.label}}))),c=e=>{if(e.split("-"),e.includes("<"))return a.Operator.Less;if(e.includes(">="))return a.Operator.GreaterOrEqual;if(e.includes("-"))return a.Operator.Range;throw Error("Unsupported operator for a value: "+e)},d=e=>{const t=(e=e.replace(" ","")).split("-");if(2===t.length)return{from:parseFloat(t[0]),to:parseFloat(t[1]),include_lower:!0,include_upper:!1};{const e=t[0];if(e.includes("<"))return parseFloat(e.replace("<",""));if(e.includes(">="))return parseFloat(e.replace(">=",""))}},u={responsive:!0,maintainAspectRatio:!0,plugins:{title:{display:!0,font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!0,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!0,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{x:{type:"category",display:!0,stacked:!0,grid:{display:!0},ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:1e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},y=[{key:"overall-structures",description:"The number of PDB structures released over time. The x-axis represents the years, tracking progress from the first release to the present. Cumulative view shows the total number of released structures. Annual view shows the number of released structures per year",description_menu:"Growth by Overall Structures",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:1},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Overall Growth of Released Structures"},legend:{display:!1},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){const t=e.datasetIndex;return 0===t?`Total Number of Structures: ${e.raw}`:1===t?`Entries Available: ${e.raw}`:`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`}}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:70,minRotation:0,font:{size:11},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Released Structures",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"Growth Trends"},{key:"overall-small-molecules",description:'The number of chemical components (small molecules and peptide-like molecules) released over time. Small molecules (monomers, ligands) are described in <a href="https://www.wwpdb.org/data/ccd" target="_blank">Chemical Component Dictionary (CCD)</a> and peptide-like molecules are described in <a href="https://www.wwpdb.org/data/bird" target="_blank">Biologically Interesting molecule Reference Dictionary (BIRD)</a>. The x-axis represents the years, tracking progress from the first release to the present. Cumulative view shows the total number of released chemical components. Annual view shows the number of released chemical components per year',description_menu:"Growth by Overall Small Molecules",query:{firstDim:{name:`FACET/${o.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbChemCompInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:1},returnType:a.ReturnType.MolDefinition},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbChemCompInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}}]},return_type:a.ReturnType.MolDefinition}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth of Released Small Molecules"},legend:{display:!1},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){const t=e.datasetIndex;return 0===t?`Total Number of Small Molecules: ${e.raw}`:1===t?`Small Molecules Available: ${e.raw}`:`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`}}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Small Molecules",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"Growth Trends"},{key:"experimental-method",description:'The number of PDB structures released over time, categorized by the experimental methods used for their determination. Experimental methods such as <a href="https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/methods-for-determining-structure" target="_blank">X-ray crystallography, NMR spectroscopy, and 3D electron microscopy</a> are used to determine the location of each atom relative to each other in the molecule',description_menu:"Growth by Experimental Method",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:1},secondDim:{name:`FACET/${o.e.Exptl.Method.path}`,aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntryInfo.ExperimentalMethod.path,min_interval_population:1},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}},{type:a.Type.Group,logical_operator:a.LogicalOperator.Or,nodes:p(o.e.RcsbEntryInfo.ExperimentalMethod.path,e.currentInput)}]},return_type:a.ReturnType.Entry}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by Experimental Method"},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}}},scales:{x:{type:"category",display:!0,stacked:!0,grid:{display:!0},ticks:{autoSkip:!1,maxRotation:90,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"Growth Trends"},{key:"molecular-composition",description:"The number of PDB structures released over time, categorized by the type of biomolecules, such as proteins, nucleic acids (RNA, DNA), oligosaccharides (sugars) and their complexes",description_menu:"Growth by Molecular Composition",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:0},secondDim:{name:"Molecular Type",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntryInfo.SelectedPolymerEntityTypes.path},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}},{type:a.Type.Group,logical_operator:a.LogicalOperator.Or,nodes:p(o.e.RcsbEntryInfo.SelectedPolymerEntityTypes.path,e.currentInput)}]},return_type:a.ReturnType.Entry}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by Molecular Composition"},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"Growth Trends"},{key:"assembly-symmetry",description:"The number of biological assemblies released over time, categorized by their global symmetry types. Symmetry type refers to point group or helical symmetry of identical protein subunits. Asymmetric assembly is a monomer or a protein complex that is not symmetrical",description_menu:"Growth by Assembly Symmetry",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:0},secondDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbStructSymmetry.Kind.path,operator:a.Operator.ExactMatch,value:o.e.RcsbStructSymmetry.Kind.enum["Global Symmetry"]}},facets:[{name:"Symmetry Type",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbStructSymmetry.Type.path}]},returnType:a.ReturnType.Assembly},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}},{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbStructSymmetry.Kind.path,operator:a.Operator.ExactMatch,value:o.e.RcsbStructSymmetry.Kind.enum["Global Symmetry"]}},{type:a.Type.Group,logical_operator:a.LogicalOperator.Or,nodes:p(o.e.RcsbStructSymmetry.Type.path,e.currentInput)}]},return_type:a.ReturnType.Assembly}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by Assembly Symmetry"},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}}},scales:{...u.scales,y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{...u.scales?.y?.title,text:"Number of Assemblies"}}}},chartCategory:"growth",displayCategory:"Growth Trends"},{key:"unique-protein-domains",description:"The number of unique protein domains added by the structure classification resources (SCOP, SCOP2, ECOD, and CATH).",description_menu:"Growth by Unique Protein Domains",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:0},secondDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerInstanceAnnotation.Type.path,operator:a.Operator.In,value:[o.e.RcsbPolymerInstanceAnnotation.Type.enum.SCOP,o.e.RcsbPolymerInstanceAnnotation.Type.enum.SCOP2,o.e.RcsbPolymerInstanceAnnotation.Type.enum.ECOD,o.e.RcsbPolymerInstanceAnnotation.Type.enum.CATH]}},facets:[{name:"Domain Classification",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbPolymerInstanceAnnotation.Type.path,min_interval_population:1,facets:[{name:"Unique Domains Count",aggregation_type:a.AggregationType.Cardinality,attribute:o.e.RcsbPolymerInstanceAnnotation.AnnotationId.path}]}]},returnType:a.ReturnType.Entry},chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by Unique Protein Domains"},tooltip:{...u.plugins?.tooltip,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Unique Protein Domains",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"Biological Details"},{key:"unique-protein-sequences",description:"The diversity of protein sequences represented in PDB structures, categorized by distinct protein sequence clusters.",description_menu:"Growth by Unique Protein Sequences",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:0},secondDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerEntityGroupMembership.AggregationMethod.path,operator:a.Operator.ExactMatch,value:o.e.RcsbPolymerEntityGroupMembership.AggregationMethod.enum.sequence_identity}},facets:[{name:"Similarity Cutoff",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbPolymerEntityGroupMembership.SimilarityCutoff.path,min_interval_population:1,facets:[{name:"Unique Protein Sequences",aggregation_type:a.AggregationType.Cardinality,attribute:o.e.RcsbPolymerEntityGroupMembership.GroupId.path}]}]},returnType:a.ReturnType.Entry},chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by Unique Protein Sequences"},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},legend:{display:!1}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:1e5,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Unique Protein Sequences",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"growth"},{key:"unique-uniprot-entries",description:"The number of unique UniProtKB entries in PDB structures released over time.",description_menu:"Growth by UniProtKB Entries",query:{firstDim:{name:"Release Date",aggregation_type:a.AggregationType.DateHistogram,attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:a.Interval.Year,min_interval_population:0},secondDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerEntityGroupMembership.AggregationMethod.path,operator:a.Operator.ExactMatch,value:o.e.RcsbPolymerEntityGroupMembership.AggregationMethod.enum.matching_uniprot_accession}},facets:[{name:"Unique UniProtKB Entries",aggregation_type:a.AggregationType.Cardinality,attribute:o.e.RcsbPolymerEntityGroupMembership.GroupId.path}]},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbAccessionInfo.InitialReleaseDate.path,operator:l(e),value:s(e,t)}}]},request_options:{group_by:{aggregation_method:"matching_uniprot_accession",ranking_criteria_type:{sort_by:o.e.RcsbEntryInfo.ResolutionCombined.path,direction:a.SortDirection.Asc}},group_by_return_type:"groups"},return_type:a.ReturnType.PolymerEntity}),chartOptions:{...u,plugins:{...u.plugins,title:{...u.plugins?.title,text:"Growth by UniProtKB Entries with Known 3D Structure"},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},legend:{display:!1}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Year",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"UniProtKB Entries with Known 3D Structure",font:{size:14,weight:"normal"},color:"#333"}}}},chartCategory:"growth",displayCategory:"growth"},{key:"distribution-resolution",description:"Distribution by structure resolution. Data shown include structures solved by X-ray crystallography or electron microscopy.",description_menu:"Distribution by Resolution",query:{firstDim:{name:"Resolution Combined",aggregation_type:a.AggregationType.Range,attribute:o.e.RcsbEntryInfo.ResolutionCombined.path,ranges:(0,i.Y$)(1,.2,4.6)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntryInfo.ResolutionCombined.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Resolution",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Resolution (Angstrom)",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Experimental Details"},{key:"distribution-r-free",description:"Distribution of PDB structures by R-free. Data shown include structures solved by X-ray crystallography or electron microscopy.",description_menu:"Distribution by R-free",query:{firstDim:{name:"R-free",aggregation_type:a.AggregationType.Range,attribute:o.e.Refine.LsRFactorRFree.path,ranges:(0,i.Y$)(.14,.01,.32)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.Refine.LsRFactorRFree.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by R-free",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"R-free (%)",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Experimental Details"},{key:"distribution-molecular-weight-structure",description:"Molecular weight is calculated for all atoms, including those not observed in the experiment.",description_menu:"Distribution by Molecular Weight (Structure)",query:{firstDim:{name:"Molecular Weight",aggregation_type:a.AggregationType.Range,attribute:o.e.RcsbEntryInfo.MolecularWeight.path,ranges:(0,i.Y$)(20,20,380)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntryInfo.MolecularWeight.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Molecular Weight (Structure)",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Molecular Weight (Daltons)",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Molecular Composition"},{key:"distribution-molecular-weight-entity",description:"Molecular weight is calculated for each chemically distinct polymeric (e.g. protein, nucleic acid) sequence of a PDB structure.",description_menu:"Distribution by Molecular Weight (Entity)",query:{firstDim:{name:"Molecular Weight",aggregation_type:a.AggregationType.Range,attribute:o.e.RcsbPolymerEntity.FormulaWeight.path,ranges:(0,i.Y$)(5,5,75)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerEntity.FormulaWeight.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Molecular Weight (Entity)",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entities",font:{size:14,weight:"normal"},color:"#333"}},x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Molecular Weight (Daltons)",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Molecular Composition"},{key:"distribution-atom-count",description:"Distribution of released structures by the number of observed atoms excluding atoms in water molecules.",description_menu:"Distribution by Atom Count",query:{firstDim:{name:"Atom Count",aggregation_type:a.AggregationType.Range,attribute:o.e.RcsbEntryInfo.DepositedAtomCount.path,ranges:(0,i.Y$)(1e3,1e3,19e3)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntryInfo.DepositedAtomCount.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Atom Count",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Atom count Range",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Molecular Composition"},{key:"distribution-residue-count",description:"Distribution of released structures by the number of residues in macromolecules.",description_menu:"Distribution by Residue Count",query:{firstDim:{name:"Residue Count",aggregation_type:a.AggregationType.Range,attribute:o.e.RcsbEntryInfo.DepositedPolymerMonomerCount.path,ranges:(0,i.Y$)(100,100,1900)},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntryInfo.DepositedPolymerMonomerCount.path,operator:c(t),value:d(t)}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Residue Count",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Residue Count Range",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Molecular Composition"},{key:"distribution-source-organism",description:"Distribution of released structures based on the organisms from which the experimental samples were derived.",description_menu:"Distribution by Source Organism",query:{firstDim:{name:"Source Type",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntitySourceOrganism.SourceType.path,min_interval_population:1,facets:[{name:"Source Organism",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntitySourceOrganism.NcbiScientificName.path,min_interval_population:1,max_num_intervals:20}]},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>{const r=e.currentInput.filter((e=>e.visible)).map((e=>e.label))[0];return{query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntitySourceOrganism.SourceType.path,operator:a.Operator.ExactMatch,value:r}},{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntitySourceOrganism.NcbiScientificName.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}},chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Source Organism",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entities",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Source Organism",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Biological Details"},{key:"distribution-taxonomy",description:"Distribution of released structures based on taxonomy.",description_menu:"Distribution by Taxonomy",query:{firstDim:{name:"Taxonomy",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntitySourceOrganism.NcbiParentScientificName.path,min_interval_population:1,max_num_intervals:20},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntitySourceOrganism.NcbiParentScientificName.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Taxonomy",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Taxonomy",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Biological Details"},{key:"distribution-space-group",description:"Distribution of released structures based on Distribution Space Group.",description_menu:"Distribution by Space Groups",query:{firstDim:{name:"Space Groups",aggregation_type:a.AggregationType.Terms,attribute:o.e.Symmetry.SpaceGroupNameHM.path,min_interval_population:1,max_num_intervals:20},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.Symmetry.SpaceGroupNameHM.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"x",plugins:{title:{display:!0,text:"PDB Data Distribution by Space Group",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},scales:{x:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Space Group",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Experimental Details"},{key:"distribution-software",description:"Distribution of released structures based on Processing Software.",description_menu:"Distribution by Processing Software",query:{firstDim:{name:"Processing Software",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbEntryInfo.SoftwareProgramsCombined.path,min_interval_population:1,max_num_intervals:30},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbEntryInfo.SoftwareProgramsCombined.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Processing Software",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:1e4,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Software Used",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Experimental Details"},{key:"distribution-journal",description:"Distribution of released structures based on Distribution Journal.",description_menu:"Distribution by Publication Journal",query:{firstDim:{name:"Publication Journal",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbPrimaryCitation.RcsbJournalAbbrev.path,min_interval_population:1,max_num_intervals:25},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPrimaryCitation.RcsbJournalAbbrev.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Journal",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Journal",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Structure Details"},{key:"distribution-structural-genomics-centers",description:"Distribution of released structures based on Structural Genomics Centers.",description_menu:"Distribution by Structural Genomics Centers",query:{firstDim:{name:"Structural Genomics Centers",aggregation_type:a.AggregationType.Terms,attribute:o.e.PdbxSgProject.FullNameOfCenter.path,min_interval_population:1,max_num_intervals:25},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.PdbxSgProject.FullNameOfCenter.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Structural Genomics Centers",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Structural Genomics Center",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Structure Details"},{key:"distribution-enzyme-classification",description:"Distribution of released PDB structures based on the presence of enzimatic domains.",description_menu:"Distribution by Enzyme Classification",query:{firstDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerEntity.RcsbEcLineage.Depth.path,operator:a.Operator.Equals,value:1}},facets:[{name:"Enzyme Classification",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbPolymerEntity.RcsbEcLineage.Name.path,min_interval_population:1,max_num_intervals:20}]},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerEntity.RcsbEcLineage.Name.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Enzyme Classification Name",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Enzyme Classification",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Biological Details"},{key:"distribution-assembly-symmetry",description:"Distribution of released biological assemblies based on their global symmetry types.",description_menu:"Distribution by Assembly Symmetry",query:{firstDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbStructSymmetry.Kind.path,operator:a.Operator.ExactMatch,value:o.e.RcsbStructSymmetry.Kind.enum["Global Symmetry"]}},facets:[{name:"Symmetry Type",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbStructSymmetry.Type.path,min_interval_population:1}]},returnType:a.ReturnType.Assembly},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbStructSymmetry.Kind.path,operator:a.Operator.ExactMatch,value:o.e.RcsbStructSymmetry.Kind.enum["Global Symmetry"]}},{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbStructSymmetry.Type.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Assembly}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by Assembly Symmetry Type",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"Assembly Symmetry Type",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"Molecular Composition"},{key:"distribution-scop-classification",description:"Distribution of released PDB structures based on the presence of protein domains defined by SCOP-e.",description_menu:"Distribution by SCOP Classification",query:{firstDim:{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerInstanceAnnotation.Type.path,operator:a.Operator.ExactMatch,value:o.e.RcsbPolymerInstanceAnnotation.Type.enum.SCOP}},facets:[{filter:{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerInstanceAnnotation.AnnotationLineage.Depth.path,operator:a.Operator.Equals,value:1}},facets:[{name:"SCOP Classification",aggregation_type:a.AggregationType.Terms,attribute:o.e.RcsbPolymerInstanceAnnotation.AnnotationLineage.Name.path,min_interval_population:1,max_num_intervals:20}]}]},returnType:a.ReturnType.Entry},getSearchObj:(e,t)=>({query:{type:a.Type.Group,logical_operator:a.LogicalOperator.And,nodes:[{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerInstanceAnnotation.Type.path,operator:a.Operator.ExactMatch,value:o.e.RcsbPolymerInstanceAnnotation.Type.enum.SCOP}},{type:a.Type.Terminal,service:a.Service.Text,parameters:{attribute:o.e.RcsbPolymerInstanceAnnotation.AnnotationLineage.Name.path,operator:a.Operator.ExactMatch,value:t}}]},return_type:a.ReturnType.Entry}),chartOptions:{responsive:!0,maintainAspectRatio:!1,indexAxis:"y",plugins:{title:{display:!0,text:"PDB Data Distribution by SCOP Classification",font:{size:18,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",weight:"bold"},color:"#333",padding:{top:0,bottom:40},align:"start"},legend:{display:!1,position:"bottom",align:"start",labels:{boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333",usePointStyle:!1,pointStyle:"circle"}},tooltip:{enabled:!1,mode:"index",intersect:!1,backgroundColor:"rgba(0,0,0,0.8)",titleFont:{size:16,weight:"bold"},bodyFont:{size:14},footerFont:{size:12},padding:10,displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:1,callbacks:{label:function(e){return`${e.dataset.label}: ${e.raw}`},title:function(e){return`${e[0].label}`},footer:function(e){return e.length>1?`Total: ${e.reduce(((e,t)=>e+Number(t.raw)),0)}`:""}}},filler:{propagate:!0},zoom:{pan:{enabled:!0,mode:"y"},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"y"}}},scales:{x:{type:"linear",display:!0,stacked:!0,beginAtZero:!0,grid:{display:!0,color:"#e4e4e4",lineWidth:1},ticks:{stepSize:5e3,font:{size:12},color:"#333",callback:e=>`${e}`},title:{display:!0,text:"Number of Entries",font:{size:14,weight:"normal"},color:"#333"}},y:{type:"category",display:!0,stacked:!0,ticks:{autoSkip:!1,maxRotation:45,minRotation:0,font:{size:12},color:"#333"},title:{display:!0,text:"SCOP Classification",font:{size:14,weight:"normal"},color:"#333"}}},elements:{bar:{borderWidth:1,borderRadius:2,hoverBackgroundColor:"rgba(0,0,0,0.2)",hoverBorderColor:"#333"}},animation:{duration:600,easing:"easeInOutQuart"},layout:{padding:{left:0,right:0,top:0,bottom:0}}},chartCategory:"distribution",displayCategory:"distribution"}],b={getStatisticsChartObject:e=>(0,i.lq)("key",e,y)?.[0]},g=y.map((e=>{const t="growth"===e.chartCategory?n.A.PDB_DATA_GROWTH(e.key):n.A.PDB_DATA_DISTRIBUTION(e.key);return{category:e.displayCategory,description_menu:e.description_menu,link:t}}))},8422:(e,t,r)=>{r.d(t,{$Z:()=>s,Y$:()=>c,bl:()=>l,h5:()=>n,lq:()=>a,pF:()=>p});var i=r(3503),o=r.n(i);const a=(e,t,r)=>{let i={request_info:{src:"ui"},return_type:"entry",query:{type:"terminal",node_id:0,service:"text"},request_options:{paginate:{start:0,rows:0},results_content_type:["experimental"]}};return r.filter((a=>{if(a[e]===t)return a.parameters?i.query.parameters=a.parameters:delete i.query,a.facets&&(i.request_options.facets=a.facets),i.request_info.query_id=(e=>{const{query:t,return_type:r}=e;return o()(JSON.stringify(t)+r)})(i),a.requestQuery=i,r}))},n=(e,t)=>{const r=`${t.config.searchApiUrl}/query-editor.html?json=`;return e?.searchRequest?`${r}${encodeURIComponent(JSON.stringify(e.searchRequest))}`:r},l=e=>e.map(((t,r)=>{const i=String(t.label),[o,a]=i.split("-");let n="";return n=0===r&&a?`< ${a.replace(".0","")}k`:r===e.length-1&&o?`>= ${o.replace(".0","")}k`:`${o.replace(".0","")+"k"}-${a?a.replace(".0","")+"k":""}`,{...t,label:n}})),s=e=>e.map(((t,r)=>{const i=String(t.label),[o,a]=i.split("-");let n="";return n=0===r&&a?`< ${a.replace(".0","")}`:r===e.length-1&&o?`>= ${o.replace(".0","")}`:`${o}-${a}`,{...t,label:n}})),p=e=>e.map(((t,r)=>{const i=String(t.label),[o,a]=i.split("-");let n="";return n=0===r&&a?`< ${a.replace(".0","")}`:r===e.length-1&&o?`>= ${o.replace(".0","")}`:`${o.replace(".0","")}-${a?a.replace(".0",""):""}`,{...t,label:n}})),c=(e,t,r)=>{const i=[];i.push({to:parseFloat(e.toFixed(2))});let o=e;for(;o<r;){const e=o+t;i.push({from:parseFloat(o.toFixed(2)),to:parseFloat(e.toFixed(2))}),o=e}return i.push({from:parseFloat(r.toFixed(2))}),i}}}]);
@@ -0,0 +1,296 @@
1
+ "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[676],{3676:(e,t,a)=>{a.r(t),a.d(t,{default:()=>re});var n=a(6540),r=a(7767),l=a(4731),o=a(6118),i=a(3839),s=a(1105),c=a(1376),d=a(4479),u=a(3048),p=a(8027),m=a(6973),g=a(2756),b=a(7638),f=a(7581);const h=f.i7`
2
+ from {
3
+ opacity: .5;
4
+ transform: translateZ(0) scale(0.999);
5
+ }
6
+ to {
7
+ opacity: 1;
8
+ transform: translateZ(0) scale(1);
9
+ }
10
+ `,y=f.Ay.div`
11
+ animation: ${h} .5s ease-in;
12
+ will-change: opacity, transform;
13
+ `,x=f.Ay.div`
14
+ display: flex;
15
+ justify-content: flex-end;
16
+ margin-top: -10px;
17
+ `,E=f.Ay.button`
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ border: 1px solid #e7e7e7;
22
+ border-radius: 3px;
23
+ padding: 3px 5px;
24
+
25
+ & svg {
26
+ margin-right: 5px;
27
+ }
28
+ `,v=f.Ay.div`
29
+ padding-left: 7px;
30
+ margin-top: 40px;
31
+ `,w=(0,f.Ay)(s.A)`
32
+ margin-top: 40px;
33
+ `,C=f.Ay.div`
34
+ display: flex;
35
+ flex-direction: column;
36
+ align-items: center;
37
+ justify-content: center;
38
+ gap: 5px;
39
+ `,k=f.Ay.div`
40
+ background-color: #f0f0f0;
41
+ border: ${e=>{let{selected:t}=e;return t?"1px solid black":"1px solid #fff"}};
42
+ padding: 5px;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ color: ${e=>{let{disabled:t}=e;return t?"#fafafa":"#707070"}};
47
+ pointer-events: ${e=>{let{disabled:t}=e;return t?"none":"auto"}};
48
+
49
+ ${e=>{let{disabled:t}=e;return!t&&"\n &:hover {\n background-color: #e0e0e0;\n border: 1px solid #808080;\n cursor: pointer;\n }\n "}}
50
+ `,j=f.Ay.div`
51
+ display: flex;
52
+ align-items: center;
53
+ margin-bottom: 5px;
54
+ `,A=f.Ay.input`
55
+ margin-right: 20px;
56
+ `,z=f.Ay.label`
57
+ font-size: 12px;
58
+ margin-left: 5px;
59
+ font-weight: normal;
60
+ margin-bottom: 0 !important;
61
+ `,S=f.Ay.div`
62
+ font-weight: bold;
63
+ font-size: 1.2em;
64
+ margin-bottom: 15px;
65
+ `,T=f.Ay.div`
66
+ width: auto;
67
+ min-height: 550px;
68
+ `,$=f.Ay.div`
69
+ margin-top: 20px;
70
+ min-width: 170px;
71
+ label {
72
+ font-size: 12px;
73
+ font-weight: normal;
74
+ margin-left: 5px;
75
+ margin-bottom: 0 !important;
76
+ margin-top: 4px !important;
77
+ }
78
+ .form-check {
79
+ display: flex;
80
+ align-items: center;
81
+ }
82
+ `,N=f.Ay.div`
83
+ margin-bottom: 35px;
84
+ `,D=f.Ay.div`
85
+ font-weight: bold;
86
+ margin-bottom: 5px;
87
+ `,F=(f.Ay.div`
88
+ width: 100%;
89
+
90
+
91
+ .col-md-10{
92
+ width: 90% !important;
93
+ }
94
+
95
+ .col-md-10 > div:first-child {
96
+ height: 80vh !important;
97
+ }
98
+
99
+ .col-md-2{
100
+ width: 0 !important;
101
+ }
102
+ `,f.Ay.div`
103
+ display: block;
104
+ font-size: 18px;
105
+ font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
106
+ font-weight: bold;
107
+ color: #333;
108
+ padding-top: 0;
109
+ padding-bottom: 15px;
110
+ text-align: start;
111
+ margin-top: -2px;
112
+ `),O=f.Ay.div`
113
+ position: relative;
114
+ display: inline-block;
115
+ cursor: pointer;
116
+
117
+ &:hover ul {
118
+ display: block;
119
+ top:-5px;
120
+ margin-left:15px
121
+ }
122
+ `,P=f.Ay.div`
123
+ display: flex;
124
+ align-items: center;
125
+ cursor: pointer;
126
+ position: relative;
127
+
128
+ .triangle {
129
+ width: 8px;
130
+ aspect-ratio: 1;
131
+ clip-path: polygon(0 0, 100% 0, 50% 70%);
132
+ background-color: #999;
133
+ position: absolute;
134
+ right: -15px;
135
+ top: 50%;
136
+ transform: translateY(-10%);
137
+ transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
138
+ }
139
+
140
+ &:hover .triangle {
141
+ transform: translateY(0.2rem);
142
+ }
143
+ `,R=f.Ay.ul`
144
+ display: none;
145
+ position: absolute;
146
+ top: 100%;
147
+ left: 0;
148
+ z-index: 1000;
149
+ min-width: 130px;
150
+ padding: 2px 0;
151
+ margin: 0;
152
+ font-size: 14px;
153
+ color: #333;
154
+ text-align: left;
155
+ list-style: none;
156
+ background-color: #fff;
157
+ border: 1px solid rgba(0, 0, 0, 0.15);
158
+ border-radius: 4px;
159
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
160
+
161
+ ${O}:hover & {
162
+ display: block;
163
+ }
164
+
165
+ & > li.disabled {
166
+ pointer-events: none;
167
+ color: #ccc;
168
+ }
169
+
170
+ & > li:not(.disabled):hover {
171
+ background-color: #f8f9fa;
172
+ }
173
+ `,I=f.Ay.li`
174
+ padding: 8px 20px;
175
+ display: flex;
176
+ align-items: center;
177
+ cursor: pointer;
178
+ white-space: nowrap;
179
+
180
+ &:hover {
181
+ background-color: #f1f1f1;
182
+ }
183
+ `,q=f.Ay.span`
184
+ margin-left: 8px;
185
+ font-size: 14px;
186
+ color: #333;
187
+ `;var _=a(2195);const Y=f.Ay.div`
188
+ .gridjs-pagination {
189
+ display: flex;
190
+ justify-content: space-between;
191
+ padding: 10px;
192
+ background-color: #f9fafb;
193
+ border: 1px solid #ccc;
194
+ border-radius: 0 0 8px 8px;
195
+ }
196
+
197
+ .gridjs-summary {
198
+ font-size: 14px;
199
+ color: #555;
200
+ margin-top: 5px;
201
+ }
202
+
203
+ .gridjs-pages button {
204
+ margin: 0 5px;
205
+ padding: 5px 10px;
206
+ border-radius: 5px;
207
+ background-color: #fff;
208
+ border: 1px solid #ccc;
209
+ color: #333;
210
+ cursor: pointer;
211
+ transition: background-color 0.3s, color 0.3s;
212
+ }
213
+
214
+ .gridjs-pages button:hover {
215
+ background-color: #e0e0e0;
216
+ color: #000;
217
+ }
218
+
219
+ .gridjs-pages button:disabled {
220
+ color: #aaa;
221
+ background-color: #f5f5f5;
222
+ cursor: not-allowed;
223
+ }
224
+
225
+ .gridjs-pages button.gridjs-currentPage {
226
+ background-color: #d0d0d0;
227
+ font-weight: bold;
228
+ border-color: #aaa;
229
+ }
230
+
231
+ .gridjs-wrapper {
232
+ width: 100%;
233
+ border-radius: 8px;
234
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
235
+ margin-bottom: 20px;
236
+ border: 1px solid #e5e7eb;
237
+ }
238
+
239
+ td.gridjs-td {
240
+ padding: 12px 16px;
241
+ font-size: 13px;
242
+ color: #444;
243
+ border: 1px solid #e5e7eb;
244
+ }
245
+
246
+ th.gridjs-th {
247
+ position: relative;
248
+ padding: 12px 16px;
249
+ background-color: #f7f7f7;
250
+ color: #333;
251
+ font-weight: bold;
252
+ text-align: left;
253
+ border: 1px solid #e5e7eb;
254
+ cursor: pointer;
255
+ }
256
+
257
+ .gridjs-th .gridjs-sort {
258
+ display: none !important;
259
+ }
260
+
261
+ th.gridjs-th.gridjs-sort-neutral::after {
262
+ content: '⇵';
263
+ margin-left: 10px;
264
+ font-size: 12px;
265
+ color: #888;
266
+ }
267
+
268
+ th.gridjs-th.gridjs-sort-asc::after {
269
+ content: '▲';
270
+ margin-left: 10px;
271
+ font-size: 12px;
272
+ color: #888;
273
+ }
274
+
275
+ th.gridjs-th.gridjs-sort-desc::after {
276
+ content: '▼';
277
+ margin-left: 10px;
278
+ font-size: 12px;
279
+ color: #888;
280
+ }
281
+
282
+ input.gridjs-input {
283
+ outline: none;
284
+ background-color: #fff;
285
+ border: 1px solid #d2d6dc;
286
+ border-radius: 5px;
287
+ padding: 8px 12px;
288
+ font-size: 14px;
289
+ margin-bottom: 10px;
290
+ }
291
+
292
+ input.gridjs-input:focus {
293
+ border-color: #9bc2f7;
294
+ box-shadow: 0 0 0 3px rgba(149, 189, 243, 0.5);
295
+ }
296
+ `,L=e=>{let{data:t,title:a}=e;if(0===t.length)return n.createElement("p",null,"No data available.");const r=Object.keys(t[0]),l=t.map((e=>r.map((t=>e[t]))));return n.createElement(n.Fragment,null,a&&n.createElement(F,null,a),n.createElement(Y,null,n.createElement(_.x,{columns:r,data:l,search:!1,pagination:{limit:10},sort:!0,style:{table:{border:"1px solid #ccc","border-radius":"8px",width:"100%","background-color":"#fff",color:"#000","font-family":"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","text-align":"left"},th:{"background-color":"#f5f5f5",color:"#333","border-bottom":"2px solid #ccc",padding:"12px","font-weight":"bold"},td:{padding:"12px","border-bottom":"1px solid #eee",color:"#555","font-size":"13px"}}})))},U=e=>{let{chartType:t,handleChartTypeChange:a,isDistPlot:r}=e;const l=e=>{a(e)};return n.createElement(O,null,n.createElement(P,null,n.createElement(k,null,(()=>{switch(t){case"bar":default:return n.createElement(p.v$b,{size:15});case"line":return n.createElement(p.YYR,{size:15});case"pie":return n.createElement(p.qvi,{size:15})}})()),n.createElement("span",{className:"triangle"})),n.createElement(R,null,n.createElement(I,{onClick:()=>l("bar")},n.createElement(k,null,n.createElement(p.v$b,{size:15})),n.createElement(q,null,"Bar Chart")),!r&&n.createElement(I,{onClick:()=>l("line")},n.createElement(k,null,n.createElement(p.YYR,{size:15})),n.createElement(q,null,"Line Chart")),r&&n.createElement(I,{onClick:()=>l("pie")},n.createElement(k,null,n.createElement(p.qvi,{size:15})),n.createElement(q,null,"Pie Chart"))))};var M=a(637);o.t1.register(o.PP,o.kc,o.OJ,o.E8,o.No,o.Bs,o.FN,o.hE,o.m_,o.s$,i.Ay);const B=e=>{const t=e.datasets.map((e=>{const t=[];let a=0;return e.data.forEach((e=>{a+=e,t.push(a)})),{...e,data:t}}));return{...e,datasets:t}},H=e=>{let{data:t,plotName:a,setFullscreenContent:r}=e;const o=(0,n.useRef)(null),{handleOpenModal:i,handleCloseModal:f}=(0,g.h)(),{settings:h,updateCurrentInput:y,setConfig:x}=(0,b.t)(),E=h.colorScheme,F=M.jS.find((e=>e.key===a)),O="distribution"===F?.chartCategory,P=F?.chartOptions||{},R=O?h.config.chartType.distrubution:h.config.chartType.growth,I=h.config.chartType.scale,q=O?"non-cumulative":h.config.chartType.dataView,[_,Y]=(0,n.useState)(t.datasets.map((e=>({label:e.label||"",visible:!0})))),[H,J]=(0,n.useState)("natural"),[W,Z]=(0,n.useState)((()=>"cumulative"===(O?"non-cumulative":q)?B(t):t)),V=t.datasets.map((e=>({label:e.label||"",visible:!0}))),G=O?"non-cumulative":"cumulative",K=()=>{Y(V),J("natural"),x({chartType:{...h.config.chartType,[O?"distrubution":"growth"]:"bar",scale:"linear",dataView:G}}),Z("cumulative"===G?B(t):t)};(0,n.useEffect)((()=>{const e="cumulative"===q?B(t):t;Z(e)}),[q,t]),(0,n.useEffect)((()=>{if("cumulative"===q){const e=B(t);Z({labels:t.labels,datasets:e.datasets.map((e=>({...e,hidden:!_.find((t=>t.label===e.label))?.visible})))})}else Z({labels:t.labels,datasets:t.datasets.map((e=>({...e,hidden:!_.find((t=>t.label===e.label))?.visible})))})}),[q,t,_]),(0,n.useEffect)((()=>{if("distribution-source-organism"===a){const e=[],a=[],n=[];if(t?.datasets?.[0]?.objectConfig&&Array.isArray(t.labels)){t.datasets[0].objectConfig.forEach(((r,l)=>{if(r.label===H){const o=t.labels?.[l],i=t.datasets[0].data?.[l];o&&void 0!==i&&(e.push(o),a.push(i),n.push(r))}}));const r={...t.datasets[0],data:a,objectConfig:n};Z({labels:e,datasets:[r]})}}}),[H,t,a]),(0,n.useEffect)((()=>{JSON.stringify(h.currentInput)!==JSON.stringify(_)&&(a.includes("overall")||y(_))}),[_,y]);const Q=e=>{Y((t=>t.map((t=>t.label===e?{...t,visible:!t.visible}:t))))},X=()=>{x({chartType:{...h.config.chartType,scale:"linear"===h.config.chartType.scale?"logarithmic":"linear"}})},ee=e=>{x({chartType:{...h.config.chartType,dataView:e}})},te=e=>{J(e)},ae=e=>{if(o.current){const a=(0,l.CK)(o.current,e);if(a.length>0&&t.labels){if(!F||!F.getSearchObj)return;{const{index:e}=a[0],n=t.labels[e],r=F.getSearchObj(h,n),l=JSON.stringify(r),o=encodeURIComponent(l),i=`${h.config.searchAdvancedUrl}/search?request=${o}`;window.location.href=i}}}},ne={...P,scales:O||"line"!==R?P.scales:{...P.scales,x:{...P.scales?.x,stacked:!1},y:{...P.scales?.y,type:I,stacked:!1,min:"logarithmic"===I?1:void 0,ticks:{callback:function(e){return"logarithmic"===I?[1,10,100,1e3,1e4].includes(e)?e:null:e}},title:{display:!0,text:`${P?.scales?.y?.title?.text||"Y-Axis"} ${"logarithmic"===I?"(Logarithmic scale)":"(Linear scale)"}`}}},plugins:{...P.plugins,legend:{...P.plugins?.legend,onClick:(e,t,a)=>((e,t)=>{const a=t.datasetIndex,n=e.data.datasets[a].label;n&&Q(n)})(a.chart,t)}},elements:{line:{tension:.1,spanGaps:!0},point:{radius:0,hoverRadius:0}},animation:{duration:400,easing:"easeInOutQuart"}},re=e=>{x({chartType:{...h.config.chartType,[O?"distrubution":"growth"]:e}})},le=(e,t)=>{const a=e.datasets[0],n=e.labels.map(((e,a)=>t[a%t.length]));return{labels:e.labels,datasets:[{data:a.data,backgroundColor:n,borderColor:n,borderWidth:1}]}},oe=e=>{const{title:t,legend:a,tooltips:n,responsive:r,plugins:l}=e;return{responsive:r??!0,maintainAspectRatio:!1,plugins:{...l,legend:{...a,display:!0,position:"bottom"},tooltip:{...n,callbacks:{label:e=>{const t=e.dataset,a=t.data[e.dataIndex],n=(a/t.data.reduce(((e,t)=>e+t),0)*100).toFixed(2);return`${e.label}: ${a} - ${n}% (of total) `}}}},animation:{animateScale:!0,animateRotate:!0},elements:{arc:{hoverBorderWidth:3,hoverOffset:20,hoverBorderColor:"white"}}}},ie=e=>{if(!e||!e.datasets||!Array.isArray(e.datasets))return{labels:[],datasets:[]};const t=e.datasets.map((e=>{const t=e.data.map((e=>"number"!=typeof e||isNaN(e)?null:e));return{...e,data:t,stack:void 0,fill:!1,borderColor:e.borderColor||"rgba(75, 192, 192, 1)",backgroundColor:e.backgroundColor||"rgba(75, 192, 192, 0.2)",borderWidth:3,pointRadius:0,pointHoverRadius:0,tension:.1}}));return{labels:e.labels||[],datasets:t}};return n.createElement(u.A,null,(e=>{const t={...ne,maintainAspectRatio:!1,plugins:{legend:{display:!1}}},r=(e,t,a)=>{if(!e?.datasets?.length||0===e.labels.length)return{columns:[],gridData:[]};if(t){const t=e.labels||[],n=e.datasets[0]||{},r=a.scales?.x?.title?.text||"Range",l=a.scales?.y?.title?.text||"Number of Entries";return{columns:"x"===a.indexAxis?[r,l]:[l,r],gridData:t.map(((e,t)=>[e,n.data[t]||"N/A"]))}}const n=e.datasets.filter((e=>_.find((t=>t.label===e.label))?.visible));return{columns:["Year",...n.map((e=>e.label))],gridData:e.labels.map(((e,t)=>{const a=[e];return n.forEach((e=>{a.push(e.data[t]||"N/A")})),a}))}},u=r(W,O,P);if(0===u.columns.length||0===u.gridData.length)return n.createElement("p",null,"No data available for table.");const g=u.gridData.map((e=>{const t={};return u.columns.forEach(((a,n)=>{t[a]=e[n]})),t})),b={bar:n.createElement(l.yP,{ref:o,data:W,options:e?t:ne,onClick:ae}),line:n.createElement(l.N1,{ref:o,data:ie(W),options:e?t:ne}),pie:n.createElement(l.Fq,{ref:o,data:le(W,E),options:oe(e?t:ne)}),table:n.createElement(n.Fragment,null," ",n.createElement(L,{data:g,title:ne.plugins.title.text}))};return n.createElement(d.A,null,n.createElement(s.A,{md:10},n.createElement(T,null,b[R])),n.createElement(s.A,{md:2},n.createElement(d.A,null,n.createElement(w,{md:2},n.createElement(C,null,!e&&n.createElement(n.Fragment,null,n.createElement(k,{onClick:()=>i("settings")},n.createElement(p.Pcn,{size:15})),n.createElement(U,{chartType:R,handleChartTypeChange:re,isDistPlot:O}),n.createElement(k,{onClick:()=>i("information"),disabled:!1},n.createElement(p.ELu,{size:15})),n.createElement(k,{disabled:!1,selected:"table"===R,onClick:()=>re("table")},n.createElement(p.ist,{size:15})),n.createElement(k,{onClick:()=>{const e=r(W,O,P),t=((e,t)=>[e.join(","),...t.map((e=>e.join(",")))].join("\n"))(e.columns,e.gridData),a=new Blob([t],{type:"text/csv;charset=utf-8;"}),n=URL.createObjectURL(a),l=document.createElement("a");l.href=n,l.setAttribute("download","data-table.csv"),document.body.appendChild(l),l.click(),document.body.removeChild(l)},disabled:!1},n.createElement(p.$TP,{size:15})),!O&&"line"===R&&n.createElement(k,{onClick:X},"linear"===I?n.createElement(m.Ten,{size:15}):n.createElement(p.g0N,{size:15})),n.createElement(k,{onClick:K,disabled:!1},n.createElement(p.DIg,{size:15}))))),!e&&n.createElement(s.A,{md:10},n.createElement(v,null,n.createElement(S,null,"Data Options"),"table"!==R&&n.createElement(n.Fragment,null,O?"distribution-source-organism"===a&&n.createElement($,null,n.createElement(D,null,"Data Set"),n.createElement(c.A.Check,{type:"radio",id:"view-natural",label:"Natural",name:"source-organism-view-switch",value:"natural",checked:"natural"===H,onChange:()=>te("natural")}),n.createElement(c.A.Check,{type:"radio",id:"view-genetically engineered",label:"Genetically Engineered",name:"source-organism-view-switch",value:"genetically engineered",checked:"genetically engineered"===H,onChange:()=>te("genetically engineered")}),n.createElement(c.A.Check,{type:"radio",id:"view-synthetic",label:"Synthetic",name:"source-organism-view-switch",value:"synthetic",checked:"synthetic"===H,onChange:()=>te("synthetic")})):n.createElement(n.Fragment,null,_.length>1&&n.createElement(N,null,n.createElement(D,null,"Data Shown"),_.map((e=>{const t="unique-protein-sequences"===a&&e.label?`Identity ${parseFloat(e.label).toFixed(0)}%`:e.label;return n.createElement(j,{key:e.label},n.createElement(A,{type:"checkbox",id:e.label,checked:e.visible,onChange:()=>Q(e.label)}),n.createElement(z,{htmlFor:e.label},t))}))),n.createElement($,null,n.createElement(D,null,"Data Set"),n.createElement(c.A.Check,{type:"radio",id:"view-annual",label:"Annual",name:"view-switch",value:"non-cumulative",checked:"non-cumulative"===q,onChange:()=>ee("non-cumulative")}),n.createElement(c.A.Check,{type:"radio",id:"view-cumulative",label:"Cumulative",name:"view-switch",value:"Cumulative",checked:"cumulative"===q,onChange:()=>ee("cumulative")})))))))))})(!1))};var J=a(3076),W=a(8533),Z=a(176),V=a(7704),G=a(8154),K=a(2543),Q=a(6061),X=a(8422);const ee=async function(e,t,a){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4?arguments[4]:void 0,l=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0;const i=(0,K.cloneDeep)(a.firstDim);a.secondDim&&(0,G.vw)(a.secondDim,i);const s={return_type:a.returnType,request_options:{paginate:{rows:0},facets:[i]}};l("searchRequest",s),l("stats_notes",r);const c=await(async(e,t)=>{const a=`${t.searchApiUrl}/rcsbsearch/v2/query`;return fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error(e.statusText);return e.json()})).catch((e=>{throw console.error("Error:",e),e}))})(s,o.config);if(!c)return[[]];const d=(0,V.z)(c);let u=d[0].data;const p={"distribution-resolution":X.$Z,"distribution-r-free":X.$Z,"distribution-molecular-weight-structure":X.bl,"distribution-molecular-weight-entity":X.bl,"distribution-atom-count":X.pF,"distribution-residue-count":X.pF},m=p[e]?p[e](u):u;if(p[e]&&(u=m),"distribution-source-organism"===e)return[d.filter((e=>"Source Organism"===e.name)).flatMap((e=>e.data.map((t=>({...t,labelPath:e.labelPath,objectConfig:{...t.objectConfig||{}}}))))).map(((e,a)=>({...e,objectConfig:{...e.objectConfig,color:t[a%t.length],label:e.labelPath.join(", ")}})))];if(n&&u.length>0){let e=0;return[u.map((e=>({...e,objectConfig:{...e.objectConfig,color:t[0%t.length],label:"Annual"}}))),u.map((a=>(e+=a.population,{...a,population:e,objectConfig:{objectId:[a.label,e],color:t[1%t.length],label:"Cumulative"}})))]}return a.secondDim?te(e,a,d.filter((e=>e.name===ae(a.secondDim))),t,o.config.searchAdvancedUrl,o.currentInput):[u.map((e=>({...e,objectConfig:{objectId:[e.label,e.population],color:t[0%t.length]}})))]},te=(e,t,a,n,r,l)=>{const o=new Set,i=[],s=new Map;a.forEach((e=>{const t=e.labelPath[0];i.push(t),e.data.forEach((e=>{o.add(e.label.toString()),s.has(t)||s.set(t,new Map),s.get(t)?.set(e.label.toString(),e.population)}))}));const c=Array.from(o),d=[];return c.forEach(((e,t)=>{const a=[];i.forEach((r=>{const l=s.get(r)?.get(e)??0;l>0&&a.push({label:r,population:l,objectConfig:{objectId:[r,e,l],color:n[t%n.length]}})})),a.length>0&&d.push(a)})),d},ae=e=>{if("name"in e)return e.name;if(!e.facets||1!==e.facets.length)throw new Error("Multiple facets are not allowed");return ae(e.facets[0])},ne=(e,t)=>{const{settings:a}=(0,b.t)(),{setProperty:n}=(0,Q.R)(),r=a.colorScheme.join("");return(0,Z.I)({queryKey:[e,t,r],queryFn:()=>(async(e,t,a,n)=>{const{stats_notes:r,query:l}=(e=>{const t=M.Tb.getStatisticsChartObject(e),a=t?.description,n=t?.query;return{stats_notes:a,query:n}})(e);if(!l)throw new Error(`Unknown chart key: ${e}`);return ee(e,t,l,!1,r,a,n)})(e,a.colorScheme,n,a),enabled:!!e})},re=e=>{let{setFullscreenContent:t}=e;const a=(0,r.g)().plotname||"",l=a||"",{data:o,isLoading:i,error:s}=ne(l),c=(0,Q.R)(),{settings:d}=(0,b.t)();if(i)return n.createElement(y,null,n.createElement(J.A,null));if(s)return n.createElement(y,null,n.createElement(W.A,{error:s}));const u=o&&o.length>0?("distribution-source-organism"===a&&console.log("chart data",o),{labels:o[0].map((e=>e.label)),datasets:o.map(((e,t)=>{const a={};return e.forEach((e=>{a[e.label]=e.population})),{label:e[0]?.objectConfig?.objectId?.[1]??`Dataset ${t+1}`,data:o[0].map((e=>a[e.label]||0)),backgroundColor:e[0]?.objectConfig?.color||"rgba(0, 0, 0, 0.1)",borderColor:e[0]?.objectConfig?.color||"rgba(0, 0, 0, 0.1)",borderWidth:1,objectConfig:e.map((e=>e.objectConfig))}}))}):null;return n.createElement(y,{key:a},u?n.createElement(n.Fragment,null,n.createElement(x,null,n.createElement(E,{onClick:()=>{const e=(0,X.h5)(c,d);e&&window.open(e,"_blank")}},n.createElement(p.Pcn,null)," Search API")),n.createElement(H,{data:u,plotName:a,setFullscreenContent:t})):n.createElement(y,null,n.createElement(W.A,{error:new Error("No data available")})))}}}]);