28 cmd.
cat(
"xterm -sl 1000 -sb -e sh -c 'LD_LIBRARY_PATH=\"");
30 cmd.
cat(
"\";export LD_LIBRARY_PATH;for i in ");
46 cmd.
cat(species_name);
51 cmd.
cat(
"; do arb_naligner");
55 cmd.
cat(
" -PARB_PT_SERVER");
64 cmd.
cat(
" \"-s$i\" ");
67 if (root->
awar(
"naligner/unmark_sequence")->
read_int()) cmd.
cat(
" -us");
96 if (i<j) sprintf(var,
"naligner/%c%c",
"acgt-"[i],
"acgt-"[j]);
97 else sprintf(var,
"naligner/%c%c",
"acgt-"[j],
"acgt-"[i]);
99 if (i<4 || j<4) cmd.
put(
',');
103 cmd.
cat(
" || echo \"Aligner failed\";done;");
104 cmd.
cat(
"echo press \"(return)\" to close window;read a' &");
107 if (error)
fputs(error, stderr);
112 root->
awar_int(
"naligner/what", 0, db1);
114 root->
awar_int (
"naligner/against", 0, db1);
116 root->
awar_int (
"naligner/pt_server", -1, db1);
118 root->
awar_int(
"naligner/mark_profile", 1, db1);
119 root->
awar_int(
"naligner/unmark_sequence", 0, db1);
131 root->
awar_float(
"naligner/gap_panelty", 5.0, db1);
132 root->
awar_float(
"naligner/igap_panelty", 0.2, db1);
133 root->
awar_int (
"naligner/minf", 3, db1);
134 root->
awar_int (
"naligner/maxf", 30, db1);
139 root->
awar_float(
"naligner/det/cl", .25, db1);
142 root->
awar_int (
"naligner/det/ib", 5, db1);
143 root->
awar_int (
"naligner/det/ic", 5, db1);
147 const int mwidth = 5;
148 AW_window_simple *aws =
new AW_window_simple;
149 aws->init(root,
"ALIGNER_V2_EXPERT2",
"ALIGNER V2.0 EXPERT 2");
154 aws->create_button(
"CLOSE",
"CLOSE",
"C");
156 aws->at(
"minw"); aws->create_input_field(
"naligner/minw", mwidth);
157 aws->at(
"maxew"); aws->create_input_field(
"naligner/maxew", mwidth);
159 aws->at(
"ib"); aws->create_input_field(
"naligner/det/ib", mwidth);
160 aws->at(
"ic"); aws->create_input_field(
"naligner/det/ic", mwidth);
161 aws->at(
"cl"); aws->create_input_field(
"naligner/det/cl", mwidth);
162 aws->at(
"cm"); aws->create_input_field(
"naligner/det/cm", mwidth);
163 aws->at(
"ch"); aws->create_input_field(
"naligner/det/ch", mwidth);
169 AW_window_simple *aws =
new AW_window_simple;
170 const int mwidth = 3;
172 aws->init(root,
"ALIGNER_V2_EXPERT",
"ALIGNER V2.0 EXPERT");
175 aws->label_length(22);
179 aws->create_button(
"CLOSE",
"CLOSE",
"C");
181 aws->at(
"minr"); aws->create_input_field(
"naligner/minf", 6);
182 aws->at(
"maxr"); aws->create_input_field(
"naligner/maxf", 6);
184 aws->at(
"aa"); aws->create_input_field(
"naligner/aa", mwidth);
185 aws->at(
"ac"); aws->create_input_field(
"naligner/ac", mwidth);
186 aws->at(
"ag"); aws->create_input_field(
"naligner/ag", mwidth);
187 aws->at(
"at"); aws->create_input_field(
"naligner/at", mwidth);
189 aws->at(
"ca"); aws->create_input_field(
"naligner/ac", mwidth);
190 aws->at(
"cc"); aws->create_input_field(
"naligner/cc", mwidth);
191 aws->at(
"cg"); aws->create_input_field(
"naligner/cg", mwidth);
192 aws->at(
"ct"); aws->create_input_field(
"naligner/ct", mwidth);
194 aws->at(
"ga"); aws->create_input_field(
"naligner/ag", mwidth);
195 aws->at(
"gc"); aws->create_input_field(
"naligner/cg", mwidth);
196 aws->at(
"gg"); aws->create_input_field(
"naligner/gg", mwidth);
197 aws->at(
"gt"); aws->create_input_field(
"naligner/gt", mwidth);
199 aws->at(
"ta"); aws->create_input_field(
"naligner/at", mwidth);
200 aws->at(
"tc"); aws->create_input_field(
"naligner/ct", mwidth);
201 aws->at(
"tg"); aws->create_input_field(
"naligner/gt", mwidth);
202 aws->at(
"tt"); aws->create_input_field(
"naligner/tt", mwidth);
204 aws->at(
"gap"); aws->create_input_field(
"naligner/gap_panelty", 4);
205 aws->at(
"igap"); aws->create_input_field(
"naligner/igap_panelty", 4);
209 aws->create_button(
"EXPERT_OPTIONS",
"EXPERT2",
"E");
215 AW_window_simple *aws =
new AW_window_simple;
216 aws->init(root,
"ALIGNER_V2",
"ALIGNER V2.0");
219 aws->label_length(10);
220 aws->button_length(10);
224 aws->create_button(
"CLOSE",
"CLOSE",
"O");
228 aws->create_button(
"HELP",
"HELP");
233 aws->create_button(
"GO",
"GO",
"G");
237 aws->create_button(
"OPTIONS",
"PARAMETERS",
"E");
240 aws->create_toggle_field(
"naligner/what",
"Align");
241 aws->insert_toggle(
"Selected Species:",
"S", 0);
242 aws->insert_default_toggle(
"Marked Species",
"M", 1);
243 aws->update_toggle_field();
249 aws->create_toggle_field(
"naligner/against",
"Reference");
250 aws->insert_toggle(
"Species by name",
"S", 0);
251 aws->insert_default_toggle(
"Auto search by pt_server",
"S", 1);
252 aws->update_toggle_field();
255 aws->create_input_field(
"naligner/sagainst", 2);
257 aws->label_length(25);
259 aws->at(
"pt_server");
260 aws->label(
"PT_SERVER:");
264 aws->label_length(40);
265 aws->label(
"Mark sequences found by the pt_server");
266 aws->create_toggle(
"naligner/mark_profile");
GB_ERROR GBK_system(const char *system_command)
GBDATA * GBT_first_marked_species(GBDATA *gb_main)
void load_xfig(const char *file, bool resize=true)
void AW_POPDOWN(AW_window *window)
void cat(const char *from)
const char * read_char_pntr() const
WindowCallback makeHelpCallback(const char *helpfile)
static AW_window * create_expert_naligner_window(AW_root *root)
AW_awar * awar_float(const char *var_name, float default_value=0.0, AW_default default_file=AW_ROOT_DEFAULT)
static AW_window * create_special_naligner_window(AW_root *root)
static void error(const char *msg)
void create_naligner_variables(AW_root *root, AW_default db1)
GBDATA * GBT_next_marked_species(GBDATA *gb_species)
static void aed_start_naligning(AW_window *aw, GBDATA *gb_main)
#define AWAR_SPECIES_NAME
AW_awar * awar(const char *awar)
void awt_create_PTSERVER_selection_button(AW_window *aws, const char *varname)
GB_CSTR GB_getenv(const char *env)
fputs(TRACE_PREFIX, stderr)
AW_awar * awar_int(const char *var_name, long default_value=0, AW_default default_file=AW_ROOT_DEFAULT)
AW_window * create_naligner_window(AW_root *root, GBDATA *gb_main)
const char * get_data() const
GB_transaction ta(gb_var)
AW_awar * awar_string(const char *var_name, const char *default_value="", AW_default default_file=AW_ROOT_DEFAULT)
GB_CSTR GBT_get_name_or_description(GBDATA *gb_item)