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; 022 023import org.biojava.nbio.structure.Structure; 024import org.biojava.nbio.structure.StructureException; 025 026import java.io.IOException; 027 028/** A class that can provide a protein structure object from somewhere. 029 * 030 * @author Andreas Prlic 031 * @since 3.2 032 */ 033public interface StructureProvider { 034 035 /** get the structure for a PDB ID 036 * 037 * @param pdbId 038 * @return 039 */ 040 public Structure getStructureById(String pdbId) throws StructureException,IOException; 041 042 /** get the biological unit for a file 043 * 044 * @param pdbId 045 * @return 046 * @deprecated Better to use {@link StructureIO#getBiologicalAssembly(String)} 047 * or a {@link BioUnitDataProvider} 048 */ 049 //public Structure getBiologicalUnit(String pdbId) throws StructureException, IOException; 050 051 052 /** Set the parameters that should be used for file parsing 053 * 054 * @param params FileParsingParameters 055 */ 056 public void setFileParsingParameters(FileParsingParameters params); 057 058 059 /** Get the parameters that should be used for file parsing 060 * 061 * @return the FileParsingParameters that are configuring the behavior of the parser 062 */ 063 public FileParsingParameters getFileParsingParameters(); 064 065 066}