Generalize the type parameters of
MTRecordDenaturedModelso that its native and extended chains (and their SASAs) need not share the same concrete type, allowingMTRecordDenaturedModelto be built directly from aModel,Chain, or otherAbstractVector{<:Atom}subtype.
Add
set_phi!andset_psi!to set backbone dihedral angles of a protein structure.Add
extended_chainandextended_chain!to build the fully-extended (all-trans) conformation of a protein.Add
*,+, and-to scale and combineTransferFreeEnergyobjects, used to simplify themvalue(::MTRecordDenaturedModel, ...)implementation.Implement
MTRecordtransfer model to compute m-values and transfer free energies, in urea or betaine.Document the
MTRecordmodel.
Add
saveandloadfunctions forMValue,TransferFreeEnergy, andSASAobjects.The
MValue,TransferFreeEnergy, andSASAtypes are now exported.
When providing a selection to
mvalueortransfer_free_energy, do not run over all the residues of the object (structure of SASA), but only on the residues of the selection.
Allow computation of
mvalues andtransfer_free_energys from precomputed SASA values. For that, dispatch on theCreamerUnitedAtomRadiitype the SASA calculation, for consistency. Otherwise, an error is thrown.Support for
unitcellkeyword argument intransfer_free_energyandmvaluefunctions, which will compute SASAs with periodic boundary conditions.
Remove inputs of
mvalueandtransfer_free_energyfunctions with sasa data, because the SASA method cannot be changed while preserving consistency among models.Use united atom in the parameterization of
Accessibilitymodel.Organize code of
Accessibilityimplementation.
Add
Accessibilitymodel to transfer free energy calculations.The
MoeserHorinekAppmodel was discontinued.Organize mvalue model code. Increase modularity of model codes.
Add
urea-mhtoAutonBolenmodel solvent list.
Add
MoeserHorinekAppmodel to use the Gly-activity freeMoeserHorinekmodel, with all cosolvents.This is breaking but is also a bug fix: the
MoeserHorinekFitmodel was discontinued, because it was not physically meaningful.
Add
:cath_s20and:original(default - unchanged) options tocreamer_sasasandCreamerDenaturedModel, to use the parameterization of the denatured SASAs from the original or CATH S20 model sets.The
delta_sasaofCreamerDenaturedModelis computed upon construction, avoiding repeated evaluations if mvalues are computed for the same model in different cosolvents.
Add data tables for
trehaloseandglycerolfor the computation of transfer free energies withAutonBolen.Add
MoeserHorinekFitmodels.
Add
MoeserHorinekFitparameterizations, which introduce the Gly-activity correction to all models, by fitting the apparent TFEs to obtain the total predicted TFEs of Auton&Bolen.
read_pdbauto-detects if a file is ofmmCIF/PDBxformat and switches the parser. Therefore,read_pdbcan be used instead ofread_mmcifon all structures.
Make
PDBTools.MacroKeyword,PDBTools.Keyword,PDBTools.macro_keywords, andPDBTools.keywordpublic, to allow the user to define custom macros for the selection syntax.
Missing data is printed as dot in mmCIF files, avoiding missing columns, and the dot is recognized as a missing
pdb_elementfield by theelementfunction.
Support for
AbstractStringinstead ofStringin several input signatures, notably for selections and file names.
Add
CreamerDenaturedModeltype, andmvalue(::CreamerDenaturedModel)to compute m-values associated with denaturation directly.
Add
isnucleoside,ispurine, andispyrimidinefunctions for atoms and residues, mirroring the existing protein-property predicates.Add
add_nucleoside_residue!,remove_custom_nucleoside_residues!, andcustom_nucleoside_residues!(SIRAH)to support custom and force-field-specific nucleoside residues (SIRAH DNA: DAX, DGX, DTX, DCX).Add
nucleoside,purine, andpyrimidineas selection string keywords.Much faster string selection by type-stable queries.
Organize SASA docs.
Suppress GKS output in documentation generation.
parse_queryreturns a function, no need forapply_queryanymore.
Rename
coortopositionsandposition(keepcooras a legacy alias for backwards compatibility).get_atomsis now imported fromMolSimToolkitShared.
Improve printing of list of HBonds in compact form.
stride_runsupports computing secondary structure of models with up to 94 chains, so many more CIF files will be properly handled. An error message is printed otherwise.
Add support for
filter(f, ::HBonds)and slicingHBondsobjects withhbonds[1:5], or with index vectors.Add iteration interface (
iterate,keys,eachindex) forHBondsdata structure, enablingforloops,collect,findfirst, etc.Document comprehensively the hydrogen-bonds functionality.
Code formatting and small adjustments.
Replace BenchmarkTools.jl by Chairmarks.jl in allocation tests.
Use
scatterinsteadheatmapunder the hood to plot contact maps, to avoid memory issues. The API function continues to beheatmap.
Use sparse arrays to store contact matrices, accelerating computations and saving a lot of memory, for large systems.
Add
paralleloption to contact and distance map calculations, set to false by default.Implement fast contact and distance map calculations using cell lists.
Document properly all property getters.
Implement
transfer_free_energyfunction to compute the TFE of a single structure to different solutions.MValue object carries the
cosolventfield, and shows the cosolvent.
Compute m-value of protein denaturation using Creamer denatured models.
Introduce
Structureobject, to contain atom arrays and meta-data.Atomobject equality is supported (all fields must be identical).
Use
String15to store names, chains, etc, to support very large CIF files.The maximum string length for names, chains, etc, is defined by the constant global StringType.
Allow updating element properties when adding custom element.
sasa_particles(SIRAH, args...; kargs...)computes SASAs with SIRAH parameters.Update vdW radii and masses of SIRAH elements.
Add c-terminal and n-terminal SIRAH residues to custom residue list.
Append SIRAH backbone atoms to allow selection of backbone and sidechains with SIRAH pdbs.
Use julia-cations/cache
ContactMapobjects can be summed or subtracted, to obtain the effect of transformations on contact maps.
add
parallelkeyword argument tomvaluefunction to enable parallel computation of residue contributions.Improve performance of mvalue calculations by avoiding unnecessary allocations.
Small improvements in performance, particularly of the mvalue calculations.
Cosolvent selection in
mvalueis now case-insensitive.
The
MValuedata structure now contains a type parameter that indicates the model used, and aIntfield with the number of residues in the selection.
Use
InlineStrings.String7forchaininAtomstruct to support longer chain IDs from mmCIF files.Faster
inimplementation for containment of atoms in residues, chains, models, segments.
add
mvaluefunction for computing m-values from protein structures.inis part of supported interface for iterators (e. g.atoms[1] in residues[1])
add
get_atomsgetter for fetching the vector of atoms of residues, models, chains, segments.hydrogen_bondsaccepts multiple pairs of selections, and is made stable.Documentation updates.
hydrogen_bondsfunction to compute h-bonds in structures (with Hydrogen atoms added).Add tests to computing contact maps with PBCs.
set_position!(::Atom, ::Union{Tuple,AbstractVector})to conveniently set coordinates from a vector or tuple of coordinates.Support for periodic boundary conditions in
sasa_particleswithunitcellkeyword argument.Add
read_unitcell,lattice_to_matrix, andlattice_to_matrixfunctions to read and convert unitcells written in PDB or mmCIF files.
output_dotsoption tosasa_particlesto return the dots of the surface.return more compact SASA object. Rename
atomic_sasatosasa_particles(keep alias for compatibility).make the
AtomDotsof sasa calculation a contiguous memory block, to reduce GC pressure.Set default
n_dotsofatomic_sasacomputations to 512 instead of 500 such that it is a multiple of 16, the defaultN_SIMD.add doc examples.
Provide a better error message when a field in a CIF file does not fit in the fixed-size string to which it must be assigned.
atomic_sasaandsasafunctions to compute solvent accessible surface area.Add
vdw_radiusas element property, andelement_vdw_radiusfunction to fetch them.The element symbol is returned as a
InlineStrings.String3.Masses are returned as
Float32values instead ofFloat64.
Plots.scatter(::Ramachandran)to plot Ramachandran objects.Ramachandranmethod and struct, to compute Ramachandran plots.dihedralmethod to compute directly dihedral given four Atom objects.
Selection syntax now supports parenthesis and the shortcut for
or, as inresname ARG CYS ALA.CYS is now classified as a polar residue, following the definition of VMD.
GLY is now classified as a polar residue, following the definition of VMD.
Set version to 3.1.0
write_mmcifandwrite_pdbsupport a third positional argument,StringorFunction, to write a selection of the atoms.select_with_vmdreturns a vector ofAtoms if the input was a vector ofAtoms.select_with_vmdreturns a vector ofAtoms if the input was a vector ofAtoms.In all functions that accepted the
onlykeyword parameter to define selections with a Julia function, the keyword parameter was dropped and now the function can be provided as a positional second argument, or third argument forwrite_pdbandwrite_mmciffunctions.get_seqfunctions do not support anymore the input of the file name. An array ofAtoms must be provided. This is because internally it would be required to recognize PDB of mmCIF functions.Dropped Julia 1.9 support (minimum requirement is 1.10)
Set version to 3.0.0