[Debian Wiki] Update of "BOINC/ServerGuide/AutoDockApp" by dhananjay

Debian Wiki debian-www at lists.debian.org
Thu Aug 11 10:01:30 UTC 2011


Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.

The "BOINC/ServerGuide/AutoDockApp" page has been changed by dhananjay:
http://wiki.debian.org/BOINC/ServerGuide/AutoDockApp?action=diff&rev1=1&rev2=2

Comment:
Added app deployment

  
  '' THESE PAGES ARE STILL UNDER DEVELOPMENT ''
  
- == BOINCed variant of the tutorial for running AutoDock on Ubuntu ==
+ = BOINCed variant of the tutorial for running AutoDock on Debian and Ubuntu =
  
  We took a nice publicly available walk through for AutoDock and the MGLTools and modified that. There original is [[http://users.ox.ac.uk/~jesu1458/docker/|here]] which you may decide to walk through to increase your familiarity with the technology (biochemist or not). As you will see, that script was split in three sections. The first and last are left untouched. The middle one, i.e. the invocation of the tool, this is now modified for BOINC.
  
+ The scripts and files mentioned in this document can be obtained from DebianMed BOINC scripts git repo, avalable [[http://anonscm.debian.org/gitweb/?p=pkg-boinc/scripts.git|here]]
+ 
- === Step 1: Prepare the server ===
+ == Step 1: Prepare the Server ==
  
+ Follow the [[BOINC/ServerGuide]] description to create a working BOINC server web site. Edit the '''$projectroot/html/project/project.inc''' to suite your requirements. Also consider addidng some content at '''$projectroot/html/user/index.php''' about your project.
-  * follow the [[BOINC/ServerGuide]] description to create a working BOINC server web site
-  * follow the [[http://users.ox.ac.uk/~jesu1458/docker/|external online instructions]] to create the wrapper as an application
  
-   
+ == Step 2: Prepare the application ==
-  * do the following to get the autodock application as an executing tool
+  * Do any of the following to get the autodock application as an executing tool
-   * Use the packaged binaries of autodock. ( Won't take much sense to a large volunteer run project)
+   * Use the packaged binaries of autodock. ( Won't make any sense to a large volunteer run project)
    * Build statically linked binaries for each platform.
      {{{
  $ apt-get source autodocktools
  $ cd autodocktools-*/autodock
  $ ./configure LDFLAGS=-static && make
  }}}
+   * Obtain obtain pre-built i686, x86_64 ones from the repository. (Look at '''server-examples/autodock/boinc-app/''')
+  * Obtain the [[BOINC/ServerGuide/WrapperApp]] for each platform and sign them using your project keys. ( Look at [[BOINC/ServerGuide/AppDeployment#Use_the_Debian-provided_script_to_install_binaries_for_multiple_platforms]] for help )
  
- === Step 2: Prepare the biology ===
+ == Step 3: Prepare the biology ==
  
  This step was not changed with respect to the original ''docker'' script. A few file locations have been modified. This just slightly adapted version of its "upper half" is kept [[http://anonscm.debian.org/gitweb/?p=pkg-boinc/scripts.git;a=blob;f=server-examples/autodock/dock-pre.sh;hb=HEAD|here]] ([[http://anonscm.debian.org/gitweb/?p=pkg-boinc/scripts.git;a=blob;f=server-examples/autodock/dock-pre.sh;hb=HEAD|download]]).
  
@@ -42, +45 @@

    * split .mol2 ligand collection into many files
    * name each correctly
  
+ == Step 4: Application Deployment Continued ==
+ 
+ If you have followed the biology part correctly, you should have following files at your disposal
+ {{{
+ .
+ |-- dock-pre.sh
+ |-- receptor.gpf
+ |-- receptor.pdbqt
+ `-- ligands.mol2
+ 
+ 0 directories, 4 files
+ }}}
+ 
+ Run dock-pre.sh on the directory, to create grid maps of receptor and prepare ligand. The directory after will look like this.
+ {{{
+ user at host $ tree
+ 
+ |--dock-pre.sh
+ 
+ |--ligands
+ 
+ |   |-- receptor.A.map
+ 
+ |   |-- receptor.C.map
+ 
+ |   |-- receptor.d.map
+ 
+ |   |-- receptor.e.map
+ 
+ |   |-- receptor.HD.map
+ 
+ |   |-- receptor.maps.fld
+ 
+ |   |-- receptor.maps.xyz
+ 
+ |   |-- receptor.NA.map
+ 
+ |   |-- receptor.N.map
+ 
+ |   |-- receptor.OA.map
+ 
+ |   |-- receptor.pdbqt
+ 
+ |   |-- receptor.SA.map
+ 
+ |   |-- ZINC00034176.mol2
+ 
+ |   |-- ZINC00034176.pdbqt
+ 
+ |   |-- ZINC00034176_receptor.dpf
+ 
+ |   |-- ZINC00034177.mol2
+ 
+ |   |-- ZINC00034177.pdbqt
+ |   `-- MORE LIGAND FILES...............
+ | 
+ 
+ |-- ligands.mol2
+ 
+ |-- receptor.A.map
+ 
+ |-- receptor.C.map
+ 
+ |-- receptor.d.map
+ 
+ |-- receptor.e.map
+ 
+ |-- receptor.glg
+ 
+ |-- receptor.gpf
+ 
+ |-- receptor.HD.map
+ 
+ |-- receptor.maps.fld
+ 
+ |-- receptor.maps.xyz
+ 
+ |-- receptor.NA.map
+ 
+ |-- receptor.N.map
+ 
+ |-- receptor.OA.map
+ 
+ |-- receptor.pdbqt
+ 
+ |-- receptor.SA.map
+ }}} 
+ 
+ The docking needs the following files, most of them are ligand invariant, or they are same for every workunit prepared. The receptor maps, pdbqt molecule defnitions for the receptor. The ligands vary per each workunit, we can include any number of ligands to be processed in one workunit, the scripts are designed to do that. But for the tutorial purposes we will restrict one ligand per workunit.
+ 
+ So each workunit consists following files.
+ {{{
+ 1. dock-client.sh
+ 2. job.xml
+ 3. autodock_bianary
+ 4. $RECEPTOR.pdbqt
+ 5. $RECEPTOR.*.* (Map files)
+ 6. $RECEPTOR.dlg
+ 7. $RECEPTOR.dpf
+ 8. $LIGAND.pdbqt
+ 9. $LIGAND_$RECEPTOR.dpf
+ }}}
+ 
+ 1-7 are workunit invariant, ie same for every workunit. Or in BOINC sense, they are part of the app. They should staged in the app directory for update_scripts to parse, forming
+ 
+ {{{
+ apps
+    `-- wrapper
+        `-- wrapper_7.03_i686-pc-linux-gnu
+            |-- autodock4
+            |-- job.xml
+            |-- receptor.A.map
+            |-- receptor.C.map
+            |-- receptor.d.map
+            |-- receptor.e.map
+            |-- receptor.glg
+            |-- receptor.gpf
+            |-- receptor.HD.map
+            |-- receptor.maps.fld
+            |-- receptor.maps.xyz
+            |-- receptor.NA.map
+            |-- receptor.N.map
+            |-- receptor.OA.map
+            |-- receptor.SA.map
+            `-- wrapper_7.03_i686-pc-linux-gnu
+ }}}
+ 
+ and the job description file for wrapper will been
+ 
+ {{{
+ user at host $ cat <<EOF >> job.xml
+ <job_desc>
+   <task>
+     <application>dock-client.sh</application>
+     <append_cmdline_args/>
+     <stdout_filename>wu_log</stdout_filename>
+   </task>
+ </job_desc>
+ }}}
+ ''<append_cmdline_args/>'' appends any command line arguments specified in the workunit template to be appended to the actual program. Please see the source of the dock client for details.
+ 
+ Go ahead and application to boinc database.
+  * Edit '''project.xml'' and add the wrapper application
+    {{{
+      <app>
+         <name>wrapper</name>
+         <user_friendly_name>Autodock test</user_friendly_name>
+     </app>
+    }}}
+  * Run ''bin/xadd''
+  * Sign the files.
+  * Finally call bin/update_versions
+ }}}
+ 
+  
+ On the other hand, the files 8-9 vary for each wu, or in BOINC terminology, they are inputs. The will be dealt with in next section.
+ 
+ 
- === Step 3: Submit jobs to BOINC server ===
+ === Step : Submit jobs to BOINC server ===
  
  This step involves the specification of work units. This is not completely trivial, since one job involves man files that need to be available at compute time. Some are invariant to the ligand, e.g. the receptor and the grid representing its force field, some are varying with every ligand, here especially the ligand itself.
  



More information about the pkg-boinc-commits mailing list