You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pmUE (Protein Modelling Unreal Engine) - a repo for constructing a molecule visualizer plugin in Unreal
2
+
pmUE (Protein Modelling Unreal Engine) - a repo for constructing a molecule visualizer plugin in Unreal.
3
+
4
+
Main contributor(s): Ilya Sergeevich Dementyev
3
5
4
6
### Most Recent Update
5
-
Currently in the process of finishing up my thesis, so development will pick up later this year.
6
-
In the meantime, feel free to contribute as always.
7
+
This project will be released as a pre-release soon.
7
8
8
9
### Current abilities
9
-
The current capabilities are shown below for Methane.pdb and AceticAcid.pdb respectively. Appropriate bonds and bond lengths must still be implemented.
10
+
The current capabilities are shown below, for a small peptide seq: IKK. Appropriate bonds and bond lengths must still be implemented.

14
13
14
+
### How to use
15
+
First, open up any UE4 version. To be safe, you may use the same one I did, `4.27.2` on Windows.
16
+
17
+
Let's say your current C++ UE4 session/project name is `YourProjectName`. Any UE4 project has an associated `YourProjectName.Build.cs` file, that appears as the following:
18
+
```
19
+
using UnrealBuildTool;
20
+
21
+
public class YourProjectName : ModuleRules
22
+
{
23
+
public YourProjectName(ReadOnlyTargetRules Target) : base(Target)
Blueprints should be added to `YourProjectName/Content/YourProjectName/Blueprints`, Static Meshes to `YourProjectName/Content/YourProjectName/Art/StaticMeshes`, Materials to `YourProjectName/Content/YourProjectName/Art/Materials`
55
+
56
+
For the file that you want to visualize, you must first copy it to `YourProjectName/Source/YourProjectName/`, then write the name in the `FString FileName{ "filename.pdb" };` line in `FileData.h`. Currently, only PDB files are supported.
57
+
58
+
Once all of this is done, you must rebuild your UE4 C++ project `YourProjectName`.
59
+
60
+
If everything goes well, this should have not broken anything. Continuing on, load all blueprints into the Game World, and center them all at 0,0,0.
61
+
62
+
Then, upon pressing Play, your molecule should render as spheres, with the PDB file's centroid @ origin.
63
+
15
64
### Main Ideas
16
65
1. Unreal Engine 4 (mainly in C++) used alongside Visual Studio 2019 for the majority of the work, with Doxygen-style commenting (html file will be added in a docs folder)
17
66
2. pmUE will be more akin to an Unreal plugin than a standalone "game"
18
67
3. If larger molecules will significantly slow down the viewer, then Nanite will be used.
19
68
20
-
### Atom Connectivity
21
-
How atoms are connected will likely be modelled using graph theory. However, UE4 makes this difficult, as having an array within an array is not supported. Hence, a more inefficient, yet functional approach is needed. The best way to do this to my current knowledge is by constructing an array of indices for each atom, containing the indexes of the atoms they are connected to.
22
-
23
69
### Collaboration
24
70
To my knowledge, I am the only individual working on this repo. As the code is slowly being developed, it is recommended to open your own branch if you'd like to add anything to the project. All contributions welcome!
25
71
@@ -34,3 +80,6 @@ Of course, you may write this in whatever language is required for you to write
34
80
Avogadro 1.2.0 was used for the creation of some models in [PDBFiles](https://github.com/ISDementyev/pmUE/tree/main/PDBFiles)
35
81
- Avogadro: an open-source molecular builder and visualization tool. Version 1.XX. http://avogadro.cc/
36
82
- Marcus D Hanwell, Donald E Curtis, David C Lonie, Tim Vandermeersch, Eva Zurek and Geoffrey R Hutchison; “Avogadro: An advanced semantic chemical editor, visualization, and analysis platform” [*Journal of Cheminformatics***2012**, 4:17.](http://www.jcheminf.com/content/4/1/17)
83
+
84
+
The Protein Data Bank (PDB) was used for extracting of small peptides like 6A5J
85
+
- The Protein Data Bank H.M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T.N. Bhat, H. Weissig, I.N. Shindyalov, P.E. Bourne (2000) Nucleic Acids Research, 28: 235-242. [https://doi.org/10.1093/nar/28.1.235](https://doi.org/10.1093/nar/28.1.235)
0 commit comments