From ostell@ncbi.nlm.nih.gov Wed Jun 5 09:57 EST 1991 Received: from ray.nlm.nih.gov by cricket.bio.indiana.edu (5.64/A/UX-2.00) id AA01796; Wed, 5 Jun 91 09:57:53 EST Received: from bio.nlm.nih.gov by ray.nlm.nih.gov (4.0/SMI-4.0) id AA28146; Wed, 5 Jun 91 10:59:12 EDT Received: from object.nlm.nih.gov by bio.nlm.nih.gov (4.1/SMI-4.1) id AA02161; Wed, 5 Jun 91 10:58:55 EDT Received: by object.nlm.nih.gov (4.1/SMI-4.1) id AA18809; Wed, 5 Jun 91 10:58:54 EDT Date: Wed, 5 Jun 91 10:58:54 EDT From: ostell@ncbi.nlm.nih.gov (Jim Ostell) Message-Id: <9106051458.AA18809@object.nlm.nih.gov> To: bits@object.nlm.nih.gov Subject: pre-release Status: R A number of people are aware that we now have VMS and ULTRIX versions of the coretools, and code to load large complex objects such as whole sequence entries. We have not finished documenting the new code and have not created a set of nice demo programs to show how to use it yet, although we are in process. So in order that people can get the VMS and ULTRIX versions, and/or see what we are up to, I have made a new PRE-RELEASE version of the tools available for anonymous ftp. It is on ncbi.nlm.nih.gov as before, in the toolbox\proto directory. Have fun, but know we are still revising some aspects of this. The README for this release follows. Jim Ostell NCBI ============================================================================ Disclaimer This is a preview of the newer versions of tools and ASN.1 specs. Many fixes and improvements are included, as well as VMS and ULTRIX versions, whole object loaders, and dynamic parse trees for micros. The documentation is mostly out of date. It is still an accurate guide to the features it describes, it just does not document the new features. This version is made available to those interested in the VMS version, or the newer features. A completely documented release with more demos of new features is being prepared. The ULTRIX version was developed by Harry Foxwell and the VMS version by Lynn Yarbrough, both of DEC. The VMS version was tested, and DEC command language make files written by Will Gilbert of the Whitehead Institute. Thanks fellas. Introduction This distribution is version 1.5 of the NCBI core tools for building portable software, and AsnTool, a collection of routines for handling ASN.1 data and developing ASN.1 software applications. AsnTool is built using the coretool routines. This is a mature Beta release of software intended for software developers. This is not useful for end users. We are anxious to hear your feedback and comments. A production release of the software is expected in the spring. This software may change at that time. However, be assured that we have already used these tools fairly extensively on a number of machines, and we do not expect them to change in any fundamental way in the next release. Directory Structure ncbi Top level doc Documentation in ASCII files coretool Source code for NCBI Core Software tools asntool Source code for AsnTool object Source code for complex object readers and writers make Make files for various systems, see Installation asn ASN.1 specifications for publications asnstat Static ASN.1 parse tree header files asnload Dynamically loaded ASN.1 parse tree headers for micros demo AsnTool demo programs which use ..\asn build empty directory for building tools and libraries include include files required by applications copied here bin asntool executable copied here lib ncbi library copied here config configuration files for ncbi software Installation ALL - change directory to build MS-DOS Microsoft C copy ..\make\*.msc make makeall.msc Microsoft Windows copy ..\make\*.msw make makeall.msc Mac tested on Think C and MPW C Both - rename coretool/ncbimain.mac ncbimain.c rename coretool/ncbienv.mac ncbienv.c Think C - rename coretool/ncbilcl.thc ncbilcl.h MPW C - rename coretool/ncbilcl.mpw ncbilcl.h make 3 libraries with: all of asntool, except asntool.c, all of coretool, except testcore.c, all of object build 2 applications, asntool and testcore with the library Unix tested on Sun4, Silicon Graphics, IBM 3090, Ultrix Sun cp ..\make\makeall.sun Makefile make all Silicon Graphics cp ..\make\makeall.sgi Makefile make all AIX 3090 cp ..\make\makeall.370 Makefile make all Ultrix cp ..\make\makeall.ult Makefile make all VMS $set def [ncbi.build] $cop [-.make]makeall.vms makealljob $@makealljob Configuration Files In this release we introduce the use of configuration files. They are used to define the locations of data files needed by various programs. A new function "FindPath" in ncbienv.c is used to locate the configuration file itself. Naturally, every platform does this job in different ways. The file itself is called "ncbi.cnf" (except in Microsoft Windows). It has the form: [NCBI] -- defines an area of the file asnload=c:\ncbi_run\asnload -- defines a directory to look in for files of type "asnload" FindPath() would return "c:\ncbi_run\asnload\" when called with the argument "asnload". The system locates things (eg. "asnload") in the following ways: UNIX, VMS, DOS - 1) looks for an environment variable called "NCBIasnload" 2) looks for an environment variable called "NCBI" expects it to be a path to find "ncbi.cnf" reads ncbi.cnf looking for "asnload=path" 3) looks for ncbi.cnf in the current directory 4) fails Macintosh - 1) looks for "ncbi.cnf" in system folder, or in system Preferences folder. 2) fails MS Windows - 1) looks for "ncbi.ini" in the windows directory. 2) fails The DOS make file copies an ncbi.cfg to the build directory, so the demos will run. The UNIX and VMS systems don't care in this release because they do not use dynamic parse trees (see below). However, they will care in later releases when they will need data files of various types. Dynamic Parse Trees Micros can be quite limited in terms of available static memory. So two versions of parse trees are supplied, dynamic (in asnstat) and dynamic (in asnload). AsnTool can produce either - -o for static, -l for dynamic. The VMS and UNIX versions use static headers. The micros use dynamic. In asnload are files with .h and .ld extensions. The .h file is included by your application as before. The .ld file contains the data to be loaded at run time. The .ld files must be copied to the directory pointed to by the "asnload" variable in the configuration file described above. Object Loaders This release contains code to load complex higher level objects such as complete sequence entries. A sample program in the demo directory called "testobj" will be made with the other documented demo programs. It loads a complete Medline entry, writes it, and kills it, and does the same for a complete sequence entry. This code is still under development, and supplied primarily to indicate the directions we are going in. Testing In build should be a program called testcore. Type "testcore -" and it should show you some default arguments. Type "testcore" and it will run through a variety of functions in coretools, prompting you for responses along the way. It should run without a crash or error report. If testcore runs, read the documentation for coretools and for asntool. In the asntool documentation are instructions for running asntool itself and for building the demo programs.