-
Marco Biasini authoredMarco Biasini authored
IO Profiles for entity importer
As of version 1.1, OpenStructure introduces IO profiles to fine-tune the behaviour of the molecule importers. A profile aggregates flags and methods that affect the import of molecular structures and influence both the behaviour of :mod:`~ost.conop` and :mod:`~ost.io`.
Basic usage of IO profiles
You are most certainly reading this document because you were having trouble loading PDB files. In that case, as a first step you will want to set the profile parameter of :func:`LoadPDB`. The profile parameter can either be the name of a profile or an instance of :class:`IOProfile`. Both of the following two examples are equivalent:
ent=io.LoadPDB('weird.pdb', profile=io.profiles['SLOPPY'])
ent=io.LoadPDB('weird.pdb', profile='SLOPPY')
Profiles is a dictionary-like object containing all the profiles known to OpenStructure. You can add new ones by inserting them into the dictionary. If you are loading a lot of structures, you may want to set the default profile to avoid having to pass the profile every time you load a structure. This is done by assigning a different profile to DEFAULT
:
io.profiles['DEFAULT']='SLOPPY'
ent=io.LoadPDB('weird.pdb')
Again, you can either assign the name of the profile, or the profile itself. If none of the profiles available by default suits your needs, feel free to create one to your liking.
Available default profiles
The following profiles are available by default. For a detailed description of what the different parameters mean, consult the documentation of the :class:`IOProfile` class.
STRICT
This profile is the default and is known to work very well with PDB files coming from the official PDB website. It is equivalent to the following profile:
IOProfile(dialect='PDB', strict_hydrogens=False, quack_mode=False, fault_tolerant=False, join_spread_atom_records=False, no_hetatms=False, bond_feasibility_check=True)
SLOPPY:
This profile loads essentially everything
IOProfile(dialect='PDB', strict_hydrogens=False, quack_mode=True, fault_tolerant=True, join_spread_atom_records=False, no_hetatms=False, bond_feasibility_check=True)
CHARMM:
This format is the default when importing CHARMM trajectories and turns on the CHARMM specific compound dictionary.
IOProfile(dialect='CHARMM', strict_hydrogens=False, quack_mode=True, fault_tolerant=True, join_spread_atom_records=True, no_hetatms=False, bond_feasibility_check=True)
The IOProfile Class
Aggregates flags that control the import of molecular structures.