| 1 | #Please insert up references in the next lines (line starts with keyword UP) |
|---|
| 2 | UP arb.hlp |
|---|
| 3 | UP glossary.hlp |
|---|
| 4 | |
|---|
| 5 | #Please insert subtopic references (line starts with keyword SUB) |
|---|
| 6 | |
|---|
| 7 | SUB probeadmin.hlp |
|---|
| 8 | SUB probematch.hlp |
|---|
| 9 | SUB probedesign.hlp |
|---|
| 10 | SUB multiprobe.hlp |
|---|
| 11 | |
|---|
| 12 | # Hypertext links in helptext can be added like this: LINK{ref.hlp|http://add|bla@domain} |
|---|
| 13 | |
|---|
| 14 | #************* Title of helpfile !! and start of real helpfile strunk ******** |
|---|
| 15 | TITLE PT_SERVER: What Why and How |
|---|
| 16 | |
|---|
| 17 | OCCURRENCE <ARB_NT/ETC/probe*> |
|---|
| 18 | <ARB_EDIT4/Edit/aligners> |
|---|
| 19 | |
|---|
| 20 | DESCRIPTION Probe design, probe matching, and searching the nearest relatives require a |
|---|
| 21 | lot of database searching. |
|---|
| 22 | Simply scanning the whole database for a specific target |
|---|
| 23 | takes several tens of seconds. Probe design and searching for |
|---|
| 24 | nearest relatives start thousands of search |
|---|
| 25 | operations. Waiting several weeks to get a result from the computer |
|---|
| 26 | makes every user hate the program, so better algorithms have |
|---|
| 27 | to be developed. |
|---|
| 28 | |
|---|
| 29 | The basic ARB SEARCH ALGORITHM: |
|---|
| 30 | |
|---|
| 31 | - When any (calling) program wants to scan a database, it does not do the job itself |
|---|
| 32 | but calls a special SEARCH_PATTERNS_IN_A_BIG_DATABASE_PROGRAM. |
|---|
| 33 | |
|---|
| 34 | We named this program PT_SERVER ('Prefix tree server' or |
|---|
| 35 | synonymously 'Positional tree server'). The PT_SERVER searches for patterns |
|---|
| 36 | in special database files and sends all matches back to the calling program. |
|---|
| 37 | |
|---|
| 38 | - Different databases have different PT_SERVERs. |
|---|
| 39 | You must choose a PT_SERVER to match the database you wish to search. |
|---|
| 40 | The file $ARBHOME/lib/arb_tcp.dat defines all possible choices. |
|---|
| 41 | |
|---|
| 42 | - If there is no PT_SERVER running, one is automatically started. |
|---|
| 43 | A PT_SERVER does not scan the database of the calling program, but the database in $ARBHOME/lib/pts/*.arb. |
|---|
| 44 | |
|---|
| 45 | That means: |
|---|
| 46 | |
|---|
| 47 | If you have just entered a new sequence this sequence |
|---|
| 48 | will not be found by the the nearest-relative search. |
|---|
| 49 | |
|---|
| 50 | This is normally very useful, as you only want to use old |
|---|
| 51 | sequences as a reference in the aligning process. |
|---|
| 52 | |
|---|
| 53 | For generating probes it isn't useful, because new sequences have to |
|---|
| 54 | be added to the PT_SERVER before designing or matching probes. |
|---|
| 55 | Remember: By adding 1 new sequence to the database, any previously validated |
|---|
| 56 | probe may become invalid. |
|---|
| 57 | |
|---|
| 58 | Re-build your PT-server frequently and re-evaluate any probes |
|---|
| 59 | you've made before. |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | Creating a new PT_SERVER template: |
|---|
| 63 | |
|---|
| 64 | - Edit the file $ARBHOME/lib/arb_tcp.dat using <ARB_NTREE/Probes/PT_SERVER Admin/CREATE TEMPLATE> |
|---|
| 65 | |
|---|
| 66 | Note: Make a copy of your changes because a new ARB installation may reinstall and overwrite your changed $ARBHOME/lib/arb_tcp.dat. |
|---|
| 67 | |
|---|
| 68 | - Restart arb |
|---|
| 69 | |
|---|
| 70 | Create a database for an existing template: |
|---|
| 71 | |
|---|
| 72 | - Start ARB with the database you want to send to the PT_SERVER. |
|---|
| 73 | - Open the PT_SERVER ADMIN Window <ARB_NTREE/Probes/PT_SERVER Admin>. |
|---|
| 74 | - Select a template |
|---|
| 75 | - Press <BUILD SERVER>: ARB will save the DB into $ARBHOME/lib/pts/name.arb |
|---|
| 76 | - Wait |
|---|
| 77 | |
|---|
| 78 | ARB generates an index file $ARBHOME/lib/pts/name.arb.pt |
|---|
| 79 | |
|---|
| 80 | If any '*.arb' file in $ARBHOME/lib/pts is newer than the |
|---|
| 81 | corresponding '*.arb.pt' ( == prefix tree) file the |
|---|
| 82 | '*.arb.pt' file will be updated as soon as the |
|---|
| 83 | PT_SERVER is started. |
|---|
| 84 | |
|---|
| 85 | Updating a server: |
|---|
| 86 | |
|---|
| 87 | see 'Create a database for an existing template'. |
|---|
| 88 | |
|---|
| 89 | NOTES Once started a PT_SERVER never stops. The only ways to stop a |
|---|
| 90 | PT_SERVER are: |
|---|
| 91 | |
|---|
| 92 | - SOFT KILL (everybody) (only idle PT_SERVERS): |
|---|
| 93 | |
|---|
| 94 | - <ARB_NTREE/Probes/PT_SERVER Admin/KILL SERVER> |
|---|
| 95 | |
|---|
| 96 | - HARD KILL (supervisor) (all servers): |
|---|
| 97 | |
|---|
| 98 | - become superuser |
|---|
| 99 | - enter 'ps -auxww |grep pt_server' at any shell |
|---|
| 100 | - enter 'kill -9 PID' |
|---|
| 101 | ( to get help enter 'man kill' or 'man ps' ) |
|---|
| 102 | |
|---|
| 103 | |
|---|
| 104 | WHY DOESN'T ARB USE BLAST? |
|---|
| 105 | |
|---|
| 106 | The basic idea of blast is to create a finite automaton for all |
|---|
| 107 | search patterns and do the database search only once. |
|---|
| 108 | If someone wants to start a fuzzy search ( allowing mismatches) |
|---|
| 109 | the size of this automata increases exponentially. |
|---|
| 110 | |
|---|
| 111 | For example: |
|---|
| 112 | Three mismatches in a 20-base pattern would yield |
|---|
| 113 | about 100,000 states in the automaton per search |
|---|
| 114 | pattern. If probe design creates 1000 search |
|---|
| 115 | patterns, and every state needs 10 bytes of |
|---|
| 116 | computer memory, the search operation will require |
|---|
| 117 | 1 gigabyte RAM. |
|---|
| 118 | |
|---|
| 119 | |
|---|
| 120 | You will need a lot of swap space to run multiple PT_SERVER. |
|---|
| 121 | |
|---|
| 122 | WARNINGS Do not modify any databases in $ARBHOME/lib/pts/ except |
|---|
| 123 | by the <PT_SERVER Admin> tools. |
|---|
| 124 | The reason is to keep the write protections of those files |
|---|
| 125 | consistent. |
|---|
| 126 | |
|---|
| 127 | BUGS Sometimes some bugs |
|---|