├── .github └── workflows │ └── build.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── performance.png ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── rcsb │ │ └── cif │ │ ├── CifBuilder.java │ │ ├── CifIO.java │ │ ├── CifOptions.java │ │ ├── Demo.java │ │ ├── EmptyColumnException.java │ │ ├── EncodingException.java │ │ ├── EncodingStrategyHint.java │ │ ├── ParsingException.java │ │ ├── SchemaMismatchException.java │ │ ├── binary │ │ ├── BinaryCifReader.java │ │ ├── BinaryCifWriter.java │ │ ├── Classifier.java │ │ ├── codec │ │ │ ├── BinaryCifCodec.java │ │ │ └── MessagePackCodec.java │ │ ├── data │ │ │ ├── AbstractEncodedData.java │ │ │ ├── ByteArray.java │ │ │ ├── EncodedData.java │ │ │ ├── Float32Array.java │ │ │ ├── Float64Array.java │ │ │ ├── FloatArray.java │ │ │ ├── Int16Array.java │ │ │ ├── Int32Array.java │ │ │ ├── Int8Array.java │ │ │ ├── IntArray.java │ │ │ ├── NumberArray.java │ │ │ ├── SignedIntArray.java │ │ │ ├── StringArray.java │ │ │ ├── Uint16Array.java │ │ │ ├── Uint32Array.java │ │ │ ├── Uint8Array.java │ │ │ └── UnsignedIntArray.java │ │ └── encoding │ │ │ ├── ByteArrayEncoding.java │ │ │ ├── DeltaEncoding.java │ │ │ ├── Encoding.java │ │ │ ├── FixedPointEncoding.java │ │ │ ├── IntegerPackingEncoding.java │ │ │ ├── IntervalQuantizationEncoding.java │ │ │ ├── RunLengthEncoding.java │ │ │ └── StringArrayEncoding.java │ │ ├── model │ │ ├── Block.java │ │ ├── BlockBuilder.java │ │ ├── Category.java │ │ ├── CategoryBuilder.java │ │ ├── CifFile.java │ │ ├── CifFileBuilder.java │ │ ├── Column.java │ │ ├── ColumnBuilder.java │ │ ├── FloatColumn.java │ │ ├── FloatColumnBuilder.java │ │ ├── IntColumn.java │ │ ├── IntColumnBuilder.java │ │ ├── LinkedCaseInsensitiveMap.java │ │ ├── StrColumn.java │ │ ├── StrColumnBuilder.java │ │ ├── ValueKind.java │ │ ├── binary │ │ │ ├── BinaryBlock.java │ │ │ ├── BinaryCategory.java │ │ │ ├── BinaryColumn.java │ │ │ ├── BinaryFile.java │ │ │ ├── BinaryFloatColumn.java │ │ │ ├── BinaryIntColumn.java │ │ │ └── BinaryStrColumn.java │ │ ├── builder │ │ │ ├── BlockBuilderImpl.java │ │ │ ├── CategoryBuilderImpl.java │ │ │ ├── CifFileBuilderImpl.java │ │ │ ├── ColumnBuilderImpl.java │ │ │ ├── FloatColumnBuilderImpl.java │ │ │ ├── IntColumnBuilderImpl.java │ │ │ └── StrColumnBuilderImpl.java │ │ └── text │ │ │ ├── TextBlock.java │ │ │ ├── TextCategory.java │ │ │ ├── TextColumn.java │ │ │ └── TextFile.java │ │ ├── schema │ │ ├── CifCoreSchemaProvider.java │ │ ├── DelegatingBlock.java │ │ ├── DelegatingCategory.java │ │ ├── DelegatingCifFile.java │ │ ├── DelegatingColumn.java │ │ ├── DelegatingFloatColumn.java │ │ ├── DelegatingIntColumn.java │ │ ├── DelegatingStrColumn.java │ │ ├── MmCifSchemaProvider.java │ │ ├── SchemaProvider.java │ │ ├── StandardSchemata.java │ │ ├── core │ │ │ ├── AtomAnalytical.java │ │ │ ├── AtomAnalyticalMassLoss.java │ │ │ ├── AtomAnalyticalSource.java │ │ │ ├── AtomScatVersusStol.java │ │ │ ├── AtomSite.java │ │ │ ├── AtomSiteAniso.java │ │ │ ├── AtomSiteAnisotrop.java │ │ │ ├── AtomSites.java │ │ │ ├── AtomSitesCartnTransform.java │ │ │ ├── AtomSitesFractTransform.java │ │ │ ├── AtomType.java │ │ │ ├── AtomTypeScat.java │ │ │ ├── Audit.java │ │ │ ├── AuditAuthor.java │ │ │ ├── AuditAuthorRole.java │ │ │ ├── AuditConform.java │ │ │ ├── AuditContactAuthor.java │ │ │ ├── AuditLink.java │ │ │ ├── AuditSupport.java │ │ │ ├── Cell.java │ │ │ ├── CellAngle.java │ │ │ ├── CellMeasurement.java │ │ │ ├── CellMeasurementRefln.java │ │ │ ├── ChemCompBond.java │ │ │ ├── Chemical.java │ │ │ ├── ChemicalConnAtom.java │ │ │ ├── ChemicalConnBond.java │ │ │ ├── ChemicalFormula.java │ │ │ ├── CifCoreBlock.java │ │ │ ├── CifCoreBlockBuilder.java │ │ │ ├── CifCoreCategoryBuilder.java │ │ │ ├── CifCoreFile.java │ │ │ ├── CifCoreFileBuilder.java │ │ │ ├── Citation.java │ │ │ ├── CitationAuthor.java │ │ │ ├── CitationEditor.java │ │ │ ├── Computing.java │ │ │ ├── Database.java │ │ │ ├── DatabaseCode.java │ │ │ ├── DatabaseRelated.java │ │ │ ├── Diffrn.java │ │ │ ├── DiffrnAttenuator.java │ │ │ ├── DiffrnDetector.java │ │ │ ├── DiffrnMeasurement.java │ │ │ ├── DiffrnOrientMatrix.java │ │ │ ├── DiffrnOrientRefln.java │ │ │ ├── DiffrnRadiation.java │ │ │ ├── DiffrnRadiationWavelength.java │ │ │ ├── DiffrnRefln.java │ │ │ ├── DiffrnReflns.java │ │ │ ├── DiffrnReflnsClass.java │ │ │ ├── DiffrnReflnsTransfMatrix.java │ │ │ ├── DiffrnScaleGroup.java │ │ │ ├── DiffrnSource.java │ │ │ ├── DiffrnStandardRefln.java │ │ │ ├── DiffrnStandards.java │ │ │ ├── DisplayColour.java │ │ │ ├── Exptl.java │ │ │ ├── ExptlAbsorpt.java │ │ │ ├── ExptlCrystal.java │ │ │ ├── ExptlCrystalAppearance.java │ │ │ ├── ExptlCrystalFace.java │ │ │ ├── Function.java │ │ │ ├── Geom.java │ │ │ ├── GeomAngle.java │ │ │ ├── GeomBond.java │ │ │ ├── GeomContact.java │ │ │ ├── GeomHbond.java │ │ │ ├── GeomTorsion.java │ │ │ ├── Journal.java │ │ │ ├── JournalCoeditor.java │ │ │ ├── JournalDate.java │ │ │ ├── JournalIndex.java │ │ │ ├── JournalTecheditor.java │ │ │ ├── ModelSite.java │ │ │ ├── Publ.java │ │ │ ├── PublAuthor.java │ │ │ ├── PublBody.java │ │ │ ├── PublContactAuthor.java │ │ │ ├── PublManuscript.java │ │ │ ├── PublManuscriptIncl.java │ │ │ ├── PublManuscriptInclExtra.java │ │ │ ├── PublRequested.java │ │ │ ├── PublSection.java │ │ │ ├── Refine.java │ │ │ ├── RefineDiff.java │ │ │ ├── RefineLs.java │ │ │ ├── RefineLsClass.java │ │ │ ├── Refln.java │ │ │ ├── Reflns.java │ │ │ ├── ReflnsClass.java │ │ │ ├── ReflnsScale.java │ │ │ ├── ReflnsShell.java │ │ │ ├── SpaceGroup.java │ │ │ ├── SpaceGroupGenerator.java │ │ │ ├── SpaceGroupSymop.java │ │ │ ├── SpaceGroupWyckoff.java │ │ │ ├── Symmetry.java │ │ │ ├── SymmetryEquiv.java │ │ │ ├── ValenceParam.java │ │ │ └── ValenceRef.java │ │ ├── generator │ │ │ ├── Col.java │ │ │ ├── CoordCol.java │ │ │ ├── EnumCol.java │ │ │ ├── FloatCol.java │ │ │ ├── IntCol.java │ │ │ ├── ListCol.java │ │ │ ├── MatrixCol.java │ │ │ ├── SchemaGenerator.java │ │ │ ├── StrCol.java │ │ │ ├── Table.java │ │ │ └── VectorCol.java │ │ └── mm │ │ │ ├── ArrayData.java │ │ │ ├── ArrayIntensities.java │ │ │ ├── ArrayStructure.java │ │ │ ├── ArrayStructureList.java │ │ │ ├── ArrayStructureListAxis.java │ │ │ ├── ArrayStructureListSection.java │ │ │ ├── AtomSite.java │ │ │ ├── AtomSiteAnisotrop.java │ │ │ ├── AtomSites.java │ │ │ ├── AtomSitesAlt.java │ │ │ ├── AtomSitesAltEns.java │ │ │ ├── AtomSitesAltGen.java │ │ │ ├── AtomSitesFootnote.java │ │ │ ├── AtomType.java │ │ │ ├── Audit.java │ │ │ ├── AuditAuthor.java │ │ │ ├── AuditConform.java │ │ │ ├── AuditContactAuthor.java │ │ │ ├── AuditLink.java │ │ │ ├── Cell.java │ │ │ ├── CellMeasurement.java │ │ │ ├── CellMeasurementRefln.java │ │ │ ├── ChemComp.java │ │ │ ├── ChemCompAngle.java │ │ │ ├── ChemCompAtom.java │ │ │ ├── ChemCompBond.java │ │ │ ├── ChemCompChir.java │ │ │ ├── ChemCompChirAtom.java │ │ │ ├── ChemCompLink.java │ │ │ ├── ChemCompPlane.java │ │ │ ├── ChemCompPlaneAtom.java │ │ │ ├── ChemCompTor.java │ │ │ ├── ChemCompTorValue.java │ │ │ ├── ChemLink.java │ │ │ ├── ChemLinkAngle.java │ │ │ ├── ChemLinkBond.java │ │ │ ├── ChemLinkChir.java │ │ │ ├── ChemLinkChirAtom.java │ │ │ ├── ChemLinkPlane.java │ │ │ ├── ChemLinkPlaneAtom.java │ │ │ ├── ChemLinkTor.java │ │ │ ├── ChemLinkTorValue.java │ │ │ ├── Chemical.java │ │ │ ├── ChemicalConnAtom.java │ │ │ ├── ChemicalConnBond.java │ │ │ ├── ChemicalFormula.java │ │ │ ├── Citation.java │ │ │ ├── CitationAuthor.java │ │ │ ├── CitationEditor.java │ │ │ ├── Computing.java │ │ │ ├── Database.java │ │ │ ├── Database2.java │ │ │ ├── DatabasePDBCaveat.java │ │ │ ├── DatabasePDBMatrix.java │ │ │ ├── DatabasePDBRemark.java │ │ │ ├── DatabasePDBRev.java │ │ │ ├── DatabasePDBRevRecord.java │ │ │ ├── DatabasePDBTvect.java │ │ │ ├── Diffrn.java │ │ │ ├── DiffrnAttenuator.java │ │ │ ├── DiffrnDataFrame.java │ │ │ ├── DiffrnDetector.java │ │ │ ├── DiffrnDetectorAxis.java │ │ │ ├── DiffrnDetectorElement.java │ │ │ ├── DiffrnMeasurement.java │ │ │ ├── DiffrnOrientMatrix.java │ │ │ ├── DiffrnOrientRefln.java │ │ │ ├── DiffrnRadiation.java │ │ │ ├── DiffrnRadiationWavelength.java │ │ │ ├── DiffrnRefln.java │ │ │ ├── DiffrnReflns.java │ │ │ ├── DiffrnReflnsClass.java │ │ │ ├── DiffrnScaleGroup.java │ │ │ ├── DiffrnScan.java │ │ │ ├── DiffrnScanAxis.java │ │ │ ├── DiffrnScanCollection.java │ │ │ ├── DiffrnScanFrame.java │ │ │ ├── DiffrnScanFrameAxis.java │ │ │ ├── DiffrnSource.java │ │ │ ├── DiffrnStandardRefln.java │ │ │ ├── DiffrnStandards.java │ │ │ ├── Em2dCrystalEntity.java │ │ │ ├── Em2dProjectionSelection.java │ │ │ ├── Em3dCrystalEntity.java │ │ │ ├── Em3dFitting.java │ │ │ ├── Em3dFittingList.java │ │ │ ├── Em3dReconstruction.java │ │ │ ├── EmAdmin.java │ │ │ ├── EmAssembly.java │ │ │ ├── EmAuthorList.java │ │ │ ├── EmBuffer.java │ │ │ ├── EmBufferComponent.java │ │ │ ├── EmCrystalFormation.java │ │ │ ├── EmCtfCorrection.java │ │ │ ├── EmDbReference.java │ │ │ ├── EmDbReferenceAuxiliary.java │ │ │ ├── EmDepositorInfo.java │ │ │ ├── EmDepui.java │ │ │ ├── EmDetector.java │ │ │ ├── EmDiffraction.java │ │ │ ├── EmDiffractionShell.java │ │ │ ├── EmDiffractionStats.java │ │ │ ├── EmEmbedding.java │ │ │ ├── EmEntityAssembly.java │ │ │ ├── EmEntityAssemblyMolwt.java │ │ │ ├── EmEntityAssemblyNaturalsource.java │ │ │ ├── EmEntityAssemblyRecombinant.java │ │ │ ├── EmEntityAssemblySynthetic.java │ │ │ ├── EmEulerAngleAssignment.java │ │ │ ├── EmExperiment.java │ │ │ ├── EmFiducialMarkers.java │ │ │ ├── EmFigureDepositorInfo.java │ │ │ ├── EmFinalClassification.java │ │ │ ├── EmFocusedIonBeam.java │ │ │ ├── EmFscCurve.java │ │ │ ├── EmGridPretreatment.java │ │ │ ├── EmHelicalEntity.java │ │ │ ├── EmHighPressureFreezing.java │ │ │ ├── EmImageProcessing.java │ │ │ ├── EmImageRecording.java │ │ │ ├── EmImageScans.java │ │ │ ├── EmImaging.java │ │ │ ├── EmImagingOptics.java │ │ │ ├── EmInterpretFigure.java │ │ │ ├── EmLayerLines.java │ │ │ ├── EmLayerLinesDepositorInfo.java │ │ │ ├── EmMap.java │ │ │ ├── EmMapDepositorInfo.java │ │ │ ├── EmMaskDepositorInfo.java │ │ │ ├── EmMotionCorrection.java │ │ │ ├── EmObsolete.java │ │ │ ├── EmParticleSelection.java │ │ │ ├── EmSamplePreparation.java │ │ │ ├── EmSampleSupport.java │ │ │ ├── EmShadowing.java │ │ │ ├── EmSingleParticleEntity.java │ │ │ ├── EmSoftware.java │ │ │ ├── EmSpecimen.java │ │ │ ├── EmStaining.java │ │ │ ├── EmStartModel.java │ │ │ ├── EmStructureFactors.java │ │ │ ├── EmStructureFactorsDepositorInfo.java │ │ │ ├── EmSupersede.java │ │ │ ├── EmSupportFilm.java │ │ │ ├── EmTomography.java │ │ │ ├── EmTomographySpecimen.java │ │ │ ├── EmUltramicrotomy.java │ │ │ ├── EmVirusEntity.java │ │ │ ├── EmVirusNaturalHost.java │ │ │ ├── EmVirusShell.java │ │ │ ├── EmVirusSynthetic.java │ │ │ ├── EmVitrification.java │ │ │ ├── EmVolumeSelection.java │ │ │ ├── Entity.java │ │ │ ├── EntityKeywords.java │ │ │ ├── EntityLink.java │ │ │ ├── EntityNameCom.java │ │ │ ├── EntityNameSys.java │ │ │ ├── EntityPoly.java │ │ │ ├── EntityPolySeq.java │ │ │ ├── EntitySrcGen.java │ │ │ ├── EntitySrcNat.java │ │ │ ├── Entry.java │ │ │ ├── EntryLink.java │ │ │ ├── Exptl.java │ │ │ ├── ExptlCrystal.java │ │ │ ├── ExptlCrystalFace.java │ │ │ ├── ExptlCrystalGrow.java │ │ │ ├── ExptlCrystalGrowComp.java │ │ │ ├── Geom.java │ │ │ ├── GeomAngle.java │ │ │ ├── GeomBond.java │ │ │ ├── GeomContact.java │ │ │ ├── GeomHbond.java │ │ │ ├── GeomTorsion.java │ │ │ ├── Ihm2demClassAverageFitting.java │ │ │ ├── Ihm2demClassAverageRestraint.java │ │ │ ├── Ihm3demRestraint.java │ │ │ ├── IhmChemicalComponentDescriptor.java │ │ │ ├── IhmCrossLinkList.java │ │ │ ├── IhmCrossLinkPseudoSite.java │ │ │ ├── IhmCrossLinkRestraint.java │ │ │ ├── IhmCrossLinkResult.java │ │ │ ├── IhmCrossLinkResultParameters.java │ │ │ ├── IhmDataTransformation.java │ │ │ ├── IhmDatasetExternalReference.java │ │ │ ├── IhmDatasetGroup.java │ │ │ ├── IhmDatasetGroupLink.java │ │ │ ├── IhmDatasetList.java │ │ │ ├── IhmDatasetRelatedDbReference.java │ │ │ ├── IhmDerivedAngleRestraint.java │ │ │ ├── IhmDerivedDihedralRestraint.java │ │ │ ├── IhmDerivedDistanceRestraint.java │ │ │ ├── IhmEnsembleInfo.java │ │ │ ├── IhmEnsembleSubSample.java │ │ │ ├── IhmEntityPolySegment.java │ │ │ ├── IhmEntryCollection.java │ │ │ ├── IhmEntryCollectionMapping.java │ │ │ ├── IhmEprRestraint.java │ │ │ ├── IhmExternalFiles.java │ │ │ ├── IhmExternalReferenceInfo.java │ │ │ ├── IhmFeatureList.java │ │ │ ├── IhmGaussianObjEnsemble.java │ │ │ ├── IhmGaussianObjSite.java │ │ │ ├── IhmGeometricObjectAxis.java │ │ │ ├── IhmGeometricObjectCenter.java │ │ │ ├── IhmGeometricObjectDistanceRestraint.java │ │ │ ├── IhmGeometricObjectHalfTorus.java │ │ │ ├── IhmGeometricObjectList.java │ │ │ ├── IhmGeometricObjectPlane.java │ │ │ ├── IhmGeometricObjectSphere.java │ │ │ ├── IhmGeometricObjectTorus.java │ │ │ ├── IhmGeometricObjectTransformation.java │ │ │ ├── IhmHdxRestraint.java │ │ │ ├── IhmHydroxylRadicalFpRestraint.java │ │ │ ├── IhmInterfaceResidueFeature.java │ │ │ ├── IhmKineticRate.java │ │ │ ├── IhmLigandProbe.java │ │ │ ├── IhmLocalizationDensityFiles.java │ │ │ ├── IhmModelGroup.java │ │ │ ├── IhmModelGroupLink.java │ │ │ ├── IhmModelList.java │ │ │ ├── IhmModelRepresentation.java │ │ │ ├── IhmModelRepresentationDetails.java │ │ │ ├── IhmModelRepresentative.java │ │ │ ├── IhmModelingPostProcess.java │ │ │ ├── IhmModelingProtocol.java │ │ │ ├── IhmModelingProtocolDetails.java │ │ │ ├── IhmMultiStateModelGroupLink.java │ │ │ ├── IhmMultiStateModeling.java │ │ │ ├── IhmMultiStateScheme.java │ │ │ ├── IhmMultiStateSchemeConnectivity.java │ │ │ ├── IhmNonPolyFeature.java │ │ │ ├── IhmOrderedEnsemble.java │ │ │ ├── IhmOrderedModel.java │ │ │ ├── IhmPolyAtomFeature.java │ │ │ ├── IhmPolyProbeConjugate.java │ │ │ ├── IhmPolyProbePosition.java │ │ │ ├── IhmPolyResidueFeature.java │ │ │ ├── IhmPredictedContactRestraint.java │ │ │ ├── IhmProbeList.java │ │ │ ├── IhmPseudoSite.java │ │ │ ├── IhmPseudoSiteFeature.java │ │ │ ├── IhmRelatedDatasets.java │ │ │ ├── IhmRelaxationTime.java │ │ │ ├── IhmRelaxationTimeMultiStateScheme.java │ │ │ ├── IhmResiduesNotModeled.java │ │ │ ├── IhmSasRestraint.java │ │ │ ├── IhmSphereObjSite.java │ │ │ ├── IhmStartingComparativeModels.java │ │ │ ├── IhmStartingComputationalModels.java │ │ │ ├── IhmStartingModelCoord.java │ │ │ ├── IhmStartingModelDetails.java │ │ │ ├── IhmStartingModelSeqDif.java │ │ │ ├── IhmStructAssembly.java │ │ │ ├── IhmStructAssemblyClass.java │ │ │ ├── IhmStructAssemblyClassLink.java │ │ │ ├── IhmStructAssemblyDetails.java │ │ │ ├── Journal.java │ │ │ ├── JournalIndex.java │ │ │ ├── MaAlignment.java │ │ │ ├── MaAlignmentDetails.java │ │ │ ├── MaAlignmentInfo.java │ │ │ ├── MaAngleRestraints.java │ │ │ ├── MaAssociatedArchiveFileDetails.java │ │ │ ├── MaAtomFeature.java │ │ │ ├── MaChemCompDescriptor.java │ │ │ ├── MaCoevolutionMsa.java │ │ │ ├── MaCoevolutionMsaDetails.java │ │ │ ├── MaCoevolutionSeqDbRef.java │ │ │ ├── MaData.java │ │ │ ├── MaDataGroup.java │ │ │ ├── MaDataRefDb.java │ │ │ ├── MaDihedralRestraints.java │ │ │ ├── MaDistanceRestraints.java │ │ │ ├── MaEntityInstanceFeature.java │ │ │ ├── MaEntryAssociatedFiles.java │ │ │ ├── MaFeatureList.java │ │ │ ├── MaModelGroup.java │ │ │ ├── MaModelGroupLink.java │ │ │ ├── MaModelList.java │ │ │ ├── MaModelRepresentative.java │ │ │ ├── MaPolyResidueFeature.java │ │ │ ├── MaPolyTemplateLibraryComponents.java │ │ │ ├── MaPolyTemplateLibraryDetails.java │ │ │ ├── MaPolyTemplateLibraryList.java │ │ │ ├── MaProtocolStep.java │ │ │ ├── MaQaMetric.java │ │ │ ├── MaQaMetricFeature.java │ │ │ ├── MaQaMetricFeaturePairwise.java │ │ │ ├── MaQaMetricGlobal.java │ │ │ ├── MaQaMetricLocal.java │ │ │ ├── MaQaMetricLocalPairwise.java │ │ │ ├── MaRestraints.java │ │ │ ├── MaRestraintsGroup.java │ │ │ ├── MaSoftwareGroup.java │ │ │ ├── MaSoftwareParameter.java │ │ │ ├── MaStructAssembly.java │ │ │ ├── MaStructAssemblyDetails.java │ │ │ ├── MaTargetEntity.java │ │ │ ├── MaTargetEntityInstance.java │ │ │ ├── MaTargetRefDbDetails.java │ │ │ ├── MaTargetTemplatePolyMapping.java │ │ │ ├── MaTemplateBranched.java │ │ │ ├── MaTemplateCoord.java │ │ │ ├── MaTemplateCustomized.java │ │ │ ├── MaTemplateDetails.java │ │ │ ├── MaTemplateNonPoly.java │ │ │ ├── MaTemplatePoly.java │ │ │ ├── MaTemplatePolySegment.java │ │ │ ├── MaTemplateRefDbDetails.java │ │ │ ├── MaTemplateTransMatrix.java │ │ │ ├── MmCifBlock.java │ │ │ ├── MmCifBlockBuilder.java │ │ │ ├── MmCifCategoryBuilder.java │ │ │ ├── MmCifFile.java │ │ │ ├── MmCifFileBuilder.java │ │ │ ├── NdbOriginalNdbCoordinates.java │ │ │ ├── NdbStructConfNa.java │ │ │ ├── NdbStructFeatureNa.java │ │ │ ├── NdbStructNaBasePair.java │ │ │ ├── NdbStructNaBasePairStep.java │ │ │ ├── PdbxAtlas.java │ │ │ ├── PdbxAtomSiteAnisoTls.java │ │ │ ├── PdbxAudit.java │ │ │ ├── PdbxAuditAuthor.java │ │ │ ├── PdbxAuditConform.java │ │ │ ├── PdbxAuditConformExtension.java │ │ │ ├── PdbxAuditRevisionCategory.java │ │ │ ├── PdbxAuditRevisionDetails.java │ │ │ ├── PdbxAuditRevisionGroup.java │ │ │ ├── PdbxAuditRevisionHistory.java │ │ │ ├── PdbxAuditRevisionItem.java │ │ │ ├── PdbxAuditSupport.java │ │ │ ├── PdbxBondDistanceLimits.java │ │ │ ├── PdbxBranchScheme.java │ │ │ ├── PdbxBuffer.java │ │ │ ├── PdbxBufferComponents.java │ │ │ ├── PdbxChainRemapping.java │ │ │ ├── PdbxChemCompAtomEdit.java │ │ │ ├── PdbxChemCompAtomFeature.java │ │ │ ├── PdbxChemCompAtomRelated.java │ │ │ ├── PdbxChemCompAudit.java │ │ │ ├── PdbxChemCompBondEdit.java │ │ │ ├── PdbxChemCompDepositorInfo.java │ │ │ ├── PdbxChemCompDescriptor.java │ │ │ ├── PdbxChemCompFeature.java │ │ │ ├── PdbxChemCompIdentifier.java │ │ │ ├── PdbxChemCompImport.java │ │ │ ├── PdbxChemCompInstanceDepositorInfo.java │ │ │ ├── PdbxChemCompModel.java │ │ │ ├── PdbxChemCompModelAtom.java │ │ │ ├── PdbxChemCompModelAudit.java │ │ │ ├── PdbxChemCompModelBond.java │ │ │ ├── PdbxChemCompModelDescriptor.java │ │ │ ├── PdbxChemCompModelFeature.java │ │ │ ├── PdbxChemCompModelReference.java │ │ │ ├── PdbxChemCompNonstandard.java │ │ │ ├── PdbxChemCompPcm.java │ │ │ ├── PdbxChemCompRelated.java │ │ │ ├── PdbxChemCompSubcomponentEntityList.java │ │ │ ├── PdbxChemCompSubcomponentStructConn.java │ │ │ ├── PdbxChemCompSynonyms.java │ │ │ ├── PdbxChemCompUploadDepositorInfo.java │ │ │ ├── PdbxColumninfo.java │ │ │ ├── PdbxConnect.java │ │ │ ├── PdbxConnectAtom.java │ │ │ ├── PdbxConnectModification.java │ │ │ ├── PdbxConnectType.java │ │ │ ├── PdbxConstruct.java │ │ │ ├── PdbxConstructFeature.java │ │ │ ├── PdbxContactAuthor.java │ │ │ ├── PdbxCoord.java │ │ │ ├── PdbxCoordinateModel.java │ │ │ ├── PdbxCrystalAlignment.java │ │ │ ├── PdbxDataProcessingCell.java │ │ │ ├── PdbxDataProcessingDetector.java │ │ │ ├── PdbxDataProcessingReflns.java │ │ │ ├── PdbxDataProcessingStatus.java │ │ │ ├── PdbxDataUsage.java │ │ │ ├── PdbxDatabaseDoi.java │ │ │ ├── PdbxDatabaseMessage.java │ │ │ ├── PdbxDatabasePDBMaster.java │ │ │ ├── PdbxDatabasePDBObsSpr.java │ │ │ ├── PdbxDatabasePdbOmit.java │ │ │ ├── PdbxDatabaseProc.java │ │ │ ├── PdbxDatabaseRelated.java │ │ │ ├── PdbxDatabaseRemark.java │ │ │ ├── PdbxDatabaseStatus.java │ │ │ ├── PdbxDatabaseStatusHistory.java │ │ │ ├── PdbxDbref.java │ │ │ ├── PdbxDccDensity.java │ │ │ ├── PdbxDccDensityCorr.java │ │ │ ├── PdbxDccGeometry.java │ │ │ ├── PdbxDccMap.java │ │ │ ├── PdbxDccMapman.java │ │ │ ├── PdbxDccRsccMapman.java │ │ │ ├── PdbxDccRsccMapmanOverall.java │ │ │ ├── PdbxDepositGroup.java │ │ │ ├── PdbxDepositGroupIndex.java │ │ │ ├── PdbxDepositionMessageFileReference.java │ │ │ ├── PdbxDepositionMessageInfo.java │ │ │ ├── PdbxDepuiEntityFeatures.java │ │ │ ├── PdbxDepuiEntityStatusFlags.java │ │ │ ├── PdbxDepuiEntryDetails.java │ │ │ ├── PdbxDepuiStatusFlags.java │ │ │ ├── PdbxDepuiUpload.java │ │ │ ├── PdbxDepuiValidationStatusFlags.java │ │ │ ├── PdbxDiffrnBatch.java │ │ │ ├── PdbxDiffrnBatchScan.java │ │ │ ├── PdbxDiffrnCell.java │ │ │ ├── PdbxDiffrnDetectorPanelMapping.java │ │ │ ├── PdbxDiffrnOrientation.java │ │ │ ├── PdbxDiffrnReflnsShell.java │ │ │ ├── PdbxDistantSolventAtoms.java │ │ │ ├── PdbxDomain.java │ │ │ ├── PdbxDomainRange.java │ │ │ ├── PdbxDrugInfo.java │ │ │ ├── PdbxEntityAssembly.java │ │ │ ├── PdbxEntityBranch.java │ │ │ ├── PdbxEntityBranchDescriptor.java │ │ │ ├── PdbxEntityBranchLink.java │ │ │ ├── PdbxEntityBranchList.java │ │ │ ├── PdbxEntityFuncBindMode.java │ │ │ ├── PdbxEntityFuncEnzyme.java │ │ │ ├── PdbxEntityFuncOther.java │ │ │ ├── PdbxEntityFuncRegulatory.java │ │ │ ├── PdbxEntityFuncStructural.java │ │ │ ├── PdbxEntityInstanceFeature.java │ │ │ ├── PdbxEntityName.java │ │ │ ├── PdbxEntityNameInstance.java │ │ │ ├── PdbxEntityNameTaxonomy.java │ │ │ ├── PdbxEntityNameTaxonomyTree.java │ │ │ ├── PdbxEntityNonpoly.java │ │ │ ├── PdbxEntityPolyCompLinkList.java │ │ │ ├── PdbxEntityPolyDomain.java │ │ │ ├── PdbxEntityPolyNaNonstandard.java │ │ │ ├── PdbxEntityPolyNaType.java │ │ │ ├── PdbxEntityPolyProteinClass.java │ │ │ ├── PdbxEntityProdProtocol.java │ │ │ ├── PdbxEntityRemapping.java │ │ │ ├── PdbxEntitySrcGenCharacter.java │ │ │ ├── PdbxEntitySrcGenChrom.java │ │ │ ├── PdbxEntitySrcGenClone.java │ │ │ ├── PdbxEntitySrcGenCloneLigation.java │ │ │ ├── PdbxEntitySrcGenCloneRecombination.java │ │ │ ├── PdbxEntitySrcGenDepositorInfo.java │ │ │ ├── PdbxEntitySrcGenExpress.java │ │ │ ├── PdbxEntitySrcGenExpressTimepoint.java │ │ │ ├── PdbxEntitySrcGenFract.java │ │ │ ├── PdbxEntitySrcGenLysis.java │ │ │ ├── PdbxEntitySrcGenProdDigest.java │ │ │ ├── PdbxEntitySrcGenProdOther.java │ │ │ ├── PdbxEntitySrcGenProdOtherParameter.java │ │ │ ├── PdbxEntitySrcGenProdPcr.java │ │ │ ├── PdbxEntitySrcGenProteolysis.java │ │ │ ├── PdbxEntitySrcGenPure.java │ │ │ ├── PdbxEntitySrcGenRefold.java │ │ │ ├── PdbxEntitySrcSyn.java │ │ │ ├── PdbxEntryDetails.java │ │ │ ├── PdbxExptlCrystalCryoTreatment.java │ │ │ ├── PdbxExptlCrystalGrowComp.java │ │ │ ├── PdbxExptlCrystalGrowSol.java │ │ │ ├── PdbxExptlPd.java │ │ │ ├── PdbxFamilyGroupIndex.java │ │ │ ├── PdbxFamilyPrdAudit.java │ │ │ ├── PdbxFeatureAssembly.java │ │ │ ├── PdbxFeatureDomain.java │ │ │ ├── PdbxFeatureEntry.java │ │ │ ├── PdbxFeatureMonomer.java │ │ │ ├── PdbxFeatureSequenceRange.java │ │ │ ├── PdbxHelicalSymmetry.java │ │ │ ├── PdbxHelicalSymmetryDepositorInfo.java │ │ │ ├── PdbxHybrid.java │ │ │ ├── PdbxInhibitorInfo.java │ │ │ ├── PdbxInitialRefinementModel.java │ │ │ ├── PdbxInvestigation.java │ │ │ ├── PdbxIonInfo.java │ │ │ ├── PdbxLinkedEntity.java │ │ │ ├── PdbxLinkedEntityInstanceList.java │ │ │ ├── PdbxLinkedEntityLinkList.java │ │ │ ├── PdbxLinkedEntityList.java │ │ │ ├── PdbxMissingAtomNonpoly.java │ │ │ ├── PdbxMissingAtomPoly.java │ │ │ ├── PdbxMissingResidueList.java │ │ │ ├── PdbxModificationFeature.java │ │ │ ├── PdbxMolecule.java │ │ │ ├── PdbxMoleculeFeatures.java │ │ │ ├── PdbxMoleculeFeaturesDepositorInfo.java │ │ │ ├── PdbxNaStrandInfo.java │ │ │ ├── PdbxNaStructKeywds.java │ │ │ ├── PdbxNmrAssignedChemShiftList.java │ │ │ ├── PdbxNmrChemShiftExperiment.java │ │ │ ├── PdbxNmrChemShiftRef.java │ │ │ ├── PdbxNmrChemShiftReference.java │ │ │ ├── PdbxNmrChemShiftSoftware.java │ │ │ ├── PdbxNmrComputing.java │ │ │ ├── PdbxNmrConstraintFile.java │ │ │ ├── PdbxNmrConstraints.java │ │ │ ├── PdbxNmrDetails.java │ │ │ ├── PdbxNmrEnsemble.java │ │ │ ├── PdbxNmrEnsembleRms.java │ │ │ ├── PdbxNmrExptl.java │ │ │ ├── PdbxNmrExptlSample.java │ │ │ ├── PdbxNmrExptlSampleConditions.java │ │ │ ├── PdbxNmrForceConstants.java │ │ │ ├── PdbxNmrRefine.java │ │ │ ├── PdbxNmrRepresentative.java │ │ │ ├── PdbxNmrSampleDetails.java │ │ │ ├── PdbxNmrSoftware.java │ │ │ ├── PdbxNmrSoftwareTask.java │ │ │ ├── PdbxNmrSpectralDim.java │ │ │ ├── PdbxNmrSpectralPeakList.java │ │ │ ├── PdbxNmrSpectralPeakSoftware.java │ │ │ ├── PdbxNmrSpectrometer.java │ │ │ ├── PdbxNmrSystematicChemShiftOffset.java │ │ │ ├── PdbxNmrUpload.java │ │ │ ├── PdbxNonpolyScheme.java │ │ │ ├── PdbxNonstandardList.java │ │ │ ├── PdbxPdbCompnd.java │ │ │ ├── PdbxPdbSource.java │ │ │ ├── PdbxPhasingDm.java │ │ │ ├── PdbxPhasingDmShell.java │ │ │ ├── PdbxPhasingMADSet.java │ │ │ ├── PdbxPhasingMADSetShell.java │ │ │ ├── PdbxPhasingMADSetSite.java │ │ │ ├── PdbxPhasingMADShell.java │ │ │ ├── PdbxPhasingMR.java │ │ │ ├── PdbxPointSymmetry.java │ │ │ ├── PdbxPointSymmetryDepositorInfo.java │ │ │ ├── PdbxPolySeqScheme.java │ │ │ ├── PdbxPostProcessDetails.java │ │ │ ├── PdbxPostProcessStatus.java │ │ │ ├── PdbxPrdAudit.java │ │ │ ├── PdbxPrereleaseSeq.java │ │ │ ├── PdbxProteinInfo.java │ │ │ ├── PdbxReRefinement.java │ │ │ ├── PdbxReferenceEntityLink.java │ │ │ ├── PdbxReferenceEntityList.java │ │ │ ├── PdbxReferenceEntityNonpoly.java │ │ │ ├── PdbxReferenceEntityPoly.java │ │ │ ├── PdbxReferenceEntityPolyLink.java │ │ │ ├── PdbxReferenceEntityPolySeq.java │ │ │ ├── PdbxReferenceEntitySequence.java │ │ │ ├── PdbxReferenceEntitySrcNat.java │ │ │ ├── PdbxReferenceEntitySubcomponents.java │ │ │ ├── PdbxReferenceLinkedEntity.java │ │ │ ├── PdbxReferenceLinkedEntityCompLink.java │ │ │ ├── PdbxReferenceLinkedEntityCompList.java │ │ │ ├── PdbxReferenceLinkedEntityLink.java │ │ │ ├── PdbxReferenceMolecule.java │ │ │ ├── PdbxReferenceMoleculeAnnotation.java │ │ │ ├── PdbxReferenceMoleculeDetails.java │ │ │ ├── PdbxReferenceMoleculeFamily.java │ │ │ ├── PdbxReferenceMoleculeFeatures.java │ │ │ ├── PdbxReferenceMoleculeList.java │ │ │ ├── PdbxReferenceMoleculeRelatedStructures.java │ │ │ ├── PdbxReferenceMoleculeSynonyms.java │ │ │ ├── PdbxReferencePublicationList.java │ │ │ ├── PdbxRefine.java │ │ │ ├── PdbxRefineAuxFile.java │ │ │ ├── PdbxRefineComponent.java │ │ │ ├── PdbxRefineLsRestrNcs.java │ │ │ ├── PdbxRefineTls.java │ │ │ ├── PdbxRefineTlsGroup.java │ │ │ ├── PdbxReflnSignalBinning.java │ │ │ ├── PdbxReflnsTwin.java │ │ │ ├── PdbxRelatedExpDataSet.java │ │ │ ├── PdbxRemediationAtomSiteMapping.java │ │ │ ├── PdbxRmchOutlier.java │ │ │ ├── PdbxRmsDevsCovByMonomer.java │ │ │ ├── PdbxRmsDevsCovalent.java │ │ │ ├── PdbxRobotSystem.java │ │ │ ├── PdbxSGProject.java │ │ │ ├── PdbxSeqMapDepositorInfo.java │ │ │ ├── PdbxSequenceAnnotation.java │ │ │ ├── PdbxSequencePattern.java │ │ │ ├── PdbxSequenceRange.java │ │ │ ├── PdbxSerialCrystallographyDataReduction.java │ │ │ ├── PdbxSerialCrystallographyMeasurement.java │ │ │ ├── PdbxSerialCrystallographySampleDelivery.java │ │ │ ├── PdbxSerialCrystallographySampleDeliveryFixedTarget.java │ │ │ ├── PdbxSerialCrystallographySampleDeliveryInjection.java │ │ │ ├── PdbxSiftsUnpSegments.java │ │ │ ├── PdbxSiftsXrefDb.java │ │ │ ├── PdbxSiftsXrefDbSegments.java │ │ │ ├── PdbxSolnScatter.java │ │ │ ├── PdbxSolnScatterModel.java │ │ │ ├── PdbxSolventAtomSiteMapping.java │ │ │ ├── PdbxSolventInfo.java │ │ │ ├── PdbxSource.java │ │ │ ├── PdbxStereochemistry.java │ │ │ ├── PdbxStructAssembly.java │ │ │ ├── PdbxStructAssemblyAuthClassification.java │ │ │ ├── PdbxStructAssemblyAuthEvidence.java │ │ │ ├── PdbxStructAssemblyAuthEvidenceDepositorInfo.java │ │ │ ├── PdbxStructAssemblyDepositorInfo.java │ │ │ ├── PdbxStructAssemblyGen.java │ │ │ ├── PdbxStructAssemblyGenDepositorInfo.java │ │ │ ├── PdbxStructAssemblyProp.java │ │ │ ├── PdbxStructAssemblyPropDepositorInfo.java │ │ │ ├── PdbxStructAsymGen.java │ │ │ ├── PdbxStructBiolFunc.java │ │ │ ├── PdbxStructChemCompDiagnostics.java │ │ │ ├── PdbxStructChemCompFeature.java │ │ │ ├── PdbxStructConnAngle.java │ │ │ ├── PdbxStructEntityInst.java │ │ │ ├── PdbxStructGroupComponentRange.java │ │ │ ├── PdbxStructGroupComponents.java │ │ │ ├── PdbxStructGroupList.java │ │ │ ├── PdbxStructInfo.java │ │ │ ├── PdbxStructLegacyOperList.java │ │ │ ├── PdbxStructLink.java │ │ │ ├── PdbxStructModResidue.java │ │ │ ├── PdbxStructMsymGen.java │ │ │ ├── PdbxStructNcsVirusGen.java │ │ │ ├── PdbxStructOperList.java │ │ │ ├── PdbxStructOperListDepositorInfo.java │ │ │ ├── PdbxStructPackGen.java │ │ │ ├── PdbxStructRefSeqDeletion.java │ │ │ ├── PdbxStructRefSeqDepositorInfo.java │ │ │ ├── PdbxStructRefSeqDifDepositorInfo.java │ │ │ ├── PdbxStructRefSeqFeature.java │ │ │ ├── PdbxStructRefSeqFeatureProp.java │ │ │ ├── PdbxStructRefSeqInsertion.java │ │ │ ├── PdbxStructSheetHbond.java │ │ │ ├── PdbxStructSpecialSymmetry.java │ │ │ ├── PdbxSugarPhosphateGeometry.java │ │ │ ├── PdbxSummaryFlags.java │ │ │ ├── PdbxSupportingExpDataSet.java │ │ │ ├── PdbxTableinfo.java │ │ │ ├── PdbxTrnaInfo.java │ │ │ ├── PdbxUnobsOrZeroOccAtoms.java │ │ │ ├── PdbxUnobsOrZeroOccResidues.java │ │ │ ├── PdbxUnpair.java │ │ │ ├── PdbxValAngle.java │ │ │ ├── PdbxValBond.java │ │ │ ├── PdbxValChiral.java │ │ │ ├── PdbxValContact.java │ │ │ ├── PdbxValSymContact.java │ │ │ ├── PdbxValidateChiral.java │ │ │ ├── PdbxValidateCloseContact.java │ │ │ ├── PdbxValidateMainChainPlane.java │ │ │ ├── PdbxValidatePeptideOmega.java │ │ │ ├── PdbxValidatePlanes.java │ │ │ ├── PdbxValidatePlanesAtom.java │ │ │ ├── PdbxValidatePolymerLinkage.java │ │ │ ├── PdbxValidateRmsdAngle.java │ │ │ ├── PdbxValidateRmsdBond.java │ │ │ ├── PdbxValidateSymmContact.java │ │ │ ├── PdbxValidateTorsion.java │ │ │ ├── PdbxVersion.java │ │ │ ├── PdbxViewCategory.java │ │ │ ├── PdbxViewCategoryGroup.java │ │ │ ├── PdbxViewItem.java │ │ │ ├── PdbxVirtualAngle.java │ │ │ ├── PdbxVirtualBond.java │ │ │ ├── PdbxVirtualTorsion.java │ │ │ ├── PdbxXplorFile.java │ │ │ ├── Phasing.java │ │ │ ├── PhasingAveraging.java │ │ │ ├── PhasingIsomorphous.java │ │ │ ├── PhasingMAD.java │ │ │ ├── PhasingMADClust.java │ │ │ ├── PhasingMADExpt.java │ │ │ ├── PhasingMADRatio.java │ │ │ ├── PhasingMADSet.java │ │ │ ├── PhasingMIR.java │ │ │ ├── PhasingMIRDer.java │ │ │ ├── PhasingMIRDerRefln.java │ │ │ ├── PhasingMIRDerShell.java │ │ │ ├── PhasingMIRDerSite.java │ │ │ ├── PhasingMIRShell.java │ │ │ ├── PhasingSet.java │ │ │ ├── PhasingSetRefln.java │ │ │ ├── Publ.java │ │ │ ├── PublAuthor.java │ │ │ ├── PublBody.java │ │ │ ├── PublManuscriptIncl.java │ │ │ ├── Refine.java │ │ │ ├── RefineAnalyze.java │ │ │ ├── RefineBIso.java │ │ │ ├── RefineFunctMinimized.java │ │ │ ├── RefineHist.java │ │ │ ├── RefineLsClass.java │ │ │ ├── RefineLsRestr.java │ │ │ ├── RefineLsRestrNcs.java │ │ │ ├── RefineLsRestrType.java │ │ │ ├── RefineLsShell.java │ │ │ ├── RefineOccupancy.java │ │ │ ├── Refln.java │ │ │ ├── ReflnSysAbs.java │ │ │ ├── Reflns.java │ │ │ ├── ReflnsClass.java │ │ │ ├── ReflnsScale.java │ │ │ ├── ReflnsShell.java │ │ │ ├── Software.java │ │ │ ├── SpaceGroup.java │ │ │ ├── SpaceGroupSymop.java │ │ │ ├── Struct.java │ │ │ ├── StructAsym.java │ │ │ ├── StructBiol.java │ │ │ ├── StructBiolGen.java │ │ │ ├── StructBiolKeywords.java │ │ │ ├── StructBiolView.java │ │ │ ├── StructConf.java │ │ │ ├── StructConfType.java │ │ │ ├── StructConn.java │ │ │ ├── StructConnType.java │ │ │ ├── StructKeywords.java │ │ │ ├── StructMonDetails.java │ │ │ ├── StructMonNucl.java │ │ │ ├── StructMonProt.java │ │ │ ├── StructMonProtCis.java │ │ │ ├── StructNcsDom.java │ │ │ ├── StructNcsDomLim.java │ │ │ ├── StructNcsEns.java │ │ │ ├── StructNcsEnsGen.java │ │ │ ├── StructNcsOper.java │ │ │ ├── StructRef.java │ │ │ ├── StructRefSeq.java │ │ │ ├── StructRefSeqDif.java │ │ │ ├── StructSheet.java │ │ │ ├── StructSheetHbond.java │ │ │ ├── StructSheetOrder.java │ │ │ ├── StructSheetRange.java │ │ │ ├── StructSheetTopology.java │ │ │ ├── StructSite.java │ │ │ ├── StructSiteGen.java │ │ │ ├── StructSiteKeywords.java │ │ │ ├── StructSiteView.java │ │ │ ├── Symmetry.java │ │ │ ├── SymmetryEquiv.java │ │ │ ├── ValenceParam.java │ │ │ └── ValenceRef.java │ │ └── text │ │ ├── CifTokenType.java │ │ ├── FrameContext.java │ │ ├── TextCifReader.java │ │ ├── TextCifWriter.java │ │ └── TokenizerState.java └── resources │ └── templates │ ├── Block.tpl │ ├── BlockBuilder.tpl │ ├── BlockBuilderFlat.tpl │ ├── BlockFlat.tpl │ ├── BlockGetter.tpl │ ├── BlockGetterFlat.tpl │ ├── Case.tpl │ ├── Category.tpl │ ├── CategoryBuilder.tpl │ ├── CategoryBuilderEnter.tpl │ ├── CategoryBuilderFlat.tpl │ ├── CategoryFlat.tpl │ ├── CategoryGetter.tpl │ ├── CategoryGetterFlat.tpl │ ├── ColumnBuilder.tpl │ ├── ColumnBuilderEnter.tpl │ ├── File.tpl │ └── FileBuilder.tpl └── test ├── java └── org │ └── rcsb │ └── cif │ ├── CaseSensitivityTest.java │ ├── CifOptionsTest.java │ ├── DemoTest.java │ ├── FootprintTest.java │ ├── IntegrationTest.java │ ├── NonMmcifFormatTest.java │ ├── ReaderTest.java │ ├── SchemaValidationTest.java │ ├── TestHelper.java │ ├── UpdateTestFiles.java │ ├── WriterTest.java │ └── binary │ └── codec │ ├── ByteArrayCodecTest.java │ ├── DeltaCodecTest.java │ ├── FixedPointCodecTest.java │ ├── IntegerPackingCodecTest.java │ ├── IntervalQuantizationCodecTest.java │ ├── MessagePackCodecTest.java │ ├── RunLengthCodecTest.java │ └── StringArrayCodecTest.java └── resources ├── bcif ├── 0emp.bcif ├── 0red.bcif ├── 1a2c.bcif ├── 1a2c.bcif.gz ├── 1acj.bcif ├── 1acj.bcif.gz ├── 1j59.bcif ├── 1j59.bcif.gz ├── 1pga.bcif ├── 1pga.bcif.gz ├── 4cxl.bcif ├── 4cxl.bcif.gz ├── 5zmz.bcif ├── 5zmz.bcif.gz └── 9a2f.bcif.gz ├── cif ├── 0emp.cif ├── 0red.cif ├── 1a2c.cif ├── 1a2c.cif.gz ├── 1acj-cases.cif ├── 1acj.cif ├── 1acj.cif.gz ├── 1j59.cif ├── 1j59.cif.gz ├── 1onx.cif ├── 1pga.cif ├── 1pga.cif.gz ├── 4cxl.cif ├── 4cxl.cif.gz ├── 5zmz.cif ├── 5zmz.cif.gz ├── AF-O49373-F1-model_v4.cif ├── AF-P41068-F1-model_v4.cif └── AF-Q76EI6-F1-model_v4.cif ├── ebi └── 1acj.bcif ├── encoding-hint ├── hint1.json └── hint2.json ├── non-mmcif ├── 867861-core.cif ├── CBMZPN01.cif └── atp.cif ├── snapshot ├── 1acj.bcif ├── 1acj.bcif.gz ├── 1acj.cif ├── 1acj.cif.gz ├── 1j59.bcif ├── 1j59.bcif.gz ├── 1j59.cif ├── 1j59.cif.gz ├── 1pga.bcif ├── 1pga.bcif.gz ├── 1pga.cif ├── 1pga.cif.gz ├── 4cxl.bcif ├── 4cxl.bcif.gz ├── 4cxl.cif ├── 4cxl.cif.gz ├── 5zmz.bcif ├── 5zmz.bcif.gz ├── 5zmz.cif └── 5zmz.cif.gz └── source ├── 200l_cif2bcif.bcif ├── 200l_ebi.bcif ├── 200l_modelserver.bcif └── 200l_rcsb.cif /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: SonarCloud 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | types: [opened, synchronize, reopened] 8 | jobs: 9 | build: 10 | name: Build and analyze 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | with: 15 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis 16 | - name: Set up JDK 17 17 | uses: actions/setup-java@v3 18 | with: 19 | java-version: 17 20 | distribution: 'zulu' # Alternative distribution options are available. 21 | - name: Cache SonarCloud packages 22 | uses: actions/cache@v3 23 | with: 24 | path: ~/.sonar/cache 25 | key: ${{ runner.os }}-sonar 26 | restore-keys: ${{ runner.os }}-sonar 27 | - name: Cache Maven packages 28 | uses: actions/cache@v3 29 | with: 30 | path: ~/.m2 31 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 32 | restore-keys: ${{ runner.os }}-m2 33 | - name: Build and analyze 34 | env: 35 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any 36 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} 37 | run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=rcsb_ciftools-java -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | target/ 3 | *.iml 4 | .DS_Store 5 | site/ 6 | /bin/ 7 | .classpath 8 | .project 9 | .metadata 10 | tmp/ 11 | *.tmp 12 | *.bak 13 | *.swp 14 | *~.nib 15 | local.properties 16 | .settings/ 17 | .loadpath 18 | .recommenders -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2019 - now, Sebastian Bittrich 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /performance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/performance.png -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/CifBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | import org.rcsb.cif.model.CifFile; 4 | import org.rcsb.cif.model.CifFileBuilder; 5 | import org.rcsb.cif.model.builder.CifFileBuilderImpl; 6 | import org.rcsb.cif.schema.SchemaProvider; 7 | import org.rcsb.cif.schema.StandardSchemata; 8 | 9 | /** 10 | * The entry point to create {@link CifFile} instances programmatically. 11 | */ 12 | public class CifBuilder { 13 | private CifBuilder() { 14 | // nothing here 15 | } 16 | 17 | /** 18 | * Start a new file without providing any schema. 19 | * @return a generic builder instance 20 | */ 21 | public static CifFileBuilder enterFile() { 22 | return new CifFileBuilderImpl(); 23 | } 24 | 25 | /** 26 | * Start a new file with a specified schema. 27 | * @param schemaProvider a provider of the desired schema - see {@link StandardSchemata} 28 | * @param the type of the file being created 29 | * @param the type of the builder being used 30 | * @return a schema-aware builder instance 31 | */ 32 | public static B enterFile(SchemaProvider schemaProvider) { 33 | return schemaProvider.createTypedBuilder(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/EmptyColumnException.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | /** 4 | * Indicates that data for an empty column was requested. 5 | */ 6 | public class EmptyColumnException extends RuntimeException { 7 | public EmptyColumnException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/EncodingException.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | public class EncodingException extends RuntimeException { 4 | public EncodingException(String message) { 5 | super(message); 6 | } 7 | 8 | public EncodingException(String message, Exception e) { 9 | super(message, e); 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/ParsingException.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | /** 4 | * Indicates that Cif parsing failed. 5 | */ 6 | public class ParsingException extends RuntimeException { 7 | public ParsingException(String message) { 8 | super(message); 9 | } 10 | 11 | public ParsingException(String message, int line) { 12 | super(message + " [" + line + "]"); 13 | } 14 | 15 | public ParsingException(String message, Exception e) { 16 | super(message, e); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/SchemaMismatchException.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | /** 4 | * Indicates potential schema validations by using incorrect schemata. 5 | */ 6 | public class SchemaMismatchException extends RuntimeException { 7 | public SchemaMismatchException(String message) { 8 | super(message); 9 | } 10 | 11 | public SchemaMismatchException(String message, Exception e) { 12 | super(message, e); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/AbstractEncodedData.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.Encoding; 4 | 5 | import java.util.Deque; 6 | 7 | /** 8 | * Shared functionality between {@link EncodedData} implementations. 9 | * @param the data array wrapped 10 | */ 11 | abstract class AbstractEncodedData implements EncodedData { 12 | final Object data; 13 | private Deque> encoding; 14 | 15 | AbstractEncodedData(Object data, Deque> encoding) { 16 | this.data = data; 17 | this.encoding = encoding; 18 | } 19 | 20 | @Override 21 | public Deque> getEncoding() { 22 | return encoding; 23 | } 24 | 25 | @Override 26 | public void setEncoding(Deque> encoding) { 27 | this.encoding = encoding; 28 | } 29 | 30 | @Override 31 | public boolean hasNextDecodingStep() { 32 | return !getEncoding().isEmpty(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/ByteArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.ByteArrayEncoding; 4 | import org.rcsb.cif.binary.encoding.Encoding; 5 | import org.rcsb.cif.binary.encoding.StringArrayEncoding; 6 | 7 | import java.util.ArrayDeque; 8 | import java.util.Arrays; 9 | import java.util.Deque; 10 | 11 | /** 12 | * The abstraction of binary data. 13 | */ 14 | public class ByteArray extends AbstractEncodedData { 15 | public ByteArray(byte[] data) { 16 | this(data, new ArrayDeque<>()); 17 | } 18 | 19 | public ByteArray(byte[] data, Deque> encoding) { 20 | super(data, encoding); 21 | } 22 | 23 | @Override 24 | public byte[] getData() { 25 | return (byte[]) data; 26 | } 27 | 28 | @Override 29 | public int length() { 30 | return getData().length; 31 | } 32 | 33 | @Override 34 | public String toString() { 35 | return getClass().getSimpleName() + ": " + Arrays.toString(getData()); 36 | } 37 | 38 | public > T decode(ByteArrayEncoding encoding) { 39 | return encoding.decode(this); 40 | } 41 | 42 | public StringArray decode(StringArrayEncoding encoding) { 43 | return encoding.decode(this); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/FloatArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.FixedPointEncoding; 4 | 5 | /** 6 | * An array of floating point numbers. 7 | */ 8 | public interface FloatArray extends NumberArray { 9 | double[] getData(); 10 | 11 | default int length() { 12 | return getData().length; 13 | } 14 | 15 | default Int32Array encode(FixedPointEncoding encoding) { 16 | return encoding.encode(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/IntArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.IntegerPackingEncoding; 4 | import org.rcsb.cif.binary.encoding.RunLengthEncoding; 5 | 6 | /** 7 | * An array of integer numbers. 8 | */ 9 | public interface IntArray extends NumberArray { 10 | int[] getData(); 11 | 12 | default int length() { 13 | return getData().length; 14 | } 15 | 16 | boolean isSigned(); 17 | 18 | default Int32Array encode(RunLengthEncoding encoding) { 19 | return encoding.encode(this); 20 | } 21 | 22 | default Int32Array decode(IntegerPackingEncoding encoding) { 23 | return encoding.decode(this); 24 | } 25 | 26 | static IntArray create(int type, int size) { 27 | int[] data = new int[size]; 28 | switch (type) { 29 | case Int8Array.TYPE: 30 | return new Int8Array(data); 31 | case Int16Array.TYPE: 32 | return new Int16Array(data); 33 | case Int32Array.TYPE: 34 | return new Int32Array(data); 35 | case Uint8Array.TYPE: 36 | return new Uint8Array(data); 37 | case Uint16Array.TYPE: 38 | return new Uint16Array(data); 39 | case Uint32Array.TYPE: 40 | return new Uint32Array(data); 41 | default: 42 | throw new IllegalArgumentException("Unknown IntArray type " + type); 43 | } 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/NumberArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | /** 4 | * An array of numbers. 5 | * @param the type of number array wrapped (int[] or double[]) 6 | */ 7 | public interface NumberArray extends EncodedData { 8 | /** 9 | * Converts this number array to its binary representation. 10 | * @return a byte[] 11 | */ 12 | byte[] toByteArray(); 13 | 14 | /** 15 | * The number of bytes used in this representation to describe a single value (e.g. 1 for {@link Int8Array} and up 16 | * to 8 for {@link Float64Array}). 17 | * @return a number between 1 and 8 18 | */ 19 | int getNumberOfBytes(); 20 | 21 | /** 22 | * Report the type of this number array. 23 | *
    24 | *
  • 1 for {@link Int8Array}
  • 25 | *
  • 2 for {@link Int16Array}
  • 26 | *
  • 3 for {@link Int32Array}
  • 27 | *
  • 4 for {@link Uint8Array}
  • 28 | *
  • 5 for {@link Uint16Array}
  • 29 | *
  • 6 for {@link Uint32Array}
  • 30 | *
  • 32 for {@link Float32Array}
  • 31 | *
  • 33 for {@link Float64Array}
  • 32 | *
33 | * @return 1, 2, 3, 4, 5, 6, 32, 33 34 | */ 35 | int getType(); 36 | 37 | /** 38 | * Encode this array of numbers directly as binary data (useful for single values that won't benefit from more 39 | * elaborate encoding chains). 40 | * @return a {@link ByteArray} with a single encoding step 41 | */ 42 | ByteArray encode(); 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/SignedIntArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.DeltaEncoding; 4 | 5 | /** 6 | * An array of signed integer numbers. 7 | */ 8 | public interface SignedIntArray> extends IntArray { 9 | default boolean isSigned() { 10 | return true; 11 | } 12 | 13 | T encode(DeltaEncoding encoding); 14 | 15 | T decode(DeltaEncoding encoding); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/StringArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | import org.rcsb.cif.binary.encoding.Encoding; 4 | import org.rcsb.cif.binary.encoding.StringArrayEncoding; 5 | 6 | import java.util.ArrayDeque; 7 | import java.util.Arrays; 8 | import java.util.Deque; 9 | 10 | /** 11 | * An array of String values. 12 | */ 13 | public class StringArray extends AbstractEncodedData { 14 | public StringArray(Object data, Deque> encoding) { 15 | super(data, encoding); 16 | } 17 | 18 | public StringArray(String[] data) { 19 | this(data, new ArrayDeque<>()); 20 | } 21 | 22 | StringArray(String[] data, Deque> encoding) { 23 | super(data, encoding); 24 | } 25 | 26 | @Override 27 | public String[] getData() { 28 | return (String[]) data; 29 | } 30 | 31 | @Override 32 | public int length() { 33 | return getData().length; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return getClass().getSimpleName() + ": " + Arrays.toString(getData()); 39 | } 40 | 41 | public ByteArray encode(StringArrayEncoding encoding) { 42 | return encoding.encode(this); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/data/UnsignedIntArray.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.data; 2 | 3 | /** 4 | * A subset of data arrays is unsigned. This information is valuable and necessary for de- and encoding. 5 | */ 6 | public interface UnsignedIntArray extends IntArray { 7 | /** 8 | * States whether this {@link IntArray} contains signed elements. 9 | * @return true for {@link Int8Array}, {@link Int16Array}, and {@link Int32Array} 10 | */ 11 | default boolean isSigned() { 12 | return false; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/binary/encoding/Encoding.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.encoding; 2 | 3 | import org.rcsb.cif.binary.data.EncodedData; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * Represents a single encoding or decoding step for a column. 9 | * @param the 'high'-level array of data (think {@link org.rcsb.cif.binary.data.StringArray}) 10 | * @param the 'low'-level array of data (think {@link org.rcsb.cif.binary.data.ByteArray}) 11 | */ 12 | public interface Encoding, L extends EncodedData> { 13 | /** 14 | * Move one step up the encoding deque. One step closer to the original representation of the data. 15 | * @param data the container to decode 16 | * @return the decoded information 17 | */ 18 | H decode(L data); 19 | 20 | /** 21 | * Move one step down the encoding deque. One step closer to a {@link org.rcsb.cif.binary.data.ByteArray} 22 | * representation. 23 | * @param data the container to encode 24 | * @return the decoded information 25 | */ 26 | L encode(H data); 27 | 28 | /** 29 | * Converts this encoding to its map representation that can be serialized as BinaryCif. 30 | * @return a Map that contains all encoding information 31 | */ 32 | Map getMapRepresentation(); 33 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/ColumnBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Defines functionality of column building classes. All builders are aware of their parent instances in order to enforce 7 | * the schema. 8 | * @param

parent builder type (CategoryBuilder) 9 | * @param parent's parent builder type (BlockBuilder) 10 | * @param parent's parent's parent builder type (CifFileBuilder) 11 | */ 12 | public interface ColumnBuilder

, PP extends BlockBuilder, PPP extends CifFileBuilder> { 13 | /** 14 | * The name of the parent category. 15 | * @return a String 16 | */ 17 | String getCategoryName(); 18 | 19 | /** 20 | * The name of this column 21 | * @return a String 22 | */ 23 | String getColumnName(); 24 | 25 | /** 26 | * The registered mask data. 27 | * @return a List of ValueKind entries 28 | */ 29 | List getMask(); 30 | 31 | /** 32 | * Specify that the next value written is not present (aka undefined). 33 | * @return this builder instance 34 | */ 35 | ColumnBuilder markNextNotPresent(); 36 | 37 | /** 38 | * Specify that the next value written is unknown. 39 | * @return this builder instance 40 | */ 41 | ColumnBuilder markNextUnknown(); 42 | 43 | /** 44 | * Retrieve (detached) column describe by this builder. 45 | * @return this builder instance 46 | */ 47 | Column build(); 48 | 49 | /** 50 | * Leave this column. 51 | * @return the parent builder instance 52 | */ 53 | P leaveColumn(); 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/FloatColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.Arrays; 4 | import java.util.stream.DoubleStream; 5 | 6 | /** 7 | * A column that provides float data. 8 | */ 9 | public interface FloatColumn extends Column { 10 | /** 11 | * Type-safe access to the native type of data stored in this column. 12 | * @param row the index to retrieve 13 | * @return an double value 14 | */ 15 | double get(int row); 16 | 17 | /** 18 | * A DoubleStream of all registered values. 19 | * @return doubles 20 | */ 21 | default DoubleStream values() { 22 | double[] array = getArray(); 23 | return array != null ? Arrays.stream(array) : DoubleStream.empty(); 24 | } 25 | 26 | /** 27 | * This is how all FloatColumns parse their data. 28 | * @param text the raw data 29 | * @return a double 30 | */ 31 | static double parseFloat(String text) { 32 | if (text.isEmpty() || ".".equals(text) || "?".equals(text)) { 33 | return 0; 34 | } 35 | // some formats specify uncertain decimal places like: 0.00012(3) - ignore them (in agreement with Mol*) 36 | int index = text.indexOf('('); 37 | return Double.parseDouble(index == -1 ? text : text.substring(0, index)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/FloatColumnBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * A builder instance for {@link FloatColumn} instances. 7 | * @param

parent builder type (CategoryBuilder) 8 | * @param parent's parent builder type (BlockBuilder) 9 | * @param parent's parent's parent builder type (CifFileBuilder) 10 | */ 11 | public interface FloatColumnBuilder

, PP extends BlockBuilder, PPP extends CifFileBuilder> extends ColumnBuilder { 12 | /** 13 | * Access to all stored values. 14 | * @return double values 15 | */ 16 | List getValues(); 17 | 18 | FloatColumn build(); 19 | 20 | FloatColumnBuilder markNextNotPresent(); 21 | 22 | FloatColumnBuilder markNextUnknown(); 23 | 24 | /** 25 | * Add new values to this column. 26 | * @param values double values 27 | * @return this builder instance 28 | */ 29 | FloatColumnBuilder add(double... values); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/IntColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.Arrays; 4 | import java.util.stream.IntStream; 5 | 6 | /** 7 | * A column that provides int data. 8 | */ 9 | public interface IntColumn extends Column { 10 | /** 11 | * Type-safe access to the native type of data stored in this column. 12 | * @param row the index to retrieve 13 | * @return an int value 14 | */ 15 | int get(int row); 16 | 17 | /** 18 | * An IntStream of all registered values. 19 | * @return ints 20 | */ 21 | default IntStream values() { 22 | int[] array = getArray(); 23 | return array != null ? Arrays.stream(array) : IntStream.empty(); 24 | } 25 | 26 | /** 27 | * This is how all IntColumns parse their data. 28 | * @param text the raw data 29 | * @return an int 30 | */ 31 | static int parseInt(String text) { 32 | if (text.isEmpty() || ".".equals(text) || "?".equals(text)) { 33 | return 0; 34 | } 35 | // some floats may omit decimal places and can be parsed as int: 88. - ignore the dot (in agreement with Mol*) 36 | int index = text.indexOf('.'); 37 | return Integer.parseInt(index == -1 ? text : text.substring(0, index)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/IntColumnBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * A builder instance for {@link IntColumn} instances. 7 | * @param

parent builder type (CategoryBuilder) 8 | * @param parent's parent builder type (BlockBuilder) 9 | * @param parent's parent's parent builder type (CifFileBuilder) 10 | */ 11 | public interface IntColumnBuilder

, PP extends BlockBuilder, PPP extends CifFileBuilder> extends ColumnBuilder { 12 | /** 13 | * Access to all stored values. 14 | * @return int values 15 | */ 16 | List getValues(); 17 | 18 | IntColumn build(); 19 | 20 | IntColumnBuilder markNextNotPresent(); 21 | 22 | IntColumnBuilder markNextUnknown(); 23 | 24 | /** 25 | * Add new values to this column. 26 | * @param values int values 27 | * @return this builder instance 28 | */ 29 | IntColumnBuilder add(int... values); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/StrColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.Arrays; 4 | import java.util.stream.Stream; 5 | 6 | /** 7 | * A column that provides String data. 8 | */ 9 | public interface StrColumn extends Column { 10 | /** 11 | * Type-safe access to the native type of data stored in this column. 12 | * @param row the index to retrieve 13 | * @return a String value 14 | */ 15 | String get(int row); 16 | 17 | /** 18 | * A Stream of all registered values. 19 | * @return Strings 20 | */ 21 | default Stream values() { 22 | String[] array = getArray(); 23 | return array != null ? Arrays.stream(array) : Stream.empty(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/StrColumnBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * A builder instance for {@link StrColumn} instances. 7 | * @param

parent builder type (CategoryBuilder) 8 | * @param parent's parent builder type (BlockBuilder) 9 | * @param parent's parent's parent builder type (CifFileBuilder) 10 | */ 11 | public interface StrColumnBuilder

, PP extends BlockBuilder, PPP extends CifFileBuilder> extends ColumnBuilder { 12 | /** 13 | * Access to all stored values. 14 | * @return String values 15 | */ 16 | List getValues(); 17 | 18 | StrColumn build(); 19 | 20 | StrColumnBuilder markNextNotPresent(); 21 | 22 | StrColumnBuilder markNextUnknown(); 23 | 24 | /** 25 | * Add new values to this column. 26 | * @param values String values 27 | * @return this builder instance 28 | */ 29 | StrColumnBuilder add(String... values); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/ValueKind.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model; 2 | 3 | /** 4 | * Reports whether a certain row in a certain {@link Column} is present. 5 | */ 6 | public enum ValueKind { 7 | /** 8 | * The value is present. 9 | */ 10 | PRESENT, 11 | /** 12 | * The value is explicitly not present - . in CIF. String values will be empty, number values will be 13 | * 0. 14 | */ 15 | NOT_PRESENT, 16 | /** 17 | * The value is unknown - ? in CIF. String values will be empty, number values will be 0. 18 | */ 19 | UNKNOWN 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryBlock.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.Category; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public class BinaryBlock implements Block { 11 | private final Map categories; 12 | private final List saveFrames; 13 | private final String header; 14 | 15 | public BinaryBlock(Map categories, String header, List saveFrames) { 16 | this.categories = categories; 17 | this.saveFrames = saveFrames; 18 | this.header = header; 19 | } 20 | 21 | public BinaryBlock(Map categories, String header) { 22 | this(categories, header, new ArrayList<>()); 23 | } 24 | 25 | @Override 26 | public String getBlockHeader() { 27 | return header; 28 | } 29 | 30 | @Override 31 | public Category getCategory(String name) { 32 | return categories.computeIfAbsent(name, Category.EmptyCategory::new); 33 | } 34 | 35 | @Override 36 | public Map getCategories() { 37 | return categories; 38 | } 39 | 40 | @Override 41 | public List getSaveFrames() { 42 | return saveFrames; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.Column; 4 | import org.rcsb.cif.model.ValueKind; 5 | 6 | public abstract class BinaryColumn implements Column { 7 | private final String name; 8 | private final int rowCount; 9 | private final boolean hasMask; 10 | private final int[] mask; 11 | 12 | protected BinaryColumn(String name, int rowCount, int[] mask) { 13 | this.name = name; 14 | this.rowCount = rowCount; 15 | this.hasMask = mask != null && mask.length > 0; 16 | this.mask = mask; 17 | } 18 | 19 | @Override 20 | public String getColumnName() { 21 | return name; 22 | } 23 | 24 | @Override 25 | public int getRowCount() { 26 | return rowCount; 27 | } 28 | 29 | @Override 30 | public ValueKind getValueKind(int row) { 31 | if (!hasMask) { 32 | return ValueKind.PRESENT; 33 | } 34 | return ValueKind.values()[mask[row]]; 35 | } 36 | 37 | public int[] getMask() { 38 | return mask; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryFile.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.CifFile; 5 | 6 | import java.util.List; 7 | 8 | public class BinaryFile implements CifFile { 9 | private final List blocks; 10 | private final String version; 11 | private final String encoder; 12 | 13 | public BinaryFile(List blocks, String version, String encoder) { 14 | this.blocks = blocks; 15 | this.version = version; 16 | this.encoder = encoder; 17 | } 18 | 19 | @Override 20 | public List getBlocks() { 21 | return blocks; 22 | } 23 | 24 | /** 25 | * Reports the encoder version that was used to create this file. 26 | * @return a String 27 | */ 28 | public String getVersion() { 29 | return version; 30 | } 31 | 32 | 33 | /** 34 | * Reports the encoder name that was used to create this file. 35 | * @return a String 36 | */ 37 | public String getEncoder() { 38 | return encoder; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryFloatColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.FloatColumn; 4 | 5 | public class BinaryFloatColumn extends BinaryColumn implements FloatColumn { 6 | private final double[] data; 7 | 8 | public BinaryFloatColumn(String name, int rowCount, double[] data, int[] mask) { 9 | super(name, rowCount, mask); 10 | this.data = data; 11 | } 12 | 13 | @Override 14 | public double get(int row) { 15 | return data[row]; 16 | } 17 | 18 | @Override 19 | public String getStringData(int row) { 20 | return Double.toString(data[row]); 21 | } 22 | 23 | @Override 24 | public double[] getArray() { 25 | return data; 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryIntColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.IntColumn; 4 | 5 | public class BinaryIntColumn extends BinaryColumn implements IntColumn { 6 | private final int[] data; 7 | 8 | public BinaryIntColumn(String name, int rowCount, int[] data, int[] mask) { 9 | super(name, rowCount, mask); 10 | this.data = data; 11 | } 12 | 13 | @Override 14 | public int get(int row) { 15 | return data[row]; 16 | } 17 | 18 | @Override 19 | public String getStringData(int row) { 20 | return Integer.toString(data[row]); 21 | } 22 | 23 | @Override 24 | public int[] getArray() { 25 | return data; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/binary/BinaryStrColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.binary; 2 | 3 | import org.rcsb.cif.model.StrColumn; 4 | 5 | public class BinaryStrColumn extends BinaryColumn implements StrColumn { 6 | private final String[] data; 7 | 8 | public BinaryStrColumn(String name, int rowCount, String[] data, int[] mask) { 9 | super(name, rowCount, mask); 10 | this.data = data; 11 | } 12 | 13 | @Override 14 | public String get(int row) { 15 | return honorValueKind(data[row]); 16 | } 17 | 18 | @Override 19 | public String getStringData(int row) { 20 | return honorValueKind(data[row]); 21 | } 22 | 23 | private String honorValueKind(String value) { 24 | return (".".equals(value) || "?".equals(value)) ? "" : value; 25 | } 26 | 27 | @Override 28 | public String[] getArray() { 29 | return data; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/builder/CifFileBuilderImpl.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.builder; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.BlockBuilder; 5 | import org.rcsb.cif.model.CifFile; 6 | import org.rcsb.cif.model.CifFileBuilder; 7 | import org.rcsb.cif.model.text.TextBlock; 8 | import org.rcsb.cif.model.text.TextFile; 9 | 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | public class CifFileBuilderImpl implements CifFileBuilder { 14 | private final CifFile cifFile; 15 | private final List blocks; 16 | 17 | public CifFileBuilderImpl() { 18 | this.blocks = new ArrayList<>(); 19 | this.cifFile = new TextFile(blocks); 20 | } 21 | 22 | @Override 23 | public BlockBuilder enterBlock(String blockHeader) { 24 | return new BlockBuilderImpl<>(blockHeader, this); 25 | } 26 | 27 | @Override 28 | public void digest(BlockBuilder builder) { 29 | Block block = new TextBlock(builder.getCategories(), builder.getBlockHeader()); 30 | blocks.add(block); 31 | } 32 | 33 | @Override 34 | public CifFile leaveFile() { 35 | return build(); 36 | } 37 | 38 | @Override 39 | public CifFile build() { 40 | return cifFile; 41 | } 42 | 43 | @Override 44 | public CifFileBuilder addBlock(Block block) { 45 | blocks.add(block); 46 | return this; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/builder/ColumnBuilderImpl.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.builder; 2 | 3 | import org.rcsb.cif.model.BlockBuilder; 4 | import org.rcsb.cif.model.CategoryBuilder; 5 | import org.rcsb.cif.model.CifFileBuilder; 6 | import org.rcsb.cif.model.ColumnBuilder; 7 | import org.rcsb.cif.model.ValueKind; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | public abstract class ColumnBuilderImpl

, PP extends BlockBuilder, PPP extends CifFileBuilder> implements ColumnBuilder { 13 | private final String categoryName; 14 | private final String columnName; 15 | final List mask; 16 | final P parent; 17 | 18 | ColumnBuilderImpl(String categoryName, String columnName, P parent) { 19 | this.categoryName = categoryName; 20 | this.columnName = columnName; 21 | this.mask = new ArrayList<>(); 22 | this.parent = parent; 23 | if (parent != null) { 24 | // make parent aware of its child, so that when parent category is closed, all child information can be collected 25 | this.parent.registerChild(this); 26 | } 27 | } 28 | 29 | @Override 30 | public String getCategoryName() { 31 | return categoryName; 32 | } 33 | 34 | @Override 35 | public String getColumnName() { 36 | return columnName; 37 | } 38 | 39 | @Override 40 | public List getMask() { 41 | return mask; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/text/TextBlock.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.text; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.Category; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public class TextBlock implements Block { 11 | private final Map categories; 12 | private final List saveFrames; 13 | private final String header; 14 | 15 | public TextBlock(Map categories, String header, List saveFrames) { 16 | this.categories = categories; 17 | this.saveFrames = saveFrames; 18 | this.header = header; 19 | } 20 | 21 | public TextBlock(Map categories, String header) { 22 | this(categories, header, new ArrayList<>()); 23 | } 24 | 25 | @Override 26 | public String getBlockHeader() { 27 | return header; 28 | } 29 | 30 | @Override 31 | public Category getCategory(String name) { 32 | return categories.computeIfAbsent(name, Category.EmptyCategory::new); 33 | } 34 | 35 | @Override 36 | public Map getCategories() { 37 | return categories; 38 | } 39 | 40 | @Override 41 | public List getSaveFrames() { 42 | return saveFrames; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/text/TextCategory.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.text; 2 | 3 | import org.rcsb.cif.model.Category; 4 | import org.rcsb.cif.model.Column; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public class TextCategory implements Category { 11 | private final String name; 12 | private final int rowCount; 13 | private final Map> textFields; 14 | 15 | public TextCategory(String name, Map> textColumns) { 16 | this.name = name; 17 | this.rowCount = textColumns.values() 18 | .stream() 19 | .findFirst() 20 | .map(Column::getRowCount) 21 | .orElse(0); 22 | this.textFields = textColumns; 23 | } 24 | 25 | @Override 26 | public String getCategoryName() { 27 | return name; 28 | } 29 | 30 | @Override 31 | public int getRowCount() { 32 | return rowCount; 33 | } 34 | 35 | @Override 36 | public Column getColumn(String name) { 37 | // let's switch to getOrDefault to not introduce any meaningless columns when called for missing data 38 | return textFields.getOrDefault(name, new Column.EmptyColumn(name)); 39 | } 40 | 41 | @Override 42 | public Map> getColumns() { 43 | return textFields; 44 | } 45 | 46 | @Override 47 | public List getColumnNames() { 48 | // this could cause issues when users call getColumn and introduce empty columns 49 | return new ArrayList<>(textFields.keySet()); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/model/text/TextFile.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.model.text; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.CifFile; 5 | 6 | import java.util.List; 7 | 8 | public class TextFile implements CifFile { 9 | private final List blocks; 10 | 11 | public TextFile(List blocks) { 12 | this.blocks = blocks; 13 | } 14 | 15 | @Override 16 | public List getBlocks() { 17 | return blocks; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/CifCoreSchemaProvider.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.SchemaMismatchException; 4 | import org.rcsb.cif.model.Category; 5 | import org.rcsb.cif.model.CifFile; 6 | import org.rcsb.cif.schema.core.CifCoreFile; 7 | import org.rcsb.cif.schema.core.CifCoreFileBuilder; 8 | 9 | /** 10 | * Provides schema support for cif-core files. 11 | */ 12 | public class CifCoreSchemaProvider implements SchemaProvider { 13 | @Override 14 | public CifCoreFile createTypedFile(CifFile cifFile) { 15 | return new CifCoreFile(cifFile); 16 | } 17 | 18 | @Override 19 | public CifCoreFileBuilder createTypedBuilder() { 20 | return new CifCoreFileBuilder(); 21 | } 22 | 23 | @Override 24 | public void validate(CifFile cifFile) throws SchemaMismatchException { 25 | // cif_core should contain columns with flat names 26 | boolean flatColumns = cifFile.getBlocks() 27 | .get(0) 28 | .getCategories() 29 | .values() 30 | .stream() 31 | .map(Category::getColumnNames) 32 | .allMatch(list -> list.size() == 1 && list.contains("")); 33 | if (!flatColumns) { 34 | throw new SchemaMismatchException("CIF_CORE schema should contain exclusively flat column names - format: category_name_column_name"); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/DelegatingBlock.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.Category; 5 | import org.rcsb.cif.model.LinkedCaseInsensitiveMap; 6 | 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public abstract class DelegatingBlock implements Block { 11 | protected final Block delegate; 12 | 13 | protected DelegatingBlock(Block block) { 14 | this.delegate = block; 15 | } 16 | 17 | @Override 18 | public String getBlockHeader() { 19 | return delegate.getBlockHeader(); 20 | } 21 | 22 | @Override 23 | public Category getCategory(String name) { 24 | return getCategories().computeIfAbsent(name, Category.EmptyCategory::new); 25 | } 26 | 27 | @Override 28 | public Map getCategories() { 29 | Map categories = new LinkedCaseInsensitiveMap<>(); 30 | for (Map.Entry entry : delegate.getCategories().entrySet()) { 31 | categories.put(entry.getKey(), createDelegate(entry.getKey(), entry.getValue())); 32 | } 33 | return categories; 34 | } 35 | 36 | protected abstract Category createDelegate(String categoryName, Category category); 37 | 38 | @Override 39 | public List getSaveFrames() { 40 | return delegate.getSaveFrames(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/DelegatingFloatColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.model.Column; 4 | import org.rcsb.cif.model.FloatColumn; 5 | import org.rcsb.cif.model.binary.BinaryColumn; 6 | 7 | public class DelegatingFloatColumn extends DelegatingColumn implements FloatColumn { 8 | public DelegatingFloatColumn(Column delegate) { 9 | super(delegate, double[].class); 10 | } 11 | 12 | @Override 13 | public double get(int row) { 14 | if (delegate instanceof BinaryColumn) { 15 | return getArray()[row]; 16 | } else { 17 | return FloatColumn.parseFloat(delegate.getStringData(row)); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/DelegatingIntColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.model.Column; 4 | import org.rcsb.cif.model.IntColumn; 5 | import org.rcsb.cif.model.binary.BinaryColumn; 6 | 7 | public class DelegatingIntColumn extends DelegatingColumn implements IntColumn { 8 | public DelegatingIntColumn(Column delegate) { 9 | super(delegate, int[].class); 10 | } 11 | 12 | @Override 13 | public int get(int row) { 14 | if (delegate instanceof BinaryColumn) { 15 | return getArray()[row]; 16 | } else { 17 | return IntColumn.parseInt(delegate.getStringData(row)); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/DelegatingStrColumn.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.model.Column; 4 | import org.rcsb.cif.model.StrColumn; 5 | import org.rcsb.cif.model.binary.BinaryColumn; 6 | 7 | public class DelegatingStrColumn extends DelegatingColumn implements StrColumn { 8 | public DelegatingStrColumn(Column delegate) { 9 | super(delegate, String[].class); 10 | } 11 | 12 | @Override 13 | public String get(int row) { 14 | if (delegate instanceof BinaryColumn) { 15 | return getArray()[row]; 16 | } else { 17 | return delegate.getStringData(row); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/MmCifSchemaProvider.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.SchemaMismatchException; 4 | import org.rcsb.cif.model.Category; 5 | import org.rcsb.cif.model.CifFile; 6 | import org.rcsb.cif.schema.mm.MmCifFile; 7 | import org.rcsb.cif.schema.mm.MmCifFileBuilder; 8 | 9 | /** 10 | * Provides schema support for mmCIF files. 11 | */ 12 | public class MmCifSchemaProvider implements SchemaProvider { 13 | @Override 14 | public MmCifFile createTypedFile(CifFile cifFile) { 15 | return new MmCifFile(cifFile); 16 | } 17 | 18 | @Override 19 | public MmCifFileBuilder createTypedBuilder() { 20 | return new MmCifFileBuilder(); 21 | } 22 | 23 | @Override 24 | public void validate(CifFile cifFile) throws SchemaMismatchException { 25 | // mmCIF should not contain any columns with flat names 26 | boolean flatColumns = cifFile.getBlocks() 27 | .get(0) 28 | .getCategories() 29 | .values() 30 | .stream() 31 | .map(Category::getColumnNames) 32 | .anyMatch(list -> list.size() == 1 && list.contains("")); 33 | if (flatColumns) { 34 | throw new SchemaMismatchException("MMCIF schema should not contain flat column names - format: category_name.column_name"); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/SchemaProvider.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.SchemaMismatchException; 4 | import org.rcsb.cif.model.CifFile; 5 | import org.rcsb.cif.model.CifFileBuilder; 6 | 7 | /** 8 | * A SchemaProvides wraps {@link CifFile} and {@link CifFileBuilder} instances in their schema-aware subclass. 9 | * @param the type of files returned 10 | * @param the type of builder instances returned 11 | */ 12 | public interface SchemaProvider { 13 | /** 14 | * Wrap a {@link CifFile} in a schema-supporting implementation of the data model. 15 | * @param cifFile the generic file 16 | * @return a schema-aware cif file instance 17 | */ 18 | F createTypedFile(CifFile cifFile); 19 | 20 | /** 21 | * Create an instance of a schema-supporting builder. 22 | * @return a schema-aware builder instance 23 | */ 24 | B createTypedBuilder(); 25 | 26 | /** 27 | * Perform an optional check if the provided argument matches this schema. 28 | * @param cifFile the CifFile to check 29 | * @throws SchemaMismatchException if the argument fails this test 30 | */ 31 | default void validate(CifFile cifFile) throws SchemaMismatchException {} 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/StandardSchemata.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema; 2 | 3 | import org.rcsb.cif.schema.core.CifCoreFileBuilder; 4 | import org.rcsb.cif.schema.core.CifCoreFile; 5 | import org.rcsb.cif.schema.mm.MmCifFileBuilder; 6 | import org.rcsb.cif.schema.mm.MmCifFile; 7 | 8 | /** 9 | * A collection of commonly used schemata (and their corresponding {@link SchemaProvider}). 10 | */ 11 | public class StandardSchemata { 12 | public static final SchemaProvider CIF_CORE = new CifCoreSchemaProvider(); 13 | public static final SchemaProvider MMCIF = new MmCifSchemaProvider(); 14 | 15 | private StandardSchemata() { 16 | // nothing here 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/AuditAuthorRole.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class AuditAuthorRole extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "audit_author_role"; 14 | 15 | public AuditAuthorRole(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Unique identifier for the author for whom a role is identified. 21 | * This may be repeated where an author took on multiple roles. 22 | * The identifier for the author is drawn from the list of authors 23 | * given in the AUDIT_AUTHOR category. 24 | * @return StrColumn 25 | */ 26 | public StrColumn getId() { 27 | return new DelegatingStrColumn(parentBlock.getColumn("audit_author_role_id")); 28 | } 29 | 30 | /** 31 | * The role taken by the author identified by _audit_author_role.id, 32 | * drawn from a predefined list. Additional details can be provided 33 | * in _audit_author_role.special_details 34 | * @return StrColumn 35 | */ 36 | public StrColumn getRole() { 37 | return new DelegatingStrColumn(parentBlock.getColumn("audit_author_role_role")); 38 | } 39 | 40 | /** 41 | * Description of the contribution of the author identified by 42 | * _audit_author_role.id. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getSpecialDetails() { 46 | return new DelegatingStrColumn(parentBlock.getColumn("audit_author_role_special_details")); 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/AuditConform.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class AuditConform extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "audit_conform"; 14 | 15 | public AuditConform(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * File name or uniform resource locator (URL) where the 21 | * conformant data dictionary resides. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getDictLocation() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("audit_conform_dict_location")); 26 | } 27 | 28 | /** 29 | * Name identifying highest-level data dictionary defining 30 | * data names used in this file. 31 | * @return StrColumn 32 | */ 33 | public StrColumn getDictName() { 34 | return new DelegatingStrColumn(parentBlock.getColumn("audit_conform_dict_name")); 35 | } 36 | 37 | /** 38 | * Code for the version of data dictionary defining data names 39 | * used in this file. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getDictVersion() { 43 | return new DelegatingStrColumn(parentBlock.getColumn("audit_conform_dict_version")); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/AuditLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class AuditLink extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "audit_link"; 14 | 15 | public AuditLink(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * The value of _audit.block_code associated with a data block 21 | * in the current file related to the current data block. The 22 | * special value '.' may be used to refer to the current data 23 | * block for completeness. 24 | * @return StrColumn 25 | */ 26 | public StrColumn getBlockCode() { 27 | return new DelegatingStrColumn(parentBlock.getColumn("audit_link_block_code")); 28 | } 29 | 30 | /** 31 | * Description of the relationship of the referenced data block 32 | * to the current one. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getBlockDescription() { 36 | return new DelegatingStrColumn(parentBlock.getColumn("audit_link_block_description")); 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/CellAngle.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class CellAngle extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "cell_angle"; 14 | 15 | public CellAngle(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Standard uncertainty of the angle between the bounding cell axes. 21 | * @return FloatColumn 22 | */ 23 | public FloatColumn getBetaSu() { 24 | return new DelegatingFloatColumn(parentBlock.getAliasedColumn("cell_angle_beta_su", "cell_angle_beta_esd")); 25 | } 26 | 27 | /** 28 | * Standard uncertainty of the angle between the bounding cell axes. 29 | * @return FloatColumn 30 | */ 31 | public FloatColumn getGammaSu() { 32 | return new DelegatingFloatColumn(parentBlock.getAliasedColumn("cell_angle_gamma_su", "cell_angle_gamma_esd")); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/CifCoreFile.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.CifFile; 5 | import org.rcsb.cif.schema.DelegatingCifFile; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 10 | public class CifCoreFile extends DelegatingCifFile { 11 | public CifCoreFile(CifFile delegate) { 12 | super(delegate); 13 | } 14 | 15 | @Override 16 | protected CifCoreBlock getTypedBlock(Block block) { 17 | return new CifCoreBlock(block); 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/CifCoreFileBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.builder.CifFileBuilderImpl; 4 | import org.rcsb.cif.schema.StandardSchemata; 5 | 6 | import javax.annotation.Generated; 7 | 8 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 9 | public class CifCoreFileBuilder extends CifFileBuilderImpl { 10 | @Override 11 | public CifCoreBlockBuilder enterBlock(String blockHeader) { 12 | return new CifCoreBlockBuilder(blockHeader, this); 13 | } 14 | 15 | @Override 16 | public CifCoreFile leaveFile() { 17 | return build(); 18 | } 19 | 20 | @Override 21 | public CifCoreFile build() { 22 | return super.build().as(StandardSchemata.CIF_CORE); 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/CitationAuthor.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class CitationAuthor extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "citation_author"; 14 | 15 | public CitationAuthor(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Code identifier in the CITATION data list. The value of must match 21 | * an identifier specified in the CITATION list. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getCitationId() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("citation_author_citation_id")); 26 | } 27 | 28 | /** 29 | * Name of citation author; relevant for articles and book chapters. 30 | * The family name(s), followed by a comma and including any 31 | * dynastic components, precedes the first name(s) or initial(s). 32 | * For authors with only one name, provide the full name without 33 | * abbreviation. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getName() { 37 | return new DelegatingStrColumn(parentBlock.getColumn("citation_author_name")); 38 | } 39 | 40 | /** 41 | * Ordinal code specifies the order of the author's name in the list 42 | * of authors of the citation. 43 | * @return IntColumn 44 | */ 45 | public IntColumn getOrdinal() { 46 | return new DelegatingIntColumn(parentBlock.getColumn("citation_author_ordinal")); 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/CitationEditor.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class CitationEditor extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "citation_editor"; 14 | 15 | public CitationEditor(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Code identifier in the CITATION list. The value must match an 21 | * identifier specified by _citation.id in the CITATION list. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getCitationId() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("citation_editor_citation_id")); 26 | } 27 | 28 | /** 29 | * Name of citation editor; relevant for book chapters. 30 | * The family name(s), followed by a comma and including any 31 | * dynastic components, precedes the first name(s) or initial(s). 32 | * @return StrColumn 33 | */ 34 | public StrColumn getName() { 35 | return new DelegatingStrColumn(parentBlock.getColumn("citation_editor_name")); 36 | } 37 | 38 | /** 39 | * This data item defines the order of the editor's name in the 40 | * list of editors of a citation. 41 | * @return IntColumn 42 | */ 43 | public IntColumn getOrdinal() { 44 | return new DelegatingIntColumn(parentBlock.getColumn("citation_editor_ordinal")); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/DiffrnAttenuator.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class DiffrnAttenuator extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "diffrn_attenuator"; 14 | 15 | public DiffrnAttenuator(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Code identifying a particular attenuator setting; referenced by the 21 | * _diffrn_refln.attenuator_code which is stored with the intensities. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getCode() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("diffrn_attenuator_code")); 26 | } 27 | 28 | /** 29 | * Description of the material from which the attenuator is made. 30 | * @return StrColumn 31 | */ 32 | public StrColumn getMaterial() { 33 | return new DelegatingStrColumn(parentBlock.getColumn("diffrn_attenuator_material")); 34 | } 35 | 36 | /** 37 | * The scale factor applied to a measured intensity if it is reduced by 38 | * an attenuator identified by _diffrn_attenuator.code. 39 | * @return FloatColumn 40 | */ 41 | public FloatColumn getScale() { 42 | return new DelegatingFloatColumn(parentBlock.getColumn("diffrn_attenuator_scale")); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/DiffrnScaleGroup.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class DiffrnScaleGroup extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "diffrn_scale_group"; 14 | 15 | public DiffrnScaleGroup(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Code identifying a specific scale group of reflections (e.g. for 21 | * multi-film or multi-crystal data). 22 | * @return StrColumn 23 | */ 24 | public StrColumn getCode() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("diffrn_scale_group_code")); 26 | } 27 | 28 | /** 29 | * Scale for a specific measurement group of reflections. Is multiplied 30 | * with the net intensity to place all intensities on a common scale. 31 | * @return FloatColumn 32 | */ 33 | public FloatColumn getINet() { 34 | return new DelegatingFloatColumn(parentBlock.getColumn("diffrn_scale_group_i_net")); 35 | } 36 | 37 | /** 38 | * Standard uncertainty of _diffrn_scale_group.I_net. 39 | * @return FloatColumn 40 | */ 41 | public FloatColumn getINetSu() { 42 | return new DelegatingFloatColumn(parentBlock.getColumn("diffrn_scale_group_i_net_su")); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/ExptlCrystalAppearance.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class ExptlCrystalAppearance extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "exptl_crystal_appearance"; 14 | 15 | public ExptlCrystalAppearance(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Appearance of the crystal as prescribed state codes. Note that 'dull' 21 | * and 'clear' should no longer be used. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getGeneral() { 25 | return new DelegatingStrColumn(parentBlock.getAliasedColumn("exptl_crystal_colour_lustre", "exptl_crystal_appearance_general")); 26 | } 27 | 28 | /** 29 | * Colour hue of the crystals as prescribed state codes. 30 | * @return StrColumn 31 | */ 32 | public StrColumn getHue() { 33 | return new DelegatingStrColumn(parentBlock.getAliasedColumn("exptl_crystal_colour_primary", "exptl_crystal_appearance_hue")); 34 | } 35 | 36 | /** 37 | * Colour intensity of the crystal as prescribed state codes. 38 | * @return StrColumn 39 | */ 40 | public StrColumn getIntensity() { 41 | return new DelegatingStrColumn(parentBlock.getAliasedColumn("exptl_crystal_colour_modifier", "exptl_crystal_appearance_intensity")); 42 | } 43 | 44 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/JournalIndex.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class JournalIndex extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "journal_index"; 14 | 15 | public JournalIndex(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Unique identifier for a journal index entry. 21 | * @return StrColumn 22 | */ 23 | public StrColumn getId() { 24 | return new DelegatingStrColumn(parentBlock.getColumn("journal_index_id")); 25 | } 26 | 27 | /** 28 | * Sub-term index assigned for the publication. 29 | * @return StrColumn 30 | */ 31 | public StrColumn getSubterm() { 32 | return new DelegatingStrColumn(parentBlock.getColumn("journal_index_subterm")); 33 | } 34 | 35 | /** 36 | * Term index assigned for the publication. 37 | * @return StrColumn 38 | */ 39 | public StrColumn getTerm() { 40 | return new DelegatingStrColumn(parentBlock.getColumn("journal_index_term")); 41 | } 42 | 43 | /** 44 | * Type of index assigned for the publication. 45 | * @return StrColumn 46 | */ 47 | public StrColumn getType() { 48 | return new DelegatingStrColumn(parentBlock.getColumn("journal_index_type")); 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/PublManuscript.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PublManuscript extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "publ_manuscript"; 14 | 15 | public PublManuscript(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * A description of the word processor package and computer used to 21 | * create the manuscript stored as _publ_manuscript.processed. 22 | * @return StrColumn 23 | */ 24 | public StrColumn getCreation() { 25 | return new DelegatingStrColumn(parentBlock.getColumn("publ_manuscript_creation")); 26 | } 27 | 28 | /** 29 | * The full manuscript of a paper (excluding possibly the figures 30 | * and the tables) output in ASCII characters from a word processor. 31 | * Information about the generation of this data item must be 32 | * specified in the data item _publ_manuscript.creation. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getProcessed() { 36 | return new DelegatingStrColumn(parentBlock.getColumn("publ_manuscript_processed")); 37 | } 38 | 39 | /** 40 | * The full manuscript of a paper (excluding figures and possibly 41 | * the tables) output as standard ASCII text. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getText() { 45 | return new DelegatingStrColumn(parentBlock.getColumn("publ_manuscript_text")); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/PublRequested.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PublRequested extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "publ_requested"; 14 | 15 | public PublRequested(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * The category of paper submitted. For submission to Acta 21 | * Crystallographica Section C or Acta Crystallographica 22 | * Section E, ONLY those codes indicated for use with those 23 | * journals should be used. 24 | * @return StrColumn 25 | */ 26 | public StrColumn getCategory() { 27 | return new DelegatingStrColumn(parentBlock.getColumn("publ_requested_category")); 28 | } 29 | 30 | /** 31 | * The name of the coeditor whom the authors would like to 32 | * process the submitted manuscript. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getCoeditorName() { 36 | return new DelegatingStrColumn(parentBlock.getColumn("publ_requested_coeditor_name")); 37 | } 38 | 39 | /** 40 | * Name of the journal to which the manuscript is being submitted. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getJournal() { 44 | return new DelegatingStrColumn(parentBlock.getColumn("publ_requested_journal")); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/core/ValenceRef.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.core; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class ValenceRef extends DelegatingCategory.DelegatingCifCoreCategory { 13 | private static final String NAME = "valence_ref"; 14 | 15 | public ValenceRef(CifCoreBlock parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | /** 20 | * Unique loop code of the valence references. 21 | * @return StrColumn 22 | */ 23 | public StrColumn getId() { 24 | return new DelegatingStrColumn(parentBlock.getColumn("valence_ref_id")); 25 | } 26 | 27 | /** 28 | * Literature reference from which the valence parameters 29 | * identified by _valence_param.id were taken. 30 | * @return StrColumn 31 | */ 32 | public StrColumn getReference() { 33 | return new DelegatingStrColumn(parentBlock.getColumn("valence_ref_reference")); 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/Col.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | abstract class Col { 4 | private final String type; 5 | private final String description; 6 | 7 | Col(String type, String description) { 8 | this.type = type; 9 | this.description = description; 10 | } 11 | 12 | public String getType() { 13 | return type; 14 | } 15 | 16 | public String getDescription() { 17 | return description; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/CoordCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class CoordCol extends Col { 4 | CoordCol(String description) { 5 | super("coord", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/EnumCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | import java.util.List; 4 | 5 | class EnumCol extends Col { 6 | private final List values; 7 | private final String subType; 8 | 9 | EnumCol(List values, String subType, String description) { 10 | super("enum", description); 11 | this.values = values; 12 | this.subType = subType; 13 | } 14 | 15 | public List getValues() { 16 | return values; 17 | } 18 | 19 | public String getSubType() { 20 | return subType; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/FloatCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class FloatCol extends Col { 4 | FloatCol(String description) { 5 | super("float", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/IntCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class IntCol extends Col { 4 | IntCol(String description) { 5 | super("int", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/ListCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class ListCol extends Col { 4 | private final String subType; 5 | private final String separator; 6 | 7 | ListCol(String subType, String separator, String description) { 8 | super("list", description); 9 | this.subType = subType; 10 | this.separator = separator; 11 | } 12 | 13 | public String getSubType() { 14 | return subType; 15 | } 16 | 17 | public String getSeparator() { 18 | return separator; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/MatrixCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class MatrixCol extends Col { 4 | MatrixCol(String description) { 5 | super("matrix", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/StrCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class StrCol extends Col { 4 | StrCol(String description) { 5 | super("str", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/Table.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | import java.util.Map; 4 | import java.util.Set; 5 | 6 | class Table { 7 | private final String description; 8 | private final Set categoryKeyNames; 9 | private final Map columns; 10 | 11 | Table(String description, Set categoryKeyNames, Map columns) { 12 | this.description = description; 13 | this.categoryKeyNames = categoryKeyNames; 14 | this.columns = columns; 15 | } 16 | 17 | public String getDescription() { 18 | return description; 19 | } 20 | 21 | public Set getCategoryKeyNames() { 22 | return categoryKeyNames; 23 | } 24 | 25 | public Map getColumns() { 26 | return columns; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/generator/VectorCol.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.generator; 2 | 3 | class VectorCol extends Col { 4 | VectorCol(String description) { 5 | super("vector", description); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/AtomSitesAlt.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the ATOM_SITES_ALT category record details 10 | * about the structural ensembles that should be generated from 11 | * atom sites or groups of atom sites that are modelled in 12 | * alternative conformations in this data block. 13 | */ 14 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 15 | public class AtomSitesAlt extends DelegatingCategory { 16 | public AtomSitesAlt(Category delegate) { 17 | super(delegate); 18 | } 19 | 20 | @Override 21 | protected Column createDelegate(String columnName, Column column) { 22 | switch (columnName) { 23 | case "details": 24 | return getDetails(); 25 | case "id": 26 | return getId(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * A description of special aspects of the modelling of atoms in 34 | * alternative conformations. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getDetails() { 38 | return delegate.getColumn("details", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * The value of _atom_sites_alt.id must uniquely identify 43 | * a record in the ATOM_SITES_ALT list. 44 | * 45 | * Note that this item need not be a number; it can be any unique 46 | * identifier. 47 | * @return StrColumn 48 | */ 49 | public StrColumn getId() { 50 | return delegate.getColumn("id", DelegatingStrColumn::new); 51 | } 52 | 53 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/AtomSitesAltEns.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the ATOM_SITES_ALT_ENS category record details 10 | * about the ensemble structure generated from atoms with various 11 | * alternative conformation IDs. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class AtomSitesAltEns extends DelegatingCategory { 15 | public AtomSitesAltEns(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "details": 23 | return getDetails(); 24 | case "id": 25 | return getId(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * A description of special aspects of the ensemble structure 33 | * generated from atoms with various alternative IDs. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getDetails() { 37 | return delegate.getColumn("details", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * The value of _atom_sites_alt_ens.id must uniquely identify a 42 | * record in the ATOM_SITES_ALT_ENS list. 43 | * 44 | * Note that this item need not be a number; it can be any unique 45 | * identifier. 46 | * @return StrColumn 47 | */ 48 | public StrColumn getId() { 49 | return delegate.getColumn("id", DelegatingStrColumn::new); 50 | } 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/AtomSitesAltGen.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the ATOM_SITES_ALT_GEN category record details 10 | * about the interpretation of multiple conformations in the 11 | * structure. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class AtomSitesAltGen extends DelegatingCategory { 15 | public AtomSitesAltGen(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "alt_id": 23 | return getAltId(); 24 | case "ens_id": 25 | return getEnsId(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is a pointer to _atom_sites_alt.id in the 33 | * ATOM_SITES_ALT category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getAltId() { 37 | return delegate.getColumn("alt_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * This data item is a pointer to _atom_sites_alt_ens.id in the 42 | * ATOM_SITES_ALT_ENS category. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getEnsId() { 46 | return delegate.getColumn("ens_id", DelegatingStrColumn::new); 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/AtomSitesFootnote.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the ATOM_SITES_FOOTNOTE category record detailed 10 | * comments about an atom site or a group of atom sites. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class AtomSitesFootnote extends DelegatingCategory { 14 | public AtomSitesFootnote(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "text": 24 | return getText(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * A code that identifies the footnote. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getId() { 35 | return delegate.getColumn("id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * The text of the footnote. Footnotes are used to describe 40 | * an atom site or a group of atom sites in the ATOM_SITE list. 41 | * 42 | * For example, footnotes may be used to indicate atoms for which 43 | * the electron density is very weak, or atoms for which static 44 | * disorder has been modelled. 45 | * @return StrColumn 46 | */ 47 | public StrColumn getText() { 48 | return delegate.getColumn("text", DelegatingStrColumn::new); 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/AuditLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the AUDIT_LINK category record details about the 10 | * relationships between data blocks in the current CIF. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class AuditLink extends DelegatingCategory { 14 | public AuditLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "block_code": 22 | return getBlockCode(); 23 | case "block_description": 24 | return getBlockDescription(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The value of _audit_block.code associated with a data block 32 | * in the current file related to the current data block. The 33 | * special value '.' may be used to refer to the current data 34 | * block for completeness. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getBlockCode() { 38 | return delegate.getColumn("block_code", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * A textual description of the relationship of the referenced 43 | * data block to the current one. 44 | * @return StrColumn 45 | */ 46 | public StrColumn getBlockDescription() { 47 | return delegate.getColumn("block_description", DelegatingStrColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/ChemLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the CHEM_LINK category give details about 10 | * the links between chemical components. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class ChemLink extends DelegatingCategory { 14 | public ChemLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "details": 24 | return getDetails(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The value of _chem_link.id must uniquely identify each 32 | * item in the CHEM_LINK list. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getId() { 36 | return delegate.getColumn("id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * A description of special aspects of a link between 41 | * chemical components in the structure. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getDetails() { 45 | return delegate.getColumn("details", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/DatabasePDBCaveat.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the DATABASE_PDB_CAVEAT category record details 10 | * about features of the data block flagged as 'caveats' by the 11 | * Protein Data Bank (PDB). 12 | * 13 | * These data items are included only for consistency with PDB 14 | * format files. They should appear in a data block only if that 15 | * data block was created by reformatting a PDB format file. 16 | */ 17 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 18 | public class DatabasePDBCaveat extends DelegatingCategory { 19 | public DatabasePDBCaveat(Category delegate) { 20 | super(delegate); 21 | } 22 | 23 | @Override 24 | protected Column createDelegate(String columnName, Column column) { 25 | switch (columnName) { 26 | case "id": 27 | return getId(); 28 | case "text": 29 | return getText(); 30 | default: 31 | return new DelegatingColumn(column); 32 | } 33 | } 34 | 35 | /** 36 | * A unique identifier for the PDB caveat record. 37 | * @return IntColumn 38 | */ 39 | public IntColumn getId() { 40 | return delegate.getColumn("id", DelegatingIntColumn::new); 41 | } 42 | 43 | /** 44 | * The full text of the PDB caveat record. 45 | * @return StrColumn 46 | */ 47 | public StrColumn getText() { 48 | return delegate.getColumn("text", DelegatingStrColumn::new); 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/DiffrnDetectorAxis.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the DIFFRN_DETECTOR_AXIS category associate 10 | * axes with detectors. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class DiffrnDetectorAxis extends DelegatingCategory { 14 | public DiffrnDetectorAxis(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "axis_id": 22 | return getAxisId(); 23 | case "detector_id": 24 | return getDetectorId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _axis.id in 32 | * the AXIS category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getAxisId() { 36 | return delegate.getColumn("axis_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item is a pointer to _diffrn_detector.id in 41 | * the DIFFRN_DETECTOR category. 42 | * 43 | * This item was previously named _diffrn_detector_axis.id 44 | * which is now a deprecated name. The old name is 45 | * provided as an alias but should not be used for new work. 46 | * @return StrColumn 47 | */ 48 | public StrColumn getDetectorId() { 49 | return delegate.getColumn("detector_id", DelegatingStrColumn::new); 50 | } 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/EmAuthorList.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Category to collect the authors of this entry 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class EmAuthorList extends DelegatingCategory { 13 | public EmAuthorList(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "author": 21 | return getAuthor(); 22 | case "identifier_ORCID": 23 | return getIdentifierORCID(); 24 | case "ordinal": 25 | return getOrdinal(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * Author of the EMDB entry in PDB format: Taylor, T.J. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getAuthor() { 36 | return delegate.getColumn("author", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * The Open Researcher and Contributor ID (ORCID). 41 | * @return StrColumn 42 | */ 43 | public StrColumn getIdentifierORCID() { 44 | return delegate.getColumn("identifier_ORCID", DelegatingStrColumn::new); 45 | } 46 | 47 | /** 48 | * ID 1 corresponds to the main author of the entry 49 | * @return IntColumn 50 | */ 51 | public IntColumn getOrdinal() { 52 | return delegate.getColumn("ordinal", DelegatingIntColumn::new); 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/EmDbReferenceAuxiliary.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Category holds links to raw data sources for the entry, e.g., 10 | * held by a remote server. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class EmDbReferenceAuxiliary extends DelegatingCategory { 14 | public EmDbReferenceAuxiliary(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "link": 24 | return getLink(); 25 | case "link_type": 26 | return getLinkType(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * PRIMARY KEY 34 | * @return StrColumn 35 | */ 36 | public StrColumn getId() { 37 | return delegate.getColumn("id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * Hyperlink to the auxiliary data. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getLink() { 45 | return delegate.getColumn("link", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Type of auxiliary data stored at the indicated link. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getLinkType() { 53 | return delegate.getColumn("link_type", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/EmFscCurve.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the EMD_VALIDATION_FSC_CURVE category 10 | * record details of the Fourier Shell Correlation (FSC) curve file. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class EmFscCurve extends DelegatingCategory { 14 | public EmFscCurve(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "details": 22 | return getDetails(); 23 | case "file": 24 | return getFile(); 25 | case "id": 26 | return getId(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Details about the FSC file. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getDetails() { 37 | return delegate.getColumn("details", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * FSC file name. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getFile() { 45 | return delegate.getColumn("file", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * PRIMARY KEY 50 | * @return StrColumn 51 | */ 52 | public StrColumn getId() { 53 | return delegate.getColumn("id", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/EmImageProcessing.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the EM_IMAGE_PROCESSING category 10 | * record details of the EM image processing procedure. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class EmImageProcessing extends DelegatingCategory { 14 | public EmImageProcessing(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "details": 22 | return getDetails(); 23 | case "id": 24 | return getId(); 25 | case "image_recording_id": 26 | return getImageRecordingId(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Method details. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getDetails() { 37 | return delegate.getColumn("details", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * PRIMARY KEY 42 | * @return StrColumn 43 | */ 44 | public StrColumn getId() { 45 | return delegate.getColumn("id", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Foreign key to the EM_IMAGE_RECORDING 50 | * @return StrColumn 51 | */ 52 | public StrColumn getImageRecordingId() { 53 | return delegate.getColumn("image_recording_id", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/EmInterpretFigure.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Listing of all layer line files associated with the EM entry 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class EmInterpretFigure extends DelegatingCategory { 13 | public EmInterpretFigure(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "details": 21 | return getDetails(); 22 | case "file": 23 | return getFile(); 24 | case "id": 25 | return getId(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * Details about the image file. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getDetails() { 36 | return delegate.getColumn("details", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * The name of the image file associated with the map entry 41 | * @return StrColumn 42 | */ 43 | public StrColumn getFile() { 44 | return delegate.getColumn("file", DelegatingStrColumn::new); 45 | } 46 | 47 | /** 48 | * PRIMARY KEY 49 | * @return StrColumn 50 | */ 51 | public StrColumn getId() { 52 | return delegate.getColumn("id", DelegatingStrColumn::new); 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmDatasetGroupLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * IHM_DATASET_GROUP_LINK category provides the list of datasets present in 10 | * a particular group. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmDatasetGroupLink extends DelegatingCategory { 14 | public IhmDatasetGroupLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "dataset_list_id": 22 | return getDatasetListId(); 23 | case "group_id": 24 | return getGroupId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An identifier for the dataset. 32 | * This data item is a pointer to _ihm_dataset_list.id in the 33 | * IHM_DATASET_LIST category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getDatasetListId() { 37 | return delegate.getColumn("dataset_list_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * An identifier for the dataset group. 42 | * This data item is a pointer to _ihm_dataset_group.id in the 43 | * IHM_DATASET_GROUP category. 44 | * @return IntColumn 45 | */ 46 | public IntColumn getGroupId() { 47 | return delegate.getColumn("group_id", DelegatingIntColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmEntryCollection.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the IHM_ENTRY_COLLECTION category identify a 10 | * collection of IHM entries belonging to a single deposition or group. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmEntryCollection extends DelegatingCategory { 14 | public IhmEntryCollection(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "name": 24 | return getName(); 25 | case "details": 26 | return getDetails(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * A unique identifier for the entry collection assigned by the archive. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getId() { 37 | return delegate.getColumn("id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * Name for the entry collection. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getName() { 45 | return delegate.getColumn("name", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Details about the entry collection. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getDetails() { 53 | return delegate.getColumn("details", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmEntryCollectionMapping.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the IHM_ENTRY_COLLECTION_MAPPING category identify the 10 | * entries that belong to a collection. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmEntryCollectionMapping extends DelegatingCategory { 14 | public IhmEntryCollectionMapping(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "collection_id": 22 | return getCollectionId(); 23 | case "entry_id": 24 | return getEntryId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * Identifier for the entry collection. 32 | * This data item is a pointer to _ihm_entry_collection.id in the 33 | * IHM_ENTRY_COLLECTION category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getCollectionId() { 37 | return delegate.getColumn("collection_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * Identifier for the entry. 42 | * This data item is a pointer to _entry.id in the 43 | * ENTRY category. 44 | * @return StrColumn 45 | */ 46 | public StrColumn getEntryId() { 47 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmModelGroupLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * IHM_MODEL_GROUP_LINK category provides the list of structure models present in 10 | * a particular structure model group. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmModelGroupLink extends DelegatingCategory { 14 | public IhmModelGroupLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "model_id": 22 | return getModelId(); 23 | case "group_id": 24 | return getGroupId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An identifier for the structural model. 32 | * This data item is a pointer to _ihm_model_list.model_id in the 33 | * IHM_MODEL_LIST category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getModelId() { 37 | return delegate.getColumn("model_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * An identifier for the structural model group. 42 | * This data item is a pointer to _ihm_model_group.id in the 43 | * IHM_MODEL_GROUP category. 44 | * @return IntColumn 45 | */ 46 | public IntColumn getGroupId() { 47 | return delegate.getColumn("group_id", DelegatingIntColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmMultiStateModelGroupLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * IHM_MULTI_STATE_MODEL_GROUP_LINK category provides the list of models groups 10 | * corresponding to a particular state. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmMultiStateModelGroupLink extends DelegatingCategory { 14 | public IhmMultiStateModelGroupLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "state_id": 22 | return getStateId(); 23 | case "model_group_id": 24 | return getModelGroupId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An identifier for the state. 32 | * This data item is a pointer to _ihm_multi_state_modeling.state_id in the 33 | * IHM_MULTI_STATE_MODELING category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getStateId() { 37 | return delegate.getColumn("state_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * An identifier for the structural model group. 42 | * This data item is a pointer to _ihm_model_group.id in the 43 | * IHM_MODEL_GROUP category. 44 | * @return IntColumn 45 | */ 46 | public IntColumn getModelGroupId() { 47 | return delegate.getColumn("model_group_id", DelegatingIntColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmMultiStateScheme.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the IHM_MULTI_STATE_SCHEME category provide details about 10 | * collection of multiple states that can form a connected/ordered scheme. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmMultiStateScheme extends DelegatingCategory { 14 | public IhmMultiStateScheme(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "name": 24 | return getName(); 25 | case "details": 26 | return getDetails(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * A unique identifier for the category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getId() { 37 | return delegate.getColumn("id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * Name for the multi-state scheme. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getName() { 45 | return delegate.getColumn("name", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Details about the multi-state scheme. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getDetails() { 53 | return delegate.getColumn("details", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmPseudoSiteFeature.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the IHM_PSEUDO_SITE_FEATURE category records the details 10 | * of pseudo site features listed in IHM_FEATURE_LIST. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class IhmPseudoSiteFeature extends DelegatingCategory { 14 | public IhmPseudoSiteFeature(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "feature_id": 22 | return getFeatureId(); 23 | case "pseudo_site_id": 24 | return getPseudoSiteId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The feature identifier corresponding to this pseudo site. 32 | * This data item is a pointer to _ihm_feature_list.feature_id 33 | * in the IHM_FEATURE_LIST category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getFeatureId() { 37 | return delegate.getColumn("feature_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * The pseudo site identifier corresponding to this feature. 42 | * This data item is a pointer to _ihm_pseudo_site.id 43 | * in the IHM_PSEUDO_SITE category. 44 | * @return IntColumn 45 | */ 46 | public IntColumn getPseudoSiteId() { 47 | return delegate.getColumn("pseudo_site_id", DelegatingIntColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/IhmStructAssembly.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the IHM_STRUCT_ASSEMBLY category lists 10 | * all the structural assemblies used in the integrative 11 | * modeling study. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class IhmStructAssembly extends DelegatingCategory { 15 | public IhmStructAssembly(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "name": 25 | return getName(); 26 | case "description": 27 | return getDescription(); 28 | default: 29 | return new DelegatingColumn(column); 30 | } 31 | } 32 | 33 | /** 34 | * A unique identifier for the structural assembly. 35 | * @return IntColumn 36 | */ 37 | public IntColumn getId() { 38 | return delegate.getColumn("id", DelegatingIntColumn::new); 39 | } 40 | 41 | /** 42 | * A name for the structural assembly. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Description of the structural assembly. 51 | * @return StrColumn 52 | */ 53 | public StrColumn getDescription() { 54 | return delegate.getColumn("description", DelegatingStrColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/MaModelGroupLink.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * MA_MODEL_GROUP_LINK category provides the list of structure models present in 10 | * a particular structure model group. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class MaModelGroupLink extends DelegatingCategory { 14 | public MaModelGroupLink(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "model_id": 22 | return getModelId(); 23 | case "group_id": 24 | return getGroupId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An identifier for the structure model. 32 | * This data item is a pointer to _ma_model_list.ordinal_id in the 33 | * MA_MODEL_LIST category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getModelId() { 37 | return delegate.getColumn("model_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * An identifier for the structure model group. 42 | * This data item is a pointer to _ma_model_group.id in the 43 | * MA_MODEL_GROUP category. 44 | * @return IntColumn 45 | */ 46 | public IntColumn getGroupId() { 47 | return delegate.getColumn("group_id", DelegatingIntColumn::new); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/MaTemplateCustomized.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the MA_TEMPLATE_CUSTOMIZED category record details about 10 | * the customized structural templates that are not from a reference database. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class MaTemplateCustomized extends DelegatingCategory { 14 | public MaTemplateCustomized(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "template_id": 22 | return getTemplateId(); 23 | case "details": 24 | return getDetails(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * A unique identifier for this template record. 32 | * This data item is a pointer to _ma_template_details.template_id 33 | * in the MA_TEMPLATE_DETAILS category. 34 | * @return IntColumn 35 | */ 36 | public IntColumn getTemplateId() { 37 | return delegate.getColumn("template_id", DelegatingIntColumn::new); 38 | } 39 | 40 | /** 41 | * Additional textual details about how the customized template was built. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getDetails() { 45 | return delegate.getColumn("details", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/MmCifFile.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.CifFile; 5 | import org.rcsb.cif.schema.DelegatingCifFile; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 10 | public class MmCifFile extends DelegatingCifFile { 11 | public MmCifFile(CifFile delegate) { 12 | super(delegate); 13 | } 14 | 15 | @Override 16 | protected MmCifBlock getTypedBlock(Block block) { 17 | return new MmCifBlock(block); 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/MmCifFileBuilder.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.builder.CifFileBuilderImpl; 4 | import org.rcsb.cif.schema.StandardSchemata; 5 | 6 | import javax.annotation.Generated; 7 | 8 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 9 | public class MmCifFileBuilder extends CifFileBuilderImpl { 10 | @Override 11 | public MmCifBlockBuilder enterBlock(String blockHeader) { 12 | return new MmCifBlockBuilder(blockHeader, this); 13 | } 14 | 15 | @Override 16 | public MmCifFile leaveFile() { 17 | return build(); 18 | } 19 | 20 | @Override 21 | public MmCifFile build() { 22 | return super.build().as(StandardSchemata.MMCIF); 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/NdbOriginalNdbCoordinates.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Placeholder category for PDB coordinate data. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class NdbOriginalNdbCoordinates extends DelegatingCategory { 13 | public NdbOriginalNdbCoordinates(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "coord_section": 21 | return getCoordSection(); 22 | default: 23 | return new DelegatingColumn(column); 24 | } 25 | } 26 | 27 | /** 28 | * Placeholder item to hold unparsed coordinate data. 29 | * @return StrColumn 30 | */ 31 | public StrColumn getCoordSection() { 32 | return delegate.getColumn("coord_section", DelegatingStrColumn::new); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxAtlas.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Gives information about the organization of the 10 | * NDB Structural Atlas. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxAtlas extends DelegatingCategory { 14 | public PdbxAtlas(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entry_id": 22 | return getEntryId(); 23 | case "page_id": 24 | return getPageId(); 25 | case "page_name": 26 | return getPageName(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Entry ID. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getEntryId() { 37 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * A unique identifier for a NDB ATLAS index page. 42 | * @return IntColumn 43 | */ 44 | public IntColumn getPageId() { 45 | return delegate.getColumn("page_id", DelegatingIntColumn::new); 46 | } 47 | 48 | /** 49 | * Text of the Atlas index entry. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getPageName() { 53 | return delegate.getColumn("page_name", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxAudit.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * The PDBX_AUDIT holds current version information. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxAudit extends DelegatingCategory { 13 | public PdbxAudit(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "entry_id": 21 | return getEntryId(); 22 | case "current_version": 23 | return getCurrentVersion(); 24 | default: 25 | return new DelegatingColumn(column); 26 | } 27 | } 28 | 29 | /** 30 | * The value of _pdbx_audit.entry_id identifies the data block. 31 | * @return StrColumn 32 | */ 33 | public StrColumn getEntryId() { 34 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 35 | } 36 | 37 | /** 38 | * The value of _pdbx_audit.entry_id identifies the data block. 39 | * @return StrColumn 40 | */ 41 | public StrColumn getCurrentVersion() { 42 | return delegate.getColumn("current_version", DelegatingStrColumn::new); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxBuffer.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_BUFFER category 10 | * record details of the sample buffer. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxBuffer extends DelegatingCategory { 14 | public PdbxBuffer(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "name": 24 | return getName(); 25 | case "details": 26 | return getDetails(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * The value of _pdbx_buffer.id must 34 | * uniquely identify the sample buffer. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getId() { 38 | return delegate.getColumn("id", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * The name of each buffer. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Any additional details to do with buffer. 51 | * @return StrColumn 52 | */ 53 | public StrColumn getDetails() { 54 | return delegate.getColumn("details", DelegatingStrColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxChemCompImport.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_CHEM_COMP_IMPORT category identify 10 | * existing chemical components to be imported into the 11 | * current component definition. Components in this list 12 | * can be edited by instructions in categories 13 | * pdbx_chem_comp_atom_edit and pdbx_chem_comp_bond_edit. 14 | */ 15 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 16 | public class PdbxChemCompImport extends DelegatingCategory { 17 | public PdbxChemCompImport(Category delegate) { 18 | super(delegate); 19 | } 20 | 21 | @Override 22 | protected Column createDelegate(String columnName, Column column) { 23 | switch (columnName) { 24 | case "comp_id": 25 | return getCompId(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is a pointer to _chem_comp.id in the CHEM_COMP 33 | * category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getCompId() { 37 | return delegate.getColumn("comp_id", DelegatingStrColumn::new); 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxChemCompModel.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_CHEM_COMP_MODEL category give details about each 10 | * of the chemical component model instances. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxChemCompModel extends DelegatingCategory { 14 | public PdbxChemCompModel(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "comp_id": 24 | return getCompId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The value of _pdbx_chem_comp_model.id must uniquely identify each 32 | * model instance the PDBX_CHEM_COMP_MODEL list. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getId() { 36 | return delegate.getColumn("id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * An identifier for chemical component definition. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getCompId() { 44 | return delegate.getColumn("comp_id", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxChemCompModelFeature.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Additional features associated with the chemical component. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxChemCompModelFeature extends DelegatingCategory { 13 | public PdbxChemCompModelFeature(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "model_id": 21 | return getModelId(); 22 | case "feature_name": 23 | return getFeatureName(); 24 | case "feature_value": 25 | return getFeatureValue(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * The component model identifier for this feature. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getModelId() { 36 | return delegate.getColumn("model_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * The component model feature type. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getFeatureName() { 44 | return delegate.getColumn("feature_name", DelegatingStrColumn::new); 45 | } 46 | 47 | /** 48 | * The component feature value. 49 | * @return StrColumn 50 | */ 51 | public StrColumn getFeatureValue() { 52 | return delegate.getColumn("feature_value", DelegatingStrColumn::new); 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxChemCompModelReference.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Additional features associated with the chemical component. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxChemCompModelReference extends DelegatingCategory { 13 | public PdbxChemCompModelReference(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "model_id": 21 | return getModelId(); 22 | case "db_name": 23 | return getDbName(); 24 | case "db_code": 25 | return getDbCode(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * The component model identifier for this feature. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getModelId() { 36 | return delegate.getColumn("model_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * The component model feature type. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getDbName() { 44 | return delegate.getColumn("db_name", DelegatingStrColumn::new); 45 | } 46 | 47 | /** 48 | * The component feature value. 49 | * @return StrColumn 50 | */ 51 | public StrColumn getDbCode() { 52 | return delegate.getColumn("db_code", DelegatingStrColumn::new); 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxChemCompNonstandard.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_CHEM_COMP_NONSTANDARD category describes 10 | * common nucleotide modifications and nonstandard features. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxChemCompNonstandard extends DelegatingCategory { 14 | public PdbxChemCompNonstandard(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "comp_id": 22 | return getCompId(); 23 | case "type": 24 | return getType(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _chem_comp.id in the 32 | * CHEM_COMP category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getCompId() { 36 | return delegate.getColumn("comp_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item describes modification type. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getType() { 44 | return delegate.getColumn("type", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxConnectModification.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Local data items describing ligand and monomer 10 | * modifications. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxConnectModification extends DelegatingCategory { 14 | public PdbxConnectModification(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "res_name": 22 | return getResName(); 23 | case "modification": 24 | return getModification(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * Unique (typically 3-letter code) identifier for chemical group. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getResName() { 35 | return delegate.getColumn("res_name", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * Type of modification 40 | * @return StrColumn 41 | */ 42 | public StrColumn getModification() { 43 | return delegate.getColumn("modification", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxConnectType.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Local data items describing ligand and monomer 10 | * type information. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxConnectType extends DelegatingCategory { 14 | public PdbxConnectType(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "res_name": 22 | return getResName(); 23 | case "ndbTokenType": 24 | return getNdbTokenType(); 25 | case "modified": 26 | return getModified(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Unique (typically 3-letter code) identifier for chemical group. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getResName() { 37 | return delegate.getColumn("res_name", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * Internal chemical type identifier used by NDB. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getNdbTokenType() { 45 | return delegate.getColumn("ndbTokenType", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Indicates a modified chemical component. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getModified() { 53 | return delegate.getColumn("modified", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxCoordinateModel.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * The details of the composition of the coordinate model. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxCoordinateModel extends DelegatingCategory { 13 | public PdbxCoordinateModel(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "asym_id": 21 | return getAsymId(); 22 | case "type": 23 | return getType(); 24 | default: 25 | return new DelegatingColumn(column); 26 | } 27 | } 28 | 29 | /** 30 | * A reference to _struct_asym.id. 31 | * @return StrColumn 32 | */ 33 | public StrColumn getAsymId() { 34 | return delegate.getColumn("asym_id", DelegatingStrColumn::new); 35 | } 36 | 37 | /** 38 | * A classification of the composition of the coordinate model. 39 | * @return StrColumn 40 | */ 41 | public StrColumn getType() { 42 | return delegate.getColumn("type", DelegatingStrColumn::new); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxDataProcessingStatus.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_DATA_PROCESSING_STATUS category record 10 | * data processing instructions for workflow processing tasks. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxDataProcessingStatus extends DelegatingCategory { 14 | public PdbxDataProcessingStatus(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "task_name": 22 | return getTaskName(); 23 | case "status": 24 | return getStatus(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * A data processing workflow task name. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getTaskName() { 35 | return delegate.getColumn("task_name", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * A data processing workflow task status code. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getStatus() { 43 | return delegate.getColumn("status", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxDatabaseDoi.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_DATABASE_DOI category record the 10 | * DOI of this entry. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxDatabaseDoi extends DelegatingCategory { 14 | public PdbxDatabaseDoi(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "db_name": 22 | return getDbName(); 23 | case "db_DOI": 24 | return getDbDOI(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An abbreviation that identifies the database. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getDbName() { 35 | return delegate.getColumn("db_name", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * The DOI for the entry in the associated database. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getDbDOI() { 43 | return delegate.getColumn("db_DOI", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxDatabasePdbOmit.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_DATABASE_PDB_OMIT category record 10 | * list PDB record names that should be omitted in the PDB 11 | * format file. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxDatabasePdbOmit extends DelegatingCategory { 15 | public PdbxDatabasePdbOmit(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "entry_id": 23 | return getEntryId(); 24 | case "record_name": 25 | return getRecordName(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * The value of _pdbx_database_pdb_omit.entry_id identifies the data block. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getEntryId() { 36 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * PDB record or REMARK name to be omitted. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getRecordName() { 44 | return delegate.getColumn("record_name", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxDatabaseRemark.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_DATABASE_REMARK category record keep additional 10 | * information about the entry. They are mostly used to create 11 | * 'non-standard' PDB REMARK annotations (6-99). 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxDatabaseRemark extends DelegatingCategory { 15 | public PdbxDatabaseRemark(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "text": 25 | return getText(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * A unique identifier for the PDB remark record. 33 | * @return IntColumn 34 | */ 35 | public IntColumn getId() { 36 | return delegate.getColumn("id", DelegatingIntColumn::new); 37 | } 38 | 39 | /** 40 | * The full text of the PDB remark record. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getText() { 44 | return delegate.getColumn("text", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxDccMapman.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the category record details from the output of mapman 10 | * used by the DCC program. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxDccMapman extends DelegatingCategory { 14 | public PdbxDccMapman(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "pdbid": 22 | return getPdbid(); 23 | case "details": 24 | return getDetails(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The PDB id code. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getPdbid() { 35 | return delegate.getColumn("pdbid", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * The details of the use of mapman by the DCC program. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getDetails() { 43 | return delegate.getColumn("details", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityBranch.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_BRANCH category specify the list 10 | * of branched entities and the type. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityBranch extends DelegatingCategory { 14 | public PdbxEntityBranch(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "type": 24 | return getType(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The entity id for this branched entity. 32 | * 33 | * This data item is a pointer to _entity.id 34 | * @return StrColumn 35 | */ 36 | public StrColumn getEntityId() { 37 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * The type of this branched oligosaccharide. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getType() { 45 | return delegate.getColumn("type", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityFuncEnzyme.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_FUNC_ENZYME category describe 10 | * characteristics of protein oligonucleotide binding in which 11 | * the binding mode is enzymatic. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxEntityFuncEnzyme extends DelegatingCategory { 15 | public PdbxEntityFuncEnzyme(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "bind_mode_id": 23 | return getBindModeId(); 24 | case "type": 25 | return getType(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is pointer to _pdbx_entity_func_bind_mode.id in the 33 | * PDBX_ENTITY_FUNC_BIND_MODE category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getBindModeId() { 37 | return delegate.getColumn("bind_mode_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * This data item describes the type of enzyme function. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getType() { 45 | return delegate.getColumn("type", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityFuncOther.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_FUNC_OTHER category describe 10 | * characteristics of protein oligonucleotide binding in which 11 | * the binding mode is not classified. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxEntityFuncOther extends DelegatingCategory { 15 | public PdbxEntityFuncOther(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "bind_mode_id": 23 | return getBindModeId(); 24 | case "type": 25 | return getType(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is pointer to _pdbx_entity_func_bind_mode.id in the 33 | * PDBX_ENTITY_FUNC_BIND_MODE category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getBindModeId() { 37 | return delegate.getColumn("bind_mode_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * This data item describes the type of structural function. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getType() { 45 | return delegate.getColumn("type", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityFuncRegulatory.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_FUNC_REGULATORY category describe 10 | * characteristics of protein oligonucleotide binding in which 11 | * the binding mode is regulatory. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxEntityFuncRegulatory extends DelegatingCategory { 15 | public PdbxEntityFuncRegulatory(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "bind_mode_id": 23 | return getBindModeId(); 24 | case "type": 25 | return getType(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is pointer to _pdbx_entity_func_bind_mode.id in the 33 | * PDBX_ENTITY_FUNC_BIND_MODE category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getBindModeId() { 37 | return delegate.getColumn("bind_mode_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * This data item describes the type of regulatory function. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getType() { 45 | return delegate.getColumn("type", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityFuncStructural.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_FUNC_STRUCTURAL category describe 10 | * characteristics of protein oligonucleotide binding in which 11 | * the binding mode is structural. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxEntityFuncStructural extends DelegatingCategory { 15 | public PdbxEntityFuncStructural(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "bind_mode_id": 23 | return getBindModeId(); 24 | case "type": 25 | return getType(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * This data item is pointer to _pdbx_entity_func_bind_mode.id in the 33 | * PDBX_ENTITY_FUNC_BIND_MODE category. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getBindModeId() { 37 | return delegate.getColumn("bind_mode_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * This data item describes the type of structural function. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getType() { 45 | return delegate.getColumn("type", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityName.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * The PDBX_ENTITY_NAME records additional name information for 10 | * each entity. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityName extends DelegatingCategory { 14 | public PdbxEntityName(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "name": 24 | return getName(); 25 | case "name_type": 26 | return getNameType(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Pointer to _entity.id. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getEntityId() { 37 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * Entity name. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getName() { 45 | return delegate.getColumn("name", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * Entity name type. 50 | * @return StrColumn 51 | */ 52 | public StrColumn getNameType() { 53 | return delegate.getColumn("name_type", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityNameTaxonomyTree.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_NAME_TAXONOMY_TREE category 10 | * define the tree structure of the entity name taxonomy. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityNameTaxonomyTree extends DelegatingCategory { 14 | public PdbxEntityNameTaxonomyTree(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "parent_id": 24 | return getParentId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item identifies a node in the entity 32 | * name taxonomy. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getId() { 36 | return delegate.getColumn("id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item identifies the nearest parent node in 41 | * the entity name taxonomy. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getParentId() { 45 | return delegate.getColumn("parent_id", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityPolyNaNonstandard.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_POLY_NA_NONSTANDARD category 10 | * describe the nonstandard features of the nucleic acid polymer entities. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityPolyNaNonstandard extends DelegatingCategory { 14 | public PdbxEntityPolyNaNonstandard(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "feature": 24 | return getFeature(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _entity.id in the 32 | * ENTITY category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getEntityId() { 36 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item describes the nonstandard feature of 41 | * the nucleic acid polymer entity. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getFeature() { 45 | return delegate.getColumn("feature", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityPolyNaType.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_POLY_NA_TYPE category describe 10 | * type of nucleic acid polymer entities. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityPolyNaType extends DelegatingCategory { 14 | public PdbxEntityPolyNaType(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "type": 24 | return getType(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _entity.id in the 32 | * ENTITY category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getEntityId() { 36 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item describes the nucleic acid type. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getType() { 44 | return delegate.getColumn("type", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityPolyProteinClass.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ENTITY_POLY_PROTEIN_CLASS category 10 | * provides a top-level protein classification. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityPolyProteinClass extends DelegatingCategory { 14 | public PdbxEntityPolyProteinClass(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "class": 24 | return getClazz(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _entity.id in the 32 | * ENTITY category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getEntityId() { 36 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * This data item provides a top-level classification 41 | * of the polymer protein entity. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getClazz() { 45 | return delegate.getColumn("class", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxEntityRemapping.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * When producing a biological assembly model file, data items in the pdbx_entity_remapping provide a mapping 10 | * from the entity in original model file to this data file. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxEntityRemapping extends DelegatingCategory { 14 | public PdbxEntityRemapping(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entity_id": 22 | return getEntityId(); 23 | case "orig_entity_id": 24 | return getOrigEntityId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * Uniquely identifies an _entity.id in this data block. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getEntityId() { 35 | return delegate.getColumn("entity_id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * Uniquely identifies an _entity.id in the original model data block. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getOrigEntityId() { 43 | return delegate.getColumn("orig_entity_id", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxFamilyGroupIndex.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_FAMILY_GROUP_INDEX category record 10 | * the family membership in family groups. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxFamilyGroupIndex extends DelegatingCategory { 14 | public PdbxFamilyGroupIndex(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "family_prd_id": 24 | return getFamilyPrdId(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is the identifier for the a group of related BIRD families. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getId() { 35 | return delegate.getColumn("id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * This data item is a reference to the BIRD identifier for families. 40 | * 41 | * This data item is a pointer to _pdbx_reference_molecule_family.family_prd_id in the 42 | * pdbx_reference_molecule category. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getFamilyPrdId() { 46 | return delegate.getColumn("family_prd_id", DelegatingStrColumn::new); 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxIonInfo.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_ION_INFO category are still used until 10 | * the 'entity' categories are entered into the database, even though the 11 | * information is repeated. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxIonInfo extends DelegatingCategory { 15 | public PdbxIonInfo(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "name": 25 | return getName(); 26 | case "numb_per_asym_unit": 27 | return getNumbPerAsymUnit(); 28 | default: 29 | return new DelegatingColumn(column); 30 | } 31 | } 32 | 33 | /** 34 | * Serial number. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getId() { 38 | return delegate.getColumn("id", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * Name of ion. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Number of ion molecules per asymmetric unit. 51 | * @return IntColumn 52 | */ 53 | public IntColumn getNumbPerAsymUnit() { 54 | return delegate.getColumn("numb_per_asym_unit", DelegatingIntColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxNmrDetails.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Experimental details of the NMR study that have not been 10 | * described elsewhere in this deposition. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxNmrDetails extends DelegatingCategory { 14 | public PdbxNmrDetails(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entry_id": 22 | return getEntryId(); 23 | case "text": 24 | return getText(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * The entry ID for the structure determination. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getEntryId() { 35 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * Additional details describing the NMR experiment. 40 | * @return StrColumn 41 | */ 42 | public StrColumn getText() { 43 | return delegate.getColumn("text", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxPdbCompnd.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * This is a place holder for the PDB COMPND. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxPdbCompnd extends DelegatingCategory { 13 | public PdbxPdbCompnd(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "id": 21 | return getId(); 22 | case "text": 23 | return getText(); 24 | default: 25 | return new DelegatingColumn(column); 26 | } 27 | } 28 | 29 | /** 30 | * NDB ID. 31 | * @return StrColumn 32 | */ 33 | public StrColumn getId() { 34 | return delegate.getColumn("id", DelegatingStrColumn::new); 35 | } 36 | 37 | /** 38 | * PDB COMPND record. 39 | * @return StrColumn 40 | */ 41 | public StrColumn getText() { 42 | return delegate.getColumn("text", DelegatingStrColumn::new); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxPdbSource.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * This is a place holder for the PDB SOURCE. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxPdbSource extends DelegatingCategory { 13 | public PdbxPdbSource(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "id": 21 | return getId(); 22 | case "text": 23 | return getText(); 24 | default: 25 | return new DelegatingColumn(column); 26 | } 27 | } 28 | 29 | /** 30 | * NDB ID. 31 | * @return StrColumn 32 | */ 33 | public StrColumn getId() { 34 | return delegate.getColumn("id", DelegatingStrColumn::new); 35 | } 36 | 37 | /** 38 | * PDB SOURCE record. 39 | * @return StrColumn 40 | */ 41 | public StrColumn getText() { 42 | return delegate.getColumn("text", DelegatingStrColumn::new); 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxProteinInfo.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_PROTEIN_INFO category are still used until 10 | * the 'entity' categories are entered into the database, even though the 11 | * information is repeated. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxProteinInfo extends DelegatingCategory { 15 | public PdbxProteinInfo(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "name": 25 | return getName(); 26 | case "num_per_asym_unit": 27 | return getNumPerAsymUnit(); 28 | default: 29 | return new DelegatingColumn(column); 30 | } 31 | } 32 | 33 | /** 34 | * Serial number. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getId() { 38 | return delegate.getColumn("id", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * Name of protein. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Number of protein molecules per asymmetric unit. 51 | * @return IntColumn 52 | */ 53 | public IntColumn getNumPerAsymUnit() { 54 | return delegate.getColumn("num_per_asym_unit", DelegatingIntColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxReflnSignalBinning.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * The binning of the per-reflection signal generated by the 10 | * software specified by _reflns.pdbx_signal_software_id. 11 | * If any reflections have a signal >= to the highest threshold 12 | * specified, an additional bin should be inferred to hold them. 13 | */ 14 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 15 | public class PdbxReflnSignalBinning extends DelegatingCategory { 16 | public PdbxReflnSignalBinning(Category delegate) { 17 | super(delegate); 18 | } 19 | 20 | @Override 21 | protected Column createDelegate(String columnName, Column column) { 22 | switch (columnName) { 23 | case "ordinal": 24 | return getOrdinal(); 25 | case "upper_threshold": 26 | return getUpperThreshold(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * The ordinal number of the bin, ordered from lowest signal 34 | * to highest. 35 | * @return IntColumn 36 | */ 37 | public IntColumn getOrdinal() { 38 | return delegate.getColumn("ordinal", DelegatingIntColumn::new); 39 | } 40 | 41 | /** 42 | * The upper (exclusive) threshold of the bin. 43 | * @return FloatColumn 44 | */ 45 | public FloatColumn getUpperThreshold() { 46 | return delegate.getColumn("upper_threshold", DelegatingFloatColumn::new); 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxSequenceAnnotation.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * PDBX_SEQUENCE_ANNOTATION holds internal details about molecular sequences 10 | * described in the context of PDB chains. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxSequenceAnnotation extends DelegatingCategory { 14 | public PdbxSequenceAnnotation(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "pdb_chain_id": 22 | return getPdbChainId(); 23 | case "ncbi_taxid": 24 | return getNcbiTaxid(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * PDB chain ID. 32 | * @return StrColumn 33 | */ 34 | public StrColumn getPdbChainId() { 35 | return delegate.getColumn("pdb_chain_id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * NCBI TaxID 40 | * @return StrColumn 41 | */ 42 | public StrColumn getNcbiTaxid() { 43 | return delegate.getColumn("ncbi_taxid", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxSolventInfo.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_SOLVENT_INFO category are still used until 10 | * the 'entity' categories are entered into the database, even though the 11 | * information is repeated. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxSolventInfo extends DelegatingCategory { 15 | public PdbxSolventInfo(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "name": 25 | return getName(); 26 | case "numb_per_asym_unit": 27 | return getNumbPerAsymUnit(); 28 | default: 29 | return new DelegatingColumn(column); 30 | } 31 | } 32 | 33 | /** 34 | * Serial number. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getId() { 38 | return delegate.getColumn("id", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * Name of solvent. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Number of solvent molecules per asymmetric unit. 51 | * @return IntColumn 52 | */ 53 | public IntColumn getNumbPerAsymUnit() { 54 | return delegate.getColumn("numb_per_asym_unit", DelegatingIntColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxSource.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data item will still be used until the ENTITY category is fully 10 | * adopted by NDBQuery. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxSource extends DelegatingCategory { 14 | public PdbxSource(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "src_method": 22 | return getSrcMethod(); 23 | default: 24 | return new DelegatingColumn(column); 25 | } 26 | } 27 | 28 | /** 29 | * Source of biological unit. Mostly: SYNTHETIC 30 | * @return StrColumn 31 | */ 32 | public StrColumn getSrcMethod() { 33 | return delegate.getColumn("src_method", DelegatingStrColumn::new); 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxStructAssemblyAuthClassification.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Provides reason a particular assembly in pdbx_struct_assembly is 10 | * of interest. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxStructAssemblyAuthClassification extends DelegatingCategory { 14 | public PdbxStructAssemblyAuthClassification(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "assembly_id": 22 | return getAssemblyId(); 23 | case "reason_for_interest": 24 | return getReasonForInterest(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This item references an assembly in pdbx_struct_assembly 32 | * @return StrColumn 33 | */ 34 | public StrColumn getAssemblyId() { 35 | return delegate.getColumn("assembly_id", DelegatingStrColumn::new); 36 | } 37 | 38 | /** 39 | * Provides the reason that a particular assembly is being studied 40 | * @return StrColumn 41 | */ 42 | public StrColumn getReasonForInterest() { 43 | return delegate.getColumn("reason_for_interest", DelegatingStrColumn::new); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxStructInfo.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Special features of this structural entry. 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class PdbxStructInfo extends DelegatingCategory { 13 | public PdbxStructInfo(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | case "type": 21 | return getType(); 22 | case "value": 23 | return getValue(); 24 | case "details": 25 | return getDetails(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * The information category/type for this item. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getType() { 36 | return delegate.getColumn("type", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * The value of this information item. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getValue() { 44 | return delegate.getColumn("value", DelegatingStrColumn::new); 45 | } 46 | 47 | /** 48 | * Additional details about this information item. 49 | * @return StrColumn 50 | */ 51 | public StrColumn getDetails() { 52 | return delegate.getColumn("details", DelegatingStrColumn::new); 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxSummaryFlags.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Container category for a list of feature flags associated 10 | * with each structure entry. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class PdbxSummaryFlags extends DelegatingCategory { 14 | public PdbxSummaryFlags(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "entry_id": 22 | return getEntryId(); 23 | case "flag_id": 24 | return getFlagId(); 25 | case "flag_value": 26 | return getFlagValue(); 27 | default: 28 | return new DelegatingColumn(column); 29 | } 30 | } 31 | 32 | /** 33 | * Entry ID. 34 | * @return StrColumn 35 | */ 36 | public StrColumn getEntryId() { 37 | return delegate.getColumn("entry_id", DelegatingStrColumn::new); 38 | } 39 | 40 | /** 41 | * A feature flag name. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getFlagId() { 45 | return delegate.getColumn("flag_id", DelegatingStrColumn::new); 46 | } 47 | 48 | /** 49 | * A feature flag value 50 | * @return StrColumn 51 | */ 52 | public StrColumn getFlagValue() { 53 | return delegate.getColumn("flag_value", DelegatingStrColumn::new); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxTrnaInfo.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_TRNA_INFO category are still used until 10 | * the 'entity' categories are entered into the database, even though the 11 | * T-RNA is repeated. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxTrnaInfo extends DelegatingCategory { 15 | public PdbxTrnaInfo(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "id": 23 | return getId(); 24 | case "name": 25 | return getName(); 26 | case "num_per_asym_unit": 27 | return getNumPerAsymUnit(); 28 | default: 29 | return new DelegatingColumn(column); 30 | } 31 | } 32 | 33 | /** 34 | * Serial number. 35 | * @return StrColumn 36 | */ 37 | public StrColumn getId() { 38 | return delegate.getColumn("id", DelegatingStrColumn::new); 39 | } 40 | 41 | /** 42 | * Name of trna. 43 | * @return StrColumn 44 | */ 45 | public StrColumn getName() { 46 | return delegate.getColumn("name", DelegatingStrColumn::new); 47 | } 48 | 49 | /** 50 | * Number of trna molecules per asymmetric unit. 51 | * @return IntColumn 52 | */ 53 | public IntColumn getNumPerAsymUnit() { 54 | return delegate.getColumn("num_per_asym_unit", DelegatingIntColumn::new); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/PdbxViewCategoryGroup.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PDBX_VIEW_CATEGORY_GROUP identify collections 10 | * of related mmCIF categories. Views provide a vehicle for 11 | * presenting different logical arrangements of dictionary contents. 12 | */ 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class PdbxViewCategoryGroup extends DelegatingCategory { 15 | public PdbxViewCategoryGroup(Category delegate) { 16 | super(delegate); 17 | } 18 | 19 | @Override 20 | protected Column createDelegate(String columnName, Column column) { 21 | switch (columnName) { 22 | case "view_group_id": 23 | return getViewGroupId(); 24 | case "description": 25 | return getDescription(); 26 | default: 27 | return new DelegatingColumn(column); 28 | } 29 | } 30 | 31 | /** 32 | * The identifier for a collection of related mmCIF categories. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getViewGroupId() { 36 | return delegate.getColumn("view_group_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * A description for this collection of categories. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getDescription() { 44 | return delegate.getColumn("description", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/Phasing.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the PHASING category record details about the 10 | * phasing of the structure, listing the various methods used in 11 | * the phasing process. Details about the application of each 12 | * method are listed in the appropriate subcategories. 13 | */ 14 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 15 | public class Phasing extends DelegatingCategory { 16 | public Phasing(Category delegate) { 17 | super(delegate); 18 | } 19 | 20 | @Override 21 | protected Column createDelegate(String columnName, Column column) { 22 | switch (columnName) { 23 | case "method": 24 | return getMethod(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * A listing of the method or methods used to phase this 32 | * structure. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getMethod() { 36 | return delegate.getColumn("method", DelegatingStrColumn::new); 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/StructBiolKeywords.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the STRUCT_BIOL_KEYWORDS category record 10 | * keywords that describe each biological unit. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class StructBiolKeywords extends DelegatingCategory { 14 | public StructBiolKeywords(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "biol_id": 22 | return getBiolId(); 23 | case "text": 24 | return getText(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _struct_biol.id in the STRUCT_BIOL 32 | * category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getBiolId() { 36 | return delegate.getColumn("biol_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * Keywords describing this biological entity. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getText() { 44 | return delegate.getColumn("text", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/StructSiteKeywords.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the STRUCT_SITE_KEYWORDS category record 10 | * keywords describing the site. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class StructSiteKeywords extends DelegatingCategory { 14 | public StructSiteKeywords(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "site_id": 22 | return getSiteId(); 23 | case "text": 24 | return getText(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * This data item is a pointer to _struct_site.id in the STRUCT_SITE 32 | * category. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getSiteId() { 36 | return delegate.getColumn("site_id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * Keywords describing this site. 41 | * @return StrColumn 42 | */ 43 | public StrColumn getText() { 44 | return delegate.getColumn("text", DelegatingStrColumn::new); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/schema/mm/ValenceRef.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.mm; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | * Data items in the VALENCE_REF category list the references 10 | * from which the bond-valence parameters have been taken. 11 | */ 12 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 13 | public class ValenceRef extends DelegatingCategory { 14 | public ValenceRef(Category delegate) { 15 | super(delegate); 16 | } 17 | 18 | @Override 19 | protected Column createDelegate(String columnName, Column column) { 20 | switch (columnName) { 21 | case "id": 22 | return getId(); 23 | case "reference": 24 | return getReference(); 25 | default: 26 | return new DelegatingColumn(column); 27 | } 28 | } 29 | 30 | /** 31 | * An identifier for items in this category. Parent of 32 | * _valence_param.ref_id, which must have the same value. 33 | * @return StrColumn 34 | */ 35 | public StrColumn getId() { 36 | return delegate.getColumn("id", DelegatingStrColumn::new); 37 | } 38 | 39 | /** 40 | * Literature reference from which the valence parameters 41 | * identified by _valence_param.id were taken. 42 | * @return StrColumn 43 | */ 44 | public StrColumn getReference() { 45 | return delegate.getColumn("reference", DelegatingStrColumn::new); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/text/CifTokenType.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.text; 2 | 3 | enum CifTokenType { 4 | DATA, 5 | SAVE, 6 | LOOP, 7 | VALUE, 8 | COLUMN_NAME, 9 | COMMENT, 10 | END 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/rcsb/cif/text/FrameContext.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.text; 2 | 3 | import org.rcsb.cif.model.Category; 4 | import org.rcsb.cif.model.LinkedCaseInsensitiveMap; 5 | 6 | import java.util.Map; 7 | 8 | class FrameContext { 9 | private final Map categories; 10 | 11 | FrameContext() { 12 | this.categories = new LinkedCaseInsensitiveMap<>(); 13 | } 14 | 15 | Map getCategories() { 16 | return categories; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/templates/Block.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.Category; 5 | import org.rcsb.cif.schema.DelegatingBlock; 6 | import org.rcsb.cif.schema.DelegatingCategory; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 11 | public class {schemaName}Block extends DelegatingBlock { 12 | public {schemaName}Block(Block delegate) { 13 | super(delegate); 14 | } 15 | 16 | @Override 17 | protected Category createDelegate(String categoryName, Category category) { 18 | switch (categoryName) { 19 | {cases} 20 | default: 21 | return new DelegatingCategory(category); 22 | } 23 | } 24 | 25 | {getters} 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/templates/BlockBuilder.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.builder.BlockBuilderImpl; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 8 | public class {schemaName}BlockBuilder extends BlockBuilderImpl<{schemaName}FileBuilder> { 9 | public {schemaName}BlockBuilder(String blockName, {schemaName}FileBuilder parent) { 10 | super(blockName, parent); 11 | } 12 | 13 | @Override 14 | public {schemaName}CategoryBuilder enterCategory(String categoryName) { 15 | return new {schemaName}CategoryBuilder(categoryName, this); 16 | } 17 | 18 | @Override 19 | public {schemaName}FileBuilder leaveBlock() { 20 | if (parent == null) { 21 | throw new IllegalStateException("cannot leave block with undefined parent file"); 22 | } 23 | parent.digest(this); 24 | return parent; 25 | } 26 | 27 | {enters} 28 | } -------------------------------------------------------------------------------- /src/main/resources/templates/BlockFlat.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.Category; 5 | import org.rcsb.cif.model.Column; 6 | import org.rcsb.cif.schema.DelegatingBlock; 7 | import org.rcsb.cif.schema.DelegatingCategory; 8 | 9 | import javax.annotation.Generated; 10 | import java.util.Arrays; 11 | import java.util.Optional; 12 | 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class {schemaName}Block extends DelegatingBlock { 15 | public {schemaName}Block(Block delegate) { 16 | super(delegate); 17 | } 18 | 19 | public Column getAliasedColumn(String... aliases) { 20 | Optional> optional = Arrays.stream(aliases) 21 | .filter(alias -> getCategories().containsKey(alias)) 22 | .findFirst() 23 | .map(alias -> getCategories().get(alias).getColumn("")); 24 | // compiler, please... 25 | return optional.orElse(Column.EmptyColumn.UNNAMED_COLUMN); 26 | } 27 | 28 | @Override 29 | protected Category createDelegate(String categoryName, Category category) { 30 | switch (categoryName) { 31 | {cases} 32 | default: 33 | return new DelegatingCategory(category); 34 | } 35 | } 36 | 37 | {getters} 38 | } 39 | -------------------------------------------------------------------------------- /src/main/resources/templates/BlockGetter.tpl: -------------------------------------------------------------------------------- 1 | /** 2 | {categoryDescription} 3 | * @return {categoryClassName} 4 | */ 5 | public {categoryClassName} get{categoryClassName}() { 6 | return delegate.getCategory("{categoryName}", {categoryClassName}::new); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/templates/BlockGetterFlat.tpl: -------------------------------------------------------------------------------- 1 | /** 2 | {categoryDescription} 3 | * @return {categoryClassName} 4 | */ 5 | public {categoryClassName} get{categoryClassName}() { 6 | return new {categoryClassName}(this); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/templates/Case.tpl: -------------------------------------------------------------------------------- 1 | case "{name}": 2 | return get{className}(); 3 | -------------------------------------------------------------------------------- /src/main/resources/templates/Category.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | {categoryDescription} 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class {categoryClassName} extends DelegatingCategory { 13 | public {categoryClassName}(Category delegate) { 14 | super(delegate); 15 | } 16 | 17 | @Override 18 | protected Column createDelegate(String columnName, Column column) { 19 | switch (columnName) { 20 | {cases} 21 | default: 22 | return new DelegatingColumn(column); 23 | } 24 | } 25 | 26 | {getters} 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryBuilder.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.FloatColumnBuilder; 4 | import org.rcsb.cif.model.IntColumnBuilder; 5 | import org.rcsb.cif.model.StrColumnBuilder; 6 | import org.rcsb.cif.model.builder.CategoryBuilderImpl; 7 | import org.rcsb.cif.model.builder.FloatColumnBuilderImpl; 8 | import org.rcsb.cif.model.builder.IntColumnBuilderImpl; 9 | import org.rcsb.cif.model.builder.StrColumnBuilderImpl; 10 | 11 | import javax.annotation.Generated; 12 | 13 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 14 | public class {schemaName}CategoryBuilder extends CategoryBuilderImpl<{schemaName}BlockBuilder, {schemaName}FileBuilder> { 15 | public {schemaName}CategoryBuilder(String blockName, {schemaName}BlockBuilder parent) { 16 | super(blockName, parent); 17 | } 18 | 19 | {enters} 20 | } -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryBuilderEnter.tpl: -------------------------------------------------------------------------------- 1 | public {schemaName}CategoryBuilder.{categoryClassName}Builder enter{categoryClassName}() { 2 | return new {schemaName}CategoryBuilder.{categoryClassName}Builder(this); 3 | } 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryBuilderFlat.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.CategoryBuilder; 4 | import org.rcsb.cif.model.FloatColumnBuilder; 5 | import org.rcsb.cif.model.IntColumnBuilder; 6 | import org.rcsb.cif.model.StrColumnBuilder; 7 | import org.rcsb.cif.model.builder.CategoryBuilderImpl; 8 | import org.rcsb.cif.model.builder.FloatColumnBuilderImpl; 9 | import org.rcsb.cif.model.builder.IntColumnBuilderImpl; 10 | import org.rcsb.cif.model.builder.StrColumnBuilderImpl; 11 | 12 | import javax.annotation.Generated; 13 | 14 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 15 | public class {schemaName}CategoryBuilder extends CategoryBuilderImpl<{schemaName}BlockBuilder, {schemaName}FileBuilder> { 16 | public {schemaName}CategoryBuilder(String blockName, {schemaName}BlockBuilder parent) { 17 | super(blockName, parent); 18 | } 19 | 20 | @Override 21 | public void digest(IntColumnBuilder, {schemaName}BlockBuilder, {schemaName}FileBuilder> columnBuilder) { 22 | parent.digest(columnBuilder); 23 | } 24 | 25 | @Override 26 | public void digest(FloatColumnBuilder, {schemaName}BlockBuilder, {schemaName}FileBuilder> columnBuilder) { 27 | parent.digest(columnBuilder); 28 | } 29 | 30 | @Override 31 | public void digest(StrColumnBuilder, {schemaName}BlockBuilder, {schemaName}FileBuilder> columnBuilder) { 32 | parent.digest(columnBuilder); 33 | } 34 | 35 | {enters} 36 | } -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryFlat.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.*; 4 | import org.rcsb.cif.schema.*; 5 | 6 | import javax.annotation.Generated; 7 | 8 | /** 9 | {categoryDescription} 10 | */ 11 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 12 | public class {categoryClassName} extends DelegatingCategory.Delegating{schemaName}Category { 13 | private static final String NAME = "{categoryName}"; 14 | 15 | public {categoryClassName}({schemaName}Block parentBlock) { 16 | super(NAME, parentBlock); 17 | } 18 | 19 | {getters} 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryGetter.tpl: -------------------------------------------------------------------------------- 1 | /** 2 | {columnDescription} 3 | * @return {baseClassName} 4 | */ 5 | public {baseClassName} get{columnClassName}() { 6 | return delegate.getColumn("{columnName}", Delegating{baseClassName}::new); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/templates/CategoryGetterFlat.tpl: -------------------------------------------------------------------------------- 1 | /** 2 | {columnDescription} 3 | * @return {baseClassName} 4 | */ 5 | public {baseClassName} get{columnClassName}() { 6 | return new Delegating{baseClassName}(parentBlock.get{modifier}Column({aliases})); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/templates/ColumnBuilder.tpl: -------------------------------------------------------------------------------- 1 | public static class {categoryClassName}Builder extends {schemaName}CategoryBuilder { 2 | private static final String CATEGORY_NAME = "{categoryName}"; 3 | 4 | public {categoryClassName}Builder({schemaName}BlockBuilder parent) { 5 | super(CATEGORY_NAME, parent); 6 | } 7 | 8 | {columnEnters} 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/templates/ColumnBuilderEnter.tpl: -------------------------------------------------------------------------------- 1 | public {baseClassName}Builder<{categoryClassName}Builder, {schemaName}BlockBuilder, {schemaName}FileBuilder> enter{columnClassName}() { 2 | return new {baseClassName}BuilderImpl<>(CATEGORY_NAME, "{columnName}", this); 3 | } 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/templates/File.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.Block; 4 | import org.rcsb.cif.model.CifFile; 5 | import org.rcsb.cif.schema.DelegatingCifFile; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 10 | public class {schemaName}File extends DelegatingCifFile<{schemaName}Block> { 11 | public {schemaName}File(CifFile delegate) { 12 | super(delegate); 13 | } 14 | 15 | @Override 16 | protected {schemaName}Block getTypedBlock(Block block) { 17 | return new {schemaName}Block(block); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/templates/FileBuilder.tpl: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.schema.{packageName}; 2 | 3 | import org.rcsb.cif.model.builder.CifFileBuilderImpl; 4 | import org.rcsb.cif.schema.StandardSchemata; 5 | 6 | import javax.annotation.Generated; 7 | 8 | @Generated("org.rcsb.cif.schema.generator.SchemaGenerator") 9 | public class {schemaName}FileBuilder extends CifFileBuilderImpl { 10 | @Override 11 | public {schemaName}BlockBuilder enterBlock(String blockHeader) { 12 | return new {schemaName}BlockBuilder(blockHeader, this); 13 | } 14 | 15 | @Override 16 | public {schemaName}File leaveFile() { 17 | return build(); 18 | } 19 | 20 | @Override 21 | public {schemaName}File build() { 22 | return super.build().as(StandardSchemata.{schemaEnum}); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/org/rcsb/cif/DemoTest.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import java.io.IOException; 6 | 7 | /** 8 | * Ensure that the provided Demo is actually running. 9 | */ 10 | class DemoTest { 11 | @Test 12 | void testDemo() throws IOException { 13 | Demo.main(new String[0]); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/org/rcsb/cif/UpdateTestFiles.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif; 2 | 3 | import org.rcsb.cif.model.CifFile; 4 | import org.rcsb.cif.schema.StandardSchemata; 5 | 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.nio.file.Path; 9 | import java.nio.file.Paths; 10 | 11 | import static org.rcsb.cif.TestHelper.TEST_CASES; 12 | 13 | /** 14 | * Args[0] points to snapshot directory: ciftools-java/src/test/resources/snapshot/ 15 | */ 16 | public class UpdateTestFiles { 17 | public static void main(String[] args) throws IOException { 18 | Path dest = Paths.get(args[0]); 19 | 20 | // run to update snapshot files 21 | for (String id : TEST_CASES.keySet()) { 22 | InputStream inputStream = TestHelper.getInputStream("cif/" + id + ".cif"); 23 | CifFile data = CifIO.readFromInputStream(inputStream).as(StandardSchemata.MMCIF); 24 | 25 | CifOptions options = CifOptions.builder().build(); 26 | CifOptions optionsGzip = CifOptions.builder().gzip(true).build(); 27 | 28 | // convert to cif/bcif 29 | CifIO.writeText(data, dest.resolve(id + ".cif"), options); 30 | CifIO.writeText(data, dest.resolve(id + ".cif.gz"), optionsGzip); 31 | CifIO.writeBinary(data, dest.resolve(id + ".bcif"), options); 32 | CifIO.writeBinary(data, dest.resolve(id + ".bcif.gz"), optionsGzip); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/test/java/org/rcsb/cif/binary/codec/FixedPointCodecTest.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.codec; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.rcsb.cif.TestHelper; 5 | import org.rcsb.cif.binary.data.*; 6 | import org.rcsb.cif.binary.encoding.FixedPointEncoding; 7 | 8 | import static org.junit.jupiter.api.Assertions.assertArrayEquals; 9 | 10 | class FixedPointCodecTest { 11 | @Test 12 | void testForward() { 13 | // create test case 14 | int factor = 1000; 15 | Float64Array plainArray = new Float64Array(new double[] { -1, 2.04, -100.5893, 42, Integer.MAX_VALUE / (double) factor, 16 | Integer.MIN_VALUE / (double) factor }); 17 | 18 | // encode 19 | FixedPointEncoding fixedPointEncoding = new FixedPointEncoding(factor); 20 | Int32Array encodedData = plainArray.encode(fixedPointEncoding); 21 | 22 | // decode 23 | FloatArray decodedArray = encodedData.decode(fixedPointEncoding); 24 | 25 | assertArrayEquals(plainArray.getData(), decodedArray.getData(), TestHelper.ERROR_MARGIN); 26 | } 27 | 28 | @Test 29 | void testFixedPoint() { 30 | Int32Array intArray = new Int32Array(new int[] { 10001, 100203, 124542 }); 31 | FloatArray testFloatArray = new Float64Array(new double[] { 10.001, 100.203, 124.542 }); 32 | 33 | FloatArray floatArray = intArray.decode(new FixedPointEncoding(1000, 3)); 34 | assertArrayEquals(testFloatArray.getData(), floatArray.getData(), 0.001f); 35 | } 36 | } -------------------------------------------------------------------------------- /src/test/java/org/rcsb/cif/binary/codec/IntegerPackingCodecTest.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.codec; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.rcsb.cif.binary.data.Int32Array; 5 | import org.rcsb.cif.binary.data.IntArray; 6 | import org.rcsb.cif.binary.encoding.IntegerPackingEncoding; 7 | 8 | import static org.junit.jupiter.api.Assertions.assertArrayEquals; 9 | 10 | class IntegerPackingCodecTest { 11 | @Test 12 | void testForward() { 13 | // create test case 14 | Int32Array plainArray = new Int32Array(new int[] { -1, 2, -100, 42, 126 }); 15 | 16 | // encode 17 | IntegerPackingEncoding integerPackingEncoding = new IntegerPackingEncoding(); 18 | IntArray encodedData = plainArray.encode(integerPackingEncoding); 19 | 20 | // decode 21 | Int32Array decodedArray = encodedData.decode(integerPackingEncoding); 22 | 23 | assertArrayEquals(plainArray.getData(), decodedArray.getData()); 24 | } 25 | } -------------------------------------------------------------------------------- /src/test/java/org/rcsb/cif/binary/codec/IntervalQuantizationCodecTest.java: -------------------------------------------------------------------------------- 1 | package org.rcsb.cif.binary.codec; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.rcsb.cif.binary.data.Float32Array; 5 | import org.rcsb.cif.binary.data.FloatArray; 6 | import org.rcsb.cif.binary.data.Int32Array; 7 | import org.rcsb.cif.binary.encoding.IntervalQuantizationEncoding; 8 | 9 | import static org.junit.jupiter.api.Assertions.assertArrayEquals; 10 | 11 | class IntervalQuantizationCodecTest { 12 | @Test 13 | void testEncode() { 14 | // create test case 15 | FloatArray plainArray = new Float32Array(new double[] { 0.5, 1, 1.5, 2, 3, 1.345 }); 16 | Int32Array expected = new Int32Array( new int[] { 0, 0, 1, 2, 2, 1 }); 17 | 18 | // encode 19 | Int32Array encodedData = new IntervalQuantizationEncoding(1, 2, 3, 32).encode(plainArray); 20 | 21 | assertArrayEquals(expected.getData(), encodedData.getData()); 22 | } 23 | 24 | // no round-trip or decode test as codec is not lossless 25 | } -------------------------------------------------------------------------------- /src/test/resources/bcif/0emp.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/0emp.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/0red.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/0red.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/1a2c.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1a2c.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/1a2c.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1a2c.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/1acj.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1acj.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/1acj.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1acj.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/1j59.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1j59.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/1j59.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1j59.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/1pga.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1pga.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/1pga.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/1pga.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/4cxl.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/4cxl.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/4cxl.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/4cxl.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/5zmz.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/5zmz.bcif -------------------------------------------------------------------------------- /src/test/resources/bcif/5zmz.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/5zmz.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/bcif/9a2f.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/bcif/9a2f.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/0emp.cif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/0emp.cif -------------------------------------------------------------------------------- /src/test/resources/cif/0red.cif: -------------------------------------------------------------------------------- 1 | data_0RED 2 | # 3 | _entry.id 0RED 4 | # 5 | -------------------------------------------------------------------------------- /src/test/resources/cif/1a2c.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/1a2c.cif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/1acj.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/1acj.cif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/1j59.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/1j59.cif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/1pga.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/1pga.cif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/4cxl.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/4cxl.cif.gz -------------------------------------------------------------------------------- /src/test/resources/cif/5zmz.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/cif/5zmz.cif.gz -------------------------------------------------------------------------------- /src/test/resources/ebi/1acj.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/ebi/1acj.bcif -------------------------------------------------------------------------------- /src/test/resources/encoding-hint/hint1.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "categoryName": "atom_site", 4 | "columnName": "Cartn_x", 5 | "encoding": "pack", 6 | "precision": 1 7 | }, 8 | { 9 | "categoryName": "atom_site", 10 | "columnName": "Cartn_y", 11 | "encoding": "rle", 12 | "precision": 2 13 | }, 14 | { 15 | "categoryName": "atom_site", 16 | "columnName": "Cartn_z", 17 | "encoding": "delta", 18 | "precision": 3 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /src/test/resources/encoding-hint/hint2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "categoryName": "atom_site", 4 | "columnName": "Cartn_x", 5 | "encoding": "rle", 6 | "precision": 1 7 | }, 8 | { 9 | "categoryName": "atom_site", 10 | "columnName": "Cartn_y", 11 | "precision": 3 12 | }, 13 | { 14 | "categoryName": "atom_site", 15 | "columnName": "Cartn_z", 16 | "encoding": "pack", 17 | "precision": 5 18 | } 19 | ] -------------------------------------------------------------------------------- /src/test/resources/snapshot/1acj.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1acj.bcif -------------------------------------------------------------------------------- /src/test/resources/snapshot/1acj.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1acj.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/1acj.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1acj.cif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/1j59.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1j59.bcif -------------------------------------------------------------------------------- /src/test/resources/snapshot/1j59.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1j59.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/1j59.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1j59.cif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/1pga.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1pga.bcif -------------------------------------------------------------------------------- /src/test/resources/snapshot/1pga.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1pga.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/1pga.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/1pga.cif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/4cxl.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/4cxl.bcif -------------------------------------------------------------------------------- /src/test/resources/snapshot/4cxl.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/4cxl.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/4cxl.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/4cxl.cif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/5zmz.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/5zmz.bcif -------------------------------------------------------------------------------- /src/test/resources/snapshot/5zmz.bcif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/5zmz.bcif.gz -------------------------------------------------------------------------------- /src/test/resources/snapshot/5zmz.cif.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/snapshot/5zmz.cif.gz -------------------------------------------------------------------------------- /src/test/resources/source/200l_cif2bcif.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/source/200l_cif2bcif.bcif -------------------------------------------------------------------------------- /src/test/resources/source/200l_ebi.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/source/200l_ebi.bcif -------------------------------------------------------------------------------- /src/test/resources/source/200l_modelserver.bcif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcsb/ciftools-java/c36c343d58593c57c3ca944483e303b60fb5112e/src/test/resources/source/200l_modelserver.bcif --------------------------------------------------------------------------------