edtools

Collection of tools for automated processing and clustering of electron diffraction data

https://github.com/instamatic-dev/edtools

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.8%) to scientific vocabulary

Keywords

cluster-analysis electron-diffraction xds
Last synced: 6 months ago · JSON representation

Repository

Collection of tools for automated processing and clustering of electron diffraction data

Basic Info
  • Host: GitHub
  • Owner: instamatic-dev
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://edtools.readthedocs.io
  • Size: 461 KB
Statistics
  • Stars: 11
  • Watchers: 8
  • Forks: 9
  • Open Issues: 0
  • Releases: 5
Topics
cluster-analysis electron-diffraction xds
Created over 7 years ago · Last pushed 9 months ago
Metadata Files
Readme Citation

readme.md

build PyPI - Python Version PyPI PyPI - Downloads DOI

edtools

Collection of tools for automated processing and clustering of batch 3-dimensional electron diffraction (3D ED) datasets.

The source for this project is available here.

Installation

Install using pip install edtools. Installation should take less than 20 seconds on a normal desktop.

Find the latest releases for the versions that have been tested on.

OS Requirement

Windows 10 or newer.

Software Requirements

  • Python 3.6+ including numpy, scipy, matplotlib, and pandas libraries
  • sginfo or cctbx.python must be available on the system path for edtools.make_shelx
  • Access to WSL
  • XDS package must be installed properly under WSL

Package dependencies

Check pyproject.toml for the full dependency list and versions.

Documentation

See the documentation at https://edtools.readthedocs.io.

Pipeline tools

At any step, run edtools.xxx -h for help with possible arguments.

autoindex.py

Looks for files matching XDS.INP in all subdirectories and runs them using XDS.

In:  XDS.INP
Out: XDS data processing on all files

Usage:

edtools.autoindex

extractxdsinfo.py

Looks files matching CORRECT.LP in all subdirectories and extracts unit cell/integration info. Summarizes the unit cells in the excel file cells.xlsx and cells.yaml. XDSASCII.HKL files matching the completeness / CC(1/2) criteria are listed in filelist.txt. Optionally, gathers the corresponding `XDSASCII.HKLfiles in the local directory. Thecells.yaml` file can be used as input for further processing.

In:  CORRECT.LP
Out: cells.yaml
     cells.xlsx
     filelist.txt

Usage:

edtools.extract_xds_info

find_cell.py

This program a cells.yaml file and shows histogram plots with the unit cell parameters. This program mimicks CELLPARM and calculates the weighted mean lattice parameters, where the weight is typically the number of observed reflections (defaults to 1.0). For each lattice parameter, the mean is calculated in a given range (default range = median+-2). The range can be changed by dragging the cursor on the histogram plots.

Alternatively, the unit cells can be clustered by giving the --cluster command, in which a dendrogram is shown. The cluster cutoff can be selected by clicking in the dendrogram. The clusters will be written to cells_cluster_#.yaml.

In:  cells.yaml
Out: mean cell parameters
     cells_*.yaml (clustering only)

Usage:

edtools.find_cell cells.yaml --cluster

make_xscale.py

Prepares an input file XSCALE.INP for XSCALE and corresponding XDSCONV.INP for XDSCONV. Takes a cells.yaml file or a series of XDS_ASCII.HKL files as input, and uses those to generate the XSCALE.INP file.

In:  cells.yaml / XDS_ASCII.HKL
Out: XSCALE.INP

Usage:

edtools.make_xscale cells.yaml -c 10.0 20.0 30.0 90.0 90.0 90.0 -s Cmmm

cluster.py

Parses the XSCALE.LP file for the correlation coefficients between reflection files to perform hierarchical cluster analysis (Giordano et al., Acta Cryst. (2012). D68, 649658). The cutoff threshold can be selected by clicking in the dendrogram window. The program will write new XSCALE.LP files to subdirectories cluster_#, and run XSCALE on them, and (if available), pointless.

In:  XSCALE.LP
Out: cluster_n/
    filelist.txt
    *_XDS_ASCII.HKL
    XSCALE processing
    Pointless processing
    shelx.hkl
    shelx.ins (optional)

Usage:

edtools.cluster

Helper tools

make_shelx.py

Creates a shelx input file. Requires sginfo to be available on the system path to generate the SYMM/LATT cards.

In:  cell, space group, composition
Out: shelx.ins

Usage:

edtools.make_shelx -c 10.0 20.0 30.0 90.0 90.0 90.0 -s Cmmm -m Si180 O360

run_pointless.py

Looks for XDS_ASCII.HKL files specified in the cells.yaml, or on the command line and runs Pointless on them.

In:  cells.yaml / XDS_ASCII.HKL
Out: Pointless processing

update_xds.py

Looks files matching CORRECT.LP in all subdirectories, and updates the cell parameters / space group as specified.

In:  XDS.INP
Out: XDS.INP

Usage:

edtools.update_xds -c 10.0 20.0 30.0 90.0 90.0 90.0 -s Cmmm

findrotationaxis.py

Finds the rotation axis and prints out the inputs for several programs (XDS, PETS, DIALS, Instamatic, and RED). Implements the algorithm from Gorelik et al. (Introduction to ADT/ADT3D. In Uniting Electron Crystallography and Powder Diffraction (2012), 337-347). The program reads XDS.INP to get information about the wavelength, pixelsize, oscillation angle, and beam center, and SPOT.XDS (generated by COLSPOT) for the peak positions. If the XDS.INP file is not specified, the program will try to look for it in the current directory.

In:  XDS.INP, SPOT.XDS
Out: Rotation axis

Usage:

edtools.find_rotation_axis [XDS.INP]

Demo of using edtools to process batch 3D electron diffraction datasets

See the demo at https://edtools.readthedocs.io/en/latest/examples/edtools_demo.html.

Owner

  • Name: Instamatic
  • Login: instamatic-dev
  • Kind: organization

GitHub Events

Total
  • Create event: 2
  • Release event: 2
  • Issues event: 4
  • Issue comment event: 5
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 2
Last Year
  • Create event: 2
  • Release event: 2
  • Issues event: 4
  • Issue comment event: 5
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 143
  • Total Committers: 9
  • Avg Commits per committer: 15.889
  • Development Distribution Score (DDS): 0.72
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Stef Smeets s****s@m****e 40
Stef Smeets s****s@t****l 32
TM t****g@g****m 16
Stef Smeets s****s 15
Bin Wang w****7@s****m 11
Stef Smeets s****s@e****l 10
binwang b****g@v****m 9
BinWang b****g@s****e 7
David Waterman d****n@g****m 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 18
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 19 hours
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 1.86
  • Average comments per pull request: 0.89
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: about 13 hours
  • Average time to close pull requests: 1 day
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 4.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dagewa (2)
  • iverks (2)
  • danielnrainer (1)
  • stefsmeets (1)
  • aurorateien (1)
Pull Request Authors
  • asdfdsa (6)
  • stefsmeets (6)
  • Taimin (3)
  • dagewa (2)
  • iverks (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 57 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 6
  • Total maintainers: 1
pypi.org: edtools

Collection of tools for automated processing and clustering of electron diffraction data.

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 57 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 11.4%
Stargazers count: 17.1%
Average: 19.0%
Dependent repos count: 21.7%
Downloads: 34.6%
Maintainers (1)
Last synced: 6 months ago