Skip to content
Snippets Groups Projects
Commit 76ee9730 authored by dsehnal's avatar dsehnal
Browse files

atom_site.pdbx_label_index support

parent 289dc09e
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,7 @@ atom_site.auth_asym_id ...@@ -24,6 +24,7 @@ atom_site.auth_asym_id
atom_site.auth_seq_id atom_site.auth_seq_id
atom_site.pdbx_PDB_model_num atom_site.pdbx_PDB_model_num
atom_site.ihm_model_id atom_site.ihm_model_id
atom_site.pdbx_label_index
atom_site.pdbx_sifts_xref_db_name atom_site.pdbx_sifts_xref_db_name
atom_site.pdbx_sifts_xref_db_acc atom_site.pdbx_sifts_xref_db_acc
atom_site.pdbx_sifts_xref_db_num atom_site.pdbx_sifts_xref_db_num
......
...@@ -215,6 +215,11 @@ export const mmCIF_Schema = { ...@@ -215,6 +215,11 @@ export const mmCIF_Schema = {
* formal charge assignment normally found in chemical diagrams. * formal charge assignment normally found in chemical diagrams.
*/ */
pdbx_formal_charge: int, pdbx_formal_charge: int,
/**
* This data item is an ordinal which identifies distinct chemical components in the atom_site category, both
* polymeric and non-polymeric.
*/
pdbx_label_index: int,
/** /**
* The name of additional external databases with residue level mapping. * The name of additional external databases with residue level mapping.
*/ */
......
...@@ -30,6 +30,17 @@ function atom_site_auth_asym_id(e: StructureElement.Location) { ...@@ -30,6 +30,17 @@ function atom_site_auth_asym_id(e: StructureElement.Location) {
return l + suffix; return l + suffix;
} }
const atom_site_pdbx_label_index = {
shouldInclude(s: AtomSiteData) {
return !!s.atom_site?.pdbx_label_index.isDefined;
},
value(e: StructureElement.Location, d: AtomSiteData) {
const srcIndex = d.sourceIndex.value(e.element);
return d.atom_site!.pdbx_label_index.value(srcIndex);
},
};
const SIFTS = { const SIFTS = {
shouldInclude(s: AtomSiteData) { shouldInclude(s: AtomSiteData) {
return SIFTSMapping.isAvailable(s.structure.models[0]); return SIFTSMapping.isAvailable(s.structure.models[0]);
...@@ -113,6 +124,8 @@ const atom_site_fields = () => CifWriter.fields<StructureElement.Location, AtomS ...@@ -113,6 +124,8 @@ const atom_site_fields = () => CifWriter.fields<StructureElement.Location, AtomS
.int('pdbx_PDB_model_num', P.unit.model_num, { encoder: E.deltaRLE }) .int('pdbx_PDB_model_num', P.unit.model_num, { encoder: E.deltaRLE })
.int('pdbx_label_index', atom_site_pdbx_label_index.value, { shouldInclude: atom_site_pdbx_label_index.shouldInclude })
// SIFTS // SIFTS
.str('pdbx_sifts_xref_db_name', SIFTS.pdbx_sifts_xref_db_name.value, { shouldInclude: SIFTS.shouldInclude, valueKind: SIFTS.pdbx_sifts_xref_db_name.valueKind }) .str('pdbx_sifts_xref_db_name', SIFTS.pdbx_sifts_xref_db_name.value, { shouldInclude: SIFTS.shouldInclude, valueKind: SIFTS.pdbx_sifts_xref_db_name.valueKind })
.str('pdbx_sifts_xref_db_acc', SIFTS.pdbx_sifts_xref_db_acc.value, { shouldInclude: SIFTS.shouldInclude, valueKind: SIFTS.pdbx_sifts_xref_db_acc.valueKind }) .str('pdbx_sifts_xref_db_acc', SIFTS.pdbx_sifts_xref_db_acc.value, { shouldInclude: SIFTS.shouldInclude, valueKind: SIFTS.pdbx_sifts_xref_db_acc.valueKind })
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
*/ */
import { Segmentation } from '../../../../mol-data/int'; import { Segmentation } from '../../../../mol-data/int';
import { Mat4 } from '../../../../mol-math/linear-algebra';
import { MinimizeRmsd } from '../../../../mol-math/linear-algebra/3d/minimize-rmsd'; import { MinimizeRmsd } from '../../../../mol-math/linear-algebra/3d/minimize-rmsd';
import { SIFTSMapping } from '../../../../mol-model-props/sequence/sifts-mapping'; import { SIFTSMapping } from '../../../../mol-model-props/sequence/sifts-mapping';
import { ElementIndex } from '../../model/indexing'; import { ElementIndex } from '../../model/indexing';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment