Changelog
Additions
Improved MOL/SDF file support in biotite.structure.mol
- CTAB
V3000
blocks can be read and written in addition toV2000
inMOLFile
(#575) M CHG
lines in CTABV2000
block can can be read and written inMOLFile
(#589)- Added
biotite.structure.SDFile
for full support of SD files (#589)- SD files with multiple records (i.e. multiple molecules) ca be read and written
- Metadata in SD files can be read and written
- Intra-residue bonds can now be read/written to CIF/BinaryCIF files in
biotite.structure.io.pdbx
(#567)
The bonds are written to thechem_comp_bond
category, ifinclude_bonds=True
inset_structure()
- Previously Intra-residue bonds were obtained from the Chemical Component Dictionary which only works for residues in the PDB
- Added repair functions for
AtomArray
objects with missing or irregular annotationsstructure.create_continuous_res_ids()
renumbers residue IDs to make them continuous for each chain (#576)structure.infer_elements()
guesses chemical elements from atom names in case theelement
annotation is missing (#576)structure.create_atom_names()
names atoms based on their element in case theatom_name
annotation is missing (#581)
- Canonical amino acids/nucleotides can be found for arbitrary residues
structure.info.one_letter_code()
obtains the most appropriate one-letter code (if existing) for a residue name, based on information from the Chemical Component Dictionary (#572)structure.to_sequence()
converts anAtomArray
into aSequence
based on codes obtained viastructure.info.one_letter_code()
(#587)
- Added new superimposition functions (#587)
structure.superimpose_without_outliers()
allows superimposition with iterative conformational outlier removal to decrease the RMSD of the remaining atomsstructure.superimpose_homologs()
finds corresponding atoms via sequence alignment and optional outlier removal- This function is quite robust for simply superimposing homologous proteins/nucleic acids without the need of atom filtering
structure.AffineTransform
can be converted into a 4x4 transformation matrix containing both, translation and rotation (#576)
sequence.align.write_alignment_to_cigar()
now includes terminal gaps in the segment sequence (usually the shorter sequence) in the CIGAR string, ifinclude_terminal_gaps
is set toTrue
(#563)- The default behavior is unchanged
Changes
- Deprecated
get_header()
andset_header()
inbiotite.structure.io.mol.MOLFile
MOLFile.header
attribute should be used instead (#589)
- Deprecated
structure.renumber_atom_ids()
andstructure.renumber_res_ids()
renumber_res_ids()
can be substituted withcreate_continuous_res_ids()
Fixes
- Fixed parsing multi-line values in PDBx NextGen files in
structure.io.pdbx.CIFFile
(#555) - Fixed parsing of some operation expressions in
structure.io.pdbx.get_assembly()
(#555) structure.io.pdb.PDBFile.set_structure()
checks if input annotations exceed the fixed number of columns, preventing writing malformed PDB files (#588)- Trying to write malformed CIF files with categories containing no rows now raises an exception (#586)
- Added more descriptive error message, if
structure.residue()
cannot find the requested residue (#580) sequence.io.fasta.get_sequence()
converts pyrrolyine (O
) into lysine (K
) when creating theSequence
object (#587)- Fixed indexing with an
Annotation
insequence.AnnotatedSequence
if annotation is on the minus strand (#577) - Fixed exception in
biotite.structure.base_pairs()
andbiotite.structure.dot_bracket_from_structure()
if no base paris were found (#573)