本文整理汇总了Java中org.openscience.cdk.tools.manipulator.AtomContainerManipulator类的典型用法代码示例。如果您正苦于以下问题:Java AtomContainerManipulator类的具体用法?Java AtomContainerManipulator怎么用?Java AtomContainerManipulator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AtomContainerManipulator类属于org.openscience.cdk.tools.manipulator包,在下文中一共展示了AtomContainerManipulator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: prepareAtomContainer
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
*
* @param container
* @throws CDKException
*/
protected void prepareAtomContainer(IAtomContainer container) throws CDKException {
while(true) {
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(container);
Aromaticity arom = new Aromaticity(ElectronDonation.cdk(), Cycles.cdkAromaticSet());
arom.apply(container);
} catch (java.lang.NullPointerException e) {
//bad workaround for cdk bug?! but what shall I do...
//sometimes NullPointerException occurs but not in one of the further trials?!
continue;
}
break;
}
CDKHydrogenAdder hAdder = CDKHydrogenAdder.getInstance(container.getBuilder());
for(int i = 0; i < container.getAtomCount(); i++) {
hAdder.addImplicitHydrogens(container, container.getAtom(i));
}
AtomContainerManipulator.convertImplicitToExplicitHydrogens(container);
hAdder = null;
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:26,代码来源:OnlinePubChemDatabaseMicha.java
示例2: getAromaticAtoms
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
*
* @param molecule
* @return
*/
public static BitArray getAromaticAtoms(IAtomContainer molecule) {
Aromaticity arom = new Aromaticity(ElectronDonation.cdk(),
Cycles.cdkAromaticSet());
BitArray aromaticAtoms = new BitArray(molecule.getAtomCount());
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
arom.apply(molecule);
Set<IBond> aromaticBonds = arom.findBonds(molecule);
Iterator<IBond> it = aromaticBonds.iterator();
while(it.hasNext()) {
IBond bond = it.next();
for(int k = 0; k < bond.getAtomCount(); k++)
aromaticAtoms.set(molecule.getAtomNumber(bond.getAtom(k)));
}
} catch (CDKException e) {
e.printStackTrace();
}
return aromaticAtoms;
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:25,代码来源:InChIDeuteriumGeneration.java
示例3: calculateInchiKey
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
*
* @param con
* @return
* @throws CDKException
*/
public static String calculateInchiKey(IAtomContainer con) throws CDKException {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(con);
CDKHydrogenAdder hAdder = CDKHydrogenAdder.getInstance(con.getBuilder());
for(int i = 0; i < con.getAtomCount(); i++) {
try {
hAdder.addImplicitHydrogens(con, con.getAtom(i));
}
catch(CDKException e) {
continue;
}
}
AtomContainerManipulator.convertImplicitToExplicitHydrogens(con);
InChIGeneratorFactory factory = InChIGeneratorFactory.getInstance();
InChIGenerator gen = factory.getInChIGenerator(con);
return gen.getInchiKey().split("-")[0];
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:23,代码来源:GetRankOfCandidateCSV.java
示例4: getAtomContainerFromSMILES
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public static IAtomContainer getAtomContainerFromSMILES(String smiles) throws Exception {
IAtomContainer molecule = sp.parseSmiles(smiles);
for(int i = 0; i < molecule.getAtomCount(); i++) {
if(molecule.getAtom(i).getSymbol().equals("H")) continue;
else {
java.util.List<IAtom> atoms = molecule.getConnectedAtomsList(molecule.getAtom(i));
short numDs = 0;
for(IAtom atom : atoms)
if(atom.getSymbol().equals("H") && (atom.getMassNumber() != null && atom.getMassNumber() == 2))
numDs++;
molecule.getAtom(i).setProperty(VariableNames.DEUTERIUM_COUNT_NAME, numDs);
}
}
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
Aromaticity arom = new Aromaticity(ElectronDonation.cdk(), Cycles.cdkAromaticSet());
arom.apply(molecule);
} catch (CDKException e) {
e.printStackTrace();
}
return molecule;
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:23,代码来源:MoleculeFunctions.java
示例5: getAtomContainerFromInChI
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
*
* @param inchi
* @return
* @throws Exception
*/
public static IAtomContainer getAtomContainerFromInChI(String inchi) throws Exception {
de.ipbhalle.metfraglib.inchi.InChIToStructure its = inchiFactory.getInChIToStructure(inchi, DefaultChemObjectBuilder.getInstance());
if(its == null) {
throw new Exception("InChI problem: " + inchi);
}
INCHI_RET ret = its.getReturnStatus();
if (ret == INCHI_RET.WARNING) {
// logger.warn("InChI warning: " + its.getMessage());
} else if (ret != INCHI_RET.OKAY) {
throw new Exception("InChI problem: " + inchi);
}
IAtomContainer molecule = its.getAtomContainer();
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
Aromaticity arom = new Aromaticity(ElectronDonation.cdk(), Cycles.cdkAromaticSet());
arom.apply(molecule);
} catch (CDKException e) {
e.printStackTrace();
}
return molecule;
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:28,代码来源:MoleculeFunctions.java
示例6: prepareMoleculeRemoveHydrogens
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
* standard preparation protocol: remove hydrogens, types, ring detection. Uses specified errorHandler
*
* @param mol
* @throws Exception
*/
public static IAtomContainer prepareMoleculeRemoveHydrogens(IAtomContainer mol, IChemObjectReaderErrorHandler errorHandler)
{
boolean errorFlag=false;
IAtomContainer molOrig=mol;
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
Aromaticity.cdkLegacy().apply(mol);
mol = addExplicitHydrogens(mol);
} catch (final Exception e) {
errorFlag=true;
if (errorHandler != null)
errorHandler.handleError("An error occurred while typing structure. " + e.getMessage(), e);
else{
System.out.println("An error occurred while typing structure, using unprocessed molecule. "+e.getMessage());
e.printStackTrace();
}
}
mol = removeHydrogens(mol);
if(errorFlag){
mol=molOrig;
}
return mol;
}
开发者ID:fortiema,项目名称:jCompoundMapper,代码行数:32,代码来源:MoleculePreprocessor.java
示例7: addExplicitHydrogens
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
* add hydrogens
*
* @param mol
* @throws CDKException
*/
private static IAtomContainer addExplicitHydrogens(IAtomContainer mol) throws CDKException{
CDKAtomTypeMatcher matcher = CDKAtomTypeMatcher.getInstance(mol.getBuilder());
for (IAtom atom : mol.atoms()) {
IAtomType type = matcher.findMatchingAtomType(mol, atom);
try{
AtomTypeManipulator.configure(atom, type);
}
catch(IllegalArgumentException e){
throw new CDKException(e.toString()+" for atom "+atom.getAtomicNumber()+" "+atom.getSymbol());
}
}
CDKHydrogenAdder hydrogenAdder = CDKHydrogenAdder.getInstance(mol.getBuilder());
hydrogenAdder.addImplicitHydrogens(mol);
AtomContainerManipulator.convertImplicitToExplicitHydrogens(mol);
return mol;
}
开发者ID:fortiema,项目名称:jCompoundMapper,代码行数:26,代码来源:MoleculePreprocessor.java
示例8: fillLinksJSO
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private String fillLinksJSO(JSONArray links, Residue res) {
IMolecule mol = res.getMolecule();
AtomContainerManipulator.convertImplicitToExplicitHydrogens(mol);
String smiles = SmilesConverter.conv.mol2Smiles(mol, false);
List<IAtom> order = SmilesConverter.conv.getOrder();
for (IAtom a : res.getAtomicLinks().keySet()) {
JSONObject jso = new JSONObject();
Rule rule = res.getAtomicLinks().get(a);
jso.put("name", rule.getName());
jso.put("atom", order.indexOf(a));
links.add(jso);
}
AtomContainerManipulator.removeHydrogens(mol);
return smiles;
}
开发者ID:yoann-dufresne,项目名称:Smiles2Monomers,代码行数:19,代码来源:ResidueJsonLoader.java
示例9: add
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
void add(IAtomContainer container) {
// remove explicit hydrogens and all stereochemistry
AtomContainerManipulator.suppressHydrogens(container);
container.setStereoElements(new ArrayList<IStereoElement>());
RingSearch ringSearch = new RingSearch(container);
List<IAtomContainer> fused = ringSearch.fusedRingFragments();
List<IAtomContainer> isolated = ringSearch.isolatedRingFragments();
// only use compounds with a single ring system
if (fused.size() == 1 && isolated.isEmpty()) {
add(fused.get(0), container);
}
else if (isolated.size() == 1 && fused.isEmpty()) {
add(isolated.get(0), container);
}
}
开发者ID:cdk,项目名称:cdk-build-util,代码行数:20,代码来源:RingTemplateExtractor.java
示例10: hydrogenHandling
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
private IAtomContainer hydrogenHandling(IAtomContainer container, String id) {
if(container == null)
return null;
// create deep copy
IAtomContainer copy = null;
try {
copy = container.clone();
} catch (CloneNotSupportedException e1) {
System.err.println("Could not clone IAtomContainer - no hydrogen handling!");
return container;
}
//add hydrogens
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(copy);
CDKHydrogenAdder hAdder = CDKHydrogenAdder.getInstance(copy.getBuilder());
hAdder.addImplicitHydrogens(copy);
AtomContainerManipulator.convertImplicitToExplicitHydrogens(copy);
} catch (CDKException e) { // return original if adding H's fails
System.err.println("Error adding explict H's - no hydrogen handling for ID [" + id + "]!");
return container;
}
return copy;
}
开发者ID:mgerlich,项目名称:MetFusion,代码行数:27,代码来源:SDFDatabase.java
示例11: hydrogenHandling
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
private IAtomContainer hydrogenHandling(IAtomContainer container) {
if(container == null)
return container;
/**
* hydrogen handling
*/
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(container);
CDKHydrogenAdder hAdder = CDKHydrogenAdder.getInstance(container.getBuilder());
hAdder.addImplicitHydrogens(container);
AtomContainerManipulator.convertImplicitToExplicitHydrogens(container);
} catch (CDKException e) {
return container;
}
return container;
// return AtomContainerManipulator.removeHydrogens(container);
}
开发者ID:mgerlich,项目名称:MetFusion,代码行数:20,代码来源:MassBankUtilities.java
示例12: MolStruct
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public MolStruct( IAtomContainer base )
{
super( new AtomContainer(AtomContainerManipulator.removeHydrogens(base)) );
mol_ids = new HashSet<PubchemID>();
Iterator<IAtom> atoms = this.atoms().iterator();
while( atoms.hasNext() ){
IAtom atom = atoms.next();
atom.setAtomTypeName("S");
atom.setSymbol("C");
}
Iterator<IBond> bonds = this.bonds().iterator();
while( bonds.hasNext() ){
IBond bond = bonds.next();
bond.setOrder(IBond.Order.SINGLE);
}
makeGraph(this);
setFingerprint();
PubchemID pubID = MolUtils.getPubID(base);
this.mol_ids.add( pubID);
this.setProperty("PUBCHEM_COMPOUND_CID", pubID.toString());
}
开发者ID:ndaniels,项目名称:Ammolite,代码行数:26,代码来源:MolStruct.java
示例13: LabeledMolStruct
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public LabeledMolStruct(IAtomContainer base){
super( new AtomContainer(AtomContainerManipulator.removeHydrogens(base)) );
mol_ids = new HashSet<PubchemID>();
Iterator<IBond> bonds = this.bonds().iterator();
while( bonds.hasNext() ){
IBond bond = bonds.next();
bond.setOrder(IBond.Order.SINGLE);
}
makeGraph();
setFingerprint();
PubchemID pubID = MolUtils.getPubID(base);
this.mol_ids.add( pubID);
this.setProperty("PUBCHEM_COMPOUND_CID", pubID.toString());
}
开发者ID:ndaniels,项目名称:Ammolite,代码行数:19,代码来源:LabeledMolStruct.java
示例14: ChemicalCompound
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
* SIDE EFFECT: converts implicit to explicit hydrogens in molecule, then converts them /back/
* @param name
* @param molecule
*/
public ChemicalCompound(String name, IMolecule molecule)
throws CDKException
{
this.name = name;
this.cdkMolecule = molecule;
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(cdkMolecule);
//When SmilesParser gives us a molecule, the hydrogens are implicit. If you,
//e.g., create a MolecularFormula object from the Molecule and ask it for its mass
//and its formula string, they will be wrong, because they have no H's.
//So I add the hydrogens, create the formula with the hydrogens, and then remove them
AtomContainerManipulator.convertImplicitToExplicitHydrogens(cdkMolecule);
formula = ChemCalcs.CDKMolForm2ChemForm(MolecularFormulaManipulator.getMolecularFormula(cdkMolecule));
//This doesn't actually remove hydrogens in the argument, just returns a new IMolecule
cdkMolecule = (IMolecule) AtomContainerManipulator.removeHydrogens(cdkMolecule);
try
{
new LonePairElectronChecker().saturate(cdkMolecule);
}
catch (Exception e) //failed to saturate. Not sure why this happens sometimes on valid SMILES strings
{}
}
开发者ID:dhmay,项目名称:msInspect,代码行数:31,代码来源:ChemicalCompound.java
示例15: createCOOH
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public IMolecule createCOOH()
{
IChemObjectBuilder builder = NoNotificationChemObjectBuilder.getInstance();
IMolecule molecule = builder.newMolecule();
molecule.addAtom(builder.newAtom("C"));
molecule.addAtom(builder.newAtom("O"));
molecule.addBond(0, 1, IBond.Order.DOUBLE);
molecule.addAtom(builder.newAtom("O"));
molecule.addBond(0, 2, IBond.Order.SINGLE);
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.saturate(molecule);
}
catch (CDKException e)
{
e.printStackTrace();
}
// Image image = MoleculeRenderer2D.renderMolecule(molecule, width, height);
// new PanelWithBlindImageChart((BufferedImage) image, "0=C-OH").displayInTab();
return molecule;
}
开发者ID:dhmay,项目名称:msInspect,代码行数:26,代码来源:MetaboliteDBMatcherCLM.java
示例16: createCOOH
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public IMolecule createCOOH()
{
IChemObjectBuilder builder = NoNotificationChemObjectBuilder.getInstance();
IMolecule molecule = builder.newMolecule();
molecule.addAtom(builder.newAtom("C"));
molecule.addAtom(builder.newAtom("O"));
molecule.addBond(0, 1, IBond.Order.DOUBLE);
molecule.addAtom(builder.newAtom("O"));
molecule.addBond(0, 2, IBond.Order.SINGLE);
try {
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.saturate(molecule);
}
catch (CDKException e)
{
e.printStackTrace();
}
return molecule;
}
开发者ID:dhmay,项目名称:msInspect,代码行数:24,代码来源:AddReactionProductsCLM.java
示例17: showCompound
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
* @param compoundName
* @param smilesString
* @throws CDKException
*/
protected void showCompound(String compoundName, String smilesString)
throws CDKException
{
if (compoundName == null)
compoundName = "dummy";
ChemicalCompound compound = ChemicalCompound.createFromSmiles(compoundName, smilesString);
if (showHydrogens)
AtomContainerManipulator.convertImplicitToExplicitHydrogens(compound.getCdkMolecule());
ApplicationContext.infoMessage("Formula: " + compound.getFormula());
ApplicationContext.infoMessage("Mass: " + compound.getCommonestIsotopeMass());
System.err.println("\t" + compound.getFormula());
MoleculeRenderer2D renderer = new MoleculeRenderer2D();
renderer.setWidth(width);
renderer.setHeight(height);
renderer.setShouldShowHydrogens(showHydrogens);
renderer.setShouldShowCarbons(showCarbons);
Image image = renderer.renderMolecule(compound.getCdkMolecule());
PanelWithBlindImageChart chart = new PanelWithBlindImageChart((BufferedImage) image, compoundName);
chart.displayInTab();
}
开发者ID:dhmay,项目名称:msInspect,代码行数:30,代码来源:ShowPepArrayMetaboliteCLM.java
示例18: TanimotoSimilarity
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public TanimotoSimilarity(IAtomContainer con) {
IAtomContainer structure = AtomContainerManipulator.removeHydrogens(con);
this.fingerprints = new IBitFingerprint[1];
try {
this.fingerprints[0] = fingerprinter.getBitFingerprint(structure);
} catch (CDKException e) {
this.fingerprints[0] = null;
}
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:10,代码来源:TanimotoSimilarity.java
示例19: calculateSimilarity
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
public static double calculateSimilarity(IAtomContainer s1, IAtomContainer s2) {
IAtomContainer con1 = AtomContainerManipulator.removeHydrogens(s1);
IAtomContainer con2 = AtomContainerManipulator.removeHydrogens(s2);
IBitFingerprint f1 = null;
IBitFingerprint f2 = null;
try {
f1 = fingerprinter.getBitFingerprint(con1);
f2 = fingerprinter.getBitFingerprint(con2);
} catch (CDKException e) {
return 0.0;
}
return Tanimoto.calculate(f1, f2);
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:16,代码来源:TanimotoSimilarity.java
示例20: generateImage
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; //导入依赖的package包/类
/**
* draw image and return it as RenderedImage
*
* @param structure
* @return
* @throws CDKException
*/
public RenderedImage generateImage(final IAtomContainer structure) {
Image image = new BufferedImage(this.imageWidth, this.imageHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = (Graphics2D) image.getGraphics();
g2.setColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));
g2.fillRect(0, 0, this.imageWidth, this.imageHeight);
try {
IAtomContainer moleculeToDraw = AtomContainerManipulator.removeHydrogens(structure);
Rectangle drawArea = new Rectangle(this.imageWidth, this.imageHeight);
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(moleculeToDraw);
for(int i = 0; i < moleculeToDraw.getAtomCount(); i++)
moleculeToDraw.getAtom(i).setProperty(StandardGenerator.ANNOTATION_LABEL, i + "");
for(int i = 0; i < moleculeToDraw.getBondCount(); i++)
moleculeToDraw.getBond(i).setProperty(StandardGenerator.ANNOTATION_LABEL, i + "");
StructureDiagramGenerator sdg = new StructureDiagramGenerator();
sdg.setMolecule(moleculeToDraw);
sdg.generateCoordinates();
this.renderer.setup(sdg.getMolecule(), drawArea);
RendererModel rendererModel = this.renderer.getRenderer2DModel();
rendererModel.set(StandardGenerator.Visibility.class, SymbolVisibility.iupacRecommendations());
rendererModel.set(StandardGenerator.AtomColor.class, new CDK2DAtomColors());
rendererModel.set(StandardGenerator.AnnotationColor.class, new Color(0x455FFF));
rendererModel.set(StandardGenerator.StrokeRatio.class, this.strokeRatio);
Rectangle2D bounds = new Rectangle2D.Double(0, 0, this.imageWidth, this.imageHeight);
this.renderer.paint(sdg.getMolecule(), new AWTDrawVisitor(g2), bounds, true);
} catch (Exception e) {
return (RenderedImage) image;
}
return (RenderedImage) image;
}
开发者ID:c-ruttkies,项目名称:MetFragRelaunched,代码行数:42,代码来源:AnnotatedStandardSingleStructureImageGenerator.java
注:本文中的org.openscience.cdk.tools.manipulator.AtomContainerManipulator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论