Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature PDBx/Gemmi #135

Merged
merged 55 commits into from
Dec 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
af824e7
Working out how to add support for LJ C4 parameters
chryswoods Nov 11, 2023
2f36fb2
Adding in the stubs so I can play with writing a pdbx/cif parser
chryswoods Nov 11, 2023
c610ac8
Added a PDBx parser which uses gemmi for reading and writing PDBx/mmC…
chryswoods Nov 11, 2023
3480923
Using the gemmi structure object is much easier and will be more main…
chryswoods Nov 11, 2023
d7c4f94
Moved the gemmi integration to sire.convert, as it would be much bett…
chryswoods Nov 12, 2023
7f45ae3
Have loaded the SireGemmi library and registered the reader and write…
chryswoods Nov 12, 2023
9f7b29e
Can now interoperate between (empty) sire.System and gemmi.Structure …
chryswoods Nov 12, 2023
91206d5
Cleaned up the interconversion - still only works for empty objects
chryswoods Nov 12, 2023
7172c95
Making progress - now beginning to add in all of the water molecules.
chryswoods Nov 12, 2023
fe2fe70
Not available for conda gemmi
chryswoods Nov 12, 2023
7f80f24
Making a lot of progress now - can load up waters and non-proteins
chryswoods Nov 12, 2023
47fa4ba
Can now read a PDBx/mmcif file by converting it from a gemmi Structure.
chryswoods Nov 13, 2023
8b98a02
Added in the calls to create a QStringList from a gemmi::Structure. N…
chryswoods Nov 13, 2023
df8331e
Can now convert water molecules over to gemmi (and can save them to a…
chryswoods Nov 13, 2023
04aabad
Can use ensure_entities
chryswoods Nov 13, 2023
741a6cb
Can now write molecules and proteins :-)
chryswoods Nov 13, 2023
cdffcdb
All multi-residue molecules are Polymers
chryswoods Nov 13, 2023
adc5f34
Added proper (working) support for recording bonds when converting to…
chryswoods Nov 14, 2023
b53ef2e
Adding in tests so that I can check the conversions. Need to clean up…
chryswoods Nov 14, 2023
2928b48
Done a better job of handling entities
chryswoods Nov 14, 2023
c085076
Pinned down version as gemmi is semverd, plus added more to the test
chryswoods Nov 14, 2023
209cd0c
Attempting to fix some of the compile / link issues for gemmi on diff…
chryswoods Nov 15, 2023
a8d699e
Added a test if we need the extra files, which definitely fails well
chryswoods Nov 15, 2023
cc959ca
Updating the docs - triggering a CI build :-)
chryswoods Nov 15, 2023
3d8dad6
Documented the gemmi integration, and also preserve the system name w…
chryswoods Nov 15, 2023
71c78b7
Manually adding in the C++ files we need from gemmi, and not linking to
chryswoods Nov 15, 2023
56e6127
Removed changes relating to the LJ C4 work. Will do this in another b…
chryswoods Nov 15, 2023
df06403
Switching over to using a dynamic library for libgemmi_cpp
chryswoods Nov 16, 2023
27ee4cd
Working on ability to add metadata that can be serialised into the
chryswoods Nov 29, 2023
c8d1881
Merge branch 'fix_constraints' of https://github.com/openbiosim/sire …
chryswoods Dec 1, 2023
97a45e8
Fixed error on merge
chryswoods Dec 1, 2023
3980a78
Can now save additional metadata to the PDBx/mmCIF file, correctly us…
chryswoods Dec 2, 2023
d6ab7f1
Beginning to read back the metadata into a Properties object
chryswoods Dec 2, 2023
2008d0a
Can now save metadata properties to the PDBx/mmCIF file. Checked I ca…
chryswoods Dec 2, 2023
23be16b
Trying to preserve the metadata in the gemmi.Structure, but this class
chryswoods Dec 2, 2023
b8c7d12
Can now save the metadata into the gemmi.Structure object. It survives
chryswoods Dec 2, 2023
9289022
This seems to map the chains how we need for sire / gemmi to be compa…
chryswoods Dec 3, 2023
6709772
Got it - this now properly maps molecules, chains, residues and atoms,
chryswoods Dec 3, 2023
5a6de67
Got this working now - had to match the chain name in both places (ch…
chryswoods Dec 3, 2023
698e360
Metadata values can now have spaces, as we correctly add (and remove)…
chryswoods Dec 4, 2023
62d5caa
Updated the gemmi requirements so that we are ready when the next pac…
chryswoods Dec 4, 2023
80c1801
Merge branch 'devel' of https://github.com/openbiosim/sire into featu…
chryswoods Dec 4, 2023
41c57bb
Merge branch 'feature_optimise_lever' of https://github.com/openbiosi…
chryswoods Dec 5, 2023
f0db241
Use the correct version number
chryswoods Dec 5, 2023
4a26299
Merge branch 'feature_optimise_lever' of https://github.com/openbiosi…
chryswoods Dec 6, 2023
a622b28
Fix for cmake error on GH Actions
chryswoods Dec 6, 2023
60ff711
Reduced the precision of the OpenMM lambda test, as this can get trip…
chryswoods Dec 7, 2023
9a3ec6a
Fixed gemmi detection on Windows
chryswoods Dec 8, 2023
0cfb262
Merge branch 'devel' into feature_format
chryswoods Dec 8, 2023
e594ddf
Merge branch 'devel' of https://github.com/openbiosim/sire into featu…
chryswoods Dec 12, 2023
4e050d3
Added an extra test to check that the end-point energies of
chryswoods Dec 12, 2023
a1c5165
Make sure to return `None` not `none` if the constraint hasn't been set
chryswoods Dec 12, 2023
01f0780
Given the ability to return a System as well from .commit(), because …
chryswoods Dec 12, 2023
3477119
Fixed the bug where passing a string for the "cutoff" option would le…
chryswoods Dec 13, 2023
596ebef
Updated the changelog with details of the 2023.4.2 release. Also adde…
chryswoods Dec 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions corelib/src/libs/SireBase/propertymap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,13 @@ bool PropertyMap::specified(const PropertyName &propname) const
return propname.hasValue();
}

/** Unset the property called 'name'. This will return it to default */
void PropertyMap::unset(const QString &name)
{
if (propmap.contains(name))
propmap.remove(name);
}

/** Set the property called 'name' to have the source or value
in 'source'. This replaces any existing source or value
for any existing property of this name in this map */
Expand Down
2 changes: 2 additions & 0 deletions corelib/src/libs/SireBase/propertymap.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@ namespace SireBase

void set(const QString &name, const PropertyName &source);

void unset(const QString &name);

PropertyMap addPrefix(const QString &prefix,
const QStringList &properties) const;

Expand Down
2 changes: 2 additions & 0 deletions corelib/src/libs/SireIO/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ set ( SIREIO_HEADERS
netcdffile.h
pdb.h
pdb2.h
pdbx.h
perturbationslibrary.h
protoms.h
sdf.h
Expand Down Expand Up @@ -95,6 +96,7 @@ set ( SIREIO_SOURCES
netcdffile.cpp
pdb.cpp
pdb2.cpp
pdbx.cpp
perturbationslibrary.cpp
protoms.cpp
sdf.cpp
Expand Down
3 changes: 3 additions & 0 deletions corelib/src/libs/SireIO/mol2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2380,6 +2380,9 @@ void Mol2::addToSystem(System &system, const PropertyMap &map) const
// you should loop through each molecule in the system and work out
// which ones are described in the file, and then add data from the file
// to thise molecules.
throw SireError::unsupported(QObject::tr(
"You cannot add data from a mol2 file to an existing system!"),
CODELOC);
}

/** Internal function used to get the molecule structure for molecule 'imol'. */
Expand Down
Loading