def process(infile): df = pd.read_csv(infile, sep='\n', header=None) df.dropna(inplace=True) if not exists('input'): os.mkdir('input') for row in df.values: mol = row[0] if 'InChI' in mol: key = inchi2key(mol) ext = '.inchi' else: key = smi2key(mol) ext = '.smi' if key is not None: write_string(mol, join('input', key + ext)) else: print('Failed to hash %s.' % mol)
pass else: pka = read_pka(args.pkafile) # generate adduct if '+' in args.adduct: mol = create_adduct(mol, args.adduct, pka['b1'], forcefield=args.forcefield, steps=args.steps) elif '-' in args.adduct: mol = create_adduct(mol, args.adduct, pka['a1'], forcefield=args.forcefield, steps=args.steps) mol.write('mol2', args.mol2, overwrite=True) mol.write('xyz', args.xyz, overwrite=True) mol.write('pdb', args.pdb, overwrite=True) # reassign charge if args.adduct in ['+H', '+Na']: # tmp = splitext(args.mol2)[0] + '.tmp.mol2' # subprocess.call('obabel %s -O %s --partialcharge eem' % (args.mol2, tmp), shell=True) # subprocess.call('mv %s %s' % (tmp, args.mol2), shell=True) write_string('1.0', args.charge) elif args.adduct == '-H': write_string('-1.0', args.charge) elif args.adduct == 'neutral': write_string('0.0', args.charge)
parser.add_argument('infile', help='path to impact .out files') parser.add_argument('mass', help='path to mass files.') parser.add_argument('out_He', help='path to helium ccs output file') parser.add_argument('out_N2', help='path to nitrogen ccs output file') parser.add_argument('-a', '--alpha', type=float, default=27.9, help='alpha calibration') parser.add_argument('-b', '--beta', type=float, default=0.14, help='beta calibration') parser.add_argument('-v', '--version', action='version', version=__version__, help='print version and exit') args = parser.parse_args() # read inputs ccs_He = read_impact(args.infile) m = read_mass(args.mass) ccs_N2 = ccs_He + args.alpha * m**args.beta write_string(str(ccs_He), args.out_He) write_string(str(ccs_N2), args.out_N2)
help='neutralize mode') mode.add_argument('--tautomerize', action='store_true', help='tautomerize mode') mode.add_argument('--formula', action='store_true', help='formula mode') mode.add_argument('--canonicalize', action='store_true', help='canonicalization mode') args = parser.parse_args() s = read_string(args.infile) if args.inchi is True: smiles = inchi2smi(s) elif args.desalt is True: smiles = desalt(s) elif args.neutralize is True: smiles = neutralize(s) elif args.tautomerize is True: smiles = tautomerize(s) elif args.formula is True: smiles = smiles2formula(s) elif args.canonicalize is True: smiles = canonicalize(s) if smiles is not None: write_string(smiles, args.outfile) else: sys.exit(1)