Esempio n. 1
0
def GetGeometric(mol: pybel.Molecule, arc_file: str) -> dict:
    """Get all (20) geometrical descriptors.

    :param mol: the molecule
    :param arc_file: Path to MOPAC .arc file
    """
    res = {}
    ChargeCoordinates = _ReadCoordinates(arc_file)
    res['W3DH'] = Calculate3DWienerWithH(ChargeCoordinates)
    res['W3D'] = Calculate3DWienerWithoutH(ChargeCoordinates)
    res['Petitj3D'] = CalculatePetitjean3DIndex(ChargeCoordinates)
    res['GeDi'] = CalculateGeometricalDiameter(ChargeCoordinates)
    res['TE'] = CalculateTopoElectronic(ChargeCoordinates)
    res['grav1'] = CalculateGravitational3D1(mol, ChargeCoordinates)
    # res['grav2'] = CalculateGravitational3D2(mol, ChargeCoordinates)
    res['rygr'] = CalculateRadiusofGyration(mol, ChargeCoordinates)
    res['Harary3D'] = CalculateHarary3D(ChargeCoordinates)
    res['AGDD'] = CalculateAverageGeometricalDistanceDegree(ChargeCoordinates)
    res['SEig'] = CalculateAbsEigenvalueSumOnGeometricMatrix(ChargeCoordinates)
    res['SPAN'] = CalculateSPANR(mol, ChargeCoordinates)
    res['ASPAN'] = CalculateAverageSPANR(mol, ChargeCoordinates)
    res['MEcc'] = CalculateMolecularEccentricity(mol, ChargeCoordinates)
    res.update(CalculatePrincipalMomentofInertia(mol, ChargeCoordinates))
    res.update(CalculateRatioPMI(mol, ChargeCoordinates))
    return res
Esempio n. 2
0
def GetMoRSEVDWVolume(arc_file: str) -> dict:
    """Get all 3D-Morse descriptors from VDW Volume schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateVDWVolumeMoRSE(ChargeCoordinates)
    return result
Esempio n. 3
0
def GetMoRSESandersonElectronegativity(arc_file: str) -> dict:
    """Get all 3D-Morse descriptors from Sanderson Electronegativity schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateSandersonElectronegativityMoRSE(ChargeCoordinates)
    return result
Esempio n. 4
0
def GetMoRSEPolarizability(arc_file: str) -> dict:
    """Get all 3D-Morse descriptors from polarizability schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculatePolarizabilityMoRSE(ChargeCoordinates)
    return result
Esempio n. 5
0
def GetMoRSEAtomicNumber(mol: Chem.Mol, arc_file: str) -> dict:
    """Get all 3D-Morse descriptors from atomic number schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateAtomicNumberMoRSE(mol, ChargeCoordinates)
    return result
Esempio n. 6
0
def GetMoRSEMass(mol: Chem.Mol, arc_file: str) -> dict:
    """Get all 3D-Morse descriptors from on mass schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateMassMoRSE(mol, ChargeCoordinates)
    return result
Esempio n. 7
0
def GetMoRSEUnweighted(arc_file: str) -> dict:
    """Get all unweighted 3D-Morse descriptors.

    :param arc_file: Path to MOPAC .arc file
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateUnweightMoRSE(ChargeCoordinates)
    return result
Esempio n. 8
0
def GetRDF(mol, arc_file):
    """Obtain all (180) RDF descriptors with different (un)weighted schemes."""
    result = {}
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result.update(CalculateUnweightRDF(ChargeCoordinates))
    result.update(CalculateChargeRDF(ChargeCoordinates))
    result.update(CalculateMassRDF(mol, ChargeCoordinates))
    result.update(CalculatePolarizabilityRDF(ChargeCoordinates))
    result.update(CalculateSandersonElectronegativityRDF(ChargeCoordinates))
    result.update(CalculateVDWVolumeRDF(ChargeCoordinates))
    return result
Esempio n. 9
0
def GetChargeSA(arc_file, RadiusProbe=1.5, n_sphere_point=960):
    """Get atom symbol, charge and partial solvent-accessible surface areas for all atoms.

    :param arc_file: Path to MOPAC .arc file
    :param RadiusProbe: radius of the probe used to calculate SASA
    :param n_sphere_point: number of points per atom to calculate SASA
    """
    ChargeCoordinates = _ReadCoordinates(arc_file)
    atoms = GetAtomClassList(ChargeCoordinates)
    FASA = asa.calculate_asa(atoms, RadiusProbe, n_sphere_point)
    res = []
    for i in range(len(FASA)):
        res.append([ChargeCoordinates[i][0], ChargeCoordinates[i][4], FASA[i]])
    return res
Esempio n. 10
0
def GetMoRSE(mol: Chem.Mol, arc_file: str) -> dict:
    """Get all (210) 3D-Morse descriptors with different (un)weighted schemes.

    :param arc_file: Path to MOPAC .arc file
    """
    result = {}
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result.update(CalculateUnweightMoRSE(ChargeCoordinates))
    result.update(CalculateChargeMoRSE(ChargeCoordinates))
    result.update(CalculateMassMoRSE(mol, ChargeCoordinates))
    result.update(CalculateAtomicNumberMoRSE(mol, ChargeCoordinates))
    result.update(CalculatePolarizabilityMoRSE(ChargeCoordinates))
    result.update(CalculateSandersonElectronegativityMoRSE(ChargeCoordinates))
    result.update(CalculateVDWVolumeMoRSE(ChargeCoordinates))
    return result
Esempio n. 11
0
def GetRDFVDWVolume(mol, arc_file):
    """Obtain all RDF descriptors with VDW Volume schemes."""
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateVDWVolumeRDF(ChargeCoordinates)
    return result
Esempio n. 12
0
def GetRDFSandersonElectronegativity(mol, arc_file):
    """Obtain all RDF descriptors with Sanderson Electronegativity schemes."""
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateSandersonElectronegativityRDF(ChargeCoordinates)
    return result
Esempio n. 13
0
def GetRDFPolarizability(mol, arc_file):
    """Obtain all RDF descriptors with Polarizability schemes."""
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculatePolarizabilityRDF(ChargeCoordinates)
    return result
Esempio n. 14
0
def GetRDFMass(mol, arc_file):
    """Obtain all RDF descriptors with Mass schemes."""
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateMassRDF(mol, ChargeCoordinates)
    return result
Esempio n. 15
0
def GetRDFUnweighed(mol, arc_file):
    """Obtain all Unweighed RDF descriptors."""
    ChargeCoordinates = _ReadCoordinates(arc_file)
    result = CalculateUnweightRDF(ChargeCoordinates)
    return result