CCL Home Page
Up Directory CCL rdsybmol.c
/*****
This file is part of the Babel Program
Copyright (C) 1992-96 W. Patrick Walters and Matthew T. Stahl 
All Rights Reserved 
All Rights Reserved 
All Rights Reserved 
All Rights Reserved 

For more information please contact :

babel@mercury.aichem.arizona.edu
-----------------------------------------------------------------------------
FILE : rdsybmol.c
AUTHOR(S) : Pat Walters
DATE : 2-94
PURPOSE : routines to a sybyl MOL file
******/

#include "bbltyp.h"

int 
read_sybyl_mol(FILE *file1, ums_type *mol)
{
  char the_line[BUFF_SIZE];
  int i;
  int result;
  char temp1[5],temp2[15],temp3[5];
  int column;
  
  fgets(the_line,sizeof(the_line), file1);
  sscanf(the_line,"%d",&Atoms);
  ShowProgress(Atoms,"Reading Atoms");
  result = initialize_ums(&mol);

  column = locate_input_type("MOL");
  for (i = MIN_ATOM; i <= Atoms;i++)
  {
    UpdateProgress();
    fgets(the_line,sizeof(the_line), file1);
    sscanf(the_line,"%*d %s %lf %lf",
	   temp1,
	   &X(i),
	   &Y(i));
    my_strncpy(temp2,&the_line[26],9);
    my_strncpy(temp3,&the_line[35],3);
    Z(i) = atof(temp2);
    Atomic_number(i) = get_input_type(i,column,temp1,Type(i),dummy);    
  }
  fgets(the_line,sizeof(the_line), file1);
  sscanf(the_line,"%d",&Bonds);
  for (i = 0; i < Bonds; i++)
  {
    fgets(the_line,sizeof(the_line), file1);
    sscanf(the_line,"%*d %d %d %d",
	   &Start(i),
	   &End(i),
	   &Bond_order(i));
  }
  dissect_connection_table(mol);
  fgets(the_line,sizeof(the_line), file1);
  return(TRUE);
}
Modified: Tue Jan 21 17:00:00 1997 GMT
Page accessed 4755 times since Sat Apr 17 21:36:52 1999 GMT