Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
2 of 5 committers (40.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Set of scripts for working with Topas
Basic Info
Statistics
- Stars: 16
- Watchers: 5
- Forks: 4
- Open Issues: 1
- Releases: 5
Topics
Metadata Files
readme.md
Topas tools
These are set of small scripts and tools that were developed to help with structure refinement (of zeolites in particular) using the program TOPAS.
topasdiff
Topasdiff is a tool to generate nice looking difference maps. First, output the observed structure factors, and structure in cif format from Topas:
Out_fobs(fobs.hkl)
Out_CIF_STR(structure.cif)
Observed structure factors can be generated using this macro (add this to C:/topas5/local.inc):
macro Out_fobs(file)
{
phase_out file load out_record out_fmt out_eqn
{
"%4.0f" = H;
"%4.0f" = K;
"%4.0f" = L;
'"%4.0f" = M;
"%12.4f\n" = (Iobs_no_scale_pks / M)^(0.5);
}
}
Then to calculate the difference map, run the command:
topasdiff structure.cif --diff fobs.hkl
or use the GUI, accessible available via topasdiff.bat (Windows). The program will ask for the scale factor provided by TOPAS, and generates an input file for the program superflip (http://superflip.fzu.cz/). Superflip is then used to perform the fourier transform, and generates an .XPLOR file that can be visualized using Chimera or VESTA.
Note: There is a bug in Topas where the cif files it outputs cannot be read using CCTBX, because they lack the data header. A work-around is to open C:/topas5/topas.inc and modify all instances of:
Out_String("\ndata_")
by:
Out_String("\ndata_topas_cif_out")

cif2topas
cif2topas transforms a crystal structure into cif format into the corresponding TOPAS code.
Usage:
cif2topas structure.cif
fh2topas
fh2topas is a script that converts from Fenske-Hall z-matrix to TOPAS code
Usage:
fh2topas zmatrix.fh [n]
Here, n is an optional parameter to give the number of molecules to generate. fh2topas will automatically number them to avoid naming conflicts.
topasrestraints
topasrestraints is a tool that can help with the generation of bond and angle restraints for structure refinement of zeolites with TOPAS. First, generate all bonds by using the TOPAS instruction:
append_bond_lengths
to generate all bonds and angles, including their symmetry codes for the current structure. Copy everything between the curly brackets to a new file called bonds.txt, and run:
topasrestraints bonds.txt
This generates a file called restraints.out that contains the restraints that can be added to TOPAS. The script checks for all distances of 1.61 +- 0.4 Angstrom to identify T-O bonds. The program checks the connectivity for every atom, and reports if there is a problem (too many / not enough distances per T-atom). There is no check for symmetrically equivalent connections, so some restraints may be redundant.
stripcif
stripcif is a tool to clean a cif file from all extra metadata. Essentially it reads a cif file and writes it back to structure_simple.cif with just the cell parameters and atomic coordinates.
Usage:
stripcif structure.cif
expandcell
expandcell is a tool to take a cif file and expand the axes along different directions to form a supercell.
For example:
expandcell structure.cif -z2
will write a cif in P1 the z axis doubled. You can then use a tool like PLATON to find the right symmetry for this structure (if needed). You can use:
expandcell structure.cif -z2 -s SPGR --shift X Y Z
to force the new a new symmetry on the output. Here SPGR is the space group suggested by platon, and --shift X Y Z is the suggested origin shift.
The option -e can be used to exclude elements from the result.
make_superflip
This is a very simple tool that asks a couple of questions and writes an input file for superflip.
Usage:
make_superflip
Requirements
- Python>=3.9
- numpy
- matplotlib
- pandas
- CCTBX
- superflip (superflip.fzu.cz/)
Installation
Install miniconda (pick the one suitable for your platform, Python version does not matter here).
Install using:
bash
conda create -n topas_tools -c conda-forge cctbx-base
conda activate topas_tools
pip install topas_tools
Or use the environment file:
bash
conda env create -f environment.yml
conda activate topas_tools
pip install -e .
(note that every time you want to use topas_tools, you must always activate the environment using conda activate topas_tools)
How to Cite
If you find this software useful, please consider citing it:
- Smeets, S. (2021). topas_tools (Version 1.1.0) [Computer software]. https://doi.org/10.5281/zenodo.4719229
Owner
- Name: Stef Smeets
- Login: stefsmeets
- Kind: user
- Location: Amsterdam, NL
- Company: Netherlands eScience Center
- Repositories: 14
- Profile: https://github.com/stefsmeets
Citation (CITATION.cff)
# YAML 1.2
---
authors:
-
family-names: Smeets
given-names: Stef
orcid: "https://orcid.org/0000-0002-5413-9038"
cff-version: "1.1.0"
date-released: 2021-04-21
doi: "10.5281/zenodo.4719229"
keywords:
- "Powder diffraction"
- "Topas"
- "Structure refinement"
- "Profile refinement"
license: "MIT"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/stefsmeets/topas_tools"
title: topas_tools
version: "1.1.0"
...
GitHub Events
Total
- Create event: 3
- Issues event: 1
- Release event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 10
- Push event: 2
- Pull request event: 1
- Fork event: 1
Last Year
- Create event: 3
- Issues event: 1
- Release event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 10
- Push event: 2
- Pull request event: 1
- Fork event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 100
- Total Committers: 5
- Avg Commits per committer: 20.0
- Development Distribution Score (DDS): 0.68
Top Committers
| Name | Commits | |
|---|---|---|
| Stef Smeets | s****s@m****h | 32 |
| Stef Smeets | s****s@m****e | 31 |
| Stef Smeets | s****s@e****l | 23 |
| Stef Smeets | s****s@u****m | 11 |
| Stef Smeets | s****s@t****l | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 6
- Total pull requests: 2
- Average time to close issues: 4 months
- Average time to close pull requests: 9 minutes
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 2.5
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 1 minute
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- stefsmeets (5)
- MehmetTopsakal (1)
- shelbygalinat (1)
Pull Request Authors
- stefsmeets (3)