@rcsb/rcsb-statistics 0.3.1 → 0.3.2-dev.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rcsb/rcsb-statistics",
3
- "version": "0.3.1",
3
+ "version": "0.3.2-dev.1",
4
4
  "private": false,
5
5
  "files": [
6
6
  "build"
@@ -44,6 +44,7 @@
44
44
  "@testing-library/react": "^13.4.0",
45
45
  "@types/chart.js": "^2.9.41",
46
46
  "@types/lodash": "^4.17.6",
47
+ "@types/md5": "^2.3.5",
47
48
  "@types/react-color": "^3.0.12",
48
49
  "babel-loader": "^9.1.3",
49
50
  "chartjs-plugin-zoom": "^2.0.1",
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[5],{5:(t,e,r)=>{r.r(e),r.d(e,{default:()=>m});var n=r(6540),o=r(7767),a=r(1559),i=r(3513),s=r(2390),l=r(8533),c=r(6073),u=r(2137),b=r(8027),d=r(6061);const m=()=>{const t=(0,o.g)().plotname||"",e=t||"defaultKey",r=["distribution-space-group","distribution-resolution","distribution-r-free","distribution-molecular-weight-structure","distribution-atom-count","distribution-residue-count","distribution-source-organism-natural","distribution-software","distribution-journal","distribution-structural-genomics-centers","assembly-symmetry-dist","taxonomy","enzyme-classification-name","scop-classification"].includes(t),{data:m,isLoading:g,error:f}=(0,c.A)(e),p=(0,d.R)();if(g)return n.createElement(s.tt,null,n.createElement(i.A,null));if(f)return n.createElement(s.tt,null,n.createElement(l.A,{error:f}));const E=m&&m.length>0?{labels:m[0].map((t=>t.label)),datasets:m.map(((t,e)=>{const r={};return t.forEach((t=>{r[t.label]=t.population})),{label:t[0]?.objectConfig?.objectId?.[1]??`Dataset ${e+1}`,data:m[0].map((t=>r[t.label]||0)),backgroundColor:t[0]?.objectConfig?.color||"rgba(0, 0, 0, 0.1)",borderColor:t[0]?.objectConfig?.color||"rgba(0, 0, 0, 0.1)",borderWidth:1,objectConfig:t.map((t=>t.objectConfig))}}))}:null,h=t&&u.A[t];return n.createElement(s.tt,{key:t},E&&h?n.createElement(n.Fragment,null,n.createElement(s.Kb,null,n.createElement(s.OV,{onClick:()=>{const t=(t=>{const e="https://search.rcsb.org/query-editor.html?json=";return t?.searchRequest?`${e}${encodeURIComponent(JSON.stringify(t.searchRequest))}`:e})(p);t&&window.open(t,"_blank")}},n.createElement(b.Pcn,null)," Search API")),n.createElement(a.A,{data:E,options:h,isOverallPlot:!1,isDistPlot:r})):n.createElement(s.tt,null,n.createElement(l.A,{error:new Error("No data available.")})))}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[87],{2087:(e,t,l)=>{l.r(t),l.d(t,{default:()=>d});var r=l(6540),a=l(7767),n=l(1559),o=l(3513),c=l(2390),s=l(8533),u=l(6073),i=l(2137),b=l(8027),m=l(6061);const d=()=>{const{plotname:e}=(0,a.g)(),t=e||"defaultKey",l="overall-structures"===e||"overall-small-molecules"===e,{data:d,isLoading:g,error:p}=(0,u.A)(t),E=(0,m.R)();if(g)return r.createElement(c.tt,null,r.createElement(o.A,null));if(p)return r.createElement(c.tt,null,r.createElement(s.A,{error:p}));const f=d&&d.length>0?{labels:d[0].map((e=>e.label)),datasets:d.map(((e,t)=>{const r={};return e.forEach((e=>{r[e.label]=e.population})),{label:l?0===t?"Annual":"Cumulative":e[0]?.objectConfig?.objectId?.[1]??`Dataset ${t+1}`,data:d[0].map((e=>r[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,h=e&&i.A[e];return r.createElement(c.tt,{key:e},f&&h?r.createElement(r.Fragment,null,r.createElement(c.Kb,null,r.createElement(c.OV,{onClick:()=>{const e=(e=>{const t="https://search.rcsb.org/query-editor.html?json=";return e?.searchRequest?`${t}${encodeURIComponent(JSON.stringify(e.searchRequest))}`:t})(E);e&&window.open(e,"_blank")}},r.createElement(b.Pcn,null)," Search API")),r.createElement(n.A,{data:f,options:h,isOverallPlot:l,isDistPlot:!1})):r.createElement(c.tt,null,r.createElement(s.A,{error:new Error("No data available")})))}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[991],{991:(e,t,r)=>{r.d(t,{F3:()=>g,Tb:()=>b,_1:()=>d});var a=r(3503),i=r.n(a);const s=(e,t,r)=>r.filter((r=>r[e]===t)),n=(e,t,r)=>{let a={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((i=>"summary"===i[e]&&i[e]===t?(i.request_options&&(a.request_options=i.request_options),a.request_info.query_id=o(a),delete a.query,i.requestQuery=a,r):"distribution-molecular-weight-entity"===i[e]&&i[e]===t?(i.parameters?a.query.parameters=i.parameters:delete a.query,i.facets&&(a.request_options.facets=i.facets,a.return_type="polymer_entity"),a.request_info.query_id=o(a),i.requestQuery=a,r):"distribution-chem-comp-molecular-weight"===i[e]&&i[e]===t||"growth-released-chem-comp"===i[e]&&i[e]===t?(i.parameters?(a.type="terminal",a.service="text_chem",a.query.parameters=i.parameters):delete a.query,i.facets&&(a.request_options.facets=i.facets,a.return_type="mol_definition"),a.request_info.query_id=o(a),i.requestQuery=a,r):i[e]===t?(i.parameters?a.query.parameters=i.parameters:delete a.query,i.facets&&(a.request_options.facets=i.facets),a.request_info.query_id=o(a),i.requestQuery=a,r):void 0))},o=e=>{const{query:t,return_type:r}=e;return i()(JSON.stringify(t)+r)};var c=r(8132),l=r(7231),u=r(3444);const _=[{key:"summary",title:"by Experimental Method and Molecular Type",description:"PDB Data Distribution by Experimental Method and Molecular Type",request_options:{facets:[{name:"rcsb_entry_info.experimental_method",aggregation_type:"terms",attribute:"rcsb_entry_info.experimental_method",facets:[{name:"rcsb_entry_info.selected_polymer_entity_types",aggregation_type:"terms",attribute:"rcsb_entry_info.selected_polymer_entity_types"}]}],paginate:{start:0,rows:0}}},{key:"distribution-source-organism-natural",title:"by Natural Source Organism",description:"PDB Data Distribution by Natural Source Organism",header_label:"Natural Source Organism",stats_notes:"Source organism for these structures is from a natural, non-modified source.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}},min_interval_population:1}]},{key:"taxonomy",title:"by Taxonomy",description:"PDB Data Distribution by Taxonomy",header_label:"Taxonomy",stats_notes:"Taxonomy",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}},min_interval_population:1}]},{key:"enzyme-classification-name",title:"by Taxonomy",description:"PDB Data Distribution by Enzyme Classification",header_label:"Enzyme Classification",stats_notes:"Enzyme Classification",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}},min_interval_population:1}]},{key:"assembly-symmetry-dist",title:"by Assembly Symmetry",description:"PDB Data Distribution by Assembly Symmetry",header_label:"Assembly Symmetry",stats_notes:"Assembly Symmetry",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}},min_interval_population:1}]},{key:"scop-classification",title:"by SCOP Classification",description:"PDB Data Distribution by SCOP Classification",header_label:"SCOP Classification",stats_notes:"SCOP Classification",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"natural"}},min_interval_population:1}]},{key:"distribution-modified-organism-gene",title:"by Engineered Source Organism",description:"PDB Data Distribution by Engineered Source Organism",header_label:"Engineered Source Organism",stats_notes:"Source organism for these structures is from a genetically manipulated source.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.ncbi_scientific_name",operator:"exact_match",value:"Homo sapiens"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"genetically engineered"}}]},facets:[{name:"rcsb_entity_source_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_source_organism.ncbi_scientific_name",filter:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_source_organism.source_type",operator:"exact_match",value:"genetically engineered"}},min_interval_population:1}]},{key:"distribution-expression-organism-gene",title:"by Expression System Organism",description:"PDB Data Distribution by Expression System Organism",header_label:"Expression System Organism",stats_notes:"Expression organism for these structures is from a genetically manipulated source.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entity_host_organism.ncbi_scientific_name",operator:"exact_match"}}]},facets:[{name:"rcsb_entity_host_organism.ncbi_scientific_name",aggregation_type:"terms",attribute:"rcsb_entity_host_organism.ncbi_scientific_name",min_interval_population:1}]},{key:"distribution-resolution",title:"by Resolution",description:"PDB Data Distribution by Resolution",header_label:"Resolution (&#8491;ngstrom)",stats_notes:"Distribution by structure <a target='_blank' href='https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/crystallographic-data'>resolution</a>. Data shown include structures solved by X-ray crystallography or electron microscopy.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.resolution_combined",operator:"range"}}]},facets:h("rcsb_entry_info.resolution_combined",1,4.6,.2,!0)},{key:"distribution-software",title:"by Software",description:"PDB Data Distribution by Processing Software",header_label:"Software Used",stats_notes:"Data shown include structures solved by any experiment methods.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.software_programs_combined",operator:"exact_match"}}]},facets:[{name:"rcsb_entry_info.software_programs_combined",aggregation_type:"terms",attribute:"rcsb_entry_info.software_programs_combined",min_interval_population:1}]},{key:"distribution-r-free",title:"by R-free",description:"PDB Data Distribution by R-free",header_label:"R-free (%)",stats_notes:"Distribution of PDB structures by <a target='_blank' href='https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/crystallographic-data'>R-free</a>. Data shown include structures solved by X-ray crystallography or electron microscopy.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"refine.ls_R_factor_R_free",operator:"range"}}]},facets:h("refine.ls_R_factor_R_free",.14,.32,.01,!0)},{key:"distribution-space-group",title:"by Space Group",description:"PDB Data Distribution by Space Group",header_label:"Space Group",stats_notes:"Distribution of Hermann-Mauguin Space Groups of released structures in the PDB.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"symmetry.space_group_name_H_M",operator:"exact_match"}}]},facets:[{name:"symmetry.space_group_name_H_M",aggregation_type:"terms",attribute:"symmetry.space_group_name_H_M",min_interval_population:1}]},{key:"distribution-journal",title:"by Journal",description:"PDB Data Distribution by Journal",header_label:"Journal",stats_notes:"Distribution by journal for the primary reference associated with a structure.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_primary_citation.rcsb_journal_abbrev",operator:"exact_match"}}]},facets:[{name:"rcsb_primary_citation.rcsb_journal_abbrev",aggregation_type:"terms",attribute:"rcsb_primary_citation.rcsb_journal_abbrev",min_interval_population:1}]},{key:"distribution-molecular-weight-structure",title:"by Molecular Weight (Structure)",description:"PDB Data Distribution by Molecular Weight (Structure)",header_label:"Molecular Weight (Daltons)",stats_notes:"All macromolecules, small molecules, and ions are included, except for water molecules. Molecular weight is calculated for all atoms, including those not observed in the experiment. Molecular weight of all non-water atoms in the <a target='_blank' href='https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/biological-assemblies'>asymmetric unit</a>.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.molecular_weight",operator:"range"}}]},facets:h("rcsb_entry_info.molecular_weight",20,380,20,!1)},{key:"distribution-molecular-weight-entity",title:"by Molecular Weight (Entity)",description:"PDB Data Distribution by Molecular Weight (Entity)",header_label:"Molecular Weight (Daltons)",stats_notes:"Molecular weight is calculated for each chemically distinct component of a PDB structure, e.g. protein, nucleic acid.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_polymer_entity.formula_weight",operator:"range"}}]},return_type:"polymer_entity",facets:h("rcsb_polymer_entity.formula_weight",5,75,5,!1)},{key:"distribution-atom-count",title:"by Atom Count",description:"PDB Data Distribution by Atom Count",header_label:"Atom Count Range",stats_notes:"Distribution of released structures by the number of observed atoms excluding atoms in water molecules.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.deposited_atom_count",operator:"range"}}]},facets:h("rcsb_entry_info.deposited_atom_count",1e3,19e3,1e3,!1)},{key:"distribution-residue-count",title:"by Residue Count",description:"PDB Data Distribution by Residue Count",header_label:"Residue Count Range",stats_notes:"Distribution of released structures by the number of residues in macromolecules. All residues specified in macromolecular chains (i.e. full sequence) are counted even if not all of them are observed in the structure.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.deposited_polymer_monomer_count",operator:"range"}}]},facets:h("rcsb_entry_info.deposited_polymer_monomer_count",100,1900,100,!1)},{key:"distribution-structural-genomics-centers",title:"by Structural Genomics Centers",description:"PDB Data Distribution by Structural Genomics Centers",header_label:"Structural Genomics Center",stats_notes:"Distribution of PDB structures contributed by Structural Genomics projects. These efforts are pursued by dedicated centers focused on the high throughput determination of large numbers of protein structures.",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"pdbx_SG_project.full_name_of_center",operator:"exact_match"}}]},facets:[{name:"pdbx_SG_project.full_name_of_center",aggregation_type:"terms",attribute:"pdbx_SG_project.full_name_of_center",min_interval_population:1}]}],p=[{key:"growth-released-structures",title:"Overall",description:"Overall Growth of Released Structures Per Year",stats_notes:"This chart shows the growth in the number of structures released annually in the PDB over time. The data is aggregated by year, allowing for an overview of how the database has expanded.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:l.AggregationType.DateHistogram,attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:1}]},{key:"overall-small-molecules",title:"by Small Molecules Only",description:"Small Molecule-only Structures Released Per Year",stats_notes:"This chart tracks the growth of structures that exclusively contain small molecules released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.selected_polymer_entity_types",operator:"exact_match",value:"Small Molecule (only)"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"experimental-method",title:"Growth",description:"Overall Growth By Experimental Method",stats_notes:"This chart visualizes the growth in PDB entries categorized by different experimental methods, such as X-ray crystallography, NMR, or EM, over time.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.experimental_method",operator:"exact_match"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:"date_histogram",attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:1,facets:[{name:`FACET/${c.e.Exptl.Method.path}`,aggregation_type:l.AggregationType.Terms,attribute:"rcsb_entry_info.experimental_method",min_interval_population:1}]}],return_type:l.ReturnType.Entry},{key:"molecular-composition",title:"by Molecular Composition",description:"PDB Data Growth by Molecular Composition",stats_notes:"This chart highlights the growth of PDB entries based on their molecular composition, such as proteins, nucleic acids, and small molecules.",header_label:"Molecular Composition",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.selected_polymer_entity_types",operator:"terms"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:l.AggregationType.DateHistogram,attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:0,facets:[{name:`FACET/${c.e.Exptl.Method.path}`,aggregation_type:l.AggregationType.Terms,attribute:"rcsb_entry_info.selected_polymer_entity_types"}]}],return_type:l.ReturnType.Entry},{key:"assembly-symmetry",title:"by Assembly Symmetry",description:"PDB Data Growth by Assembly Symmetry",stats_notes:"This chart shows the growth of PDB entries based on their global assembly symmetry classifications.",header_label:"Assembly Symmetry",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_struct_symmetry.type",operator:"terms"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:l.AggregationType.DateHistogram,attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:0,facets:[{name:`FACET/${c.e.RcsbStructSymmetry.Kind.enum["Global Symmetry"]}`,aggregation_type:l.AggregationType.Terms,attribute:"rcsb_struct_symmetry.type"}]}],return_type:l.ReturnType.Entry},{key:"number-of-domains",title:"by Number of Domains",description:"PDB Data Growth by Number of Unique Domains",stats_notes:"This chart visualizes the growth of structures by the number of unique domains, with domains classified by matching UniProtKB accession.",header_label:"Number of Domains",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_polymer_entity_group_membership.aggregation_method",operator:"exact_match",value:"matching_uniprot_accession"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:l.AggregationType.DateHistogram,attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:0,facets:[{name:"Unique UniProtKB Entries",aggregation_type:l.AggregationType.Terms,attribute:"rcsb_polymer_entity_group_membership.group_id"}]}],return_type:l.ReturnType.Entry},{key:"unique-protein-sequences",title:"by Unique Protein Sequences",description:"PDB Data Growth by Unique Protein Sequences",stats_notes:"This chart illustrates the growth of PDB structures based on the number of unique protein sequences, identified through UniProtKB accession matching.",header_label:"Unique Protein Sequences",header_label_sort:"alphabetical",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_polymer_entity_group_membership.aggregation_method",operator:"exact_match",value:"matching_uniprot_accession"}}]},facets:[{name:`FACET/${c.e.RcsbAccessionInfo.InitialReleaseDate.path}`,aggregation_type:l.AggregationType.DateHistogram,attribute:c.e.RcsbAccessionInfo.InitialReleaseDate.path,interval:l.Interval.Year,min_interval_population:0,facets:[{name:"Unique UniProtKB Entries",aggregation_type:l.AggregationType.Terms,attribute:"rcsb_polymer_entity_group_membership.group_id"}]}],return_type:l.ReturnType.Entry},{key:"growth-xray",title:"by X-ray",description:"Growth of Structures from X-ray Crystallography Experiments Released per Year",stats_notes:"This chart shows the growth of structures obtained from X-ray crystallography experiments released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.experimental_method",operator:"exact_match",value:"X-ray"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-nmr",title:"by NMR",description:"Growth of Structures from NMR Experiments Released per Year",stats_notes:"This chart shows the growth of structures obtained from NMR experiments released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.experimental_method",operator:"exact_match",value:"NMR"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-em",title:"by Electron Microscopy",description:"Growth of Structures from 3DEM Experiments Released per Year",stats_notes:"This chart tracks the annual growth of structures obtained from electron microscopy experiments released in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.experimental_method",operator:"exact_match",value:"EM"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-multi-method",title:"by Multi-method",description:"Growth of Structures by Multi-method per Year",stats_notes:"This chart visualizes the growth of structures obtained using multiple experimental methods, released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.experimental_method",operator:"exact_match",value:"Multiple methods"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-protein",title:"by Protein-only",description:"Protein-only Structures Released Per Year",stats_notes:"This chart shows the growth in structures that contain only proteins, released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.selected_polymer_entity_types",operator:"exact_match",value:"Protein (only)"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-protein-na-complex",title:"by Protein-Nucleic Acid Complexes",description:"Protein-Nucleic Acid Complexes Released Per Year",stats_notes:"This chart tracks the annual growth of structures that contain protein and nucleic acid complexes released in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.selected_polymer_entity_types",operator:"exact_match",value:"Protein/NA"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-dna",title:"by DNA-only",description:"DNA-only Structures Released Per Year",stats_notes:"This chart tracks the growth of DNA-only structures released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.polymer_composition",operator:"exact_match",value:"DNA"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]},{key:"growth-rna",title:"by RNA-only",description:"RNA-only Structures Released Per Year",stats_notes:"This chart tracks the growth of RNA-only structures released annually in the PDB.",ref_url:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_accession_info.initial_release_date",operator:"range"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.polymer_composition",operator:"exact_match",value:"RNA"}}]},facets:[{name:"rcsb_accession_info.initial_release_date",aggregation_type:"date_histogram",attribute:"rcsb_accession_info.initial_release_date",interval:"year"}]}],m=[{key:"cluster-ids-",title:"Number of Unique Protein Sequences within Released PDB Structures (Annual)",description:"Number of Unique Protein Sequences within Released PDB Structures (Annual) at Identity ",header_label:"Number of Unique Protein Sequences",stats_notes:"<p>This chart shows the total number of unique protein sequence clusters in PDB structures released within each year. Unique sequence clusters are defined using the sequence identity (SI). A value of 95% SI is used by default, since for practical purposes this identifies proteins with few differences, and thus can be considered to be the same sequence. The chart can also be redrawn with a more stringent 100% SI criterion, or with lower SI values that identify unique protein families (70% SI) or unique protein folds (30% SI).<br>The annual numbers of protein sequences may be displayed by specific levels of SI, either separately in different charts or simultaneously in the same chart. </p><p><em>Note</em>: The number of unique sequences in the statistics table is linked to the sequence cluster search result page. There is a default precision threshold in calculating the numbers for performance balance. So the statistics count may have a slight discrepancy compared to the actual non-redundant group search result when the result count approaches or goes above 10,000. The group search result page provides an accurate count. The statistics page provides the trend.</p>"},{key:"matching-uniprot",title:"UniProtKB Entries with Known 3D Structure (Annual)",description:"UniProtKB Entries with Known 3D Structure (Annual) ",header_label:"UniProtKB Entries with Known 3D Structure",stats_notes:"This chart shows the total number of unique UniProtKB entries in PDB structures released within each year. <p><em>Note</em>: The number of unique UniProtKB entries in the statistics table is linked to the group search result page. There is a default precision threshold in calculating the numbers for performance balance. So the statistics count may have a slight discrepancy compared to the actual non-redundant group search result when the result count approaches or goes above 10,000. The group search result page provides an accurate count. The statistics page provides the trend.</p>"}],y=[{key:"cluster-ids-",title:"Growth in Number of Unique Protein Sequences in Released PDB Structures (Cumulative)",description:"Growth in Number of Unique Protein Sequences in Released PDB Structures (Cumulative) at Identity ",header_label:"Number of Unique Protein Sequences",stats_notes:"<p>This chart shows the annual and cumulative numbers of protein sequences in released PDB structures. The chart can be viewed for a few different levels of sequence identity since the beginning of the PDB archive. The cumulative bars represent the growth in unique protein sequences (number of polymeric entities) across history. The yearly bars (dark blue) tell how many new protein sequences were added in a certain year.</p> <p><em>Note</em>: The total number of sequence clusters in the statistics table is linked to the sequence cluster group search result page. There is a default precision threshold in calculating the numbers for performance balance. So the statistics count may have a slight discrepancy compared to the actual non-redundant group search result when the result count approaches or goes above 10,000. The group search result page provides an accurate count. The statistics page provides the trend.</p>"},{key:"matching-uniprot",title:"Growth in Number of UniProtKB Entries with Known 3D Structure (Cumulative)",description:"Growth in Number of UniProtKB Entries with Known 3D Structure (Cumulative)",header_label:"UniProtKB Entries with Known 3D Structure",stats_notes:"This chart shows the annual and cumulative numbers of unique UniProtKB entries in released PDB structures. The yearly bars (dark blue) tell how many new UniProtKB entries were added in a certain year.<p><em>Note</em>: The total number of unique UniProtKB entries in the statistics table is linked to the group search result page. There is a default precision threshold in calculating the numbers for performance balance. So the statistics count may have a slight discrepancy compared to the actual non-redundant group search result when the result count approaches or goes above 10,000. The group search result page provides an accurate count. The statistics page provides the trend.</p>"}],b=(h("chem_comp.formula_weight",100,2e3,100,!0),{getHeaderText:e=>s("key",e,_)?.[0]?.header_label??"",getLabelSort:e=>s("key",e,_)?.[0]?.header_label_sort??"",getNote:e=>s("key",e,_)?.[0]?.stats_notes??"",getSanitizedData:(e,t)=>({}),getGrowthTitle:e=>s("key",e,p)?.[0]?.description??"",getGrowthSearchUrl:e=>s("key",e,p)?.[0]?.ref_url,getGrowthObject:e=>n("key",e,p)?.[0],getDistributionSearchUrl:e=>s("key",e,_)?.[0]?.ref_url,getDistributionTitle:e=>s("key",e,_)?.[0]?.description??"",getDistributionObject:e=>n("key",e,_)?.[0],getNrObject:e=>e.startsWith("cluster-ids-")?n("key","cluster-ids-",m)?.[0]:n("key",e,m)?.[0],getNrGrowthObject:e=>e.startsWith("cluster-ids-")?n("key","cluster-ids-",y)?.[0]:n("key",e,y)?.[0]}),d=[{text:"Growth by Overall Structures",link:u.A.PDB_DATA_GROWTH("overall-structures")},{text:"Growth by Overall Small Molecules",link:u.A.PDB_DATA_GROWTH("overall-small-molecules")},{text:"Growth by Experimental Method",link:u.A.PDB_DATA_GROWTH("experimental-method")},{text:"Growth by Molecular Composition",link:u.A.PDB_DATA_GROWTH("molecular-composition")},{text:"Growth by Assembly Symmetry",link:u.A.PDB_DATA_GROWTH("assembly-symmetry")},{text:"Growth by Number of Domains",link:u.A.PDB_DATA_GROWTH("number-of-domains")},{text:"Growth by Unique Protein Sequences",link:u.A.PDB_DATA_GROWTH("unique-protein-sequences")},{text:"Distribution by Resolution",link:u.A.PDB_DATA_DISTRIBUTION("distribution-resolution")},{text:"Distribution by R-free",link:u.A.PDB_DATA_DISTRIBUTION("distribution-r-free")},{text:"Distribution by Molecular Weight (Structure)",link:u.A.PDB_DATA_DISTRIBUTION("distribution-molecular-weight-structure")},{text:"Distribution by Atom Count",link:u.A.PDB_DATA_DISTRIBUTION("distribution-atom-count")},{text:"Distribution by Residue Count",link:u.A.PDB_DATA_DISTRIBUTION("distribution-residue-count")},{text:"Distribution by Source Organism",link:u.A.PDB_DATA_DISTRIBUTION("distribution-source-organism-natural")},{text:"Distribution by Taxonomy",link:u.A.PDB_DATA_DISTRIBUTION("taxonomy")},{text:"Distribution by Processing Software",link:u.A.PDB_DATA_DISTRIBUTION("distribution-software")},{text:"Distribution by Space Groups",link:u.A.PDB_DATA_DISTRIBUTION("distribution-space-group")},{text:"Distribution by Publication Journal",link:u.A.PDB_DATA_DISTRIBUTION("distribution-journal")},{text:"Distribution by Structural Genomics Centers",link:u.A.PDB_DATA_DISTRIBUTION("distribution-structural-genomics-centers")},{text:"Distribution by Enzyme Classification",link:u.A.PDB_DATA_DISTRIBUTION("enzyme-classification-name")},{text:"Distribution by Assembly Symmetry",link:u.A.PDB_DATA_DISTRIBUTION("assembly-symmetry-dist")},{text:"Distribution by SCOP Classification",link:u.A.PDB_DATA_DISTRIBUTION("scop-classification")}];function h(e,t,r,a,i){const s=[];let n=t;for(;n<r;){const e=i?parseFloat((n+a).toFixed(2)):n+a;s.push({key:`${n}-${e}`,value:{gte:n,lt:e}}),n=e}return s.push({key:`>=${r}`,value:{gte:r}}),[{name:e,aggregation_type:"range",attribute:e,facets:s.map((t=>({name:`${t.key}`,aggregation_type:"range",attribute:e,filter:{type:"range",service:"text",parameters:{attribute:e,operator:"range",value:`${t.value.gte}-${t.value.lt}`}}})))}]}function g(e,t,r){if(!e)return"";const a={from:`${t}-01-01T00:00:00Z`,to:`${t}-12-31T23:59:59Z`,include_lower:!0,include_upper:!0};if(e.parameters)e.parameters.value=a;else{if(!e.nodes||!e.nodes[0]?.parameters)throw new Error("Invalid object structure for query");e.nodes[0].parameters.value=a}const i={query:e,request_info:{src:"ui",query_id:"growth_stats"},return_type:r},s=JSON.stringify(i);return`/search?request=${encodeURIComponent(s)}`}}}]);