def get_nr(nr_file, an): number_map = {} nr = get_ls(nr_file) for line in nr: l = line.split() if l[4] in an: number_map[l[4]] = l[0] return number_map
def main(): # get atom type and name map atom_map = get_ls(opts.map_file) # build description dictionary for each model, as well as cross model reference mi, mf, cross_an, cross_at = model_dict(atom_map, opts.model_i, opts.model_f) old_keys = cross_an.keys() new_keys = cross_an.values() if opts.nr_i: n0 = get_nr(opts.nr_i, old_keys) nf = get_nr(opts.nr_f, new_keys) # get map from old to new. map_ndx = {} for atm in cross_an: map_ndx[n0[atm]] = nf[cross_an[atm]] frm = map_ndx.keys() # pdb or gro conversion just maps atom names (not types) map_file(opts.f_i, cross_an, opts.write_out, map_ndx, opts.structure_file, opts.itp)