Exemplo n.º 1
0
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)
Exemplo n.º 2
0
        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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
                      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)