001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 */ 021package org.biojava.nbio.structure.io.mmcif; 022 023import org.biojava.nbio.structure.io.FileParsingParameters; 024import org.biojava.nbio.structure.io.mmcif.chem.ResidueType; 025import org.biojava.nbio.structure.io.mmcif.model.*; 026import org.slf4j.Logger; 027import org.slf4j.LoggerFactory; 028 029import java.util.List; 030 031public class ChemCompConsumer implements MMcifConsumer { 032 033 private static final Logger logger = LoggerFactory.getLogger(ChemCompConsumer.class); 034 035 ChemicalComponentDictionary dictionary; 036 037 String latestChemCompId; 038 public ChemCompConsumer(){ 039 dictionary = new ChemicalComponentDictionary(); 040 } 041 042 @Override 043 public void documentStart() { 044 045 046 } 047 048 public ChemicalComponentDictionary getDictionary(){ 049 return dictionary; 050 } 051 052 @Override 053 public void newChemComp(ChemComp c) { 054 055 if ( c.getId() == null) 056 logger.warn("chem comp ID == null " + c); 057 058 latestChemCompId = c.getId(); 059 dictionary.addChemComp(c); 060 if ( c.getResidueType() == ResidueType.nonPolymer) 061 return; 062 063 if ( c.getResidueType() == ResidueType.saccharide) 064 return; 065 066 if ( c.getResidueType() == ResidueType.dSaccharide) 067 return; 068 069 //if ( c.isStandard()) 070 // System.out.println(c); 071 } 072 073 @Override 074 public void documentEnd() { 075 076 077 } 078 079 @Override 080 public void newAtomSite(AtomSite atom) { 081 082 083 } 084 085 @Override 086 public void newDatabasePDBremark(DatabasePDBremark remark) { 087 088 089 } 090 091 @Override 092 public void newDatabasePDBrev(DatabasePDBrev dbrev) { 093 094 095 } 096 097 @Override 098 public void newDatabasePDBrevRecord(DatabasePdbrevRecord dbrev) { 099 100 } 101 102 @Override 103 public void newEntity(Entity entity) { 104 105 106 } 107 108 @Override 109 public void newEntityPolySeq(EntityPolySeq epolseq) { 110 111 112 } 113 114 @Override 115 public void newExptl(Exptl exptl) { 116 117 118 } 119 120 @Override 121 public void newCell(Cell cell) { 122 123 } 124 125 @Override 126 public void newSymmetry(Symmetry symmetry) { 127 128 } 129 130 @Override 131 public void newStructNcsOper(StructNcsOper sNcsOper) { 132 133 } 134 135 @Override 136 public void newAtomSites(AtomSites atomSites) { 137 138 } 139 140 @Override 141 public void newPdbxEntityNonPoly(PdbxEntityNonPoly pen) { 142 143 144 } 145 146 @Override 147 public void newPdbxNonPolyScheme(PdbxNonPolyScheme ppss) { 148 149 150 } 151 152 @Override 153 public void newPdbxPolySeqScheme(PdbxPolySeqScheme ppss) { 154 155 156 } 157 158 @Override 159 public void newRefine(Refine r) { 160 161 162 } 163 164 @Override 165 public void newStructAsym(StructAsym sasym) { 166 167 168 } 169 170 @Override 171 public void newStructKeywords(StructKeywords kw) { 172 173 174 } 175 176 @Override 177 public void newStructRef(StructRef sref) { 178 179 180 } 181 182 @Override 183 public void newStructRefSeq(StructRefSeq sref) { 184 185 186 } 187 188 @Override 189 public void newStructRefSeqDif(StructRefSeqDif sref) { 190 191 192 } 193 194 @Override 195 public void setStruct(Struct struct) { 196 197 198 } 199 200 @Override 201 public void newGenericData(String category, List<String> loopFields, 202 List<String> lineData) { 203 //System.out.println("unhandled category: " + category); 204 205 } 206 207 208 @Override 209 public void newAuditAuthor(AuditAuthor aa) 210 { 211 212 213 } 214 215 @Override 216 public FileParsingParameters getFileParsingParameters() 217 { 218 // can be ingored in this case... 219 return null; 220 } 221 222 @Override 223 public void setFileParsingParameters(FileParsingParameters params) 224 { 225 226 227 } 228 229 @Override 230 public void newChemCompDescriptor(ChemCompDescriptor ccd) { 231 ChemComp cc = dictionary.getChemComp(latestChemCompId); 232 cc.getDescriptors().add(ccd); 233 234 } 235 236 @Override 237 public void newPdbxStructOperList(PdbxStructOperList structOper) { 238 239 240 } 241 242 @Override 243 public void newPdbxStrucAssembly(PdbxStructAssembly strucAssembly) { 244 245 246 } 247 248 @Override 249 public void newPdbxStrucAssemblyGen(PdbxStructAssemblyGen strucAssembly) { 250 251 252 } 253 254 @Override 255 public void newChemCompAtom(ChemCompAtom atom) { 256 dictionary.getChemComp(latestChemCompId).getAtoms().add(atom); 257 } 258 259 @Override 260 public void newPdbxChemCompIndentifier(PdbxChemCompIdentifier id) { 261 262 263 } 264 265 @Override 266 public void newChemCompBond(ChemCompBond bond) { 267 dictionary.getChemComp(latestChemCompId).getBonds().add(bond); 268 } 269 270 @Override 271 public void newPdbxChemCompDescriptor(PdbxChemCompDescriptor desc) { 272 273 274 } 275 276 @Override 277 public void newEntitySrcGen(EntitySrcGen entitySrcGen) { 278 279 280 } 281 @Override 282 public void newEntitySrcNat(EntitySrcNat entitySrcNat) { 283 284 285 } 286 287 @Override 288 public void newEntitySrcSyn(EntitySrcSyn entitySrcSyn) { 289 290 291 } 292 293 @Override 294 public void newStructConn(StructConn structConn) { 295 296 297 } 298 299 @Override 300 public void newStructSiteGen(StructSiteGen gen) { 301 302 } 303 304 @Override 305 public void newStructSite(StructSite site) { 306 307 } 308 309 @Override 310 public void newEntityPoly(EntityPoly entityPoly) { 311 312 313 } 314 315 @Override 316 public void newPdbxAuditRevisionHistory(PdbxAuditRevisionHistory history) { 317 // TODO Auto-generated method stub 318 319 } 320 321 @Override 322 public void newPdbxDatabaseStatus(PdbxDatabaseStatus status) { 323 // TODO Auto-generated method stub 324 325 } 326} 327