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