2010 Appion Developer Workshop » History » Version 1
  Neil Voss, 06/08/2010 09:10 AM 
  
| 1 | 1 | Neil Voss | h1. 2010 Appion Developer Workshop | 
|---|---|---|---|
| 2 | |||
| 3 | h2. Setting up a development enviroment | ||
| 4 | |||
| 5 | h4. Subversion | ||
| 6 | |||
| 7 | <pre> | ||
| 8 | svn checkout http://emg.nysbc.org/svn/myami/trunk/ myami/ | ||
| 9 | </pre> | ||
| 10 | |||
| 11 | h4. Sinedon.cfg | ||
| 12 | |||
| 13 | At AMI, you do not normally need a sinedon.cfg file, but if you have your own testing environment you will need one. | ||
| 14 | |||
| 15 | h4. Web page | ||
| 16 | |||
| 17 | At AMI, put myamiweb into your ami_html directory and it will be available on both cronus3 and fly as http://cronus3.scripps.edu/~username/myamiweb/ | ||
| 18 | |||
| 19 | You will need to run Eric's web setup wizard to get it working: http://cronus3.scripps.edu/~username/myamiweb/setup/ | ||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | ______ | ||
| 24 | |||
| 25 | h2. Add a new option to a program | ||
| 26 | |||
| 27 | * Problem statement: Add student's T distribution to maxlike alignment, see #552 | ||
| 28 | * Goal: allow user to use the @-student@ option for maxlike alignment using a radio button | ||
| 29 | * Steps to implement: | ||
| 30 | *# add feature to python code | ||
| 31 | *## add command line input | ||
| 32 | *## check flag to add to xmipp program | ||
| 33 | *## insert value into database | ||
| 34 | *# add feature to web page | ||
| 35 | *## add radio button to web page | ||
| 36 | *## add help message | ||
| 37 | *## receive variable from $_POST | ||
| 38 | *## check if value is valid | ||
| 39 | *## add flag to command line | ||
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | ______ | ||
| 44 | |||
| 45 | h2. Organization of the Python programs | ||
| 46 | |||
| 47 | We have two major folders in the appion folder: | ||
| 48 | |||
| 49 | * appionlib: contains libraries, a collection of common functions that are needed by more than one python program, e.g., ssnrResolution, averageStack, and lowPassFilter. | ||
| 50 | * bin: contains the programs that take command line input, e.g., makestack2.py, templateCorrelator.py, maxlikeAlignment.py | ||
| 51 | |||
| 52 | Other useful directories: | ||
| 53 | |||
| 54 | * pyami: a collection of common functions to both appion and leginon, save MRC file, save SPIDER file, etc. | ||
| 55 | |||
| 56 | h3. Most important python files: | ||
| 57 | |||
| 58 | * source:trunk/appion/appionlib/appiondata.py: describes how the database is put together, if you need to add a new column go here | ||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | ______ | ||
| 64 | |||
| 65 | h2. Organization of the PHP programs | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | ______ | ||
| 70 | |||
| 71 | h2. Create a program from scratch | ||
| 72 | |||
| 73 | * Problem statement: I have program X that I want to put into the pipeline: | ||
| 74 | ** EMAN 2d alignment, "refine2d.py":http://blake.bcm.tmc.edu/eman/eman1/progs/refine2d.py.html or "classalign2":http://blake.bcm.tmc.edu/eman/eman1/progs/classalign2.html | ||
| 75 | ** Bsoft program, nothing really any good | ||
| 76 | |||
| 77 | |||
| 78 | ______ | ||
| 79 | |||
| 80 | h2. Create a program, database structure, and report pages from scratch (if time) | ||
| 81 | |||
| 82 | * 3D MSA? |