chemaxon.struc.MolBond.equals()
compares the bonds by reference and not by the end points. CHEMAXON_LICENSE_URL
environment variable or the chemaxon.license.url
java system property is set. NullPointerException
.java.lang.ArrayIndexOutOfBoundsException
when reading parallel bonds atoms.
Now chemaxon.formats.MolFormatException
is thrown instead. d2s:-ole
format option,
the optical structure recognition of images was disabled as well.No changes
StackOverflowError
wrapped in an IOException
.atomNumbersVisible
parameter has been deprecated and has been replaced by the atomNumberingType
parameter. API DocumentationsetPiece(Molecule)
method did not work; it set the molecule on the canvas instead of putting it on the cursor.
ForumMRecord.getMolString()
method returned null.java.lang.ArrayIndexOutOfBoundsException
was thrown when a
multicenter atom being the only member of an S-group was removed.
No changes.
No changes.
setPiece(Molecule)
method did not work, it set the molecule on the canvas instead of putting it on the cursor.
ForumNon-public version
java.util.Date
object instead of string.-ocr
format option. DocumentationcheckErrorCount
Chemical Terms function returns
the number of errors/issues found by the checker(s) in the configuration. Documentation"abbrevgroup:excluded=Ph,Ala,Gly"
,
"abbrevgroup:excluded='Ph,Ala,Gly'"
or
"abbrevgroup:excluded="Ph,Ala,Gly""
.c
added 'CIS OR TRANS' stereo information to double bonds in small rings. insideTag
format option was not working for XML and XHTML documents.No changes.
No changes.
extraBonds
did not work therefore the bond type menu appearance could not be changed.
Forum topicosraTimeout
option has been added to configure the maximum time to wait
for OSRA to convert an image to structure (the default is 20 seconds).sortableFormula()
function is introduced. The generated
sortable formula can be used to sort formulas in alphabetical order.
Documentation--correctionlibrarypath
to read custom training file.sortableFormula
option is introduced. The generated sortable
formula can be used to sort formulas in alphabetical order.-p
, has been introduced to save the training result to custom path. com.chemaxon.mapper.Automapper
java.lang.RuntimeException
.
Forum topicjava.lang.ArrayIndexOutOfBoundsException
during peptide import. name:source
returned an empty name for empty structures instead of the actual stored name. MoleculeGraph.VALENCE_CHECK_AMBIGUOUS,
MoleculeGraph.ValenceCheckState,
MoleculeGraph.setValenceCheckState(ValenceCheckState),
MoleculeGraph.getValenceCheckState()
MoleculeGraph.getPossibleAttachmentPoints(MolAtom)
SuperatomSgroup.getAttachAtoms(),
SuperatomSgroup.getLegalAttachAtoms(),
SuperatomSgroup.getFreeLegalAttachAtoms(),
SuperatomSgroup.isFreeLegalAttachAtom(MolAtom),
SuperatomSgroup.isLegalAttachment(MolAtom),
SuperatomSgroup.sortXBonds(),
MolAtom.getAttach(),
MolAtom.setAttach(int),
MolAtom.setAttach(int, Sgroup)
ElementalAnalyser.setMolecule(SMolecule)
Molecule.exportToFormat(String),
Molecule.exportToBinFormat(String),
Molecule exportToObject(String)
throws java.lang.IOException
. chemaxon.marvin.io.formats.name.nameexport.IUPACNamer.generateName(Molecule)
, though not documented, was public for internal reasons, and used a non-thread-safe way
to receive options. It is now deprecated in favor of chemaxon.formats.MolExporter(Molecule, String format)
, where format can be for instance "name" for IUPAC name, "name:t" for traditional name.
See https://www.chemaxon.com/marvin/help/formats/name-doc.html#export for all possible options.chemaxon.marvin.modules.AutoMapper
MolAtom.setMassnoIfKnown(String),
MolAtom.isNobleGas(),
MolAtom.isArrowEnd(),
MolAtom.valenceCheck(),
MolAtom.getEdgeCount(),
MolAtom.getEdge(int),
MolAtom.getEdgeTo(MolAtom),
MolAtom.haveSimilarEdges(MolAtom),
MolBond.ARROW(),
MolBond.isCoordinative(),
MolBond.isArrow(),
MolBond.getNode1(),
MolBond.getNode2(),
MolBond.getOtherNode(MolAtom),
MolBond.cloneEdge(MolAtom a1, MolAtom a2)
MoleculeGraph.AROM_CHEMAXON,
MoleculeGraph.AROM_DAYLIGHT(),
MoleculeGraph.setSetSeqs(int id),
MoleculeGraph.getAromrings(),
MoleculeGraph.getNonAromrings(),
MoleculeGraph.getAromrings(int),
MoleculeGraph.getNonAromrings(int),
MoleculeGraph.mergeFrags(),
MoleculeGraph.getFragIds(),
MoleculeGraph.getfindFragById(int fragId, MoleculeGraph frag),
MoleculeGraph.getNode(int),
MoleculeGraph.setNode(int, MolAtom),
MoleculeGraph.insertNode(int, MolAtom),
MoleculeGraph.removeNode(MolAtom),
MoleculeGraph.removeNode(MolAtom, int),
MoleculeGraph.removeNodeVector(),
MoleculeGraph.getEdgeCount(),
MoleculeGraph.getEdge(int),
MoleculeGraph.setEdge(int, MolBond),
MoleculeGraph.insertEdge(int, MolBond),
MoleculeGraph.insertEdgeInOrder(MolBond, MolBond[]),
MoleculeGraph.replaceEdge(MolBond, MolBond),
MoleculeGraph.removeEdge(MolBond),
MoleculeGraph.getEdgeArray(),
MoleculeGraph.getEdgeVector(),
MoleculeGraph.getAllEdges(),
MoleculeGraph.regenEdges(),
MoleculeGraph.sortEdgesAccordingTo(MolBond[]),
MoleculeGraph.mergeNodes(MolAtom that, MolAtom),
MoleculeGraph.mergeFrags(int, int)
Molecule.mergeFrags()
RgMolecule.setAbsStereo(boolean, int, int),
RgMolecule.createMol(String),
RgMolecule.getBtab()
RxnMolecule.getBtab(),
RxnMolecule.getStructureCount(int),
RxnMolecule.getStructure(int, int),
RxnMolecule.addStructure(Molecule, int),
RxnMolecule.removeStructure(int, int)
CEdge, CNode, CGraph
MDocument.setGUIProperyContainer(MPropertyContainer)
MolExporter.exportToObject()
added an extra newline to SMILES. +/-groups
" has been added to enable (+) or disable (-) the conversion of groups and fragments, such as "ethyl", "nitro", "phenoxy", etc.MolFormatException
. tpol
) calculation didn't interrupt when clean3D failed.structurechecker
command-line.cxcalc
and
"Isoelectric Point" calculation in MarvinSketch threw "ArrayIndexOutOfBoundsException"
in the reported cases. Forum topicjava.lang.IllegalStateException
is thrown. java.lang.ArrayIndexOutOfBoundException
. --pH
command line option did not work in hydrogen bond acceptor-donor calculation. structurechecker
command line tool. -g
(ignore error) option of evaluate
did not work when -x
(extract) option was used. Forum topicCXNSharedAddin
library has been introduced to handle tabular data transfer from/to Microsoft Office applications. imageImportServiceURL
has been added to the image importer module. The URL can be set on the "Preferences" dialog or as an import option. MolAtom.BRIDGEATOM_H
, is added to Hydrogenize.removeHAtoms(MoleculeGraph, int)
method to remove hydrogens connected to bridgehead atoms. MolImporter.close()
.Fsg
, has been introduced to ungroup superatom s-groups with more than two attachment points. Documentation MolFileHandler.collectFileInfo()
returns molecule and reaction identifiers $MFMT $MIREG, $MFMT $MEREG, $RFMT $RIREG, $RFMT $REREG, $MIREG, $MEREG, $RIREG, $REREG as well.RgMolecule.fuse()
resulted inconsistent molecule when it was invoked on RgMolecules having SuperAtom S-group in its definition. SGROUP_H,
has been introduced, for remove such hydrogens. MulticenterTransform.transformMulticenters(Molecule mol)
and MulticenterTransform.restoreMulticenters(Molecule mol)
changed the number of implicit hydrogens of atoms.
int[] getSSSRBondSet()
, was removed and, instead, BitSet getSSSRBondSet()
was introduced.structurecheck
commandline.
No changes.
No changes.
chemaxon.util.ImageExportUtil
did not calculate the size of the image properly in certain
cases."evaluate --list-functions"
threw NullPointerException if the user's Evaluator configuration file was missing.No changes
markushEnumerations('random:true id:true', '1,2', 5)
.)celli_j
and the possibility to escape characters.
recogn
argument of the
MFileFormat constructor.
Deprecated Recognizer.getPriority(), use
MFileFormat.getPriority(subformat) instead.
license
command line script
XYZ
files. See
release notes.marvin.js
to get JVM
and GUI ("awt" or "swing"):
marvin_get_jvm()
and marvin_get_gui()
.
true
.
The molconvert program writes OS dependent end of lines always.MarvinPane.setBondSetColor()
bean
method.true
(default).
MarvinPane.setBondSetColor()
methods instead of
setSetColor.true
settings instead of the deprecated
"atomset" color scheme.
noantialias
.
labels
which became deprecated.MolConvert.convert()
cleans imported SMILES.
MolAtom.SELECTED
and VALENCE_ERROR
constants are not public any
more, they are replaced by the
isSelected,
setSelected,
hasValenceError
and
setValenceError
methods.
MolAtom.getAbbrev()
and abbrevOf()
replaced by getSymbol()
and symbolOf()
CNode.copy(CNode)
, MolAtom.copy(CNode)
does not copy the edges,
CNode.clone()
became abstract, MolAtom.clone()
does not clone the
edges.getTabScale(i)
to query the magnification in a cellgetBestTabScale(i)
to query the best magnification value for a
cellgetBestTabScale()
to query the smallest best scale valuemag
parameter).MarvinPane.setSetColor()
bean method.
newInstance()
method of CGraph, Molecule, etc.
became public.
Molecule.getComment()
and setComment()
methodsgetReactionSupport()
, setReactionSupport()
.~/.mview
, ~/.msketch
) can be set using the setIniProps method.sketchPane.loadIni()
or
viewPane.loadIni()
is called.setMol(File, String)
method added, where string can
contain the import options, in one of the following forms:
"format:options", "format:", "options". The old setMol(File)
method
removed. MViewPane: setM(int, File, String)
added.MolExportModule.sbuf
field renamed to stringBuffer
.MolAtom.getAbbrev()
and abbrevOf
are deprecated, use getSymbol()
and
symbolOf()
instead.Molecule.aromatize()
MViewPane.getCellCount()
returns the total number of cells,
not just the number of visible cells.
rendering
, colorScheme
,
implicitH
, downWedge
, navmode
properties in
PropertyChange events
is String
just like the argument type of their
set
methods.
(Previously, the two types did not match.)
chemaxon/marvin/util/MolExportModule
.T
) component for MView
tables.Molecule.getProperty(key)
is not case sensitive.marvinbeans/examples/sketch/chemaxon/marvin/Sketch.java
)
for details.
Molecule.getO()
and setO()
replaced by getLocation()
and
setLocation()
Molecule.getCenter()
renamed to calcCenter()
, and it
calculates center of mass instead of geometrical centerMolecule.moveTo(location)
CGraph.indexOf
changes
indexOf(CNode atom)
and indexOf(CEdge bond)
MolAtom.ionChargeOf(Z)
MolAtom.negoxOf(Z, boolean)
removed, negOxOf(Z)
, posOxOf(Z)
created insteadMolecule.getProperties()
removedMolecule.clearForImport()
-> clearForImport(name)
MSketch.getMol("mol:b=XXX")
instead of
<param NAME="bondlen" VALUE="XXX">Molecule.clean(dim, bondlen, opts)
removed,
use clean(dim, opts)
MolBond.DEFAULT_LENGTH
renamed to MolBond.CCLENGTH
MolBond.getDesiredLengthRatio()
removed, use the new
dimension dependent Molecule.getDesiredLength(bond)
method instead
MolAtom.covalentRadiusOf(Z)
-> covalentRadiusOf(Z, bondOrder)
queryAtoms
,
atomStrings
,
and extraBonds
parameters.
extraBonds
.
cleanOpts
applet parameter.
downWedge
parameter.getAtomCount(moleculeIndex)
to query the number of atoms
in a molecule cellisSelected(moleculeIndex, atomIndex)
to query whether the specified
atom is selected or notselectAtom(moleculeIndex, atomIndex, select)
to (un)select
an atomselectAllAtoms(moleculeIndex, select)
to (un)select all
atomslayout
and
param
for the molecule cells, layoutH
and paramH
for the optional header.
scroll
parameter ceased to exist.getCtab()
, getBtab()
, fragments()
,
findFrag()
, getFragIds()
, getLock()
, getParent()
, etc.getLigand(i)
, getEdge(i)
,
getEdgeCount()
CNode.findFrag()
and CGraph.fuseFrag()
removedCGraph.getEdge(i)
, CGraph.getNode(i)
, Molecule.getAtomArray()
created;
CGraph.getEdges()
, CGraph.getNodes()
, Molecule.getAtoms()
,
Molecule.getBonds()
removedMolecule.reuseAtom(Z, i)
and Molecule.endReuse(na)
created,
MolAtom.reuse(Z, mol, i)
removedMolAtom.setCharge
method removed. Instead of
a.setCharge(charge, false)
, use a.setCharge(charge);
a.setFlags(0, MolAtom.FIX_CHARGE);
CGraph.fuseFrag(CNode a)
has only one argument.null
in removeRef).MolBond.setFlags(int flags, int mask)
method introduced.colors=mono
,
both in the
sketcher and the
viewer.labels
parameter.chemaxon/beans
moved to
chemaxon/marvin/beans
. The MarvinSketch bean is
chemaxon.marvin.beans.MSketchPane
, the MarvinView bean is
chemaxon.marvin.beans.MViewPane
.chemaxon/marvin/templates/
(from templates/
)..t
(from .cssdf
).chemaxon/marvin/templates/generic.t
, so the
firewall problem ceased for the
generic template set.MolImport
module moved into marvin.jar because of the
firewall problem.anyatom
parameter became deprecated but is
still present for backward compatibility, with slightly changed
behavior. Specifying anyatom
with any value
(empty string also) is equivalent to specifying
"any,hetero
" in queryAtoms
.getBondlen
.
getMag
,
getPiece
,
getRescaling
.
New method in MarvinView:
setSelectedIndex
,
The setDispopts
method ceased to exist.
Display options can be set using the dispopts applet parameter only.
ARCHIVE
option in the applet
tag (Netscape 2 and MS Explorer 3).
Reasons:
marvin.jar
. The
simplest way to keep Netscape from doing so is to remove the class
files.ARCHIVE
is, and
don't use it properly. The consequence is a significantly increased
download time.ARCHIVE
option cannot be left unnoticed,
because Marvin will simply not run. Much better than turning your
user's hair gray.If you are absolutely sure that you want your Marvin page work with Netscape 2 and MS Explorer 3 too, you must unpack marvin.zip manually. However, we do not recommend this, because you will probably do something wrong. For example, once you will upgrade Marvin and forget to unpack the new marvin.zip. Mixing two different versions will result in malfunction.
rescaling
parameter in MarvinSketch is changed to "mag
"
because generally this value is the most useful.tmplmol
, tmplpar
, and ntmpls
parameters
no longer exist and are replaced by the much more easy
to use tmpls parameters.
The unit rotation angle can be specified as a new Marvin-specific
property M MRV PHI
in the template molecule files
(instead of the tmplpar
parameters).
&{marvinjar};
is not packaged now
(its name caused too many problems), so you must rewrite your applet
tags, otherwise the download time with MS Explorer will not be
optimal.
js:
action.In the past, JavaScripter was required because scripting applets are not cached by older browsers (namely Netscape 3). An applet that has the MAYSCRIPT attribute is loaded from the net for each page that contains it. In Netscape 4 and later, there is no such problem. On the other hand, a bug (or feature?) in Netscape 4.6 makes the use of JavaScripter impossible as a separate applet. That's why we merged the two applets now.
implicitH
" option in the dispopts applet
parameter instead of the showH
parameter which ceased to exist.
off
" -> "implicitH=off
"term
" -> "implicitH=heteroterm
"
(because "term
" ceased to exist)hetero
" ->
"implicitH=hetero
"heteroterm
" ->
"implicitH=heteroterm
" (default)all
" ->
"implicitH=all
"explicitH=off
" (default: "all
").
setAtoms
, setNoatoms
,
setNobonds
methods, and the atoms
,
noatoms
, nobonds
applet parameters ceased to exist and replaced by
elements
,
anyatom
,
queryAtoms
,
and
extraBonds
.
Omitting the real newlines like in "... 000Wun+V70\ iuzV000W60\ iuzVGS2W60\ K72WGS2W60\ ...
000Wun+V70\iuzV000W60\iuzVGS2W60\K72WGS2W60\
",
seemed to be safe so far, while the
Marvin applets were tested only in Sun, Netscape, Symantec, and
Microsoft JVM's.
The reason for discontinuing this practice is that the
AppletViewer in Kaffe 1.0b3
has problems if you write more than one molfile lines in one HTML line.
getMol()
and getM()
removed.
It didn't work with MSIE anyway.
In Marvin 1.1.4 and before, x
was a boolean variable
specifying the format of the generated molfile: MDL mol
(false
) or compressed mol (true
).
From version 1.2, x
is a format descriptor string
to ease the introduction of new molecule file formats as Marvin evolves.
MDL molfile format is denoted by the string
"mol
",
compressed mol is "csmol
",
SMILES is "smiles
".
"Extra features" are planned to be available as external modules in future releases of Marvin. External modules are downloaded only when needed. In Marvin 1.2.3, MDL mol, compressed mol and SMILES export are external modules.
The problem is that older browsers such as Netscape 3, cannot load the external modules when the module is needed by a public method which is called from JavaScript. So if you want your web page containing Marvin to work perfectly with earlier releases of Netscape than 4, then you should preload all the modules which may be needed by JavaScript calls.
For example, if you are using
MSketch.getMol("smiles")
on your page,
then you should also have the following applet parameter:
<param NAME="preload" VALUE="SmilesExport">
.