openchemlib 9.22.0 → 9.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7124,14 +7124,12 @@ function getExports($wnd) {
7124
7124
  atomStr = atmStart + ("" + this.mMol.getAtomListString_0(atom)) + "]";
7125
7125
  if (length__I__devirtual$_0(atomStr) > 5)
7126
7126
  atomStr = atmStart + this.mMol.getAtomList_0(atom).length + "]";
7127
- if (neq(and_0(this.mMol.getAtomQueryFeatures(atom), 2048), 0))
7128
- hydrogensToAdd = -1;
7129
7127
  } else if (neq(and_0(this.mMol.getAtomQueryFeatures(atom), 1), 0)) {
7130
7128
  atomStr = "?";
7131
- if (neq(and_0(this.mMol.getAtomQueryFeatures(atom), 2048), 0))
7132
- hydrogensToAdd = -1;
7133
7129
  } else if (this.mMol.getAtomicNo_0(atom) != 6 || jsNotEquals(propStr, null) || jsNotEquals(isoStr, null) && (!isSmallCustomLabelOnly || (this.mDisplayMode & 32768) == 0) || hydrogensToAdd > 0 || !this.mAtomIsConnected[atom])
7134
7130
  atomStr = this.mMol.getAtomLabel_0(atom);
7131
+ if (neq(and_0(this.mMol.getAtomQueryFeatures(atom), 2048), 0) && hydrogensToAdd == 0)
7132
+ isoStr = this.append(isoStr, "!s");
7135
7133
  labelWidth = 0;
7136
7134
  if (!this.mMol.isSelectedAtom_0(atom) & this.mMol.isExcludeGroupAtom(atom))
7137
7135
  this.setColorCode(-8);
@@ -7236,11 +7234,7 @@ function getExports($wnd) {
7236
7234
  hydrogenWidth = this.getStringWidth("H");
7237
7235
  hNoWidth = 0;
7238
7236
  hHeight = this.getTextSize();
7239
- if (hydrogensToAdd == -1) {
7240
- hNoStr = "n";
7241
- this.mpSetSmallLabelSize();
7242
- hNoWidth = this.getStringWidth(hNoStr);
7243
- } else if (hydrogensToAdd > 1) {
7237
+ if (hydrogensToAdd > 1) {
7244
7238
  hNoStr = valueOf_18(hydrogensToAdd);
7245
7239
  this.mpSetSmallLabelSize();
7246
7240
  hNoWidth = this.getStringWidth(hNoStr);
@@ -15710,33 +15704,32 @@ function getExports($wnd) {
15710
15704
  return -$wnd.Math.atan2(v2.getLength() * v1.dot(n2), n1.dot(n2));
15711
15705
  };
15712
15706
  _.changeAtom_0 = function changeAtom(atom, atomicNo, mass, abnormalValence, radical) {
15713
- var changed;
15707
+ var isAtomicNoChange;
15714
15708
  if ((atomicNo == 1 || atomicNo == 151 || atomicNo == 152) && this.getOccupiedValence_0(atom) > 1)
15715
15709
  return false;
15716
- changed = this.mIsFragment && neq(and_0(this.mAtomQueryFeatures[atom], not_0(1)), 0);
15717
- this.mAtomQueryFeatures[atom] = and_0(this.mAtomQueryFeatures[atom], not_0(1));
15718
- if (jsNotEquals(this.mAtomList, null) && jsNotEquals(this.mAtomList[atom], null)) {
15719
- this.mAtomList[atom] = null;
15720
- changed = true;
15721
- }
15722
- if (jsNotEquals(this.mAtomCustomLabel, null) && jsNotEquals(this.mAtomCustomLabel[atom], null)) {
15723
- this.mAtomCustomLabel[atom] = null;
15724
- changed = true;
15725
- }
15726
- if (atomicNo == this.mAtomicNo[atom] && mass == this.mAtomMass[atom] && abnormalValence == this.getAtomAbnormalValence_0(atom) && radical == this.getAtomRadical_0(atom))
15727
- return changed;
15728
15710
  if (atomicNo == 151 || atomicNo == 152) {
15729
15711
  mass = atomicNo - 149;
15730
15712
  atomicNo = 1;
15731
15713
  }
15732
- this.mAtomFlags[atom] &= 448 | 512;
15733
- this.mAtomicNo[atom] = atomicNo;
15714
+ isAtomicNoChange = atomicNo != this.mAtomicNo[atom] && (!this.mIsFragment || eq(and_0(this.mAtomQueryFeatures[atom], 1), 0) && (jsEquals(this.mAtomList, null) || jsEquals(this.mAtomList[atom], null)));
15715
+ if (isAtomicNoChange) {
15716
+ this.mAtomQueryFeatures[atom] = 0;
15717
+ if (jsNotEquals(this.mAtomList, null) && jsNotEquals(this.mAtomList[atom], null))
15718
+ this.mAtomList[atom] = null;
15719
+ if (jsNotEquals(this.mAtomCustomLabel, null) && jsNotEquals(this.mAtomCustomLabel[atom], null))
15720
+ this.mAtomCustomLabel[atom] = null;
15721
+ } else if (mass == this.mAtomMass[atom] && abnormalValence == this.getAtomAbnormalValence_0(atom) && radical == this.getAtomRadical_0(atom)) {
15722
+ return false;
15723
+ }
15724
+ if (isAtomicNoChange) {
15725
+ this.mAtomicNo[atom] = atomicNo;
15726
+ this.mAtomFlags[atom] &= 448 | 512;
15727
+ this.mAtomCharge[atom] = 0;
15728
+ this.removeMappingNo(this.mAtomMapNo[atom]);
15729
+ }
15734
15730
  this.mAtomMass[atom] = mass;
15735
- this.mAtomCharge[atom] = 0;
15736
- this.mAtomQueryFeatures[atom] = 0;
15737
15731
  this.setAtomAbnormalValence_0(atom, abnormalValence);
15738
15732
  this.setAtomRadical_0(atom, radical);
15739
- this.removeMappingNo(this.mAtomMapNo[atom]);
15740
15733
  this.mValidHelperArrays = 0;
15741
15734
  return true;
15742
15735
  };
@@ -18385,17 +18378,27 @@ function getExports($wnd) {
18385
18378
  return implicitHydrogens;
18386
18379
  };
18387
18380
  _.getImplicitHydrogens_1 = function getImplicitHydrogens_0(atom) {
18388
- var delocalizedBonds, i, i0, maxValence, occupiedValence, valenceList;
18381
+ var delocalizedBonds, i, i0, i1, maxValence, occupiedValence, valenceList;
18389
18382
  if (this.mIsFragment && eq(and_0(this.mAtomQueryFeatures[atom], 2048), 0))
18390
18383
  return 0;
18391
18384
  if (!this.supportsImplicitHydrogen_0(atom))
18392
18385
  return 0;
18386
+ this.ensureHelperArrays_0(1);
18387
+ if (this.mIsFragment) {
18388
+ if (neq(and_0(this.mAtomQueryFeatures[atom], 1), 0))
18389
+ return 0;
18390
+ if (jsNotEquals(this.mAtomList, null) && jsNotEquals(this.mAtomList[atom], null) && this.mAtomList[atom].length > 1)
18391
+ return 0;
18392
+ for (i0 = 0; i0 < this.mAllConnAtoms[atom]; i0++)
18393
+ if (bitCount_1(this.mBondQueryFeatures[this.mConnBond[atom][i0]] & 127) > 1)
18394
+ return 0;
18395
+ }
18393
18396
  if (this.mAtomicNo[atom] == 0 || equals_Ljava_lang_Object__Z__devirtual$_2("*", this.getAtomCustomLabel_0(atom)))
18394
18397
  return this.mAllConnAtoms[atom] == 0 ? 1 : 0;
18395
- this.ensureHelperArrays_0(1);
18396
18398
  occupiedValence = 0;
18397
- for (i0 = 0; i0 < this.mAllConnAtoms[atom]; i0++)
18398
- occupiedValence += this.mConnBondOrder[atom][i0];
18399
+ for (i1 = 0; i1 < this.mAllConnAtoms[atom]; i1++)
18400
+ if (!this.mIsFragment || eq(and_0(this.mAtomQueryFeatures[this.mConnAtom[atom][i1]], 536870912), 0))
18401
+ occupiedValence += this.mConnBondOrder[atom][i1];
18399
18402
  if (this.mIsFragment) {
18400
18403
  delocalizedBonds = 1;
18401
18404
  for (i = 0; i < this.mConnAtoms[atom]; i++)
@@ -28160,7 +28163,7 @@ function getExports($wnd) {
28160
28163
  _.mSingleDotSeparator = false;
28161
28164
  _.mSmartsFeatureFound = false;
28162
28165
  _.mSmartsMode = 0;
28163
- var BRACKET_LEVELS = 32, HYDROGEN_IMPLICIT_ZERO = 9, INITIAL_CONNECTIONS = 16, MAX_AROMATIC_RING_SIZE = 15, MAX_CONNECTIONS = 100, MODE_CREATE_SMARTS_WARNING = 64, MODE_ENUMERATE_SMARTS = 128, MODE_MAKE_HYDROGEN_EXPLICIT = 8, MODE_NO_CACTUS_SYNTAX = 16, MODE_SINGLE_DOT_SEPARATOR = 32, MODE_SKIP_COORDINATE_TEMPLATES = 4, SMARTS_MODE_GUESS = 1, SMARTS_MODE_IS_SMARTS = 2, SMARTS_MODE_IS_SMILES = 0, SMARTS_MODE_MASK = 3;
28166
+ var BRACKET_LEVELS = 32, HYDROGEN_IMPLICIT_ZERO = 9, INITIAL_CONNECTIONS = 16, MAX_AROMATIC_RING_SIZE = 15, MAX_CONNECTIONS = 100, MODE_CREATE_SMARTS_WARNING = 64, MODE_ENUMERATE_SMARTS = 128, MODE_MAKE_HYDROGEN_EXPLICIT = 8, MODE_NO_CACTUS_SYNTAX = 16, MODE_NO_STACKTRACES = 256, MODE_SINGLE_DOT_SEPARATOR = 32, MODE_SKIP_COORDINATE_TEMPLATES = 4, SMARTS_MODE_GUESS = 1, SMARTS_MODE_IS_SMARTS = 2, SMARTS_MODE_IS_SMILES = 0, SMARTS_MODE_MASK = 3;
28164
28167
  var Lcom_actelion_research_chem_SmilesParser_2_classLit = createForClass("com.actelion.research.chem", "SmilesParser", 159, Ljava_lang_Object_2_classLit);
28165
28168
  function $clinit_SmilesParser$EnumerationPosition() {
28166
28169
  $clinit_SmilesParser$EnumerationPosition = emptyMethod;
@@ -43482,7 +43485,7 @@ function getExports($wnd) {
43482
43485
  break;
43483
43486
  case 12:
43484
43487
  if (realNeighbours <= 1)
43485
- queryFeatures = or_0(queryFeatures, or_0(or_0(131072, 1099511627776), 2097152));
43488
+ queryFeatures = or_0(queryFeatures, or_0(or_0(131072, 262144), 2097152));
43486
43489
  else if (realNeighbours <= 3)
43487
43490
  queryFeatures = or_0(queryFeatures, 2097152);
43488
43491
  break;
@@ -71072,7 +71075,7 @@ function getExports($wnd) {
71072
71075
  $sendStats("moduleStartup", "end");
71073
71076
  $gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps);
71074
71077
  const toReturn = $wnd["OCL"];
71075
- toReturn.version = "9.22.0";
71078
+ toReturn.version = "9.22.1";
71076
71079
  return toReturn;
71077
71080
  }
71078
71081
  var isBrowserWindow = typeof window !== "undefined" && typeof window.document !== "undefined";
@@ -71217,8 +71220,8 @@ export {
71217
71220
  };
71218
71221
  /**
71219
71222
  * openchemlib - Manipulate molecules
71220
- * @version v9.22.0
71221
- * @date 2026-03-26T09:27:41.846Z
71223
+ * @version v9.22.1
71224
+ * @date 2026-05-02T08:37:42.417Z
71222
71225
  * @link https://github.com/cheminfo/openchemlib-js
71223
71226
  * @license BSD-3-Clause
71224
71227
  */