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)ccc13thorlookup 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.tdtexample_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 |