Skip to main content

STAR file I/O in Python

Project description

starfile

License PyPI Python Version CI codecov

starfile is a package for reading and writing STAR files in Python.

starfile can be used interactively to inspect/explore files or in scripts and larger software packages to provide basic STAR file I/O functions. Data is exposed as simple python dictionaries or pandas dataframes.

This package was designed principally for compatibility with files generated by RELION.

For more information on working with dataframes, please see the pandas docs.

For starfile specific documentation, see teamtomo.org/starfile


Quickstart

For the following file particles.star with a single data block

data_particles

loop_
_rlnCoordinateX #1
_rlnCoordinateY #2
_rlnCoordinateZ #3
_rlnAngleRot #4
_rlnAngleTilt #5
_rlnAnglePsi #6
_rlnMicrographName #7
91.798700	83.622600	203.341030	-51.740000	173.930000	32.971000	01_10.00Apx.mrc
97.635800	80.437000	203.136160	141.500000	171.760000	-134.680000	01_10.00Apx.mrc
92.415200	88.842700	210.663900	-78.750000	173.930000	87.263200	01_10.00Apx.mrc
94.607830	93.135410	205.425960	-85.215000	167.170000	85.632200	01_10.00Apx.mrc
86.187800	80.125400	204.558750	14.910000	163.260000	-16.030000	01_10.00Apx.mrc
91.824240	76.738300	203.794280	39.740000	168.410000	-57.250000	01_10.00Apx.mrc
98.253300	73.530100	203.856030	73.950000	166.380000	-84.640000	01_10.00Apx.mrc
101.303500	80.290800	194.790400	-178.878000	166.090000	73.181000	01_10.00Apx.mrc

Read the file

import starfile

df = starfile.read('particles.star')

Interact with the data

df['rlnCoordinateX'] += 10
df.head()
   rlnCoordinateX  rlnCoordinateY  rlnCoordinateZ  rlnAngleRot  rlnAngleTilt  rlnAnglePsi rlnMicrographName
0       101.79870        83.62260       203.34103      -51.740        173.93      32.9710   01_10.00Apx.mrc
1       107.63580        80.43700       203.13616      141.500        171.76    -134.6800   01_10.00Apx.mrc
2       102.41520        88.84270       210.66390      -78.750        173.93      87.2632   01_10.00Apx.mrc
3       104.60783        93.13541       205.42596      -85.215        167.17      85.6322   01_10.00Apx.mrc
4        96.18780        80.12540       204.55875       14.910        163.26     -16.0300   01_10.00Apx.mrc

Save the (modified) data to file

starfile.write(df, 'modified_particles.star')

For more advanced usage please check out the examples.


Installation

pip install starfile

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

starfile-0.5.7.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

starfile-0.5.7-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file starfile-0.5.7.tar.gz.

File metadata

  • Download URL: starfile-0.5.7.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for starfile-0.5.7.tar.gz
Algorithm Hash digest
SHA256 75b81959fc5d2a955907a01684c592108439f75d9ba2d5e85f102be4a5f67af5
MD5 d15dccdf6dee6cfd53e0edbd2364dcd7
BLAKE2b-256 3280f23044357b925ac1522ba464ba8595e0bdb9fd340e1aad072385b3657211

See more details on using hashes here.

File details

Details for the file starfile-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: starfile-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for starfile-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3d17d5e626700ca0a31a38221baa2e9d69edc3b6fae6bfefab33d8b117267f72
MD5 7a982c3fc3bf9d15ed4a385742a8bc6c
BLAKE2b-256 415f42633a0c10c5119d3653e19fd983cf61f81872d620054486b33dd1f8bc76

See more details on using hashes here.

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