From 3d0e3daac1f56fab06b89b256b938ea416f7356d Mon Sep 17 00:00:00 2001 From: rds <rds> Date: Thu, 18 Jun 2009 11:26:11 +0000 Subject: [PATCH] fix it up so that blixem can fetch what it wants --- src/libpfetch/libpfetch.c | 57 +++++++++++++++++++++++++++++++++++-- src/libpfetch/libpfetch_I.h | 17 +++++++---- 2 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/libpfetch/libpfetch.c b/src/libpfetch/libpfetch.c index f7e95d11c..cfc1c6f62 100755 --- a/src/libpfetch/libpfetch.c +++ b/src/libpfetch/libpfetch.c @@ -27,9 +27,9 @@ * * Exported functions: See XXXXXXXXXXXXX.h * HISTORY: - * Last edited: Jun 3 10:13 2009 (rds) + * Last edited: Jun 18 12:16 2009 (rds) * Created: Fri Apr 4 14:21:42 2008 (rds) - * CVS info: $Id: libpfetch.c,v 1.12 2009-06-04 09:15:59 rds Exp $ + * CVS info: $Id: libpfetch.c,v 1.13 2009-06-18 11:26:11 rds Exp $ *------------------------------------------------------------------- */ @@ -213,6 +213,24 @@ static void pfetch_handle_class_init(PFetchHandleClass pfetch_class) "Return the fasta entry for an isofrom as the -F entries don't exist.", FALSE, PFETCH_PARAM_STATIC_RW)); + g_object_class_install_property(gobject_class, + PFETCH_BLIXEM_STYLE, + g_param_spec_boolean("blixem-seqs", "fetch like blixem wants", + "Return the sequences one per line with lower case dna and upper case AMINOACIDS", + FALSE, PFETCH_PARAM_STATIC_RW)); + + g_object_class_install_property(gobject_class, + PFETCH_ONE_SEQ_PER_LINE, + g_param_spec_boolean("one-per-line", "-q option", + "Return the sequences one per line.", + FALSE, PFETCH_PARAM_STATIC_RW)); + + g_object_class_install_property(gobject_class, + PFETCH_DNA_LOWER_AA_UPPER, + g_param_spec_boolean("case-by-type", "-C option", + "Return the fasta entry/sequences with lower case dna and upper case AMINOACIDS", + FALSE, PFETCH_PARAM_STATIC_RW)); + g_object_class_install_property(gobject_class, PFETCH_DEBUG, g_param_spec_boolean("debug", "debug", @@ -320,6 +338,23 @@ static void pfetch_handle_set_property(GObject *gobject, guint param_id, const G case PFETCH_UNIPROT_ISOFORM_SEQ: pfetch_handle->opts.isoform_seq = g_value_get_boolean(value); break; + case PFETCH_BLIXEM_STYLE: + /* turn full off! */ + pfetch_handle->opts.full = !(g_value_get_boolean(value)); + pfetch_handle->opts.one_per_line = + pfetch_handle->opts.dna_PROTEIN = + g_value_get_boolean(value); + break; + case PFETCH_ONE_SEQ_PER_LINE: + pfetch_handle->opts.one_per_line = g_value_get_boolean(value); + if(pfetch_handle->opts.full) + pfetch_handle->opts.full = FALSE; + break; + case PFETCH_DNA_LOWER_AA_UPPER: + pfetch_handle->opts.dna_PROTEIN = g_value_get_boolean(value); + if(pfetch_handle->opts.full) + pfetch_handle->opts.full = FALSE; + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, param_id, pspec); break; @@ -353,6 +388,15 @@ static void pfetch_handle_get_property(GObject *gobject, guint param_id, GValue case PFETCH_UNIPROT_ISOFORM_SEQ: g_value_set_boolean(value, pfetch_handle->opts.isoform_seq); break; + case PFETCH_BLIXEM_STYLE: + g_value_set_boolean(value, (pfetch_handle->opts.dna_PROTEIN && pfetch_handle->opts.one_per_line)); + break; + case PFETCH_ONE_SEQ_PER_LINE: + g_value_set_boolean(value, pfetch_handle->opts.one_per_line); + break; + case PFETCH_DNA_LOWER_AA_UPPER: + g_value_set_boolean(value, pfetch_handle->opts.dna_PROTEIN); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, param_id, pspec); break; @@ -396,6 +440,15 @@ static void pfetch_get_argv(PFetchHandle handle, char *seq, char **argv) if(add_F) argv[current++] = "-F"; + if(handle->opts.one_per_line) + argv[current++] = "-q"; + + if(handle->opts.dna_PROTEIN) + argv[current++] = "-C"; + + if(handle->opts.archive) + argv[current++] = "-A"; + if(seq != NULL) argv[current++] = seq; diff --git a/src/libpfetch/libpfetch_I.h b/src/libpfetch/libpfetch_I.h index 4802d682f..b5daa1b04 100755 --- a/src/libpfetch/libpfetch_I.h +++ b/src/libpfetch/libpfetch_I.h @@ -27,9 +27,9 @@ * * Exported functions: See XXXXXXXXXXXXX.h * HISTORY: - * Last edited: Nov 21 17:22 2008 (rds) + * Last edited: Jun 18 11:45 2009 (rds) * Created: Fri Apr 4 14:20:41 2008 (rds) - * CVS info: $Id: libpfetch_I.h,v 1.4 2009-04-03 08:04:22 zmap Exp $ + * CVS info: $Id: libpfetch_I.h,v 1.5 2009-06-18 11:26:11 rds Exp $ *------------------------------------------------------------------- */ @@ -57,6 +57,9 @@ enum PFETCH_LOCATION, PFETCH_PORT, PFETCH_UNIPROT_ISOFORM_SEQ, + PFETCH_ONE_SEQ_PER_LINE, + PFETCH_DNA_LOWER_AA_UPPER, + PFETCH_BLIXEM_STYLE, /* http specific stuff */ PFETCH_COOKIE_JAR, PFETCH_URL, /* same as location */ @@ -157,10 +160,12 @@ typedef struct _pfetchHandleStruct struct { - unsigned int full : 1; - unsigned int archive : 1; - unsigned int debug : 1; - unsigned int isoform_seq : 1; + unsigned int full : 1; /* -F */ + unsigned int archive : 1; /* -A */ + unsigned int debug : 1; /* internal debug */ + unsigned int isoform_seq : 1; /* internal option */ + unsigned int one_per_line : 1; /* -q */ + unsigned int dna_PROTEIN : 1; /* -C */ }opts; } pfetchHandleStruct; -- GitLab