Skip to content

Commit f0853fb

Browse files
remove dependencies from master and move to separate branches
0 parents  commit f0853fb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+67860
-0
lines changed

LICENSE

+674
Large diffs are not rendered by default.

README.md

+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
![polyfold](src/resources/readme/thumb.png)
2+
3+
PolyFold is an interactive visual simulator for distance-based protein folding
4+
dynamics. The goal of PolyFold is to give citizen scientists and academic
5+
scientists alike an intuitive and visually appealing tool which elucidates the
6+
process of folding proteins with common machine learning optimization
7+
techniques in real time. It is the hope of the PolyFold team that this tool will
8+
serve to fill out the gaps in the user's intuition and understanding of the way
9+
certain types of proteins respond to certain types of optimization strategies.
10+
11+
No prior scientific background is needed to work with PolyFold. It is built
12+
entirely with human intuition in mind.
13+
14+
### How to Compile and Run the Source Code
15+
16+
#### Using Make
17+
1. Run the following line to compile the code:
18+
```
19+
$ make
20+
```
21+
2. Run the following line to run the application:
22+
```
23+
$ make run
24+
```
25+
26+
#### Using the JRE
27+
1. Run the following line to compile the code:
28+
```
29+
$ javac PolyFold.java
30+
```
31+
2. Run the following line to run the application:
32+
```
33+
$ java PolyFold
34+
```
35+
### Manual
36+
37+
Upon opening PolyFold you will be greeted by a screen which looks similar to this:
38+
39+
![polyfold splash screen](src/resources/readme/splash.png)
40+
41+
You will notice that there is a menu bar and a tool bar at the top of the screen. Let's go through each item of the menu bar.
42+
43+
#### Menu Bar
44+
45+
##### File Menu
46+
![file menu](src/resources/readme/file.png)
47+
48+
The file menu contains options for opening ".rr" files and saving the current state of a folded protein in PolyFold as a ".pdb" file.
49+
50+
##### Edit Menu
51+
![edit menu](src/resources/readme/edit.png)
52+
53+
The edit menu contains options to Undo and Redo changes made within PolyFold, as well as to Save or Load a named save state of a folded protein from the current PolyFold session.
54+
55+
##### Window Menu
56+
![window menu](src/resources/readme/window.png)
57+
58+
The window menu contains options for minimizing the current window or making it full screen.
59+
60+
##### Configure Menu
61+
![configure menu](src/resources/readme/configure.png)
62+
63+
The configure window contains options for changing the configuration of either the gradient descent or the Monte Carlo optimization strategies.
64+
65+
##### Help Menu
66+
![help menu](src/resources/readme/help.png)
67+
68+
The help menu contains an option for opening PolyFold's "About" window. This contains information about the application, authors, and license of PolyFold. It can also redirect you to PolyFold's website hosted on GitHub.
69+
70+
Now let's explore the tool bar.
71+
72+
#### Tool Bar
73+
74+
![auto zoom button](src/resources/readme/autozoom.png)
75+
##### AutoZoom Button
76+
77+
The AutoZoom button attempts to move the PolyFold camera such that the majority of the protein structure is rendered in the current frame. It can also be activated by pressing the "A" key.
78+
79+
![gradient descent button](src/resources/readme/gd.png)
80+
##### Gradient Descent Button
81+
82+
The Gradient Descent button will start a gradient descent optimization on the current protein structure.
83+
84+
![monte carlo button](src/resources/readme/mc.png)
85+
##### Monte Carlo Button
86+
87+
The Monte Carlo button will start a Monte Carlo optimization on the current protein structure.
88+
89+
![undo button](src/resources/readme/undo.png)
90+
##### Undo Button
91+
92+
The Undo button will undo the previous change that was applied to the current protein structure.
93+
94+
![redo button](src/resources/readme/redo.png)
95+
##### Redo Button
96+
97+
The Redo button will redo the previous change that was applied to the current protein structure.
98+
99+
![info button](src/resources/readme/info.png)
100+
##### Info Button
101+
102+
The Info button opens PolyFold's "About" window. This contains information about the application, authors, and license of PolyFold. It can also redirect you to PolyFold's website hosted on GitHub.

_config.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: PolyFold
2+
description: An interactive visual simulator for distance-based protein folding dynamics
3+
logo: /src/resources/logo.png
4+
theme: jekyll-theme-slate
5+
google_analytics:
6+
show_downloads: true

src/PolyFold.java

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**************************** JAVA IMPORTS ************************************/
2+
import java.io.IOException;
3+
/*************************** JAVAFX IMPORTS ***********************************/
4+
import javafx.application.Application;
5+
import javafx.fxml.FXMLLoader;
6+
import javafx.scene.*;
7+
import javafx.stage.Stage;
8+
/***************************** PF IMPORTS *************************************/
9+
import pf.controllers.Controller;
10+
11+
public class PolyFold extends Application {
12+
/* Main function for FX apps */
13+
@Override
14+
public void start(Stage stage) throws IOException {
15+
FXMLLoader loader = new FXMLLoader(
16+
getClass().getResource("/fxml/main.fxml"));
17+
Controller controller = new Controller(stage);
18+
loader.setController(controller);
19+
// Build main window
20+
Parent root = loader.load();
21+
Scene scene = new Scene(root, 1024, 768, true);
22+
scene.getStylesheets().add("style/style.css");
23+
stage.setTitle("PolyFold (Beta Version)");
24+
stage.setScene(scene);
25+
stage.show();
26+
// Min dimensions must be set after stage is shown
27+
stage.setMinWidth(stage.getWidth());
28+
stage.setMinHeight(stage.getHeight());
29+
// Show splash screen
30+
controller.showSplash();
31+
}
32+
33+
/* Ignored but necessary in FX apps */
34+
public static void main(String[] args) { launch(args); }
35+
}

src/TODO

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- Clean CSS
2+
- Clean FXML

0 commit comments

Comments
 (0)