Skip to content

Releases: m3g/ComplexMixtures.jl

v2.11.3

17 Dec 16:48
Compare
Choose a tag to compare

ComplexMixtures v2.11.3

Diff since v2.11.2

  • When using frame_weights, if the weight of a frame is exactly zero, the frame will be ignored, accelerating the computations.

Merged pull requests:

  • skip frames with zero frame weight, and use the enabled option of Pro… (#67) (@lmiq)

v2.11.2

08 Dec 14:12
Compare
Choose a tag to compare

ComplexMixtures v2.11.2

Diff since v2.11.1

  • Fix initialization of Options to default value in the calls to mddf and coordination_number, when providing the name of the trajectory file and the solute and solvent atom selections.
  • Better error message if the trajectory format is provided incorrectly.

Merged pull requests:

  • add new applications references (#62) (@lmiq)
  • Calls to coordination number (#64) (@lmiq)
  • set version to 2.11.2 (#65) (@lmiq)

v2.11.1

04 Dec 12:44
Compare
Choose a tag to compare

ComplexMixtures v2.11.1

Diff since v2.11.0

  • Remove deprecated contourf_per_residue function.
  • Organize docs.

Merged pull requests:

v2.11.0

03 Dec 20:01
Compare
Choose a tag to compare

ComplexMixtures v2.11.0

Diff since v2.10.2

New features

  • Support for plotting 2D density maps as heatmap or contour (without filling), for ResidueContributions objects:
julia> contourf(residue_contributions; oneletter=true)

Image

julia> contour(residue_contributions; oneletter=true)

Image

julia> heatmap(residue_contributions; oneletter=true)

Image

Bug fixes

  • Some bug fixes related to plotting ResidueContributions with repeated or unsorted residue numbers (in combination with PDBTools.jl v2.1.3).
  • Set maximum number of contributions by default when plotting contour plots, to avoid memory crashes (throws warnings).
  • Fix example of 2D density map of example 3 of the documentation, where the terminal methyl groups where not shown.

Merged pull requests:

v2.10.2

02 Dec 14:49
Compare
Choose a tag to compare

ComplexMixtures v2.10.2

Diff since v2.10.1

Minor new feature (bug fix?):

In ResidueConstributions objects: operating (summing, subtracting, etc) these objects is allowed now if the distance arrays match and the number of residues of the two groups are the same. If the tick-labels differ throw a warning, and keep the tick-labels of the first object. If the tick-labels match but the tick positions match, just operate.

This improvement in the manipulation of these objects is better supported by the improvement in the setting of residue_ticks in PDBTools v2.1.3.

Merged pull requests:

  • show example of 2D maps per subgroup (#55) (@lmiq)
  • support operation on combatible ResidueContribution objects (#56) (@lmiq)

v2.10.1

28 Nov 13:41
Compare
Choose a tag to compare

ComplexMixtures v2.10.1

Diff since v2.10.0

  • Better support for non-protein residues in ResidueContributions functions and contourf: The show method was fixed and contourf will try to obtain one-letter codes and print full codes if not found.

Merged pull requests:

  • format all code (#52) (@lmiq)
  • better support for non-protein residues in ResidueContribution plots (#53) (@lmiq)

v2.10.0

27 Nov 12:10
Compare
Choose a tag to compare

ComplexMixtures v2.10.0

Diff since v2.9.0

New feature

The indexing and iteration of a ResidueContributions object was improved, such that:

  1. When a ResidueContributions contain the contributions of more than one residue, the iteration occurs within residues.
  2. When a ResidueContributions contain the contribution of a single residue, iteration occurs over the contributions of this residue.

This implies many facilities and greater consistency in iterations over these objects as, for instance, it is possible to extract (for example) the contribution at a given distance for all residues as:

julia> rc = ResidueContributions(R, select(ats, "protein"))

          Residue Contributions - 274 residues.
     3.51 █     █      █     █            █                                    
     3.27 █              █   █                                                 
     3.03 █     █    █       █            █       █       █                █   
     2.79 █    ██    █ █ █   █            █      ██          █        █    █   
 d   2.55 █ █  ██    █ █ █   █            ██     ██ █  █  █  █  █     █    █   
     2.31 █ █  ██    █ ███   █    ██      ██     ██ █  ██ █  ██ █     █    █   
     2.07 █ █   █  █ █████   █    ██      ██     ██ █  ██ █  █ ██    █     █   
     1.83 █   █ █  █ █████   █    ██      █      ██ █  ██    █ ██     █    █   
     1.59                                                                      
         A1      T33     T66     S98     S130    T162    A194    H226    G258    

julia> id = findfirst(>=(2.0), rc.d) # index of distance for 2.0 Angstroms
26

julia> c_at_2 = [ r[id] for r in rc ]  # collect contributions for all residues at index id
274-element Vector{Float64}:
 0.025795222201597752
 0.027637738073140444
 ⋮
 0.0
 0.03316528568776853

The above is possible because, for example, rc[1] returns a "single-residue" ResidueContributions object, and indexing this object returns the contributions of such residue at each distance.

Similarly, these features allow other Julia functions to be broadcasted over the residue contributions:

getindex.(rc, 26) # returns the contribution at index 26 for all residues (equivalent to the `[ r[id] for r in rc ]` above)
last.(rc) # returns the contribution of each residue at the largest distance
maximum.(rc) # returns the maximum contribution of each residue
findmax.(rc) # returns the maximum and index of the distance maximum of the contributions of each residue

Merged pull requests:

  • New single residue contribution iterator and indexing (#50) (@lmiq)

v2.9.0

25 Nov 20:18
Compare
Choose a tag to compare
  • Update docs to make Trajectory a minor menu.

v2.9.0

25 Nov 19:54
Compare
Choose a tag to compare

ComplexMixtures v2.9.0

Diff since v2.8.5

New features

  • The calls to mddf and coordination_number now accept the name of the trajetory file and the solute and solvent selections, passing by the construction of the Trajectory object. This is now the preferred and documented interface:
    mddf(trajectory_file, solute, solvent, options)
    mddf(trajectory_file, solute_and_solvent, options) # for auto-correlations
    coordination_number(trajectory_file, solute, solvent, option)
    coordination_number(trajectory_file, solute_and_solvent, options) # for auto-correlations
    where the solute, solvent and solute_and_solvent objects are AtomSelection structures.

Other changes:

  • documentation updates.

Merged pull requests:

  • New call without trajectory (#49) (@lmiq)

v2.8.5

23 Nov 16:26
Compare
Choose a tag to compare

ComplexMixtures v2.8.5

Diff since v2.8.4

  • Throw ArgumentError messages if n_random_samples <= 0 or if sum(frame_weights[considered_range]) <= 0.

Merged pull requests: