1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
/* $Id: PubStructAsn.h,v 6.4 1998/05/14 16:11:14 kimelman Exp $
* ===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information (NCBI)
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government do not place any restriction on its use or reproduction.
* We would, however, appreciate having the NCBI and the author cited in
* any work or product based on this material
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* ===========================================================================
*
* Author: Michael Kimelman
*
* File Description: PubStruct DB Asn (down)loader.
* All functions can wotk with SQL server directly. Path of them, marked
* 'production' can work throuth OpenServer. - only retrieval stuff
*
* Modifications:
* --------------------------------------------------------------------------
* $Log: PubStructAsn.h,v $
* Revision 6.4 1998/05/14 16:11:14 kimelman
* Compression stuff added in debug mode.
* few bugs fixed, related to OpenServer/SQL Server switching
*
* Revision 6.3 1998/05/08 03:03:44 kimelman
* Open Server fix
*
* Revision 6.2 1998/04/15 14:53:56 kimelman
* 1. Make retrieval unifirm from open server and sql server.
* 2. mmdbsrv retrival performance tuning:
* - size of read-in buffers
* - direct pdb2mmdb DB lookup instead of full loading pdb to mmdb translataion
* table
* 3. cleaning mmdblocl.* and make.mmdbsrv in order to remove obsolete code
*
* Revision 6.1 1998/04/03 20:25:17 kimelman
* PubStruct access code added to mmdbsrv
*
*
* ==========================================================================
*/
#ifndef __PUBSTRUCTASN_H__
#define __PUBSTRUCTASN_H__
#include <ncbi.h>
#include <asn.h>
extern WWWInfoPtr info;
/**
* PubStruct_lookup transforms mmdb and state into accession number (return value)
* the meaning of state is as follows.
* state = 0 : Production data
* state = 1 : data for entrez indexing. After indexing it becomes 0
* state > 1 : intermediate stages of asn assembling. "up to user"
* state < 0 : prohibited value.
*
*/
NLM_EXTERN Int4 LIBCALL PubStruct_lookup(char *server,Int4 mmdb,int state);
/** (production)
* PubStruct_pdb2mmdb makes a lookup from pdb to current mmdb
*/
NLM_EXTERN Int4 LIBCALL PubStruct_pdb2mmdb(char *server,CharPtr pcPdb);
/**
* PubStruct_newasn opens AsnIo stream to created new entry in the database. When
* this stream is closed, database table's fields will be populated by data,
* extracted from written asn. state is the only data - which is absent in asn.
* (beside DB accession )
* accp argument is optional - side effect return of new accession number
*/
NLM_EXTERN AsnIoPtr LIBCALL PubStruct_newasn (char *server,int state,
Int4 *accp);
/**
* PubStruct_readasn opens AsnIo stream for reading asn found by accession number
*/
NLM_EXTERN AsnIoPtr LIBCALL PubStruct_readasn (char *server,Int4 acc);
/** (production)
* PubStruct_viewasn opens AsnIo stream for reading indexed structure found by mmdbID
*
*/
NLM_EXTERN AsnIoPtr LIBCALL PubStruct_viewasn (char *server,Int4 mmdbID);
/**
* PubStruct_updateasn opens AsnIo stream for updating existing asn. asn identified
* by accession number. after updating the 'state' of the data become 'newstate'.
*/
NLM_EXTERN AsnIoPtr LIBCALL PubStruct_updateasn (char *server,Int4 acc,
int newstate);
/** (production)
* PubStruct_closeasn closes AsnIO stream, which was open by some of functions
* above and does some "termination procedure" which determined by thw function,
* which opens connection.
*/
NLM_EXTERN int LIBCALL PubStruct_closeasn (AsnIoPtr aip,int commit);
/**
* PubStruct_closeasn suppress given asn.
*/
NLM_EXTERN int LIBCALL PubStruct_removeasn (char *server,Int4 acc);
/**
* File reading wrappers. ( a bit optimized )
*
* PubStruct_load read given asn from file stream and put it in database
* (using ..._newasn) returns accession number if everything ok. or 0 in
* case of fail
*/
int PubStruct_load(FILE *infile, int state_out, char *server);
/**
* PubStruct_download read given asn from DB and dump it to file stream
*/
int PubStruct_download(char *server, Int4 acc, Int4 mmdb, FILE *outfile);
#endif
|