8#include "tpcclibConfig.h"
20static char *info[] = {
21 "Edit parameter value in FIT file 1, saving edited contents in file 2.",
23 "Usage: @P [Options] fitfile1 par_nr tac_nr newvalue tacfile2",
28 "See also: fit2res, fit2dat, metabcor, fit_ppf",
30 "Keywords: FIT, tool, input, simulation, metabolite correction",
49int main(
int argc,
char **argv)
51 int ai, help=0, version=0, verbose=1;
52 int ret, pn=-1, tn=-1;
53 char *cptr, file1[FILENAME_MAX], file2[FILENAME_MAX];
61 if(argc==1) {
tpcPrintUsage(argv[0], info, stderr);
return(1);}
62 file1[0]=file2[0]=(char)0;
65 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
66 cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(cptr==NULL)
continue;
68 fprintf(stderr,
"Error: invalid option '%s'.\n", argv[ai]);
73 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
78 for(; ai<argc; ai++) {
80 strcpy(file1, argv[ai]);
continue;
82 pn=atoi(argv[ai]);
if(pn>0)
continue;
84 tn=atoi(argv[ai]);
if(tn>0)
continue;
87 }
else if(!file2[0]) {
88 strcpy(file2, argv[ai]);
continue;
90 fprintf(stderr,
"Error: too many arguments: '%s'.\n", argv[ai]);
96 fprintf(stderr,
"Error: missing command-line argument; use option --help\n");
102 printf(
"file1 := %s\n", file1);
103 printf(
"file2 := %s\n", file2);
104 printf(
"parameter := %d\n", pn);
105 printf(
"TAC := %d\n", tn);
106 printf(
"new_value := %g\n", v);
113 if(verbose>2) printf(
"Reading fitfile\n");
114 if((ret=
fitRead(file1, &fit, verbose-2))) {
115 fprintf(stderr,
"Error %d in reading '%s': %s\n", ret, file1,
fiterrmsg);
120 printf(
"fit_tac_nr := %d\n", fit.
voiNr);
125 fprintf(stderr,
"Error: FIT file does not contain TAC %d\n", tn);
129 fprintf(stderr,
"Error: FIT TAC does not contain parameter %d\n", pn);
134 if(verbose>0) printf(
" %g -> %g\n", fit.
voi[tn-1].
p[pn-1], v);
135 fit.
voi[tn-1].
p[pn-1]=v;
140 if(verbose>1) printf(
"saving edited fit in %s\n", file2);
141 ret=
fitWrite(&fit, file2);
if(ret) {
142 fprintf(stderr,
"Error (%d) in writing '%s': %s\n", ret, file2,
fiterrmsg);
145 if(verbose>0) printf(
"edited fit written in %s\n", file2);
double atof_dpi(char *str)
Header file for libtpccurveio.
int fitRead(char *filename, FIT *fit, int verbose)
int fitWrite(FIT *fit, char *filename)
Header file for libtpcmisc.
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)