Project

General

Profile

2010 ADWOrganization of the Python programs » History » Version 1

Neil Voss, 06/09/2010 08:19 AM

1 1 Neil Voss
h1. Organization of the Python programs
2
3
We have two major folders in the appion folder:
4
5
* appionlib: contains libraries, a collection of common functions that are needed by more than one python program, e.g., ssnrResolution, averageStack, and lowPassFilter.
6
* bin: contains the programs that take command line input, e.g., makestack2.py, templateCorrelator.py, maxlikeAlignment.py
7
8
Other useful directories:
9
10
* pyami: a collection of common functions to both appion and leginon, save MRC file, save SPIDER file, etc.
11
12
h2. Most important python files:
13
14
h3. Database mapping file
15
16
* source:trunk/appion/appionlib/appiondata.py: describes how the database is put together, if you need to add a new column go here
17
18
.bq see also source:trunk/leginon/leginondata.py and source:trunk/leginon/projectdata.py
19
20
h3. Appion Script hierarchy
21
22
h4. basicScript
23
24
* source:trunk/appion/appionlib/basicScript.py
25
* contains all the base functions: @setupParserOptions@, @checkConflicts@, @start@
26
* used only for basic scripts outside of the pipeline, e.g., _source:trunk/appion/bin/makeSnapshots.py_, _source:trunk/appion/bin/ApDogPicker.py_
27
* write a log file
28
* running statistics
29
30
h4. appionScript
31
32
* source:trunk/appion/appionlib/appionScript.py
33
* Most common function class used 68 programs in appion, e.g., _source:trunk/appion/bin/uploadStack.py_, _source:trunk/appion/bin/subStack.py_, and _source:trunk/appion/bin/maxlikeAlignment.py_
34
* based on basicScript, but 
35
** adds database connection to log information about run
36
** adds default commandline options, such as @--runname@, @--commit/--no-commit@, @--rundir@, @--projectid@, and @--description@ 
37
38
h4. appionLoop2
39
40
* source:trunk/appion/appionlib/appionLoop2.py
41
* based on appionScript but loops over all images in a session
42
** adds default commandline options, such as @--sessionname@, @--preset@, @--limit@, @--continue@, @--shuffle@, and @--no-rejects@
43
** requires @--runname@ to be defined
44
* ideal when the same function needs to be run on all images, e.g. ACE
45
* used in 15 programs, e.g., _source:trunk/appion/bin/pyace.py_, _source:trunk/appion/bin/pyace2.py_, and _source:trunk/appion/bin/makestack2.py_
46
47
h4. filterLoop
48
49
* source:trunk/appion/appionlib/filterLoop.py
50
* based on appionLoop2 but add low pass, high pass, plane regression and other filters
51
* used in only two functions, manualmask.py and _source:trunk/appion/bin/jpgmaker.py_ (a program to make jpeg cache images of the session)
52
53
h4. particleLoop2
54
55
* source:trunk/appion/appionlib/particleLoop2.py
56
* based on filterLoop but adds particle picking capabilies
57
** creates the jpeg with the circles
58
** uploads particle picks to the database
59
* used in 7 different particle pickers, e.g., _source:trunk/appion/bin/manualpicker.py_, _source:trunk/appion/bin/tiltAutoAligner.py_ and _source:trunk/appion/bin/templateCorrelator.py_