def test_parsePDBQT():
    """
    check that pdbqt format files can be read
    """
    from MolKit.pdbParser import PdbqtParser
    parser = PdbqtParser("Data/1ent_rec.pdbqt")
    m = parser.parse()[0]
    assert len(m.allAtoms) == 2901
示例#2
0
def Read(filename=None, alllines=None, dataformat='pdb', modelsAs='molecules'):
    if not alllines and not filename:
        raise AssertionError("%s invalid molecule" % filename)
    elif alllines and filename:
        alllines = None
    elif filename:
        if not os.path.exists(filename):
            raise AssertionError("%s does't exist" % filename)

    if alllines:
        ext = dataformat
        args = [None, alllines]
    else:
        ext = filename.split('.')[1]
        args = [filename, None]
    if ext == 'pdb':
        parser = PdbParser(*args, modelsAs=modelsAs)

    elif ext == 'pdbq':
        parser = PdbqParser(*args, modelsAs=modelsAs)

    elif ext == 'pdbqt':
        parser = PdbqtParser(*args, modelsAs=modelsAs)

    elif ext == 'pdbqs':
        parser = PdbqsParser(*args, modelsAs=modelsAs)

    elif ext == 'pqr':
        parser = PQRParser(*args, modelsAs=modelsAs)

    # FIXME: pass all lines???
    elif ext == 'mol2':
        parser = Mol2Parser(
            filename)  # ??should modelsAs be available for mol2 format??

    elif ext == 'cif':
        parser = MMCIFParser(filename)

    elif ext == 'f2d':
        parser = F2DParser(filename)

    else:
        print("File Format unknown can't parse it")
        return []
    molecules = parser.parse()
    return molecules
示例#3
0
def Read(filename, modelsAs='molecules'):
    if not os.path.exists(filename):
        raise AssertionError, "%s does't exist" % filename
    from MolKit.pdbParser import PdbParser, PdbqParser,PdbqsParser,\
            PdbqtParser, PQRParser, F2DParser

    from MolKit.mol2Parser import Mol2Parser
    from MolKit.mmcifParser import MMCIFParser
    ext = string.split(filename, '.')
    if ext[-1] == 'pdb':
        parser = PdbParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'pdbq':
        parser = PdbqParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'pdbqt':
        parser = PdbqtParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'pdbqs':
        parser = PdbqsParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'pqr':
        parser = PQRParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'mol2':
        parser = Mol2Parser(
            filename)  #??should modelsAs be available for mol2 format??

    elif ext[-1] == 'cif':
        parser = MMCIFParser(filename, modelsAs=modelsAs)

    elif ext[-1] == 'f2d':
        parser = F2DParser(filename)

    else:
        print "File Format unknown can't parse it"
        return []
    molecules = parser.parse()
    return molecules