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? |