Skip to content

Commit 5cfadfd

Browse files
committed
Merge 10 small classes into consumers (68 files total)
Mapping package: merged Cache, IKey, IResult, IGameTheory, IGraphTheoryMatrix, AbstractGraphMatching, MappingThread into their primary consumers (ThreadSafeCache, ReactionContainer, MappingChecks, GameTheoryEngine, GraphMatcher, CallableAtomMappingTool). Mechanism package: merged StereoChange into DUModel, StereoCenteralityTool into DUModel, CaseHandler into CalculationProcess. IMappingAlgorithm kept standalone (9+ consumers across packages). 345 → 68 Java files (80% reduction). 150/150 tests pass. Co-Authored-By: Syed Asad Rahman <asad.rahman@bioinceptionlabs.com>
1 parent e4cc5b5 commit 5cfadfd

21 files changed

Lines changed: 611 additions & 1078 deletions

src/main/java/com/bioinceptionlabs/reactionblast/mapping/AbstractGraphMatching.java

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

src/main/java/com/bioinceptionlabs/reactionblast/mapping/Cache.java

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

src/main/java/com/bioinceptionlabs/reactionblast/mapping/CallableAtomMappingTool.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,4 +286,37 @@ private void putSolution(IMappingAlgorithm choice, Reactor reactor) {
286286
this.solution.put(choice, reactor);
287287
}
288288

289+
/**
290+
* @author Syed Asad Rahman <asad.rahman@bioinceptionlabs.com>
291+
*/
292+
static class MappingThread implements java.util.concurrent.Callable<Reactor> {
293+
294+
private static final ILoggingTool MT_LOGGER = createLoggingTool(MappingThread.class);
295+
296+
private final IReaction cleanedReaction;
297+
private final IMappingAlgorithm algorithm;
298+
private final boolean removeHydrogen;
299+
300+
MappingThread(String message, IReaction cleanedReaction,
301+
IMappingAlgorithm algorithm, boolean removeHydrogen) {
302+
this.cleanedReaction = cleanedReaction;
303+
this.algorithm = algorithm;
304+
this.removeHydrogen = removeHydrogen;
305+
MT_LOGGER.info("|++++++++++++++++++++++++++++|");
306+
MT_LOGGER.info("|Atom Atom Mapping Tool Initialized for " + message);
307+
}
308+
309+
@Override
310+
public Reactor call() throws Exception {
311+
try {
312+
Reactor reactor;
313+
reactor = new Reactor(cleanedReaction, removeHydrogen, algorithm);
314+
MT_LOGGER.info("|Done " + reactor.getAlgorithm() + " |");
315+
return reactor;
316+
} catch (Exception ex) {
317+
throw ex;
318+
}
319+
}
320+
}
321+
289322
}

src/main/java/com/bioinceptionlabs/reactionblast/mapping/GraphMatcher.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package com.bioinceptionlabs.reactionblast.mapping;
66

7-
import com.bioinceptionlabs.reactionblast.mapping.AbstractGraphMatching;
87
import com.bioinceptionlabs.reactionblast.mapping.BestMatch;
98
import com.bioinceptionlabs.reactionblast.mapping.Reactor.Debugger;
109
import com.bioinceptionlabs.reactionblast.mapping.IMappingAlgorithm;
@@ -77,6 +76,28 @@
7776
*/
7877
public class GraphMatcher extends Debugger {
7978

79+
/**
80+
* @author Syed Asad Rahman <asad.rahman@bioinceptionlabs.com>
81+
*/
82+
public static abstract class AbstractGraphMatching {
83+
84+
public static void setMCSUpdationFlags(Holder holder, int substrateIndex, int productIndex) throws Exception {
85+
ReactionContainer reactionStructureInformation = holder.getReactionContainer();
86+
reactionStructureInformation.setEductModified(substrateIndex, true);
87+
reactionStructureInformation.setProductModified(productIndex, true);
88+
}
89+
90+
public abstract IAtomContainer getMatchedPart();
91+
92+
public abstract IAtomContainer getRemainingEduct();
93+
94+
public abstract IAtomContainer getRemainingProduct();
95+
96+
public abstract boolean mcsMatch(Holder holder, boolean removeHydrogen, Integer I, Integer J, BitSet eductFP, BitSet prodFP);
97+
98+
public abstract int removeMatchedAtomsAndUpdateAAM(IReaction reaction);
99+
}
100+
80101
private static final int LARGE_JOB_THRESHOLD = 1000;
81102
private final static ILoggingTool LOGGER
82103
= createLoggingTool(GraphMatcher.class);

src/main/java/com/bioinceptionlabs/reactionblast/mapping/IGameTheory.java

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

src/main/java/com/bioinceptionlabs/reactionblast/mapping/IGraphTheoryMatrix.java

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

src/main/java/com/bioinceptionlabs/reactionblast/mapping/IKey.java

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

0 commit comments

Comments
 (0)