2010 ADWOrganization of the Python programs » History » Version 2
Neil Voss, 06/09/2010 03:02 PM
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 | 2 | Neil Voss | bq. see also source:trunk/leginon/leginondata.py and source:trunk/leginon/projectdata.py |
19 | 1 | Neil Voss | |
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_ |