Skip to content
This repository was archived by the owner on Jul 10, 2024. It is now read-only.

Commit 3b6d6a5

Browse files
committed
made HashMap into a LinkedHashMap to preserve order on graphs with graph invarient collisions
1 parent 8fc341d commit 3b6d6a5

File tree

3 files changed

+33
-47
lines changed

3 files changed

+33
-47
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@
88
#*.jar
99
*.war
1010
*.ear
11+
/binaries/
12+
/target/

pom.xml

+4-33
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>gov.nih.ncats</groupId>
88
<artifactId>lychi</artifactId>
99
<packaging>jar</packaging>
10-
<version>0.5.0</version>
10+
<version>0.5.1</version>
1111
<name>Lychi</name>
1212

1313
<repositories>
@@ -42,11 +42,6 @@
4242
<artifactId>jchem</artifactId>
4343
<version>3.0.0</version>
4444
</dependency>
45-
<dependency>
46-
<groupId>junit</groupId>
47-
<artifactId>junit</artifactId>
48-
<version>4.12</version>
49-
</dependency>
5045
</dependencies>
5146

5247
<build>
@@ -78,45 +73,21 @@
7873
<configuration>
7974
<archive>
8075
<manifest>
81-
<mainClass>tripod.molvec.ui.Viewer</mainClass>
76+
<mainClass>lychi.LyChIStandardizer</mainClass>
8277
</manifest>
8378
</archive>
8479
<descriptorRefs>
8580
<descriptorRef>jar-with-dependencies</descriptorRef>
8681
</descriptorRefs>
8782
</configuration>
8883
</plugin>
89-
<!--
90-
<plugin>
91-
<groupId>org.apache.maven.plugins</groupId>
92-
<artifactId>maven-assembly-plugin</artifactId>
93-
<executions>
94-
<execution>
95-
<id>create-distribution</id>
96-
<phase>package</phase>
97-
<goals>
98-
<goal>single</goal>
99-
</goals>
100-
<configuration>
101-
<finalName>GSRSPull-${project.version}</finalName>
102-
<appendAssemblyId>false</appendAssemblyId>
103-
<descriptors>
104-
<descriptor>assembly/sample.xml</descriptor>
105-
</descriptors>
106-
</configuration>
107-
</execution>
108-
</executions>
109-
</plugin>
110-
-->
11184
</plugins>
11285
<resources>
11386
<resource>
11487
<directory>src/main/java</directory>
11588
<includes>
116-
<include>**/*.html</include>
117-
<include>**/*.js</include>
118-
<include>**/*.css</include>
119-
<include>**/*.png</include>
89+
<include>**/*.smi</include>
90+
<include>**/*.smirks</include>
12091
</includes>
12192
</resource>
12293
</resources>

src/main/java/lychi/LyChIStandardizer.java

+27-14
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
11
package lychi;
22

3-
import java.io.*;
4-
import java.util.*;
5-
import java.util.logging.Logger;
6-
import java.util.logging.Level;
7-
import java.util.concurrent.ConcurrentHashMap;
8-
import java.util.concurrent.locks.ReentrantLock;
3+
import java.io.BufferedReader;
4+
import java.io.FileOutputStream;
5+
import java.io.IOException;
6+
import java.io.InputStreamReader;
7+
import java.io.PrintStream;
98
import java.security.MessageDigest;
9+
import java.util.ArrayList;
10+
import java.util.Arrays;
11+
import java.util.BitSet;
12+
import java.util.Comparator;
13+
import java.util.Enumeration;
14+
import java.util.HashMap;
15+
import java.util.HashSet;
16+
import java.util.LinkedHashMap;
17+
import java.util.List;
18+
import java.util.Map;
19+
import java.util.Set;
20+
import java.util.Vector;
21+
import java.util.logging.Level;
22+
import java.util.logging.Logger;
1023

1124
import chemaxon.formats.MolImporter;
12-
import chemaxon.formats.MolFormatException;
25+
import chemaxon.struc.DPoint3;
1326
import chemaxon.struc.MolAtom;
1427
import chemaxon.struc.MolBond;
1528
import chemaxon.struc.Molecule;
16-
import chemaxon.struc.MoleculeGraph;
1729
import chemaxon.struc.RgMolecule;
1830
import chemaxon.util.MolHandler;
19-
import chemaxon.struc.DPoint3;
20-
import lychi.tautomers.*;
21-
import lychi.util.*;
31+
import lychi.tautomers.SayleDelanyTautomerGenerator;
32+
import lychi.util.Base32;
33+
import lychi.util.ChemUtil;
2234

2335
/**
2436
* A new version of CanonicalForm but without using Reactor class;
@@ -918,8 +930,8 @@ public static void preprocessing (final Molecule m) {
918930
int[] rank = new int[m.getAtomCount()];
919931
m.getGrinv(rank);
920932

921-
Map<MolAtom, Integer> chirality = new HashMap<MolAtom, Integer>();
922-
Map<MolAtom, MolBond[]> saturated = new HashMap<MolAtom, MolBond[]>();
933+
Map<MolAtom, Integer> chirality = new LinkedHashMap<MolAtom, Integer>();
934+
Map<MolAtom, MolBond[]> saturated = new LinkedHashMap<MolAtom, MolBond[]>();
923935
for (int i = 0; i < m.getAtomCount(); ++i) {
924936
int chiral = m.getChirality(i);
925937
MolAtom a = m.getAtom(i);
@@ -2864,7 +2876,6 @@ else if (tag == null) {
28642876

28652877
int dim = mol.getDim();
28662878
msz.standardize(mol);
2867-
28682879
String smi = ChemUtil.canonicalSMILES (mol, true);
28692880
if (!format.startsWith("smi")) {
28702881
mol.setProperty("LyChI_SMILES", smi);
@@ -2910,7 +2921,9 @@ else if (tag == null) {
29102921
}
29112922

29122923
public static void main(String[] argv) throws Exception {
2924+
29132925
String tag = null;
2926+
29142927
List<String> input = new ArrayList<String>();
29152928
for (int i = 0; i < argv.length; ++i) {
29162929
if (argv[i].startsWith("tag=")) {

0 commit comments

Comments
 (0)