亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? torsions.java

?? 化學圖形處理軟件
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package org.openscience.cdk.modeling.forcefield;import org.openscience.cdk.interfaces.IAtom;import org.openscience.cdk.interfaces.IAtomContainer;import org.openscience.cdk.interfaces.IBond;import org.openscience.cdk.modeling.builder3d.MMFF94ParametersCall;import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;import org.openscience.cdk.tools.manipulator.BondManipulator;import javax.vecmath.GMatrix;import javax.vecmath.GVector;import java.util.Hashtable;import java.util.Iterator;import java.util.Vector;//import org.openscience.cdk.tools.LoggingTool;/** *  Torsions calculator for the potential energy function. Include function and derivatives. * *@author     vlabarta *@cdk.created    March 2, 2005 *@cdk.module     forcefield */public class Torsions {	String functionShape = " Torsions ";	double mmff94SumET = 0;	GVector gradientMMFF94SumET = new GVector(3);	GVector dPhi = new GVector(3);		GVector order2ndErrorApproximateGradientMMFF94SumET = new GVector(3);	GVector order5thErrorApproximateGradientMMFF94SumET = new GVector(3);	GVector xplusSigma = null;	GVector xminusSigma = null;	double sigma = Math.pow(0.000000000000001,0.33);		GMatrix hessianMMFF94SumET = null;	double[] forHessian = null;	GMatrix order2ndErrorApproximateHessianMMFF94SumET = null;	double[] forOrder2ndErrorApproximateHessian = null;	int torsionNumber = 0;	int[][] torsionAtomPosition = null;	double[] v1 = null;	double[] v2 = null;	double[] v3 = null;	double[] phi = null;		IBond[] bond = null;	IAtom[] atomInBond = null;	IBond[] bondConnectedBefore = null;	IBond[] bondConnectedAfter = null;	//private LoggingTool logger;	GVector moleculeCurrentCoordinates = null;	boolean[] changeAtomCoordinates = null;	int changedCoordinates;	/**	 *  Constructor for the Torsions object	 */	public Torsions() {        		//logger = new LoggingTool(this);	}	/**	 *  Set MMFF94 constants V1, V2 and V3 for each i-j, j-k and k-l bonded pairs in the molecule.	 *	 *	 *@param  molecule       The molecule like an AtomContainer object.	 *@param  parameterSet   MMFF94 parameters set	 *@exception  Exception  Description of the Exception	 */	public void setMMFF94TorsionsParameters(IAtomContainer molecule, Hashtable parameterSet) throws Exception {		//logger.debug("setMMFF94TorsionsParameters");        // looks like we need the bonds in an array for the rest of the class        bond = new IBond[molecule.getBondCount()];        int counter = 0;        Iterator bonds = molecule.bonds();        while (bonds.hasNext()) {            IBond aBond = (IBond) bonds.next();            bond[counter] = aBond;            counter++;        }                		for (int b=0; b<bond.length; b++) {			atomInBond = BondManipulator.getAtomArray(bond[b]);			bondConnectedBefore = AtomContainerManipulator.getBondArray(molecule.getConnectedBondsList(atomInBond[0]));			if (bondConnectedBefore.length > 1) {				bondConnectedAfter = AtomContainerManipulator.getBondArray(molecule.getConnectedBondsList(atomInBond[1]));				if (bondConnectedAfter.length > 1) {					for (int bb=0; bb<bondConnectedBefore.length; bb++) {						if (bondConnectedBefore[bb].compare(bond[b])) {}						else {							for (int ba=0; ba<bondConnectedAfter.length; ba++) {								if (bondConnectedAfter[ba].compare(bond[b])) {}								else {									if (bondConnectedBefore[bb].isConnectedTo(bondConnectedAfter[ba])) {}									else {										torsionNumber += 1;										//logger.debug("atomi(" + torsionNumber + ") : " + bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]).getAtomTypeName());										//logger.debug("atomj(" + torsionNumber + ") : " + atomInBond[0].getAtomTypeName());										//logger.debug("atomk(" + torsionNumber + ") : " + atomInBond[1].getAtomTypeName());										//logger.debug("atoml(" + torsionNumber + ") : " + bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]).getAtomTypeName());									}									}							}						}					}				}			}		}		//logger.debug("torsionNumber = " + torsionNumber);		Vector torsionsData = null;		MMFF94ParametersCall pc = new MMFF94ParametersCall();		pc.initialize(parameterSet);				v1 = new double[torsionNumber];		v2 = new double[torsionNumber];		v3 = new double[torsionNumber];		torsionAtomPosition = new int[torsionNumber][];		String torsionType;		int m = -1;		for (int b=0; b<bond.length; b++) {			atomInBond = BondManipulator.getAtomArray(bond[b]);			bondConnectedBefore = AtomContainerManipulator.getBondArray(molecule.getConnectedBondsList(atomInBond[0]));			if (bondConnectedBefore.length > 1) {				bondConnectedAfter = AtomContainerManipulator.getBondArray(molecule.getConnectedBondsList(atomInBond[1]));				if (bondConnectedAfter.length > 1) {					for (int bb=0; bb<bondConnectedBefore.length; bb++) {						if (bondConnectedBefore[bb].compare(bond[b])) {}						else {							for (int ba=0; ba<bondConnectedAfter.length; ba++) {								if (bondConnectedAfter[ba].compare(bond[b])) {}								else {									if (bondConnectedBefore[bb].isConnectedTo(bondConnectedAfter[ba])) {}									else {										m += 1;										torsionAtomPosition[m] = new int[4];										torsionAtomPosition[m][0] = molecule.getAtomNumber(bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]));										torsionAtomPosition[m][1] = molecule.getAtomNumber(atomInBond[0]);										torsionAtomPosition[m][2] = molecule.getAtomNumber(atomInBond[1]);										torsionAtomPosition[m][3] = molecule.getAtomNumber(bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]));																			/*System.out.println("torsion " + m + " : " + bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]).getFlag(CDKConstants.ISINRING) + "(" + torsionAtomPosition[m][0] + "), " + 												atomInBond[0].getFlag(CDKConstants.ISINRING) + "(" + torsionAtomPosition[m][1] + "), " + atomInBond[1].getFlag(CDKConstants.ISINRING) + "(" + torsionAtomPosition[m][2] + "), " + 												bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]).getFlag(CDKConstants.ISINRING) + "(" + torsionAtomPosition[m][3] + ")");											    */										/*System.out.println("torsionAtomPosition[" + m + "]: " + bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]).getSymbol() 											+ ", "+ atomInBond[0].getSymbol() + ", " + atomInBond[1].getSymbol() + ", " 											+ bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]).getSymbol());									    */ 										torsionType = "0";										if (bond[b].getProperty("MMFF94 bond type").toString() == "1") {											torsionType = "1";										}										else if ((bond[b].getProperty("MMFF94 bond type").toString() == "0") & 												((bondConnectedBefore[bb].getProperty("MMFF94 bond type").toString() == "1") |												(bondConnectedAfter[ba].getProperty("MMFF94 bond type").toString() == "1"))) {											torsionType = "2";										}										/*System.out.println("torsion " + m + " : " + torsionType + " " + bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]).getAtomTypeName() + "(" + torsionAtomPosition[m][0] + "), " + 										atomInBond[0].getAtomTypeName() + "(" + torsionAtomPosition[m][1] + "), " + atomInBond[1].getAtomTypeName() + "(" + torsionAtomPosition[m][2] + "), " + 										bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]).getAtomTypeName() + "(" + torsionAtomPosition[m][3] + ")");										*/										torsionsData = pc.getTorsionData(torsionType, bondConnectedBefore[bb].getConnectedAtom(atomInBond[0]).getAtomTypeName(), 												atomInBond[0].getAtomTypeName(), atomInBond[1].getAtomTypeName(), bondConnectedAfter[ba].getConnectedAtom(atomInBond[1]).getAtomTypeName());																			//logger.debug("torsionsData " + m + ": " + torsionsData);										v1[m] = ((Double) torsionsData.get(0)).doubleValue();										v2[m] = /*(-1) * */((Double) torsionsData.get(1)).doubleValue();										v3[m] = ((Double) torsionsData.get(2)).doubleValue();									}								}								}						}					}				}			}		}		phi = new double[torsionNumber];		this.moleculeCurrentCoordinates = new GVector(3 * molecule.getAtomCount());		for (int i=0; i<moleculeCurrentCoordinates.getSize(); i++) {			this.moleculeCurrentCoordinates.setElement(i,1E10);		} 		this.changeAtomCoordinates = new boolean[molecule.getAtomCount()];	}	/**	 *  Calculate the actual phi	 *	 *@param  coords3d  Current molecule coordinates.	 */	public void setPhi(GVector coords3d) {		changedCoordinates = 0;		//logger.debug("Setting Phi");		for (int i=0; i < changeAtomCoordinates.length; i++) {			this.changeAtomCoordinates[i] = false;		}		this.moleculeCurrentCoordinates.sub(coords3d);		for (int i = 0; i < this.moleculeCurrentCoordinates.getSize(); i++) {			//logger.debug("moleculeCurrentCoordinates " + i + " = " + this.moleculeCurrentCoordinates.getElement(i));			if (Math.abs(this.moleculeCurrentCoordinates.getElement(i)) > 0) {				changeAtomCoordinates[i/3] = true;				changedCoordinates = changedCoordinates + 1;				//logger.debug("changeAtomCoordinates[" + i/3 + "] = " + changeAtomCoordinates[i/3]);				i = i + (2 - i % 3);			}		}		for (int m = 0; m < torsionNumber; m++) {			if ((changeAtomCoordinates[torsionAtomPosition[m][0]] == true) | 					(changeAtomCoordinates[torsionAtomPosition[m][1]] == true) | 					(changeAtomCoordinates[torsionAtomPosition[m][2]] == true) |					(changeAtomCoordinates[torsionAtomPosition[m][3]] == true))		{							phi[m] = ForceFieldTools.torsionAngleFrom3xNCoordinates(coords3d, torsionAtomPosition[m][0], torsionAtomPosition[m][1], 							torsionAtomPosition[m][2], torsionAtomPosition[m][3]);			} 			//else {System.out.println("phi was no recalculated");}		}		/*if 	(changedCoordinates == changeAtomCoordinates.length) {			for (int m = 0; m < torsionNumber; m++) {				System.out.println("phi[" + m + "] = " + Math.toDegrees(phi[m]));			}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区 二区| 日韩毛片一二三区| 97成人超碰视| 奇米一区二区三区av| 亚洲色欲色欲www| 精品国精品自拍自在线| 91欧美激情一区二区三区成人| 免费看欧美女人艹b| 亚洲激情成人在线| 国产精品美女久久久久久久网站| 日韩亚洲欧美中文三级| 欧美丝袜丝交足nylons图片| 狠狠色丁香九九婷婷综合五月| 亚洲国产精品久久人人爱| 欧美国产激情一区二区三区蜜月| 日韩情涩欧美日韩视频| 欧洲视频一区二区| 99re66热这里只有精品3直播| 国产中文字幕一区| 毛片基地黄久久久久久天堂| 亚洲 欧美综合在线网络| 亚洲日本成人在线观看| 欧美韩国一区二区| 国产亚洲欧美激情| 久久只精品国产| 精品欧美久久久| 日韩欧美国产不卡| 欧美一卡二卡在线观看| 欧美日韩国产免费| 欧美日韩国产综合视频在线观看 | 色先锋资源久久综合| 国产伦精品一区二区三区视频青涩 | 在线电影欧美成精品| 在线看国产日韩| 色婷婷激情综合| 色94色欧美sute亚洲线路一久 | 538在线一区二区精品国产| 欧美亚日韩国产aⅴ精品中极品| 色欧美88888久久久久久影院| gogo大胆日本视频一区| 99热国产精品| 一本到高清视频免费精品| 93久久精品日日躁夜夜躁欧美| 成人深夜视频在线观看| www.视频一区| 色94色欧美sute亚洲线路二| 色吧成人激情小说| 欧美剧情电影在线观看完整版免费励志电影 | 日韩情涩欧美日韩视频| 日韩欧美国产三级| 久久久久亚洲蜜桃| 国产精品欧美久久久久一区二区| 国产精品每日更新| 亚洲黄色片在线观看| 午夜精品在线看| 日本伊人色综合网| 国内一区二区在线| 成人午夜伦理影院| 色网站国产精品| 欧美久久久一区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品毛片大码女人| 亚洲日本一区二区| 日韩精品电影一区亚洲| 国产一区二区h| 91蜜桃免费观看视频| 欧美人动与zoxxxx乱| 日韩区在线观看| 中文字幕亚洲在| 无吗不卡中文字幕| 韩国成人在线视频| 色国产综合视频| 精品日韩欧美在线| 亚洲色图欧美激情| 久久精品国产亚洲5555| 国产成人免费视频| 欧美色欧美亚洲另类二区| 欧美成人欧美edvon| 国产精品久久毛片av大全日韩| 亚洲午夜羞羞片| 国产最新精品精品你懂的| 91色乱码一区二区三区| 精品国产成人在线影院 | 久久嫩草精品久久久精品| 亚洲黄色小说网站| 国产一区二区美女| 欧美优质美女网站| 国产亚洲污的网站| 视频在线观看一区二区三区| 国产成人精品三级麻豆| 日韩一区二区三区四区五区六区| 国产精品看片你懂得| 免费日本视频一区| 色欧美片视频在线观看在线视频| 久久综合久久综合九色| 亚洲在线成人精品| 99国产精品久| 国产欧美一区二区精品久导航| 午夜精品在线视频一区| 99re热视频这里只精品| 国产亚洲污的网站| 久久精品国产99久久6| 91福利在线看| 国产精品国产三级国产a| 狠狠色丁香婷婷综合| 91精品国产91综合久久蜜臀| 一区二区三区欧美久久| 成人免费va视频| 欧美va亚洲va在线观看蝴蝶网| 亚洲综合另类小说| 91在线精品一区二区| 久久精品人人做人人综合| 蜜臀va亚洲va欧美va天堂| 欧美日韩免费一区二区三区 | 国产精品久久久久久久蜜臀| 另类综合日韩欧美亚洲| 欧美日韩在线一区二区| 亚洲人成亚洲人成在线观看图片| 国产高清无密码一区二区三区| 日韩三级高清在线| 青青草一区二区三区| 6080亚洲精品一区二区| 亚洲成人激情av| 欧美日韩不卡一区| 性久久久久久久久| 欧美午夜在线一二页| 亚洲男人的天堂在线aⅴ视频 | 69精品人人人人| 五月激情丁香一区二区三区| 欧美熟乱第一页| 亚洲成人高清在线| 欧美区一区二区三区| 亚洲成人激情av| 欧美精品1区2区3区| 日韩成人一级大片| 91精品国产91久久综合桃花| 天堂av在线一区| 欧美精品第1页| 久久国产精品99久久人人澡| 日韩视频免费观看高清完整版在线观看 | 亚洲精品国产一区二区三区四区在线| 成人激情小说乱人伦| 国产精品久久久爽爽爽麻豆色哟哟 | 成人免费福利片| 综合av第一页| 欧美中文一区二区三区| 亚洲综合免费观看高清完整版| 欧美日韩一区在线观看| 午夜精品国产更新| 精品毛片乱码1区2区3区| 精品一二三四区| 国产欧美一二三区| 色成年激情久久综合| 天堂精品中文字幕在线| 欧美一级免费观看| 国产99久久久精品| 亚洲欧美另类综合偷拍| 欧美三电影在线| 狠狠网亚洲精品| 国产精品久久综合| 欧美日韩极品在线观看一区| 久久av老司机精品网站导航| 国产亚洲欧洲997久久综合| 99精品久久99久久久久| 日韩国产成人精品| 久久久久亚洲综合| 欧美在线小视频| 欧美日本高清视频在线观看| 精品一区二区日韩| 日韩毛片精品高清免费| 9191国产精品| 国产suv精品一区二区三区| 亚洲黄色录像片| 精品国产亚洲一区二区三区在线观看| 国产精品一区二区久久精品爱涩| 亚洲天堂精品在线观看| 欧美一区二区三区视频在线 | 欧美一个色资源| 成人免费的视频| 日本在线不卡一区| 亚洲视频中文字幕| 精品三级av在线| 在线精品视频一区二区| 激情五月激情综合网| 亚洲美女屁股眼交| 精品国产区一区| 欧美亚洲综合另类| 国产美女视频一区| 天天影视涩香欲综合网| 欧美国产精品v| 日韩欧美一区在线观看| 91欧美激情一区二区三区成人| 激情丁香综合五月| 亚洲电影激情视频网站| 亚洲国产精品成人综合色在线婷婷| 欧美日本精品一区二区三区| av影院午夜一区| 国产传媒日韩欧美成人| 日韩精品欧美成人高清一区二区| 中文字幕一区二区三区不卡|