diff GEMBASSY-1.0.3/include/gfile.c @ 2:8947fca5f715 draft default tip

Uploaded
author ktnyt
date Fri, 26 Jun 2015 05:21:44 -0400
parents 84a17b3fad1f
children
line wrap: on
line diff
--- a/GEMBASSY-1.0.3/include/gfile.c	Fri Jun 26 05:20:29 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/******************************************************************************
-** @source GEMBASSY file routines
-**
-** @version 1.0
-** @modified December 27 2012 Hidetoshi Itaya Created this file
-** @@
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Library General Public
-** License as published by the Free Software Foundation; either
-** version 2 of the License, or (at your option) any later version.
-**
-** This library is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-** Library General Public License for more details.
-**
-** You should have received a copy of the GNU Library General Public
-** License along with this library; if not, write to the
-** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-** Boston, MA  02111-1307, USA.
-******************************************************************************/
-
-#include "gfile.h"
-
-
-
-
-/* @func gValID ***************************************************************
-**
-** Checks if an input string is a valid ID
-**
-** @param id [r]  [AjPStr] ID to check
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-ajint gValID(AjPStr id){
-  AjPFilebuff buff = NULL;
-  AjPStr      url  = NULL;
-  AjPStr      line = NULL;
-  AjPRegexp   pval = NULL;
-
-  url = ajStrNewC("http://web.sfc.keio.ac.jp/~t11080hi/valID/valID.cgi?id=");
-  url = ajStrNew();
-  ajFmtPrintS(&url, "http://rest.g-language.org/%S", id);
-
-  //ajStrAppendS(&url, id);
-
-  if(!gFilebuffURLS(url, &buff)) {
-    return ajFalse;
-  }
-
-  return ajTrue;
-
-  ajBuffreadLine(buff, &line);
-
-  pval = ajRegCompC("^0");
-
-  if(ajRegExec(pval, line))
-    return ajFalse;
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gStrAppendURLS *******************************************************
-**
-** Downloads file from a specified URL and writes to given output file
-**
-** @param [r] url [AjPStr] URL to download file from
-** @param [r] string [AjPStr] String to write into
-** @return [AjBool] 
-** @@
-******************************************************************************/
-
-AjBool gStrAppendURLS(AjPStr url, AjPStr* string){
-  AjPFilebuff buff = NULL;
-  AjPStr      file = NULL;
-  AjPStr      line = NULL;
-
-  if(!*string)
-    *string = ajStrNew();
-
-  if(!gFilebuffURLS(url, &buff))
-    return ajFalse;
-
-  while(ajBuffreadLine(buff, &line)){
-    ajStrAppendS(string, line);
-  }
-
-  ajFilebuffDel(&buff);
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gStrAppendURLC *******************************************************
-**
-** Downloads file from a specified URL and writes to given output file
-**
-** @param [r] url [char*] URL to download file from
-** @param [r] string [AjPStr] String to write into
-** @return [AjBool] 
-** @@
-******************************************************************************/
-
-AjBool gStrAppendURLC(char* url, AjPStr* string){
-  if(!gStrAppendURLS(ajStrNewC(url), string))
-    {
-      return ajFalse;
-    }
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gFileOutURLS *********************************************************
-**
-** Downloads file from a specified URL and writes to given output file
-**
-** @param [r] url [AjPStr] URL to download file from
-** @param [r] outf [AjPFile] File object to write into
-** @return [AjBool] 
-** @@
-******************************************************************************/
-
-AjBool gFileOutURLS(AjPStr url, AjPFile* outf){
-  AjPFilebuff buff = NULL;
-  AjPStr      file = NULL;
-  AjPStr      line = NULL;
-
-  if(!gFilebuffURLS(url, &buff))
-    return ajFalse;
-
-  while(ajBuffreadLine(buff, &line)){
-    ajWriteline(*outf, line);
-  }
-
-  ajFilebuffDel(&buff);
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gFileOutURLC *********************************************************
-**
-** Downloads file from a specified URL and writes to given output file
-**
-** @param [r] url [char*] URL to download file from
-** @param [r] outf [AjPFile] File object to write into
-** @return [AjBool] 
-** @@
-******************************************************************************/
-
-AjBool gFileOutURLC(char* url, AjPFile* outf){
-  if(!gFileOutURLS(ajStrNewC(url), outf))
-    {
-      return ajFalse;
-    }
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gFilebuffURLS ********************************************************
-**
-** Downloads file from a specified URL and inputs in file buffer
-**
-** @param [r] url [AjPStr] URL to download file from
-** @param [r] buff [AjPFilebuff] File buffer to set
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-AjBool gFilebuffURLS(AjPStr url, AjPFilebuff* buff){
-  AjPStr line = NULL;
-  AjPStr host = NULL;
-  AjPStr path = NULL;
-  ajint  port = 80;
-
-  ajHttpUrlDeconstruct(url, &port, &host, &path);
-
-  *buff = ajHttpRead(NULL, NULL, NULL, host, port, path);
-
-  if(!*buff)
-    return ajFalse;
-
-  ajFilebuffHtmlNoheader(*buff);
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gFilebuffURLC ********************************************************
-**
-** Downloads file from a specified URL and inputs in file buffer
-**
-** @param [r] url [char*] URL to download file from
-** @param [r] buff [AjPFilebuff] File buffer to set
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-AjBool gFilebuffURLC(char* url, AjPFilebuff* buff){
-  gFilebuffURLS(ajStrNewC(url), buff);
-
-  if(!*buff)
-    return ajFalse;
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gAssignUniqueName ****************************************************
-**
-** Creates a unique filename
-**
-** @return [AjPStr] the unique filename
-** @@
-******************************************************************************/
-
-void gAssignUniqueName(AjPStr *string) {
-  static char ext[2] = "A";
-
-  ajFmtPrintS(string, "%08d%s", getpid(), ext);
-
-  if( ++ext[0] > 'Z' ) {
-    ext[0] = 'A';
-  }
-}
-
-
-
-
-/* @func gCreateUniqueName ****************************************************
-**
-** Returns a unique filename
-**
-** @return [AjPStr] the unique filename
-** @@
-******************************************************************************/
-
-AjPStr gCreateUniqueName() {
-  AjPStr string;
-
-  gAssignUniqueName(&string);
-
-  return string;
-}
-
-
-
-
-/* @func gFormatGenbank *******************************************************
-**
-** Creates a genbank format string with sequence and features
-**
-** @param [r] seq [AjPSeq] Sequence object to write
-** @param [r] inseq [AjPStr] String to write to
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-AjBool gFormatGenbank(AjPSeq seq, AjPStr *inseq){
-  AjPSeqout     seqout   = NULL;
-  AjPFeattabOut featout  = NULL;
-  AjPFeattable  feat     = NULL;
-  AjPStr        seqline  = NULL;
-  AjPStr        featline = NULL;
-  AjPFile       seqfile  = NULL;
-  AjPFile       featfile = NULL;
-  AjPStr        filename = NULL;
-  AjBool        hasfeats = ajTrue;
-
-  gAssignUniqueName(&filename);
-  feat = ajSeqGetFeatCopy(seq);
-
-  if(!feat) {
-    hasfeats = ajFalse;
-  }
-
-  seqout = ajSeqoutNew();
-
-  if(!ajSeqoutOpenFilename(seqout,filename))
-    embExitBad();
-
-  ajSeqoutSetFormatS(seqout,ajStrNewC("genbank"));
-  ajSeqoutWriteSeq(seqout,seq);
-  ajSeqoutClose(seqout);
-  ajSeqoutDel(&seqout);
-
-  seqfile = ajFileNewInNameS(filename);
-  ajSysFileUnlinkS(filename);
-
-  if(hasfeats) {
-    featout = ajFeattabOutNew();
-
-    if(!ajFeattabOutOpen(featout,filename))
-      return ajFalse;
-
-    ajFeattableWriteGenbank(featout,feat);
-
-    ajFeattableDel(&feat);
-    //ajFeattabOutDel(&featout);
-    ajFileClose(&(featout->Handle));
-
-    featfile = ajFileNewInNameS(filename);
-    ajSysFileUnlinkS(filename);
-  }
-
-  while(ajReadline(seqfile,&seqline)){
-    if(hasfeats && ajStrMatchC(seqline,"ORIGIN\n")){
-      while(ajReadline(featfile,&featline)){
-        ajStrAppendS(inseq, featline);
-      }
-    }
-    ajStrAppendS(inseq, seqline);
-  }
-
-  ajStrDel(&seqline);
-  ajStrDel(&featline);
-  ajStrDel(&filename);
-  ajFileClose(&seqfile);
-  ajFileClose(&featfile);
-
-  return hasfeats;
-}
-
-
-
-
-/* @func gGetFileContent ******************************************************
-**
-** Reads file content and sets it to string pointer
-**
-** @param [r] content [AjPSeq] String to write to
-** @param [r] filename [AjPSeq] Filename to open
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-AjBool gGetFileContent(AjPStr* content, AjPStr filename){
-  AjPFile file    = NULL;
-  AjPStr  line    = NULL;
-
-  if((file = ajFileNewInNameS(filename)) == NULL)
-    return ajFalse;
-
-  while(ajReadline(file, &line))
-    ajStrAppendS(content, line);
-
-  if(file)
-    ajFileClose(&file);
-
-  ajSysFileUnlinkS(filename);
-
-  return ajTrue;
-}
-
-
-
-
-/* @func gtaiFileOutURLS ******************************************************
-**
-** Downloads file from a specified URL and inputs in file buffer
-**
-** @param [r] url [AjPStr] URL to download file from
-** @param [r] buff [AjPFilebuff] File buffer to set
-** @return [AjBool]
-** @@
-******************************************************************************/
-
-AjBool gtaiFileOutURLS(AjPStr url, AjPFile* outf, AjBool tai){
-  if(tai)
-    {
-      CURL *curl;
-      CURLcode curl_res;
-
-      Memory *mem = malloc(sizeof(Memory*));
-
-      mem->size = 0;
-      mem->memory = NULL;
-
-      curl_global_init(CURL_GLOBAL_ALL);
-
-      curl = curl_easy_init();
-
-      if(curl)
-        {
-          curl_easy_setopt(curl, CURLOPT_URL, ajCharNewS(url));
-          curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
-          curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_write);
-          curl_easy_setopt(curl, CURLOPT_WRITEDATA, mem);
-        }
-
-      curl_res = curl_easy_perform(curl);
-
-      if(CURLE_OK == curl_res)
-        {
-          char* redir;
-          curl_res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &redir);
-
-          if((CURLE_OK == curl_res) && redir) {
-            ajStrAssignC(&url, redir);
-            ajStrExchangeCC(&url, "cai.csv", "tai.csv");
-          }
-        }
-
-      free(mem);
-      curl_easy_cleanup(curl);
-      curl_global_cleanup();
-    }
-
-  return gFileOutURLS(url, outf);
-}