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.

Source Distribution

tmscoring-0.4.post0.tar.gz (5.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page