Results 1 to 19 of 19

Thread: Find-A-Drug (Team #2020) Info and Links

  1. #1
    Senior Member
    Join Date
    Apr 2004
    Location
    So Cal
    Posts
    268

    Find-A-Drug (Team #2020) Info and Links

    What is Find a Drug?
    From Scootenalongnow:

    Find a Drug is a private, not for profit organization that is attempting to identify from a vast database of known molecules(oxygen is a molecule), the likelihood(molecular structure is theoretical), through the use of their distributed client(Think), that certain molecules could interact with the human physiologic process to prevent, treat or cure certain diseases. More specifically, to identify candidate molecules that could have the correct structure to alter, potentiate or inhibit protein creation, utilization and/or disposal from the human body thus affecting the disease processes.
    This first step in the identification process is useful to the research community in narrowing down this vast database against known disease processes(eg. Cancer), and making available the most likely candidates for further laboratory study.


    OS Support:
    -Linux
    -Windows


    Official Find-A-Drug Websites:

    Home Page (all have the same info):
    http://www.find-a-drug.com/
    http://find-a-drug.co.uk/
    http://www.find-a-drug.org.uk/

    Support Forums:
    http://www.find-a-drug.org.uk/forums/

    Software Download:
    http://www.find-a-drug.com/download.html

    Also, the About Page, Current Projects, FAQ, and Official Stats.


    Stats Pages:
    Free-DC by Bok and FDC Team Page
    Team AnandTech by Geoffs and FDC Team Page
    Team Ninja and FDC Team Page
    XPC by Wizzard~Of~Ozz and FDC Team Page


    Stat Signatures:
    Bok's
    Berni's and Support Topic Team Name: FreeDC


    Third Party Apps:
    FADProgress by our own MerePeer and Support Topic - Linux and Windows
    FADSpy - Windows
    FADInfo - Linux
    M-Killer - Hides FAD when Task Manager is opened - Windows


    Guides:
    Running as a service including using a single server (see PCZ's post for various methods)


    Linux:
    Setup:
    cd /home/USER - or wherever you want to create your Find-A-Drug Folder
    mkdir fad
    cd fad
    wget http://www.find-a-drug.co.uk/fadv125g.tgz
    tar -xzvf fadv125g.tgz
    ./fadsetup -nick "YOUR NICK" -email "YOUR EMAIL" -team 2020 -copies 1 -connect "When online" -country "United States"
    Or just use WoO's Linux Script Generator

    Starting up FAD

    ./loader

    Monitoring:
    ./server -list - Lists current work, uploaded work and queued work
    ./fadsetup -list - Lists your current FAD setting
    ./fadsetup -help - Help manual for more configuration options


    Maximizing Points:
    Linux seems to give a pretty signifcant higher CPU rating which would boost your production for people who are into stats. Read more about it here


    Team Info:
    Team Number: 2020
    Members: Approx. 96
    Overall Rank: 3
    Daily Rank: 4


    A special thanks to Bok, PCZ, PY 222, LAURENU2 and many others whose posts I have read and been able to collect this info from.

    =====

    The goal of this topic is to try and put relating FAD info in one topic, so if anyone has any changes/additions/whatever, feel free to add to this (and mods feel free to edit this post). Hopefully it will be of some use to both new and old users alike. If this ends up being valuable I (or others) can work on creating one for every project.

    Also, let me know if I have any typos, as I wrote this at 3AM and am a little sleepy.
    Last edited by PS2pcGAMER; 06-11-2005 at 02:07 AM.

  2. #2
    Not here rsbriggs's Avatar
    Join Date
    Dec 2002
    Location
    Utah
    Posts
    1,400
    Excellent job!
    FreeDC Mercenary


  3. #3
    Keeper of the Fridge PY 222's Avatar
    Join Date
    Jul 2002
    Location
    San Jose, CA
    Posts
    2,706
    This should be stickified.

  4. #4
    Administrator Bok's Avatar
    Join Date
    Oct 2003
    Location
    Wake Forest, North Carolina, United States
    Posts
    24,601
    Blog Entries
    13
    Stickied it earlier.

    Excellent job PS2.

    Bok

  5. #5
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    On Linux, I was a bit confused when I first started FaD. When I ran ./fadsetup, it started ./loader for me (which started ./server and ./think). So for the first few days, every time I rebooted (my biggest processor is in my room, and I can't leave it on 24/7), I was starting ./fadsetup with all the options again.

    You do not need to do this!

    ./fadsetup is only for modifying the current settings of the client. ./loader starts up both ./think and ./server. ./think uses the CPU to do the calculations, and ./server manages the job queue. I believe ./think and ./server communicate with each other over a localhost connection, but I may be mistaken on that.

    So if you want to start it at boot time, you would start up ./loader in one of your bootscripts. My /etc/rc.d/init.d/fad script looks like this:

    Code:
    #!/bin/bash
    
    <pull in various files; you can usually get a skeleton from /etc/rc.d/init.d/template or similar>
    
    case "$1" in
        start)
            su yourusername -c "cd ~/fad && ./loader"
            evaluate_retval
            ;;
        stop)
            killall think server
            evaluate_retval
            ;;
        *)
            echo "Usage: $0 {start|stop}"
            ;;
    esac
    Your distro's boot scripts may require something other than evaluate_retval -- check another bootscript that you have to be sure. Figure out what it does to print out either "OK" or "FAILED" after it tries to start the program.

    (This will work for the Linux From Scratch bootscripts, at least.)

    I use "su yourusername" because I want as few things running as root as possible.

    -----

    I am still trying to find out whether there's a way to "proxy" the connections. I've seen the various posts showing how to share the FaD directory on the server and run it from the client(s), but SMB is horribly broken and NFS is only slightly better, so I don't have any way of sharing the directory between my two machines. I think I remember something about this not being possible, which is too bad. Good thing I don't have a ton of machines.

    -----

    Note also that on Windows, the Cygwin project (www.cygwin.com) has a way to start a command line executable (such as e.g. loader.exe) as a service. It's called cygrunsrv, and is used by (at least) Cygwin-X11 to manage shared memory. But you can hook up any executable to the service entry in the registry -- I used it for the Cygwin sshd on my 2K box at work for a while. Not that sshd worked (something with bad environment variables or some such setting), but the service worked well.

    I think it's also slightly easier to set up than instsrv/srvany, because I don't think there was any registry hacking. I think all I had to do was call cygrunsrv with the right options to install a service for whatever EXE. It installed itself as the service with the appropriate command line options to start the EXE.

    I haven't actually tried this with FaD, though. I should, because then I'd know for sure whether it worked.
    Last edited by bwkaz; 06-12-2005 at 09:16 AM.
    "If you fail to adjust your notion of fairness to the reality of the Universe, you will probably not be happy."

    -- Originally posted by Paratima

  6. #6
    dismembered Scoofy12's Avatar
    Join Date
    Apr 2002
    Location
    Between keyboard and chair
    Posts
    608
    a couple of comments on this:

    first, you don't need to use & to start ./loader in the background (i notice you used ./think directly however). ./loader forks itself off into the background and then returns.

    also on SMB/NFS, the sharing does work (you can basically share any number of clients in one directory), but I found that when I used NFS sharing my output was considerably lower than giving each client a local directory, presumably due to delay on file accesses. note that this was an NFS share on a large heavily-loaded server with a few LAN hops between the crunchers and the server, so YMMV.
    C-x C-c

  7. #7
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Originally posted by Scoofy12
    first, you don't need to use & to start ./loader in the background (i notice you used ./think directly however).
    Yeah, that was a typo. I was going from memory; it's fixed now. So's the issue with the & not being required.

    Thanks!

    Then I realized I didn't install it directly into my home directory, but rather into ~/fad, so the cd command has also been changed.

    I found that when I used NFS sharing my output was considerably lower than giving each client a local directory, presumably due to delay on file accesses.
    Hmm. So you just run them each locally, then, or did you set up samba?
    "If you fail to adjust your notion of fairness to the reality of the Universe, you will probably not be happy."

    -- Originally posted by Paratima

  8. #8
    dismembered Scoofy12's Avatar
    Join Date
    Apr 2002
    Location
    Between keyboard and chair
    Posts
    608
    Originally posted by bwkaz
    Hmm. So you just run them each locally, then, or did you set up samba?
    Originally I used the NFS setup that's already set up by the university. but then i switched to just running them locally because of the speed increase.
    C-x C-c

  9. #9
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    OK, thanks. That's what I'm doing on both these machines too.
    "If you fail to adjust your notion of fairness to the reality of the Universe, you will probably not be happy."

    -- Originally posted by Paratima

  10. #10
    Senior Member
    Join Date
    Apr 2004
    Location
    So Cal
    Posts
    268
    Erm, I can't edit my post...something about a forum time limit for editing posts.

    Would an admin edit the quotation and remove the ./loader part for the setup. And then add some place under the Linux section on how to start FAD, use "./loader". Also, something about reading through this topic for more info about starting FAD as a daemon on Linux computers.

    Thanks.

    Good info Scoofy12 and bwkaz.

  11. #11
    Administrator Bok's Avatar
    Join Date
    Oct 2003
    Location
    Wake Forest, North Carolina, United States
    Posts
    24,601
    Blog Entries
    13
    Done the first parts...

    Bok

  12. #12
    Senior Member
    Join Date
    Apr 2004
    Location
    So Cal
    Posts
    268
    Originally posted by Bok
    Done the first parts...

    Bok

  13. #13
    Senior Member
    Join Date
    Apr 2004
    Location
    So Cal
    Posts
    268
    Another 3rd Party App:

    FADView

  14. #14
    Not here rsbriggs's Avatar
    Join Date
    Dec 2002
    Location
    Utah
    Posts
    1,400
    I've never had much luck getting that one to work...
    FreeDC Mercenary


  15. #15
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Originally posted by redukt
    Code:
    # Source function library.
    if [ -f /etc/init.d/functions ] ; then
      . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
      . /etc/rc.d/init.d/functions
    else
      exit 0
    fi
    Heh -- my script actually sources a pair of files here. First, it sources /etc/sysconfig/rc, which sets an rc_functions variable, then it sources $rc_functions to pull in the function stuff.

    Then, I can move the functions file by editing one file instead of all my scripts. Plus I don't need to test which file exists.

    But I wanted what I posted here to be generic enough for most distros (excluding Slackware, because of its BSD init), so I just put a generic comment there. (I use LFS and its bootscripts, so I know how tedious it can sometimes be to adapt another distro's bootscript to your own. Not especially hard, mind you, just tedious.)

    Code:
    start() {
            <stuff>
    }
    Was there a reason these were in functions? I guess I don't really see the point, myself. Unless this is to make it look like the rest of your bootscripts -- but in that case, you're getting distro specfiic again.

    Also, you shouldn't have to "exit $?" at the end. All scripts will normally exit with the same status as the last pipeline they executed. And case will exit with the same status as the last command that it executed (which is the function). This line is therefore a little redundant.
    "If you fail to adjust your notion of fairness to the reality of the Universe, you will probably not be happy."

    -- Originally posted by Paratima

  16. #16
    Stats Whore redukt's Avatar
    Join Date
    Sep 2004
    Location
    VA, United States
    Posts
    149
    Meh. I'm a n00b. Yours wasn't working so I tweaked mine until it ran sorry if it was counter-productive. That post has been deleted, so you can do likewise to your corrective post if you want. Sorry
    Last edited by redukt; 06-26-2005 at 07:28 PM.
    The whole world, de-acidified and filtered

    http://redukt.org

  17. #17
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    ....

    I'm sorry, that came off completely wrong.

    I didn't mean to say it was counter-productive, just that I had tried to stay distro-neutral. Your script is great for most Red Hat derived distros, and that's probably what a LOT of people are using.

    I don't suppose there's any way for an admin to un-delete a post, is there? Otherwise, you could post it again. I do think it's worth having, as long as people know that it may not work out-of-the-box if they don't have something based on Red Hat. (Although mine won't work out-of-the-box at all, you have to adapt a few things... hmm.)
    "If you fail to adjust your notion of fairness to the reality of the Universe, you will probably not be happy."

    -- Originally posted by Paratima

  18. #18
    Stats Whore redukt's Avatar
    Join Date
    Sep 2004
    Location
    VA, United States
    Posts
    149
    Reposted. Works for RedHat / Fedora, and Probaby Mandrake. Possibly a few other distros.

    Be sure to 'chmod 755 fad', assuming you name this file 'fad'.

    Code:
    #!/bin/sh
    #
    # description: Starts and stops the Find-a-Drug Program
    # chkconfig: 345 99 25
    # 
    
    # Source function library.
    if [ -f /etc/init.d/functions ] ; then
      . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
      . /etc/rc.d/init.d/functions
    else
      exit 0
    fi
    
    # Avoid using root's TMPDIR
    unset TMPDIR
    
    RETVAL=0
    
    
    start() {
            KIND="FAD"
    	echo -n $"Starting $KIND service. "
    	su redukt -c "cd /home/find-a-drug/ && ./loader"
    	RETVAL=$?
    	echo
    	[ $RETVAL -eq 0 ] || RETVAL=1
    	return $RETVAL
    }	
    
    stop() {
            KIND="FAD"
    	echo -n $"Shutting down $KIND service. "
    	killall server think
    	RETVAL=$?
    	echo
    	[ $RETVAL -eq 0 ]
    	return $RETVAL
    }	
    
    restart() {
    	stop
    	start
    }	
    
    case "$1" in
      start)
      	start
    	;;
      stop)
      	stop
    	;;
      restart)
      	restart
    	;;
      *)
    	echo $"Usage: $0 {start|stop|restart}"
    	exit 1
    esac
    
    exit $?
    Make sure the script (in this case 'fad') is in /etc/init.d/

    Run '/sbin/chkconfig fad --add'

    Reboot, and you should have FAD running as normal (except automatically) on bootup!
    The whole world, de-acidified and filtered

    http://redukt.org

  19. #19
    Not here rsbriggs's Avatar
    Join Date
    Dec 2002
    Location
    Utah
    Posts
    1,400
    And you probably want to change that "su redukt" to whatever user you want to run this as.....
    FreeDC Mercenary


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •