#ifndef _EASYGENE_H_ #define _EASYGENE_H_ #include "etcache.h" typedef struct t_exon { off_t start; off_t end; } EXON; typedef struct t_easygene { char target[NAME_MAX_LEN + 1]; off_t start; off_t end; char name[NAME_MAX_LEN + 1]; char url[URL_MAX_LEN + 1]; char strand; int exonnum; EXON *exons; int optnum; OPTATTR *optattrs; } EasyGene; typedef struct t_easygenetrack { ET_TYPE ettype; char name[NAME_MAX_LEN + 1]; char comment[COMMENT_MAX_LEN + 1]; char desc_url[URL_MAX_LEN + 1]; COLOR color; char species[NAME_MAX_LEN + 1]; char revision[NAME_MAX_LEN + 1]; char species_url[URL_MAX_LEN + 1]; int genenum; EasyGene *genes; char date[DATE_LEN + 1]; char opt_attr[ATTR_VALUE_MAX_LEN + 1]; } EasyGeneTrack; /* 指定条件を満たす遺伝子情報を含むEasyGeneTrack/EasyGraphTrackを出力する。 */ /* 戻り値 1: 成功(EasyGeneTrackを出力) */ /* 2: 成功(EasyGraphTrackを出力) */ /* 0: 失敗 */ /* 副作用 指定されたストリームにEasyGeneTrack/EasyGraphTrackを書き出す */ // DB スキーマ変更対応 int getEasyGeneOrGraphTrack(char *, /* trackname: 表示すべきEasyTrackの名前 */ char *, /* species: 表示すべき種 */ char *, /* revision: 表示すべき種のリビジョン */ char *, /* target: 表示すべき対象 */ int, /* start: 表示開始位置(0-origin) */ int, /* end: 表示終了位置(0-origin) */ int, /* width: 出力すべき画像幅の指標 */ char *, /* date: EasyTrackの作成日付 */ char *, /* stream: 出力先ストリーム(ファイル)名 */ int, /* threshold: EasyGraphTrackへの閾値 */ int, /* 追加属性のSelect型で検索する */ char *, /* : 追加属性のSelect型の名前 */ char *, /* : 追加属性のSelect型の値 */ int, /* : 追加属性のReal型で検索する */ char *, /* : 追加属性のReal型の名前 */ double, /* optRealLower: 追加属性のReal型で下限値 */ double /* optRealUpper: 追加属性のReal型の上限値 */ ); #endif