Skip to main content

Library to interact with Chemstation software, primarily used in Hein lab.

Project description

Agilent HPLC Macro Control

PyPI - Downloads

PyPI Latest Release

NOTE: If you are running Python 3.8, use versions 0.8.x. If you are running Python 3.9 use versions 0.9.x. If you are running Python >=3.10, use version 0.10.x. You are welcome to use newer pychemstation versions with older Python versions, but functionality is not guaranteed!

Unofficial Python package to control Agilent Chemstation; we are not affiliated with Agilent. Check out the docs for usage instructions. This project is under active development, and breaking changes may occur at any moment.

Getting started

Before running this library, these are the steps you need to complete.

Add python package

pip install pychemstation

Add required MACRO script

  1. Open ChemStation
  2. Run this in the ChemStation command line: Print _AutoPath$. Go to this path in your file navigator, as this is where you will put your MACRO file(s).
  3. Download the hplc_talk.mac.
    • On line 69, change the path name up to \cmd and \reply. For instance, you should have: MonitorFile "[my path]\cmd", "[my path]\reply"
    • and then add this file to the folder from the previous step.
  4. To have these MACRO files be read by ChemStation, you must either:
    • Open ChemStation and run:
macro hplc_talk.mac
HPLCTalk_Run
  • OR add the above lines to a MACRO file named: user.mac, and then put user.mac in the same folder from step 3.
    • ChemStation will automatically load these MACRO files for you. However, sometimes this does not work, and if it does not, you will have to run the lines in the user.mac manually.

Example Usage

from pychemstation.control import HPLCController
from pychemstation.utils.method_types import *
import pandas as pd

DEFAULT_METHOD_DIR = "C:\\ChemStation\\1\\Methods\\"
SEQUENCE_DIR = "C:\\USERS\\PUBLIC\\DOCUMENTS\\CHEMSTATION\\3\\Sequence"
DEFAULT_COMMAND_PATH = "C:\\Users\\User\\Desktop\\Lucy\\"
DATA_DIR_2 = "C:\\Users\\Public\\Documents\\ChemStation\\2\\Data"
DATA_DIR_3 = "C:\\Users\\Public\\Documents\\ChemStation\\3\\Data"

# Initialize HPLC Controller
hplc_controller = HPLCController(data_dirs=[DATA_DIR_2, DATA_DIR_3],
                                 comm_dir=DEFAULT_COMMAND_PATH,
                                 method_dir=DEFAULT_METHOD_DIR,
                                 sequence_dir=SEQUENCE_DIR)

# Switching a method
hplc_controller.switch_method("General-Poroshell")

# Editing a method
new_method = MethodDetails(
    name="General-Poroshell",
    params=HPLCMethodParams(
        organic_modifier=7,
        flow=0.44),
    timetable=[
        TimeTableEntry(
            start_time=0.10,
            organic_modifer=7,
            flow=0.34
        ),
        TimeTableEntry(
            start_time=4,
            organic_modifer=99,
            flow=0.55
        )
    ],
    stop_time=5,
    post_time=2
)
hplc_controller.edit_method(new_method)

# Run a method and get a report or data from last run method
hplc_controller.run_method(experiment_name="test_experiment")
report = hplc_controller.get_last_run_method_report()
vial_location = report.vial_location

# Save, analyze or plot the data!
chrom = hplc_controller.get_last_run_method_data()
chromatogram_data = pd.DataFrame.from_dict({"x": chrom.A.x, "y": chrom.A.y})
chromatogram_data.to_csv("Run 10.csv", index=False) 

Adding your own MACROs

If you wish to add your own MACRO functions, then all you need to do is write you MACRO (using Agilent's) MACRO guide, put the file in the user.mac file and then list the function you want to use.

Developing

If you would like to contribute to this project, check out our GitLab!

Authors and Acknowledgements

Lucy Hao, Maria Politi

Project details


Release history Release notifications | RSS feed

This version

0.8.7

Download files

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

Source Distribution

pychemstation-0.8.7.tar.gz (18.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pychemstation-0.8.7-py3-none-any.whl (59.7 kB view details)

Uploaded Python 3

File details

Details for the file pychemstation-0.8.7.tar.gz.

File metadata

  • Download URL: pychemstation-0.8.7.tar.gz
  • Upload date:
  • Size: 18.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for pychemstation-0.8.7.tar.gz
Algorithm Hash digest
SHA256 510c5b069ad09633f1ddb58290775ea28d41c7251d75b2e21a2ae5beeabea749
MD5 f4a25ecacf76f12a3faea3fdb64d944a
BLAKE2b-256 941553d41e50dbb1eb2d690cc87a34b13da7b8c252435600977ffc9cd1f10994

See more details on using hashes here.

File details

Details for the file pychemstation-0.8.7-py3-none-any.whl.

File metadata

File hashes

Hashes for pychemstation-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0c0de0f4b1cc0ee620b02e1ea0d7313d644f4a23492f3ffecf4f624d1e268419
MD5 48c0e3aa69ea9eaac12c4675583bda9e
BLAKE2b-256 c6d13340075a09c4474a75a78eee63af127b7f7de33e435cbb7e7165a5a51ce6

See more details on using hashes here.

Supported by

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