001package org.biojava.nbio.structure.io.cif; 002 003import org.biojava.nbio.structure.Structure; 004import org.rcsb.cif.schema.mm.AtomSite; 005import org.rcsb.cif.schema.mm.AtomSites; 006import org.rcsb.cif.schema.mm.AuditAuthor; 007import org.rcsb.cif.schema.mm.Cell; 008import org.rcsb.cif.schema.mm.ChemComp; 009import org.rcsb.cif.schema.mm.ChemCompBond; 010import org.rcsb.cif.schema.mm.DatabasePDBRemark; 011import org.rcsb.cif.schema.mm.DatabasePDBRev; 012import org.rcsb.cif.schema.mm.DatabasePDBRevRecord; 013import org.rcsb.cif.schema.mm.Em3dReconstruction; 014import org.rcsb.cif.schema.mm.Entity; 015import org.rcsb.cif.schema.mm.EntityPoly; 016import org.rcsb.cif.schema.mm.EntityPolySeq; 017import org.rcsb.cif.schema.mm.EntitySrcGen; 018import org.rcsb.cif.schema.mm.EntitySrcNat; 019import org.rcsb.cif.schema.mm.Exptl; 020import org.rcsb.cif.schema.mm.PdbxAuditRevisionHistory; 021import org.rcsb.cif.schema.mm.PdbxChemCompIdentifier; 022import org.rcsb.cif.schema.mm.PdbxDatabaseStatus; 023import org.rcsb.cif.schema.mm.PdbxEntityBranchDescriptor; 024import org.rcsb.cif.schema.mm.PdbxEntitySrcSyn; 025import org.rcsb.cif.schema.mm.PdbxMolecule; 026import org.rcsb.cif.schema.mm.PdbxMoleculeFeatures; 027import org.rcsb.cif.schema.mm.PdbxNonpolyScheme; 028import org.rcsb.cif.schema.mm.PdbxReferenceEntityLink; 029import org.rcsb.cif.schema.mm.PdbxReferenceEntityList; 030import org.rcsb.cif.schema.mm.PdbxReferenceEntityPolyLink; 031import org.rcsb.cif.schema.mm.PdbxStructAssembly; 032import org.rcsb.cif.schema.mm.PdbxStructAssemblyGen; 033import org.rcsb.cif.schema.mm.PdbxStructModResidue; 034import org.rcsb.cif.schema.mm.PdbxStructOperList; 035import org.rcsb.cif.schema.mm.Refine; 036import org.rcsb.cif.schema.mm.Struct; 037import org.rcsb.cif.schema.mm.StructAsym; 038import org.rcsb.cif.schema.mm.StructConf; 039import org.rcsb.cif.schema.mm.StructConn; 040import org.rcsb.cif.schema.mm.StructConnType; 041import org.rcsb.cif.schema.mm.StructKeywords; 042import org.rcsb.cif.schema.mm.StructNcsOper; 043import org.rcsb.cif.schema.mm.StructRef; 044import org.rcsb.cif.schema.mm.StructRefSeq; 045import org.rcsb.cif.schema.mm.StructRefSeqDif; 046import org.rcsb.cif.schema.mm.StructSheetRange; 047import org.rcsb.cif.schema.mm.StructSite; 048import org.rcsb.cif.schema.mm.StructSiteGen; 049import org.rcsb.cif.schema.mm.Symmetry; 050 051/** 052 * Defines the categories to consume during CIF parsing. 053 * @author Sebastian Bittrich 054 * @since 6.0.0 055 */ 056public interface CifStructureConsumer extends CifFileConsumer<Structure> { 057 /** 058 * Consume a particular Cif category. 059 * @param atomSite data 060 */ 061 void consumeAtomSite(AtomSite atomSite); 062 063 /** 064 * Consume a particular Cif category. 065 * @param atomSites data 066 */ 067 void consumeAtomSites(AtomSites atomSites); 068 069 /** 070 * Consume a particular Cif category. 071 * @param auditAuthor data 072 */ 073 void consumeAuditAuthor(AuditAuthor auditAuthor); 074 075 /** 076 * Consume a particular Cif category. 077 * @param cell data 078 */ 079 void consumeCell(Cell cell); 080 081 /** 082 * Consume a particular Cif category. 083 * @param chemComp data 084 */ 085 void consumeChemComp(ChemComp chemComp); 086 087 /** 088 * Consume a particular Cif category. 089 * @param chemCompBond data 090 */ 091 void consumeChemCompBond(ChemCompBond chemCompBond); 092 093 /** 094 * Consume a particular Cif category. 095 * @param databasePDBremark data 096 */ 097 void consumeDatabasePDBRemark(DatabasePDBRemark databasePDBremark); 098 099 /** 100 * Consume a particular Cif category. 101 * @param databasePDBrev data 102 */ 103 void consumeDatabasePDBRev(DatabasePDBRev databasePDBrev); 104 105 /** 106 * Consume a particular Cif category. 107 * @param databasePDBrevRecord data 108 */ 109 void consumeDatabasePDBRevRecord(DatabasePDBRevRecord databasePDBrevRecord); 110 111 /** 112 * Consume Electron Microscopy 3D reconstruction data 113 * @param em3dReconstruction 114 */ 115 void consumeEm3dReconstruction(Em3dReconstruction em3dReconstruction); 116 117 /** 118 * Consume a particular Cif category. 119 * @param entity data 120 */ 121 void consumeEntity(Entity entity); 122 123 /** 124 * Consume a particular Cif category. 125 * @param entityPoly data 126 */ 127 void consumeEntityPoly(EntityPoly entityPoly); 128 129 /** 130 * Consume a particular Cif category. 131 * @param entitySrcGen data 132 */ 133 void consumeEntitySrcGen(EntitySrcGen entitySrcGen); 134 135 /** 136 * Consume a particular Cif category. 137 * @param entitySrcNat data 138 */ 139 void consumeEntitySrcNat(EntitySrcNat entitySrcNat); 140 141 /** 142 * Consume a particular Cif category. 143 * @param entitySrcSyn data 144 */ 145 void consumeEntitySrcSyn(PdbxEntitySrcSyn entitySrcSyn); 146 147 /** 148 * Consume a particular Cif category. 149 * @param entityPolySeq data 150 */ 151 void consumeEntityPolySeq(EntityPolySeq entityPolySeq); 152 153 /** 154 * Consume a particular Cif category. 155 * @param exptl data 156 */ 157 void consumeExptl(Exptl exptl); 158 159 /** 160 * Consume a particular Cif category. 161 * @param pdbxAuditRevisionHistory data 162 */ 163 void consumePdbxAuditRevisionHistory(PdbxAuditRevisionHistory pdbxAuditRevisionHistory); 164 165 /** 166 * Consume a particular Cif category. 167 * @param pdbxChemCompIdentifier data 168 */ 169 void consumePdbxChemCompIdentifier(PdbxChemCompIdentifier pdbxChemCompIdentifier); 170 171 /** 172 * Consume a particular Cif category. 173 * @param pdbxDatabaseStatus data 174 */ 175 void consumePdbxDatabaseStatus(PdbxDatabaseStatus pdbxDatabaseStatus); 176 177 /** 178 * Consume a particular Cif category. 179 * @param pdbxEntityBranchDescriptor data 180 */ 181 void consumePdbxEntityBranchDescriptor(PdbxEntityBranchDescriptor pdbxEntityBranchDescriptor); 182 183 /** 184 * Consume a particular Cif category. 185 * @param pdbxMolecule data 186 */ 187 void consumePdbxMolecule(PdbxMolecule pdbxMolecule); 188 189 /** 190 * Consume a particular Cif category. 191 * @param pdbxMoleculeFeatures data 192 */ 193 void consumePdbxMoleculeFeatures(PdbxMoleculeFeatures pdbxMoleculeFeatures); 194 195 /** 196 * Consume a particular Cif category. 197 * @param pdbxNonpolyScheme data 198 */ 199 void consumePdbxNonpolyScheme(PdbxNonpolyScheme pdbxNonpolyScheme); 200 201 /** 202 * Consume a particular Cif category. 203 * @param pdbxReferenceEntityLink data 204 */ 205 void consumePdbxReferenceEntityLink(PdbxReferenceEntityLink pdbxReferenceEntityLink); 206 207 /** 208 * Consume a particular Cif category. 209 * @param pdbxReferenceEntityList data 210 */ 211 void consumePdbxReferenceEntityList(PdbxReferenceEntityList pdbxReferenceEntityList); 212 213 /** 214 * Consume a particular Cif category. 215 * @param pdbxReferenceEntityPolyLink data 216 */ 217 void consumePdbxReferenceEntityPolyLink(PdbxReferenceEntityPolyLink pdbxReferenceEntityPolyLink); 218 219 /** 220 * Consume a particular Cif category. 221 * @param pdbxStructAssembly data 222 */ 223 void consumePdbxStructAssembly(PdbxStructAssembly pdbxStructAssembly); 224 225 /** 226 * Consume a particular Cif category. 227 * @param pdbxStructAssemblyGen data 228 */ 229 void consumePdbxStructAssemblyGen(PdbxStructAssemblyGen pdbxStructAssemblyGen); 230 231 /** 232 * Consume a particular Cif category. 233 * @param pdbxStructModResidue data 234 */ 235 void consumePdbxStructModResidue(PdbxStructModResidue pdbxStructModResidue); 236 237 /** 238 * Consume a particular Cif category. 239 * @param pdbxStructOperList data 240 */ 241 void consumePdbxStructOperList(PdbxStructOperList pdbxStructOperList); 242 243 /** 244 * Consume a particular Cif category. 245 * @param refine data 246 */ 247 void consumeRefine(Refine refine); 248 249 /** 250 * Consume a particular Cif category. 251 * @param struct data 252 */ 253 void consumeStruct(Struct struct); 254 255 /** 256 * Consume a particular Cif category. 257 * @param structAsym data 258 */ 259 void consumeStructAsym(StructAsym structAsym); 260 261 /** 262 * Consume a particular Cif category. 263 * @param structConf data 264 */ 265 void consumeStructConf(StructConf structConf); 266 267 /** 268 * Consume a particular Cif category. 269 * @param structConn data 270 */ 271 void consumeStructConn(StructConn structConn); 272 273 /** 274 * Consume a particular Cif category. 275 * @param structConnType data 276 */ 277 void consumeStructConnType(StructConnType structConnType); 278 279 /** 280 * Consume a particular Cif category. 281 * @param structKeywords data 282 */ 283 void consumeStructKeywords(StructKeywords structKeywords); 284 285 /** 286 * Consume a particular Cif category. 287 * @param structNcsOper data 288 */ 289 void consumeStructNcsOper(StructNcsOper structNcsOper); 290 291 /** 292 * Consume a particular Cif category. 293 * @param structRef data 294 */ 295 void consumeStructRef(StructRef structRef); 296 297 /** 298 * Consume a particular Cif category. 299 * @param structRefSeq data 300 */ 301 void consumeStructRefSeq(StructRefSeq structRefSeq); 302 303 /** 304 * Consume a particular Cif category. 305 * @param structRefSeqDif data 306 */ 307 void consumeStructRefSeqDif(StructRefSeqDif structRefSeqDif); 308 309 /** 310 * Consume a particular Cif category. 311 * @param structSheetRange data 312 */ 313 void consumeStructSheetRange(StructSheetRange structSheetRange); 314 315 /** 316 * Consume a particular Cif category. 317 * @param structSite data 318 */ 319 void consumeStructSite(StructSite structSite); 320 321 /** 322 * Consume a particular Cif category. 323 * @param structSiteGen data 324 */ 325 void consumeStructSiteGen(StructSiteGen structSiteGen); 326 327 /** 328 * Consume a particular Cif category. 329 * @param symmetry data 330 */ 331 void consumeSymmetry(Symmetry symmetry); 332}