by Jeff Gilchrist
It allows you to see your current progress,
provides benchmarking information about your machine,
gives time estimates for completion and allows you to start and stop
the client with several parameters. It can
even run the DF client hidden. dfGUI uses almost no CPU resources so it
will not slow down your DF production (but
you can close it and the DF client will continue to run). dfGUI is
currently available in English, Dutch, German,
Italian, and Norwegian.
This software is freeware and can be freely
distributed. Use at your own risk. I take no responsibility
for anything that happens to your equipment. Source code for this
program is also available. If you modify this
software I would appreciate you letting me know what feature(s) you
have added so that I may include them in the
official distribution. If you are going to use any of this source code
in your own program, please credit me.
Bryan Kadzban (http://kadzban.is-a-geek.net/dfGUI-linux/)
- Porting dfGUI to Linux
Gras <Gras.G @ gmx
- Translating dfGUI into German
<federico.miniussi @ email
- Translating dfGUI into Italian
- Translating dfGUI into Dutch
- Translating dfGUI into Norwegian
- Translating dfGUI into Hungarian
- Ideas for benchmarking and code for CPU/OS detection
(phaserlogic [@] hotmail.com)
- Code cleanup of time display
- Added CreateProcess code to launch DF client hidden without need for
any external programs
- Lots of testing to help track down
benchmarking & uploading bugs
- Determined method to autoclose DOS box when DF Client finishes in
- Testing the AutoStop on Battery feature
Extract the ZIP file to a directory on your
machine. This can also be your Distributed Folding
client directory (where your foldtrajlite.exe file
resides). Start dfGUI. If your DF client is located in another
directory you should click on the "DF Client
Directory" folder button
and select the foldtrajlite.exe program in the correct directory. dfGUI
should now be configured to look in the correct spot.
Note: If you are using
Win95. To automatically
close the DF Client
DOS window when you stop the client, you need to configure the foldit.bat file to do
so. Open Windows Explorer, right
click on the foldit.bat file and select "properties". Choose the
"program" tab. Check
on Exit" and then click on "OK".
The DF Client DOS box will now close automatically when you stop the
client. People running NT/2k/XP do not have
to worry about this.
The time estimates and benchmark information will not appear until
three updates of progress.txt are made by the
DF client. This is to ensure that inaccurate initial information is not
given. When using the DF client in Service
mode, the progress.txt file is only updated after 5
structures and may take a few minutes before any benchmark information
is given. For the benchmark data to be very
accurate, you should let dfGUI run (with the DF client active) for at
least an hour.
The OS/CPU information shows whatever the client can find in the
Windows Registry which differs from installation
to installation. Win2k/XP usually has MHz information and Win98
sometimes does. Any unknown information will show
up as ???.
You can enter text in the "Title Bar" edit box which
will display your text in the dfGUI title bar and on the system tray
when you mouse-over the icon. This is useful
if you have a multi-CPU or network machine and are running multiple
copies of dfGUI on the same machine to easily
distinguish between them. See the Config tab to set this field.
Note: If you are
using the DF client in Service
mode, you can
use dfGUI to start/stop the client, configure the Service options, and
monitor its progress. To enable this ability,
you need to check the "Client Installed as
checkbox in dfGUI. The components and options not available to the
Service client will be disabled in the GUI.
You can install the DF Client as a service by clicking on the "Install Service" button on the
Config tab. If you have a
mutiple processor machine, you can add up to 8 service
versions of the DF client by changing the "Service
value for each of your copies of the DF Client and clicking on "Install Service".
The dfGUI program uses tray icons and when minimized it will hide in
the tray. Two colours are used to show the
status of the distributed folding client. A green icon in the tray
means that the DF client is running. A red icon in the tray
DF client is NOT running.
A few keyboard shortcuts are available in dfGUI:
F5 = Refresh dfGUI
F6 = Start DF
F7 = Stop DF Client
F8 = Exit dfGUI
The "Progress" tab
is the main display for dfGUI which
gives the user information such as the current generation the DF client
is working on, its progress through that
generation, the best energy value for the current generation and the
best it has seen so far. It also shows the
size of the protein that is currently being worked on and the estimated
time to completed the generation.
The "Advanced" tab
gives the user more advanced
such as various timings, benchmark and system information.
The "Points" tab
gives the user information related
to points such as the amount for the current and previous generation,
the # of points currently buffered, the #
of sets completed, and the points per set. Looking at the # of sets
complete as reported by the DF client and the
current generation the client is working on, dfGUI estimates the total
# of points that specific client has generated
(assuming that user did not have to wipe the filelist.txt and start
over at any time). A point calculator is also
provided to display the # of points the user would receive for the
specified generation. The "# Structures
per Generation" box is provided in case the number of structures in a
generation changes at some point in
the future. Right now, the point scoring is determined by this formula:
50 * sqrt(generation_number)
= points where the value is rounded down to
Generation Stats Tab
The "Generation Stats"
tab keeps track of the best
energy that was seen for each generation. Use the scroll bar to see the
information for all 250 generations. When
a set of 250 generations is complete, the GUI will not reset the data
for the set and will start updating it again
from generation 1. If you would like to clear the information, you will
have to click on the "Reset" button located in the top right of the tab.
Energy Graph Tab
The "Energy Graph"
tab gives the user a visual representation
of the best energy vs generation. The default settings have the graph
plot 50 points per screen. Once more than
50 generations have been calculated, use the "Next"
and "Prev" buttons
to display the other pages of the
graph. If you would like to see all of the points plotted on on a
single screen, click on the "Fit Graph on 1
page" check box. It is also possible to save
the current graph view to a bitmap graphic file. Simply click on the "Save" button and a file genEnergyGraph???.bmp
be created for you in your dfGUI directory (where ??? can be a value of
000 or higher).
Time Graph Tab
The "Time Graph" tab
gives the user a visual representation
of the generation completion time vs generation (in minutes). The
default settings have the graph plot 50 points
per screen. Once more than 50 generations have been calculated, use the
"Next" and "Prev" buttons to display the
other pages of the graph. If you would like to see all of the points
plotted on on a single screen, click on the
"Fit Graph on 1 page"
check box. It is also possible
to save an image of the current graph view to a bitmap graphic file.
Simply click on the "Save" button and a file genTimeGraph???.bmp
will be created for you in your dfGUI
directory (where ??? can be a value of 000 or higher).
Graph Config Tab
The "Graph Config"
tab allows the user to select various
configuration options related to the Energy and Time graphs. These
settings will be saved in your dfGUI.ini.
The first time you load dfGUI, the configuration tab will be shown by
default. To show the configuration tab any
time, click on the "Config" tab at the top of the
The first time dfGUI is run, the text will appear in English. To select
another language, click on the drop down
menu beside "Language"
in the Config tab. Click on
the langauge you wish to use. You should immediately see all the text
in dfGUI change to that language. To save
that choice, click on "Save Config". In the future
when you run dfGUI, the language you chose and saved will automatically
be displayed on startup.
The dfGUI language files can be found in the
dfGUI directory and end with the extension .lng.
They are ASCII text files that can be modified by the user if you wish
to display alternate text in the GUI instead
of the default. All of the translation work was done by volunteers and
since I do not understand the languages
they have been translated into, I cannot verify the quality of the
work. If there are any problems with the translations,
please let me know. New translations of dfGUI can be easily done
without needing to recompile the program. Make
a copy of the dfGUIeng.lng file and modify the contents
(change the second line of the 2 line text pairs) into the language of
your choice. Then add the name of the file
you just created along with the language name to the dfGUI.lng file. Don't
forget to increase the counter
at the top of the file by one to include the new language
file you just added. dfGUI should be able to read and use your new
translation. If you do translate dfGUI into
another language, please send me your new .lng file so I can include it
in future releases of dfGUI.
Saving your Settings
When you exit dfGUI, it will write your current settings to a file dfGUI.ini so they will
be active the next time you
start. You can also click on the "Save
Config" button to save them immediately. All
the options in the Config tab are
saved in dfGUI.ini. If you decide to modify your dfGUI.ini by hand and make a mistake so
properly, just delete the .ini file and reload dfGUI.
DF Client Starting/Stopping
To start the DF client if it isn't already running, click on the "Start Client" button. This will
read your foldit.bat
file and modify it with the client options you have selected. dfGUI
will then launch the DF client in either regular
or hidden mode using the newly created batch file which means that the
auto-update feature of the DF client will
function as normal. If you are running in Service mode, dfGUI will
modify your service.cfg file with your selection
options then start the Service. If you want to stop the DF client, just
click on the "Stop
Client" button. This make take a few moments
the DF client will finish up the
current structure it is working on and then try to upload the results
(if you have not disabled networking and
not running as a service).
To start the DF client hidden, click on Config tab and then on the "Hidden" radio button in the "DF Client" box
then click on "Start Client". If the DF Client is
already running just click on the same "Hidden" button
and the DF Client window should no longer be visible. To make it
unhide, click on the "Visible" radio button. Note: This will not work if
the DF Client is running as a Windows service. If you
minimize dfGUI, only its tray icon will be there. If you don't want the
dfGUI tray icon to appear, close dfGUI
and the DF client will keep running. You can load dfGUI again at any
point to see its current progress. If you
want the dfGUI client to start up in the tray without showing its main
window and having an entry in the task bar,
click on the "Start dfGUI in Tray" check box.
dfGUI gives you the ability to hide and unhide the DF Client window.
This is controlled from the Config tab in
the "DF Client" box
with the "Visible"
radio buttons. If you start the DF Client using dfGUI, it should always
be able to hide and unhide the DF Client
window. If you start the client in some other way (ie: by running foldit.bat from a
command prompt or creating a
shortcut to the foldit.bat file), dfGUI may have problems finding the
window to hide/unhide. dfGUI will look at all your running
applications for a window with the words "foldit"
or "FOLDTR" in the
title. If found, it will attempt
to hide/unhide that window. If you launch the DF client using a
shortcut and want dfGUI to be able to hide/unhide
the client your shortcut name should include the word "foldit"
somewhere in the name.
If you would like the DF client to start automatically when you load
dfGUI, click on the "AutoStart DF Client" checkbox. The next time you load dfGUI it
start the DF client if it is not already active.
If you would like the DF client to stop automatically when you exit
dfGUI, click on the "AutoStop
on Close" checkbox. This may also help the DF
shutdown more cleanly if you
shutdown Windows while the client is running. You can also cause dfGUI
to close on the next refresh by created
a file called dfGUI.stop in the dfGUI directory. If
you also want dfGUI to stop the DF client when it closes due to the
.stop file, make sure you have the checkbox
listed above checked.
Auto Stop on Battery
If you are using a laptop computer and would like the DF client to stop
automatically when you go on battery power
(ie: to conserve energy), click on the "AutoStop
checkbox. When dfGUI detects you are on battery power it will shut down
the DF client for you automatically. When
it detects AC power again, it will automatically restart the DF Client
Restart Inactive Client
To re-start an inactive DF client, click on the "Restart Inactive Client after"
checkbox. Fill in the amount of time (in
minutes) of inactivity before dfGUI restarts the client
(1 to 99). dfGUI looks at the last update time of the progress.txt file to
determine if the DF Client has been
inactive (or crashed). Depending on your machine speed, how
much CPU time is being given to the DF Client, and what your progress
update settings are may affect how often
the progress.txt file is written to and you may have
to adjust the time accordingly.
Stop Client and GUI after X Hours
If you want the DF Client to stop running after a certain number of
hours, click on the "Stop
Client and GUI after" checkbox. Fill in the
amount of time (in
hours) you want until
the DF Client will be shut down and the GUI exits (1 to 99). When this
feature is activated, a countdown timer
will appear in the benchmark area "Stop Client
When this counter reaches 0, the DF Client will be stopped and dfGUI
will exit automatically.
If the DF client is not running and you have buffered results you would
like to upload, just click on the "Upload" button. If the DF client is currently
running in No-Network mode
and you want to manually upload the results, click on the "Upload" button. dfGUI will stop the
the results, and restart the client again with the settings
you have configured. This will also work if running as a service.
Logging GUI Status
If you would like to log the status of the GUI (ie: benchmark &
stats information) to the dfGUI.log
file, click on the "Log
Status every" checkbox. Fill in the amount of
minutes) you want the log file to be written each time
(1 to 999). A date and time stamp is provided each time the log file is
written. The log file will be located in
your ecc2GUI directory.
Recovering the DF Client
If the DF Client crashes it will sometimes leave the foldtrajlite.lock file
behind and not allow the client to
start again properly. You may run the client in hidden mode and
it doesn't seem to startup and do anything because it is waiting for
user input. Without having to edit your foldit.bat
file or change your dfGUI settings you can now click the "Recover" button and it will check
for and delete
the lock file and then launch the DF Client with the original
foldit.bat settings in visible mode so you can trouble-shoot the
Use Windows Text Colour in GUI
If you are using a Windows colour scheme where it is difficult to see
the data in dfGUI, you can click on the "Use
Windows Text Colour in GUI" checkbox. This
will change the colour of
all the data boxes to be the setting you have chosen for Windows Text
in your colour scheme.
If you would like to report any bugs or
contact me related to the software you can reach me via
I have received a number of requests for
features and I will try to get to them when time permits.
The current list is: