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