Thorfilters TutorialTable of ContentsDownload example files 1. Introduction:
Thorfilters provides a command line interface to the Thor and Merlin servers.
Database Syntax:
Where:
2. Thor Commands:
tdtcat,
tdtcount,
thorchange,
thorcrunch,
thordbinfo,
throdbping,
host1 is running:% thorping host1 thorping: Connection to host1:thor succeeded
% thorping host1 -PROCESS_ID TRUE thorping: Connection to host1:thor succeeded Process id of server: 625
host1 :
% thorls host1 acd021demo asinex00demo bioscr00demo chemsynth97demo maybridge00demo medchem02demo mix97demo nci00demo spresi95demo spresirxn98demo wdi023demo
host1 :% thorwho @host1 @host1:thor heather@host1 1
example.tdt % tdtcount example.tdt 270398 1601 3333 232 232 example.tdt example.tdt
example_datatypes :
% tdtcount example_datatypes.tdt 9562 32 231 0 32 example_datatypes.tdt
example_db database to include information from the file example.tdt ,sizepri and sizexref .sizepri (the number of primary identifiers) should be equal totdtcount thorfilter). The value for sizexref should betdtcount thorfilter).
example_db :% thormake '$DY_THORDB/example_db' 232 1601 Enter server access password for host1:thor:heather >> Enter READ password for database: Confirm READ password for database: Enter WRITE password for database: Confirm WRITE password for database: Enter EXECUTIVE password for database: Confirm EXECUTIVE password for database: Created database. thormake: Done.
example_db , we can use theexample_datatypes.tdt . As seen from the examples for tdtcount , sizepri and sizexref should be 32.
example_db_datatypes.tdt :% thormake '$DY_THORDB/example_db_datatypes' 32 32 Enter server access password for host1:thor:heather >> Enter READ password for database: Confirm READ password for database: Enter WRITE password for database: Confirm WRITE password for database: Enter EXECUTIVE password for database: Confirm EXECUTIVE password for database: Created database. thormake: Done. example.tdt input information. We will callexample2_db and in this case, we will set theexample_db , we will have to change it later using thorchange .% thormake -DATATYPES_DATABASE example_db_datatypes \ '$DY_THORDB/example2_db' 232 1601 Enter server access password for host1:thor:heather >> Enter READ password for database: Confirm READ password for database: Enter WRITE password for database: Confirm WRITE password for database: Enter EXECUTIVE password for database: Confirm EXECUTIVE password for database: Created database. Datatypes database set. thormake: Done.
example_db fromexample_db_datatypes database we created:exapmle2_db , it is possible to set the thormake )% thorchange '$DY_THORDB/example_db' -DATATYPES_DATABASE \ '$DY_THORDB/example_db_datatypes' Enter server access password for host1:thor:heather >> Enter EXECUTIVE password for database: thorchange: Database opened. Changing passwords: [Return] means no change "" means remove existing password Enter READ password for database: Confirm READ password for database: Enter WRITE password for database: Confirm WRITE password for database: Enter EXECUTIVE password for database: Confirm EXECUTIVE password for database: Datatypes database set. thorchange: Done.
example_db :% thordbping example_db Enter server access password for host1:thor:heather >> Enter password for database example_db@host1:thor:* >> Opened "/usr/local/daylight/thordb/example_db.THOR@host1:thor" \ with permission "r".
example_db ,example_db_datatypes database:% thorload example_db_datatypes example_datatypes.tdt Enter server access password for host1:thor:heather >> Enter password for database example_db_datatypes@host1:thor:* >> ... Done: 32 TDTs, 0 errors example.tdt into database example_db :
% thorload example_db example.tdt Enter server access password for host1:thor:heather >> Enter password for database example_db@host1:thor:* >> ....................... Done: 232 TDTs, 0 errors example2_db :
% thorload example2_db example.tdt Enter server access password for host1:thor:heather >> Enter password for database example2_db@host1:thor:* >> ....................... Done: 232 TDTs, 0 errors
example_db :% thordbinfo example_db Enter server access password for host1:thor:heather >> Enter password for database example_db@host1:thor:* >> name: /usr/local/daylight/thordb/example_db.THOR modified: Wed Jul 23 10:06:46 2003 datatypes db: $DY_THORDB/example_db_datatypes indirect db: Number TDTs: 232 Number Xrefs: 1369 TDT bytes: 286116 Xref bytes: 110484 TDT hash table: 251 Xref hash table: 1709 Autocrunch limit: 50% "HOLD" database: FALSE Read-only: FALSE Record locking: DISABLED % thordbinfo medchem02demo Enter server access password for cooper:thor:heather >> Enter password for database medchem02demo@cooper:thor:* >> NOTE: ************************************************************** NOTE: * * NOTE: * [DEMO] Medchem Database [c] Medchem02 [DEMO] * NOTE: * * NOTE: * Database maintained and published by BioByte Corp. and * NOTE: * Pomona College in cooperation with Daylight. Copyright * NOTE: * 1982-2002 BioByte Corp. and Pomona College. All rights * NOTE: * reserved. * NOTE: ************************************************************** name: /usr/local/daylight/thordb/medchem02demo.THOR modified: Mon Dec 9 12:01:50 2002 datatypes db: medchem02demo_datatypes indirect db: medchem02demo_indirect Number TDTs: 2085 Number Xrefs: 12254 TDT bytes: 2512416 Xref bytes: 1016796 TDT hash table: 1009 Xref hash table: 4001 Autocrunch limit: 50% "HOLD" database: FALSE Read-only: TRUE Record locking: DISABLED
example_db database, we first need to make a file namedvalium.smi that contains only a single line of information of the SMILES for valium:CN1C(=O)CN=C(c2ccccc2)c3cc(Cl)ccc13 thorlookup into a file called valium.tdt % thorlookup -SECURE_PASSWORDS FALSE example_db%@host1:thor:thor% \ < valium.smi > valium.tdt
valium.tdt from example2_db :% thordelete example2_db valium.tdt Enter server access password for cooper:thor:heather >> Enter password for database example2_db@cooper:thor:* >> thordelete done: 1 TDTs deleted, 0 not found, 0 errors
example_db and example2_db (which now has valium.tdt removed):% thordiff -EXCLUDE_DATATYPES TS example_db example2_db Enter server access password for host1:thor:heather >> Enter password for database example_db@host1:thor:* >> Enter server access password for host1:thor:heather >> Enter password for database example2_db@host1:thor:* >> .................---------- 1: $SMI
example2_db :% thordestroy '$DY_THORDB/example2_db' Enter server access password for host1:thor:heather >> Enter password for database $DY_THORDB/example2_db@host1:thor:* >> =========================================================== WARNING: You are about to destroy the database: $DY_THORDB/example2_db@host1:thor If you answer "yes" to the next question, ALL DATA IN THIS DATABASE WILL BE PERMANENTLY LOST. =========================================================== Destroy database? (no) >> yes thordestroy: Destroyed database $DY_THORDB/example2_db@host1:thor thorls .
example.tdt :% tdtcat example.tdt | more $SMI file1.tdt and file2.tdt into a file named combined.tdt :$DY_ROOT/data ; they are fictitious)% tdtcat file1.tdt file2.tdt > combined.tdt thorcrunch can be used to recover space.
example_db has significant unused space and requires thorchrunch :%thorcrunch -REPORT_ONLY TRUE example_db Enter server access password for host1:thor:heather >> Enter password for database example@host1:thor:* >> Primary datafile: 0.0% unused space Cross-reference datafile: 0.0% unused space
example_db into example_db.tdt :example_db.tdt should be identical to example.tdt example_db , only to example2_db .)% thorlist example_db example_db.tdt Enter server access password for cooper:thor:heather >> Enter password for database example_db@cooper:thor:* >> ....................... Done: 232 TDTs written, 287485 bytes total thordump is intended for last-ditch situations, where a THOR database is damagedthorlist should be used if it is possible
example_db and save it in Daylights Home Directory as recover_example_db.tdt :% thordump example_db.DP > $DY_ROOT/recover_example_db.tdt ....................... 232 TDTs total 3. Merlin Commands:
merlindbping,
merlinload,
merlinls,
merlinping,
merlinwho
host1 is running:% merlinping merlinping: Connection to host1:merlin succeeded [1] + Done merlinserver
host1 :% merlinwho @host1:merlin heather@host1 1
example_db into a Merlin server's memory:% merlinload example_db Enter server access password for host1:merlin:heather >> Enter password for database example_db@host1:merlin:* >> merlinload: Database loaded. wdi023demo into a Merlin server's memory:% merlinload wdi023demo Enter server access password for host1:merlin:heather >> Enter password for database wdi023demo@host1:merlin:* >> merlinload: Database loaded.
example_db is loaded:% merlindbping example_db Enter server access password for host1:merlin:heather >> Enter password for database example_db@host1:merlin:* >> Opened "/usr/local/daylight/thordb/example_db.THOR@host1:merlin" \ with permission "r".
% merlinls example_db wdi023demo 4. Other Commands:
thor server :% thorwho @host1:thor @host1:thor heather@host1 1 heather from host1 immediately (with a GRACE_TIME of zero):% dayevict heather@host1 -GRACE_TIME 0 Evict heather@host1 from @host1:thor? (no) >> yes Evicted heather@host1 from @host1:thor (1 actual user) host1 :
% echo "The Thor Server will be going down tonight at Midnight" \ |daymessage -MESSAGE now Enter server access password for host1:thor:heather >> Connected to server. daymessage: Broadcast message to clients using @host1:thor ThorFilters Exercise #1 ThorFilters Exercise #2 |