Project

General

Profile

2010 Appion Developer Workshop » History » Version 4

Neil Voss, 06/08/2010 10:06 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 2 Neil Voss
h2. Add an output directory to hierarchical classification
42 1 Neil Voss
43 2 Neil Voss
* You cannot change the directory if the filesystem is full.
44 1 Neil Voss
45
______
46
47
h2. Organization of the Python programs
48
49
We have two major folders in the appion folder:
50
51
* appionlib: contains libraries, a collection of common functions that are needed by more than one python program, e.g., ssnrResolution, averageStack, and lowPassFilter.
52
* bin: contains the programs that take command line input, e.g., makestack2.py, templateCorrelator.py, maxlikeAlignment.py
53
54
Other useful directories:
55
56
* pyami: a collection of common functions to both appion and leginon, save MRC file, save SPIDER file, etc.
57
58
h3. Most important python files:
59
60 3 Neil Voss
h4. Database mapping file
61
62 1 Neil Voss
* source:trunk/appion/appionlib/appiondata.py: describes how the database is put together, if you need to add a new column go here
63
64 3 Neil Voss
.bq see also source:trunk/leginon/leginondata.py and source:trunk/leginon/projectdata.py
65 1 Neil Voss
66 3 Neil Voss
h4. Appion Script hierarchy
67 1 Neil Voss
68 4 Neil Voss
*basicScript*
69 3 Neil Voss
* source:trunk/appion/appionlib/basicScript.py
70 4 Neil Voss
contains all the base functions:
71
* write a log file
72
* 
73
74 3 Neil Voss
** source:trunk/appion/appionlib/appionScript.py
75
*** source:trunk/appion/appionlib/appionLoop2.py
76
**** source:trunk/appion/appionlib/filterLoop.py
77
***** source:trunk/appion/appionlib/particleLoop2.py
78 1 Neil Voss
______
79
80
h2. Organization of the PHP programs
81
82
83
84
______
85
86
h2. Create a program from scratch
87
88
* Problem statement: I have program X that I want to put into the pipeline:
89
** 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
90
** Bsoft program, nothing really any good
91
92
93
______
94
95
h2. Create a program, database structure, and report pages from scratch (if time)
96
97
* 3D MSA?