Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
@atomistics/xyz
Advanced tools
An xyz chemical file format parser and tools for interacting with xyz files.
An xyz chemical file format parser and tools for interacting with xyz files.
For use in your scripts:
npm i --save @atomistics/xyz
To install it globally and use the provided cli scripts:
npm i -g @atomistics/xyz
const xyz = require('@atomistics/xyz');
// xyz assumes we're going to get a trajectory, so it will return
// an array of images. Note that we grab the zeroth image.
const caffeine = xyz(`24
Caffeine
H -3.3804130 -1.1272367 0.5733036
N 0.9668296 -1.0737425 -0.8198227
C 0.0567293 0.8527195 0.3923156
N -1.3751742 -1.0212243 -0.0570552
C -1.2615018 0.2590713 0.5234135
C -0.3068337 -1.6836331 -0.7169344
C 1.1394235 0.1874122 -0.2700900
N 0.5602627 2.0839095 0.8251589
O -0.4926797 -2.8180554 -1.2094732
C -2.6328073 -1.7303959 -0.0060953
O -2.2301338 0.7988624 1.0899730
H 2.5496990 2.9734977 0.6229590
C 2.0527432 -1.7360887 -1.4931279
H -2.4807715 -2.7269528 0.4882631
H -3.0089039 -1.9025254 -1.0498023
H 2.9176101 -1.8481516 -0.7857866
H 2.3787863 -1.1211917 -2.3743655
H 1.7189877 -2.7489920 -1.8439205
C -0.1518450 3.0970046 1.5348347
C 1.8934096 2.1181245 0.4193193
N 2.2861252 0.9968439 -0.2440298
H -0.1687028 4.0436553 0.9301094
H 0.3535322 3.2979060 2.5177747
H -1.2074498 2.7537592 1.7203047
`)[0];
// The atomic numbers of each atom.
console.log(caffeine.numbers);
> [ 1, 7, 6, 7, 6, 6, 6, 7, 8, 6, 8, 1, 6, 1, 1, 1, 1, 1, 6, 6, 7, 1, 1, 1 ]
// xyz will package the positions into an ndarray.
console.log(caffeine.positions.data);
> Float64Array [ -3.380413, -1.1272367, 0.5733036, ... 1.7203047 ]
const xyz = require("@atomistics/xyz");
const trajectory = xyz(data);
Parameter | Type | Description |
---|---|---|
data | string | xyz file chemical format string |
Returns a list of images, where each image contains the atomic numbers and atom positions:
Name | Type | Description |
---|---|---|
trajectory[N].numbers | int array | An array of atomic numbers. |
trajectory[N].positions | ndarray | An ndarray of shape [atom count, 3] containing the position of each atom. |
xyz2json inputfile.xyz
Converts inputfile.xyz
to json and prints the result to stdout.
Example:
$ xyz2json h2.xyz > h2.json
$ cat h2.json
[{"positions":[0,0,0,1,0,0],"numbers":[1,1]}]
xyz2js inputfile.xyz
Converts inputfile.xyz
to a javascript module and prints the result to stdout.
Example:
$ xyz2js h2.xyz > h2.js
$ cat h2.js
const ndarray = require("ndarray");
const data = JSON.parse('[{"positions":[0,0,0,1,0,0],"numbers":[1,1]}]');
module.exports = data.map(d => {
return {
positions: ndarray(new Float64Array(d.positions), [d.positions.length/3, 3]),
numbers: d.numbers,
};
});
FAQs
An xyz chemical file format parser and tools for interacting with xyz files.
The npm package @atomistics/xyz receives a total of 3 weekly downloads. As such, @atomistics/xyz popularity was classified as not popular.
We found that @atomistics/xyz demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.