Skip to main content

Python implementation of the TMscore program

Project description


Python implementation of the TMscore program to compare structures of the same protein.


We provide three classes, TMscoring, Sscoring, and RMSDscoring, that only differ in their default optimisation score.

They are initialised with the file paths to two PDB files:

alignment = tmscoring.TMscore('structure1.pdb', 'structure2.pdb')

# Find the optimal alignment

# Get the TM score:

# Get the TM local scores:

# RMSD of the protein aligned according to TM score

# Returns the transformation matrix between both structures:

# Save the aligned files:
alignment.write(outputfile='aligned.pdb', append=True)

The structures can be matched by index (default), or performing a global sequence alignment with Smith-Waterman using a match score of 2, mismatch of -1, a gap penalty of -0.5 for opening and -0.1 for extending.

Utility functions:

get_tm(path_to_pdb1, path_to_pdb2) and get_rmsd(pdb1, pdb2) are simple wrappers that compute TM score or RMSD.

What is different?

tmscoring is a Python library that conveniently exposes all the necessary variables. This removes the necessity to parse files.

Also, the minimisation engine is MINUIT's Migrad, a powerful and robust derivative-free minimisation algorithm, heavily tested by particle physicists for decades. In our testing, tmscoring yields the same or slightly better scores than upstream TMscore.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tmscoring, version 0.4.post0
Filename, size File type Python version Upload date Hashes
Filename, size tmscoring-0.4.post0.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page