# LSD History

Last modified: April, 02nd 2013.

## 3.4.8

Correction of a bug present in version 3.4.7.
The message "Mass of X is unknown" was always printed, even when no X atom was declared in the input file. As a consequence, the molecular mass was not calculated.

## 3.4.7

Atoms X, Y, Z and VALE command were suppressed in version 3.4.1 with the implementation of charged atoms and multiple valency atoms.
VALE command has been reintroduced to define valency and mass of atoms X only (X cannot be charged).

Source | LSD-3.4.7.tar.gz
DOS | LSDos-3.4.7.zip
Mac | iLSD-3.4.7.zip

## 3.4.6

N2+ and B- electrically charged atoms are available.

Source | LSD-3.4.6.tar.gz
DOS | LSDos-3.4.6.zip
Mac | iLSD-3.4.6.zip

## 3.4.5

2J COSY correlations were not silently discarded anymore since version 3.4.1.
This bug is now corrected for CH2 groups. 2J COSY correlations that involve CH or CH3 groups are not allowed.

Source | LSD-3.4.5.tar.gz
DOS | LSDos-3.4.5.zip
Mac | iLSD-3.4.5.zip

## 3.4.4

Real number are no longer optional.

Chemical shifts of atoms and hydrogens may by provided with `SHIX` and `SHIH` commands respectively.

It is now possible to create lists of atoms by element type (`ELEM` command).

Anti-bredt rule may be disabled (`BRUL` command).

Source | LSD-3.4.4.tar.gz
DOS | LSDos-3.4.4.zip
Mac | iLSD-3.4.4.zip

## 3.4.3

Test for anti-Bredt structure has been modified to be compatible with triple bonds and multiple valence atoms (`N5`, `S4`, `S6` and `P5`).

Bug in double and triple bonds placement has been corrected.

Source | LSD-3.4.3.tar.gz
DOS | LSDos-3.4.3.zip
Mac | iLSD-3.4.3.zip

## 3.4.2

Corrects a bug present in version 3.4.1. Isomorphism detection by the IUPAC InChI library did not support molecules including `N5`, `S4`, `S6` and `P5` atoms.
InChI creation failure now causes LSD interruption and Error message printing.

New `CHAR`, `CPOS` and `CNEG` commands have been added to help the definition of lists of charged atoms.

The `MULT` command accepts B atoms.

Source | LSD-3.4.2.tar.gz
DOS | LSDos-3.4.2.zip
Mac | iLSD-3.4.2.zip

## 3.4.1

Corrects a bug present in version 3.4.0. An error may occur for particular combinations of HMBC correlations with optional arguments.

LSD deals with ambiguous COSY correlation.
Like the `HMBC` command, the `COSY` command accepts optional arguments with similar functionalities (see version 3.4.0).

sp hybridized atoms, charged atoms and multiple valence atoms (`N5`, `S4`, `S6` and `P5`) are now supported.

The `SKEL` command is not mandatory anymore to associate a substructure fragment number and the corresponding skeleton name. The `FEXP` command argument may directly contain a skeleton name.

Outlsd options 2 (for ARGOS), 3 (for an unpublished software) and 4 (for outdated Macromodel versions) have been disabled.

A converter named mol2ab translates MDL .mol files into LSD substructure description files.

Source | LSD-3.4.1.tar.gz
DOS | LSDos-3.4.1.zip
Mac | iLSD-3.4.1.zip

## 3.4.0

The `HMBC` command may have one or two optional parameters. When a single optional parameter is present, its value is the only possible path length between the coupled atoms. When two optional parameters are present, they define a range of possible coupling path lengths.

Source | LSD-3.4.0.tar.gz
DOS | LSDos-3.4.0.zip
Mac | iLSD-3.4.0.zip

## 3.3.10

The `PROP` command has been modified. Compatibility has been maintained with the existing data files. An optional fourth argument whose value is + or - has been introduced. `PROP 1 2 L3 +` means that atom 1 has 2 or more neighbors in list L3. `PROP 4 0 L5 -` means that atom 4 has 0 or less neighbor in list L5, which is the only explicit way to write that atom 4 has no neighbor in list L5.

By default, non bonded non correlating carbon atoms are now not considered as equivalent. A `CCLA 1` command must be present in order to obtain the previous default behavior of the `CCLA` command.

Source | LSD-3.3.10.tar.gz
DOS | LSDos-3.3.10.zip
Mac | iLSD-3.3.10.zip

## 3.3.9

Until now, if an atom has more than one property list, these lists had to be pairwise disjoint. This restiction has been removed. When an atom gets a new bond, all its property lists are now separately considered.

Source | LSD-3.3.9.tar.gz
DOS | LSDos-3.3.9.zip
Mac | iLSD-3.3.9.zip

## 3.3.8

Bug correction. A bug is present in versions 3.3.6 and 3.3.7 that may lead to a run-time error for particular combinations of ambiguous correlations.

Source | LSD-3.3.8.tar.gz
DOS | LSDos-3.3.8.zip
Mac | iLSD-3.3.8.zip

## 3.3.7

New `COUF` and `STOF` commands change the default names of the solution counter file (solncounter) and of the lsd stop file (stoplsd). Simultaneously solving several problems with lsd is now possible within the same directory, without name conflict for these files.

Source | LSD-3.3.7.tar.gz
DOS | LSDos-3.3.7.zip
Mac | iLSD-3.3.7.zip

## 3.3.6

Correlations of an atom with two partially overlapping groups are now correctly handled.

Two-bond COSY correlations are now silently discarded.

The code of outlsd has been cleaned. New option (9) creates 3D .mol files with H atoms added.

Source | LSD-3.3.6.tar.gz
DOS | LSDos-3.3.6.zip
Mac | iLSD-3.3.6.zip

## 3.3.5

outlsd and m_edit now produce .mol (MDL) file that can be read by Jmol.

lsd does not attempt anymore to analyze empty input files.

Source | LSD-3.3.5.tar.gz
DOS | LSDos-3.3.5.zip
Mac | iLSD-3.3.5.zip

## 3.3.4

Compilation on 64-bit platforms issued warnings due to pointer/integer type mismatch. Fixed.

The postscript file that is produced by genpos can now be browsed in the backward direction by gsview.

Source | LSD-3.3.4.tar.gz
DOS | LSDos-3.3.4.zip
Mac | iLSD-3.3.4.zip

## 3.3.3

Bug fixed: if a group had two HMBC correlations with two hydrogen atoms that were both directly bonded to the same atom, then the two correlations were considered as being valid, even though they carried the same information.

A file named solncounter is now created and updated by lsd, it contains the number of solutions lsd has found so far.

If a file named stoplsd is created when lsd is running, then lsd is stopped.

Source | LSD-3.3.3.tar.gz
DOS | LSDos-3.3.3.zip
Mac | iLSD-3.3.3.zip

## 3.3.2

The new `SKEL` and `PATH` commands associate substructure indexes and their common names. The Data/pinene file provides an example of their use. They were implemented in order to easily select solutions from solution sets, according to the class compound they belong to. The supposed application field of these new commands is the natural product chemistry. A natural product skeleton library will be developed and included in LSD in a near future.

Source | LSD-3.3.2.tar.gz
DOS | LSDos-3.3.2.zip
Mac | iLSD-3.3.2.zip

## 3.3.1

The new `CCLA` (Carbon equivalence CLAsses) command controls the production of isomorphic solutions that only differ in their 13C NMR assignment.

`CCLA 0` is required in order to rank solutions by means of a 13C chemical shift prediction program.

Source | LSD-3.3.1.tar.gz
DOS | LSDos-3.3.1.zip
Mac | iLSD-3.3.1.zip

## 3.3.0

The new `DUPL 2` command eliminates isomorphic structures (same molecule, but different resonance assignments).

Isomophism is detected by means of the IUPAC InChI library.

The `DUPL` command uses the GNU AVL library to detect the duplicated solutions (`DUPL 1`) and the duplicated structures (`DUPL 2`).

The `MULT` command deals with (divalent) S , (trivalent) P, F, Cl, Br, I, and Si atoms.

The `VALE` command has still to be modified to become compatible with `DUPL 2`.

Source | LSD-3.3.0.tar.gz
DOS | LSDos-3.3.0.zip
Mac | iLSD-3.3.0.zip

## 3.2.5

Fixes a bug that occurs when an ambiguous HMBC correlation can be interpreted as a correlation of an atom with itself.

Code cleaning (g++ dos not complain).

Source | LSD-3.2.5.tar.gz
DOS | LSDos-3.2.5.zip
Mac | iLSD-3.2.5.zip

## 3.2.4

Pre-compiled versions for MacOS X (10.4, Tiger) are available.

Two new commands allow the user to stop a LSD run:

- `MAXS` limits the number of produced structures,
- `MAXT` limits the run time.

The new HSQC command is equivalent to the HMQC command.

Source | LSD-3.2.4.tar.gz
DOS | LSDos-3.2.4.zip
Mac | iLSD-3.2.4.zip

## 3.2.3

The new `CNTD 0/1` command allows/forbids multiple-piece solution structures.

Two inequivalent hydrogen atoms bound to the same atom may now have different numbers.

The `FEXP` command in now fully documented.

Outlsd with option 7 produced bad .mol file for uncomplete (`PART 1`) solutions. This problem is now fixed.

Error messages were made more useful.

Source | LSD-3.2.3.tar.gz
DOS | LSDos-3.2.3.zip

## 3.2.2

File names longer than 40 characters were not supported. They may now have any length.

The new "8" option of Outlsd produces 3D mol files, but still with fancy chiral center configurations.

Source | LSD-3.2.2.tar.gz
DOS | LSDos-3.2.2.zip

## 3.2.1

Compiling lsd on a 64 bits machine caused warning messages about the conversion of a pointer (8 bytes long) to an integer (4 bytes long). This problem is fixed.

A bug in Outlsd is now corrected.

The pre-3.2.0 way of filtering solutions by means of multiple substructures is no more available.

Source | LSD-3.2.1.tar.gz
DOS | LSDos-3.2.1.zip

## 3.2.0

Multi-substructure search by means of new `DEFF` and `FEXP` commands. The `EXIT` command may now be omitted. `DISP 1` is now the default.

Source | LSD-3.2.0.tar.gz
DOS | LSDos-3.2.0.zip

## 3.1.9

When lsd is invoked with a file name as command-line argument, the .lsd extension is recognized so that the processing for abc.lsd produces solutions in abc.sol instead of abc.lsd.sol. Any filename that does not end with .lsd is processed as before. The DOS/Windows users can now associate the .lsd extension with their favorite text editor.

Source | LSD-3.1.9.tar.gz

## 3.1.8

The chklsd program (written in awk) has been integrated in lsd. The DOS/Windows version of LSD is nearly there.

Source | LSD-3.1.8.tar.gz

## 3.1.7

Bug fixes. When called with an argument, input and output files are now closed before the lsd program exits. Compiling under DJGPP (DOS C compiler) produces an executable file that does not prevent subsequent writing to input file by a text editor.

Template for exit() included from stdlib.h for lsd, outlsd and genpos.

Clean exit upon interruption by control-C.

Filters/bin/SolnFiltern.pm can be run by the Windows version of Perl.

A binary distribution of LSD for DOS/Windows will soon be available.

Source | LSD-3.1.7.tar.gz

## 3.1.6

New executables for Darwin replace those from version 3.1.0. Installation manual is updated: there is no more reference to a "LSD on CD" distribution.

Replaced all "catch [...]" by "catch {...}" in m_edit.tcl. Just wondering how it could work before.

Source | LSD-3.1.6.tar.gz

## 3.1.5

A solution filter is now available. It retains only the solutions that contain (or not) molecular fragments defined as LSD sub-structures. The user fills a filter script file and uses it by means of the filter.pl command. The new Filters directory contains generic substructures and the required Perl modules.

Source | LSD-3.1.5.tar.gz

## 3.1.4

A new sub-atom type, A, is introduced. A A-type sub-atom can match an atom in the structure having any type.

Source | LSD-3.1.4.tar.gz

## 3.1.3

m_edit has been slighlty improved. It was before impossible to deal with .coo files in which molecules have been removed.

Molecules have now a title in the upper right corner of the display. This is the number given by LSD to solutions. Titles are preseved only in .coo files (not .mol files).

The concept of molecule selection has been introduced. A new menu allows to select(black title)/unselect(red title) molecules and to eliminate those that are not selected.

Molecule drawings can be horizontally and vertically flipped (Arrange menu). A buffer (Buffer menu) was added, so that a modified molecule set can be retrieved.

Source | LSD-3.1.3.tar.gz

## 3.1.2

When LSD is called with a file name as argument, the solution file now contains a header part. Its first line starts with a # followed by the input file name. The input file is then listed. The last line of the header contains a # only. Outlsd is modified to deal with this new format. Old-style .sol files are still correctly processed by outlsd.

The `SUBS` command may take -1 as parameter. In this case, the selected solutions are those that do not contain the substructural element.

Source | LSD-3.1.2.tar.gz

## 3.1.1

The `ELIM` command, as introduced in v3.1.0, can lead to an uncomplete set of solutions. This bug is now corrected.

In 3.1.0, a correlation that does not give rise to a solution when analyzed as 2J and 3J is considered as a potent Very-Long-Range (VLR) correlation. A correlation that gives rise to a solution is not analyzed as a VLR Correlation, thus leading to a logical error, are proved hereafter. If a dataset contains a VLR correlation C, it can lead to a solution even if C is analyzed as being 2J or 3J. This solution is obviously wrong. With v3.1.0, C will never be analyzed as being a VLR correlation, thus preventing LSD to find the correct solution. Therefore, even if the 2J and 3J analysis of a correlation leads to a solution, it must also be analyzed as a potent VLR correlation. Thus, each correlation must be analyzed as a 2J, 3J and VLR one, independently of the number of solutions it gives rise to. This is what v3.1.1 achieves.

When a new bond is created between two atoms, useless correlations are eliminated. Everything happens as if such a correlation was analyzed as 2J and 3J immediately after bond formation. In principle, it should also be analyzed as a VLR correlation. Doing this also leads to remove it *and* to decrement to number of still allowed VLR correlations. So, either being 2J, 3J or VLR, the correlation must be removed. Presently, the number of still allowed VLR correlations is not decremented, allowing thus for more VLR correlations than required. This does not prevent the true solution to be found.

With v3.1.1, in `VERB 2` mode, more information is given to the user.

Source | LSD-3.1.1.tar.gz

## 3.1.0

A given number of unsuccessfull HMBC correlation can be discarded during resolution. An upper limit for the length of the coupling path of eliminated correlations may also be given in the new `ELIM` command.

Source | LSD-3.1.0.tar.gz

## 3.0.2

Experimental distribution for Darwin becomes available.

Source | LSD-3.0.2.tar.gz

## 3.0.1

Installation procedure for Cygwin, Irix and GNU/Linux. French and English documentation.

## Pre-history

The concepts behind LSD have matured in the CNRS-University Joint Research Unit #6013 in Reims (France), taking advantage of a long practice of structure determination of natural products.

LSD is born as a set of Prolog rules around 1990. The first successful run was carried out on a Bull Micral computer with a 4.75 MHz clock. The Data/pdt problem required about 3 minutes computing time.

I switched to a MacIntosh IIci and LPA Mac Prolog, but with only moderate performance improvement in execution speed. At some stage, I switched back to a PC when more processor power became available around.

I finally decided to learn C and to recode LSD. I also switched to a SGI 4D-25 workstation. The speed was multiplied by a factor of about 300. The program was progressively enriched and debugged to reach the present state.

This process lead to version 2.3, for which a demo variant was available.

Version 3.0 is very similar to 2.3, but with improved documentation and installation procedure.

Copyright(C)2000 CNRS-UMR 7312-Jean-Marc Nuzillard