Skip to content

Releases: biojava/biojava

BioJava 7.0.1

06 Apr 20:46
Choose a tag to compare


  • The jar packages now contain files #1057
  • Some minor improvements in a few biojava-structure methods #1058

BioJava 7.0.0

31 Jan 22:19
Choose a tag to compare


  • BioJava is now compiled at JDK 11 compatibility level. It will not work anymore under older JREs (e.g. JRE 8).
    This is the main reason for the major version bump.


  • Better handling of downloads: file download validation #1024


  • Upgrade to latest ciftools-java, fixes non-US locale issue #1049
  • Issue with some edge cases in CIF parsing #1054
  • Minor security issue #1046

BioJava 6.1.0

27 Oct 04:42
Choose a tag to compare


  • GenBankWriterHelper - method that uses the original locus line rather than creating a new one, preventing loss of information
  • GenBankReader - the ability to successfully parse GenBank files with a LOCUS ID containing white space
  • GenBankReader - the ability to successfully parse GenBank files missing a LOCUS ID
  • Aromaticity calculation in biojava-aa-prop module


  • GenBankWriter - String Formatter error when key or value of Qualifier has character "%", #886
  • GenBankWriter - outputting db_xref feature qualifiers
  • GenBankWriter - outputting the accession version and GI ID
  • GenBankWriter - outputting feature locations containing joins and partial locations
  • GenBankReader - reading locations split over multiple lines
  • GenBankReader - set if feature qualifier values require quotes
  • Local alignment with linear gap penalty was producing an NPE, #1036
  • New default server for PDB files. Note that from Aug 2023 older versions of BioJava will not be able to fetch PDB files unless PDB.FILE.SERVER system property is used to override the default server
  • Dependency upgrades
  • Some bug and security fixes

BioJava 6.0.5

01 Feb 17:57
Choose a tag to compare


  • Null handling in a few places related to loading PDB, CIF, mmtf files (issue introduced in 6.0.0). #1019

BioJava 6.0.4

05 Jan 05:40
Choose a tag to compare


  • Log4j dependency upgraded to 2.17.1 to avoid new vulnerabilities
  • Some new tests
  • Fixes in tests and docs
  • Bugfix in LocalProteinDomainParser #1009

BioJava 6.0.3

15 Dec 00:00
Choose a tag to compare


  • Log4j dependency upgraded to 2.16.0, to avoid log4hshell vulnerability

BioJava 6.0.2

14 Dec 00:00
Choose a tag to compare


  • Log4j dependency upgraded to 2.15.0, to avoid log4hshell vulnerability
  • PDB and mmCIF resolution parsing fixes. #1000

BioJava 6.0.1

19 Nov 05:14
Choose a tag to compare


  • Now actually runnable in a java-8 JRE. Previous release 6.0.0 had a java-11 dependency that made it incompatible. #996
  • Switch JAXB to glassfish implementation for better java 15+ support. Now biojava should run under a java-15 JRE. #996

BioJava 6.0.0

29 Oct 23:19
Choose a tag to compare


  • All code related to All-vs-All structural alignments db calculation and access
  • JFatCatClient and all code depending on it
  • PDP domain providers (depended on JFatCatClient)
  • Support for retrieving structure data with prefix "PDP:" (AtomCache, StructureIO)
  • RemoteScopInstallation consuming data provided by
  • The whole org.biojava.nbio.structure.rcsb package, a client for the legacy RCSB PDB APIs (disappearing in Nov 2020)
  • The whole org.biojava.nbio.structure.validation package
  • The org.biojava.nbio.structure.domain.PDBDomainProvider class to pull domain definitions from legacy RCSB PDB APIs
  • Support for automatically fetching dssp files from RCSB (org.biojava.nbio.structure.secstruc.DSSPParser.fetch())
  • org.biojava.nbio.structure.PDBStatus: simplified Status enum to 3 states, with OBSOLETE now called REMOVED
  • org.biojava.nbio.structure.PDBStatus: removed getReplacement and getReplaces
  • Removed package
  • Removed functionality to write isolated CIF headers from FileConvert
  • Removed
  • Removed from org.biojava.nbio.structure.Chain interface: getParent(), setParent(), getAtomLigands(), getSwissprotId(), setSwissprotId(), getInternalChainID(), setInternalChainID(), getChainID(), setChainID()
  • Removed from org.biojava.nbio.structure.Structure interface: findChain(), getId(), setId(), getChainByPDB(), getCompoundById(), getResidueRanges(), getRanges()
  • Removed from org.biojava.nbio.structure.StructureTools : isNucleicAcid(), isProtein(), getPredominantGroupType(), isChainWaterOnly(), isChainPureNonPolymer(), getReducedStructure()
  • Removed
  • In org.biojava.nbio.structure.align.xml.MultipleAlignmentXMLParser made all methods private except parseXMLfile

Breaking API changes

  • Extracted StructureIO.StructureFiletype enum to (supports PDB, MMTF, CIF, and BCIF)
  • org.biojava.nbio.structure.align.util.AtomCache: removed setUseMmCif, setUseMmtf, isUseMmCif, and isUseMmtf - replaced by setFiletype and getFiletype that controls parsed content via the StructureFiletype
  • is now effectively
  • Moved to
  • Moved all chem-comp model classes from to org.biojava.nbio.structure.chem
  • Moved all chem-comp parsing classes from to
  • Moved classes in to org.biojava.nbio.structure.chem
  • Fixed CRC64Checksum#public void update(byte[] b, int offset, int length) to use the length argument correctly as specified in interface.
  • In SubstructureIdentifier, StructureName, EcodDomain, ScopDomain : getPdbId() returns PdbId object instead of String.
  • Removed DownloadChemCompProvider.useDefaultUrlLayout with a more flexible system to provide templated URLs DownloadChemCompProvider.setChemCompPathUrlTemplate() and DownloadChemCompProvider.setServerBaseUrl()
  • In Structure (and StructureImple), the accessor methods String getPdbId() and setPdbId(String) were previously depricated. They were revived in BioJava 6.0.0 but as PdbId getPdbId() and setPdbId(PdbId) instead.n


  • New keywords field in PDBHeader class, populated by PDB and mmCIF parsers #946
  • OBO parsing now supports multiple altids, #960
  • New class PdbId that wrapps a PDB Identifier and handles conversion between current short PDBID format and upcoming extended PDBID format #930


  • Correct chain assignment to entities when parsing PDB/mmCIF without entity information (in cases with more than 3 chains per entity) #931
  • Dealing with chain ids correctly when parsing bonds in PDB-format files #943 #929

BioJava 5.4.0

29 Jun 05:44
Choose a tag to compare

New features

  • Minimal read support for mmCIF files with branched entities (upcoming PDB release July 2020). The new entity type is understood now but branched entities are still treated as non-polymers within BioJava. #868
  • InterfaceFinder class to find interfaces of a given PDB assembly #867
  • New switch in Subunit clusterer useEntityIdForSeqIdentityDetermination #857 #859


  • Now genbank parser will allow 5'<3' for circular DNA #855

Bug fixes

  • Issue in bonds between atoms of different alt locs (rcsb/mmtf#44) #854
  • Upgrade ciftools-java dependency to latest java-8 compatible release 0.7.1