Skip to content

Commit addc8a8

Browse files
authored
Merge pull request ModelSEED#92 from ModelSEED/updating_structures
Updating out-of-date InChI structures
2 parents 0dffd3c + f3694a2 commit addc8a8

10 files changed

Lines changed: 14101 additions & 58216 deletions

File tree

Biochemistry/Structures/MetaCyc/InChI_ChargedStrings.txt

Lines changed: 4441 additions & 2094 deletions
Large diffs are not rendered by default.

Biochemistry/Structures/MetaCyc/InChI_OriginalStrings.txt

Lines changed: 3798 additions & 1451 deletions
Large diffs are not rendered by default.

Biochemistry/Structures/MetaCyc/InChI_SearchStrings.txt

Lines changed: 3704 additions & 1357 deletions
Large diffs are not rendered by default.

Biochemistry/Structures/MetaCyc/InChI_StereoFreeSearchStrings.txt

Lines changed: 610 additions & 285 deletions
Large diffs are not rendered by default.

Biochemistry/Structures/ModelSEED/ModelSEED_Strings.txt renamed to Biochemistry/Structures/ModelSEED_Structures.txt

Lines changed: 1456 additions & 1123 deletions
Large diffs are not rendered by default.

Biochemistry/Structures/Structures.tsv

Lines changed: 0 additions & 51903 deletions
This file was deleted.

Libs/Python/BiochemPy/Compounds.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def loadStructures(self,sources_array=[],db_array=[]):
7373

7474
structures_dict = dict()
7575
if(len(db_array)==1 and db_array[0]=="ModelSEED"):
76-
struct_file = "ModelSEED/ModelSEED_Strings.txt"
76+
struct_file = "ModelSEED_Structures.txt"
7777
struct_file = self.StructRoot+struct_file
7878
reader = DictReader(open(struct_file), dialect = "excel-tab", fieldnames = ['ID','Source','Aliases','Structure'])
7979
for line in reader:
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import java.io.IOException;
2+
3+
import chemaxon.formats.MolImporter;
4+
import chemaxon.formats.MolExporter;
5+
import chemaxon.formats.MolFormatException;
6+
import chemaxon.struc.Molecule;
7+
import chemaxon.marvin.calculations.MajorMicrospeciesPlugin;
8+
import chemaxon.marvin.calculations.TautomerizationPlugin;
9+
import chemaxon.marvin.plugin.PluginException;
10+
11+
public final class ChargeInChI {
12+
13+
public static void main(String[] args){
14+
Molecule mol = new Molecule();
15+
double pH = 7.0;
16+
17+
//Import Mol File
18+
try {
19+
20+
MolImporter mi = new MolImporter(args[0]);
21+
22+
try {
23+
mol = mi.read();
24+
} finally {
25+
mi.close();
26+
}
27+
28+
} catch (MolFormatException e) {
29+
throw new IllegalArgumentException("Invalid molecule format", e);
30+
} catch (IOException e) {
31+
throw new IllegalArgumentException("Error reading input file", e);
32+
}
33+
34+
//Check for pH
35+
if(args.length == 2){
36+
pH = Double.parseDouble(args[1]);
37+
}
38+
39+
//Ready Charge Plugin
40+
MajorMicrospeciesPlugin mms_plugin = new MajorMicrospeciesPlugin();
41+
mms_plugin.setpH(pH);
42+
43+
//Ready Tautomerizer Plugin
44+
TautomerizationPlugin t_plugin = new TautomerizationPlugin();
45+
t_plugin.setDominantTautomerDistributionCalculation(true);
46+
t_plugin.setpH(pH);
47+
48+
//Molecule for fusing all fragments
49+
Molecule FusedMol = new Molecule();
50+
51+
//Fragment Molecule and iterate
52+
Molecule frags[] = mol.convertToFrags();
53+
for(int i = 0; i < frags.length; i++){
54+
55+
try{
56+
57+
//Run Charge Plugin
58+
mms_plugin.setMolecule(frags[i]);
59+
mms_plugin.standardize(frags[i]);
60+
mms_plugin.run();
61+
Molecule mms_mol = mms_plugin.getMajorMicrospecies();
62+
63+
//Run Tautomer Plugin
64+
t_plugin.setMolecule(mms_mol);
65+
t_plugin.standardize(mms_mol);
66+
t_plugin.run();
67+
Molecule t_mol = t_plugin.getStructure(0);
68+
69+
//Fuse fragment
70+
FusedMol.fuse(t_mol,false);
71+
72+
}catch(PluginException PIE){
73+
System.out.println("Error: "+PIE.getMessage());
74+
}
75+
}
76+
77+
//Print to string
78+
try{
79+
80+
String FusedString = MolExporter.exportToFormat(FusedMol, "inchi");
81+
System.out.print(FusedString);
82+
83+
}catch(IOException IOE) {
84+
System.out.println("Error: "+IOE.getMessage());
85+
}
86+
}
87+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
#!/bin/bash
2+
source /vol/kbase/deployment/user-env.sh
23
javac -cp "/homes/seaver/Software/MarvinBeans/lib/*:." ChargeMol.java
4+
javac -cp "/homes/seaver/Software/MarvinBeans/lib/*:." ChargeInChI.java
35

Scripts/Structures/List_ModelSEED_Structures.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
#Source_Aliases_Dict = CompoundsHelper.loadSourceAliases()
2121

22-
ms_structs_file = open("../../Biochemistry/Structures/ModelSEED/ModelSEED_Strings.txt",'w')
23-
ms_structs_file.write("ID\tSource\tAliases\tStructure\n")
22+
ms_structs_file = open("../../Biochemistry/Structures/ModelSEED_Structures.txt",'w')
23+
ms_structs_file.write("ID\tType\tAliases\tStructure\n")
2424
for msid in sorted(MS_Aliases_Dict.keys()):
2525

2626
#Build collection of all structures for the ModelSEED ID

0 commit comments

Comments
 (0)