[387] | 1 | #Please insert up references in the next lines (line starts with keyword UP) |
---|
[10597] | 2 | UP arb.hlp |
---|
| 3 | UP glossary.hlp |
---|
[387] | 4 | |
---|
| 5 | #Please insert subtopic references (line starts with keyword SUB) |
---|
| 6 | |
---|
[10597] | 7 | SUB probeadmin.hlp |
---|
| 8 | SUB probematch.hlp |
---|
| 9 | SUB probedesign.hlp |
---|
| 10 | SUB multiprobe.hlp |
---|
[387] | 11 | |
---|
[2986] | 12 | # Hypertext links in helptext can be added like this: LINK{ref.hlp|http://add|bla@domain} |
---|
[387] | 13 | |
---|
| 14 | #************* Title of helpfile !! and start of real helpfile strunk ******** |
---|
[10597] | 15 | TITLE PT_SERVER: What Why and How |
---|
[387] | 16 | |
---|
[10597] | 17 | OCCURRENCE <ARB_NT/ETC/probe*> |
---|
| 18 | <ARB_EDIT4/Edit/aligners> |
---|
[387] | 19 | |
---|
[10597] | 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. |
---|
[387] | 28 | |
---|
[10597] | 29 | The basic ARB SEARCH ALGORITHM: |
---|
[387] | 30 | |
---|
[10597] | 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. |
---|
[2811] | 33 | |
---|
[10597] | 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. |
---|
[387] | 37 | |
---|
[10597] | 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. |
---|
[387] | 41 | |
---|
[10597] | 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. |
---|
[387] | 44 | |
---|
[2811] | 45 | That means: |
---|
[387] | 46 | |
---|
[2811] | 47 | If you have just entered a new sequence this sequence |
---|
| 48 | will not be found by the the nearest-relative search. |
---|
[387] | 49 | |
---|
[2811] | 50 | This is normally very useful, as you only want to use old |
---|
| 51 | sequences as a reference in the aligning process. |
---|
[387] | 52 | |
---|
[2811] | 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. |
---|
[387] | 57 | |
---|
[4934] | 58 | Re-build your PT-server frequently and re-evaluate any probes |
---|
| 59 | you've made before. |
---|
[2811] | 60 | |
---|
| 61 | |
---|
[10597] | 62 | Creating a new PT_SERVER template: |
---|
[387] | 63 | |
---|
[10597] | 64 | - Edit the file $ARBHOME/lib/arb_tcp.dat using <ARB_NTREE/Probes/PT_SERVER Admin/CREATE TEMPLATE> |
---|
[387] | 65 | |
---|
[10597] | 66 | Note: Make a copy of your changes because a new ARB installation may reinstall and overwrite your changed $ARBHOME/lib/arb_tcp.dat. |
---|
[387] | 67 | |
---|
[10597] | 68 | - Restart arb |
---|
| 69 | |
---|
[387] | 70 | Create a database for an existing template: |
---|
| 71 | |
---|
[10597] | 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 | |
---|
[387] | 78 | ARB generates an index file $ARBHOME/lib/pts/name.arb.pt |
---|
| 79 | |
---|
[10597] | 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. |
---|
[387] | 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 | |
---|
[10597] | 92 | - SOFT KILL (everybody) (only idle PT_SERVERS): |
---|
[387] | 93 | |
---|
[10597] | 94 | - <ARB_NTREE/Probes/PT_SERVER Admin/KILL SERVER> |
---|
[387] | 95 | |
---|
[10597] | 96 | - HARD KILL (supervisor) (all servers): |
---|
[387] | 97 | |
---|
[10597] | 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' ) |
---|
[387] | 102 | |
---|
| 103 | |
---|
| 104 | WHY DOESN'T ARB USE BLAST ? |
---|
| 105 | |
---|
[10597] | 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. |
---|
[387] | 110 | |
---|
[10597] | 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. |
---|
[387] | 118 | |
---|
| 119 | |
---|
[10597] | 120 | You will need a lot of swap space to run multiple PT_SERVER. |
---|
[387] | 121 | |
---|
[10597] | 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. |
---|
[387] | 126 | |
---|
[10597] | 127 | BUGS Sometimes some bugs |
---|