Ejemplo n.º 1
0
static void *open_trr_read(const char *filename, const char *filetype,
    int *natoms) {

    md_file *mf;
    md_header mdh;
    gmxdata *gmx;
    int format;

    if (!strcmp(filetype, "trr"))
      format = MDFMT_TRR;
    else if (!strcmp(filetype, "trj"))
      format = MDFMT_TRJ;
    else if (!strcmp(filetype, "xtc"))
      format = MDFMT_XTC;
    else
      return NULL;

    mf = mdio_open(filename, format);
    if (!mf) {
        fprintf(stderr, "gromacsplugin) Cannot open file '%s', %s\n",
                filename, mdio_errmsg(mdio_errno()));
        return NULL;
    }
    if (mdio_header(mf, &mdh) < 0) {
        mdio_close(mf);
        fprintf(stderr, "gromacsplugin) Cannot read header fromm '%s', %s\n",
                filename, mdio_errmsg(mdio_errno()));
        return NULL;
    }
    *natoms = mdh.natoms;
    gmx = new gmxdata;
    gmx->mf = mf;
    gmx->natoms = mdh.natoms;
    return gmx;
}
Ejemplo n.º 2
0
static void close_gro_write(void *v) {
  gmxdata *gmx = (gmxdata *)v;
  mdio_close(gmx->mf);
  free(gmx->atomlist);
  free(gmx->meta);
  free(gmx);
}
Ejemplo n.º 3
0
int main(int argc, char *argv[]){
	int i;
	if(strcmp("help", argv[1]) == 0){
		cmd_help(argc, argv);
		return 0;
	}	

	mdio_open_local(&g_mdio_bus); 
	for(i = 0; i < sizeof(g_cmd_table)/sizeof(g_cmd_table[0])-1; ++i){
		if(strcmp(g_cmd_table[i].cmd, argv[1]) == 0){
			return g_cmd_table[i].func(argc, argv);
		}
	}
	mdio_close();
	return 1;
}
Ejemplo n.º 4
0
static void close_trr_write(void *v) {
  gmxdata *gmx = (gmxdata *)v;
  mdio_close(gmx->mf);
  delete gmx;
}
Ejemplo n.º 5
0
static void close_g96_read(void *v) {
  gmxdata *gmx = (gmxdata *)v;
  mdio_close(gmx->mf);
  delete gmx;
}