Пример #1
0
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
Пример #2
0
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)