分子图形学(转载自维基,英文)

2023-11-05

分子图形学,来自http://en.wikipedia.org/wiki/Molecular_graphics

Molecular graphics (MG) is the discipline and philosophy of studying molecules and their properties through graphical representation.[1]IUPAC limits the definition to representations on a "graphical display device".[2] Ever since Dalton's atoms and Kekule's benzene, there has been a rich history of hand-drawn atoms and molecules, and these representations have had an important influence on modern molecular graphics. This article concentrates on the use of computers to create molecular graphics. Note, however, that many molecular graphics programs and systems have close coupling between the graphics and editing commands or calculations such as in molecular modelling.

Contents

[hide]

Relation to molecular models

Fig. 1. Key: Hydrogen = white, carbon = grey, nitrogen = blue, oxygen = red, and phosphorus = orange.

There has been a long tradition of creating molecular models from physical materials. Perhaps the best known is Crick and Watson's model of DNA built from rods and planar sheets, but the most widely used approach is to represent all atoms and bonds explicitly using the "ball and stick" approach. This can demonstrate a wide range of properties, such as shape, relative size, and flexibility. Many chemistry courses expect that students will have access to ball and stick models. One goal of mainstream molecular graphics has been to represent the "ball and stick" model as realistically as possible and to couple this with calculations of molecular properties.

Figure 1 shows a small molecule (NH3CH2CH2C(OH)(PO3H)(PO3H)-), as drawn by the Jmol program. It is important to realise that the colours are purely a convention. Molecules can never be visible under any light microscope and atoms are not coloured, do not have hard surfaces and do not reflect light. Bonds are not rod-shaped. If physical molecular models had not existed, it is unlikely that molecular graphics would currently use this metaphor.

Comparison of physical models with molecular graphics

Physical models and computer models have partially complementary strengths and weaknesses. Physical models can be used by those without access to a computer and now can be made cheaply out of plastic materials. Their tactile and visual aspects cannot be easily reproduced by computers (although haptic devices have occasionally been built). On a computer screen, the flexibility of molecules is also difficult to appreciate; illustrating the pseudorotation of cyclohexane is a good example of the value of mechanical models.

However, it is difficult to build large physical molecules, and all-atom physical models of even simple proteins could take weeks or months to build. Moreover, physical models are not robust and they decay over time. Molecular graphics is particularly valuable for representing global and local properties of molecules, such as electrostatic potential. Graphics can also be animated to represent molecular processes and chemical reactions, a feat that is not easy to reproduce physically.

History

Initially the rendering was on early Cathode ray tube screens or through plotters drawing on paper. Molecular structures have always been an attractive choice for developing new computer graphics tools, since the input data are easy to create and the results are usually highly appealing. The first example of MG was a display of a protein molecule (Project MAC, 1966) by Cyrus Levinthal and Robert Langridge. Among the milestones in high-performance MG was the work of Nelson Max in "realistic" rendering of macromolecules using reflecting spheres.

By about 1980 many laboratories both in academia and industry had recognized the power of the computer to analyse and predict the properties of molecules, especially in materials science and the pharmaceutical industry. The discipline was often called "molecular graphics" and in 1982 a group of academics and industrialists in the UK set up the Molecular Graphics Society (MGS). Initially much of the technology concentrated either on high-performance 3D graphics, including interactive rotation or 3D rendering of atoms as spheres (sometimes with radiosity). During the 1980s a number of programs for calculating molecular properties (such as molecular dynamics and quantum mechanics) became available and the term "molecular graphics" often included these. As a result the MGS has now changed its name to the Molecular Graphics and Modelling Society (MGMS).

The requirements of macromolecular crystallography also drove MG because the traditional techniques of physical model-building could not scale. Alwyn Jones' FRODO program (and later "O") were developed to overlay the molecular electron density determined from X-ray crystallography and the hypothetical molecular structure.

Art, science and technology in molecular graphics

Fig. 2. Image of hemagglutinin with alpha helices depicted as cylinders and the rest of the chain as silver coils. The individual protein atoms (several thousand) have been hidden. All of the non-hydrogen atoms in the two ligands (presumably sialic acid) have been shown near the top of the diagram. Key: Carbon = grey, oxygen = red, nitrogen = blue.

Both computer technology and graphic arts have contributed to molecular graphics. The development of structural biology in the 1950s led to a requirement to display molecules with thousands of atoms. The existing computer technology was limited in power, and in any case a naive depiction of all atoms left viewers overwhelmed. Most systems therefore used conventions where information was implicit or stylistic. Two vectors meeting at a point implied an atom or (in macromolecules) a complete residue (10-20 atoms).

The macromolecular approach was popularized by Dickerson and Geis' presentation of proteins and the graphic work of Jane Richardson through high-quality hand-drawn diagrams such as the "ribbon" representation. In this they strove to capture the intrinsic 'meaning' of the molecule. This search for the "messages in the molecule" has always accompanied the increasing power of computer graphics processing. Typically the depiction would concentrate on specific areas of the molecule (such as the active site) and this might have different colours or more detail in the number of explicit atoms or the type of depiction (e.g., spheres for atoms).

In some cases the limitations of technology have led to serendipitous methods for rendering. Most early graphics devices used vector graphics, which meant that rendering spheres and surfaces was impossible. Michael Connolly's program "MS" calculated points on the surface-accessible surface of a molecule, and the points were rendered as dots with good visibility using the new vector graphics technology, such as the Evans and Sutherland PS300 series. Thin sections ("slabs") through the structural display showed very clearly the complementarity of the surfaces for molecules binding to active sites, and the "Connolly surface" became a universal metaphor.

The relationship between the art and science of molecular graphics is shown in the exhibitions sponsored by the Molecular Graphics Society. Some exhibits are created with molecular graphics programs alone, while others are collages, or involve physical materials. An example from Mike Hann (1994), inspired by Magritte's painting Ceci n'est pas une pipe, uses an image of a salmeterol molecule.

"Ceci n'est pas une molecule," writes Mike Hann, "serves to remind us that all of the graphics images presented here are not molecules, not even pictures of molecules, but pictures of icons which we believe represent some aspects of the molecule's properties."

Space-filling models

Main article: Space-filling model
Fig. 4. Space-filling model of formic acid. Key: Hydrogen = white, carbon = black, oxygen = red.

Fig. 4 is a "space-filling" representation of formic acid, where atoms are drawn to suggest the amount of space they occupy. This is necessarily an icon: in the quantum mechanical representation of molecules, there are only (positively charged) nuclei and a "cloud" of negative electrons. The electron cloud defines an approximate size for the molecule, though there can be no single precise definition of size. For many years the size of atoms has been approximated by mechanical models (CPK), where the atoms have been represented by plastic spheres whose radius (van der Waals radius) describes a sphere within which "most" of the electron density can be found. These spheres could be clicked together to show the steric aspects of the molecule rather than the positions of the nuclei. Fig. 4 shows the intricacy required to make sure that all spheres intersect correctly, and also demonstrates a reflective model.

Fig. 5. A molecule (zirconocene) where part (left) is rendered as ball-and-stick and part (right) as an isosurface.

Since the atomic radii (e.g. in Fig. 4) are only slightly less than the distance between bonded atoms, the iconic spheres intersect, and in the CPK models, this was achieved by planar truncations along the bonding directions, the section being circular. When raster graphics became affordable, one of the common approaches was to replicate CPK models in silico. It is relatively straightforward to calculate the circles of intersection, but more complex to represent a model with hidden surface removal. A useful side product is that a conventional value for the molecular volume can be calculated.

The use of spheres is often for convenience, being limited both by graphics libraries and the additional effort required to compute complete electronic density or other space-filling quantities. It is now relatively common to see images of isosurfaces that have been coloured to show quantities such as electrostatic potential. The commonest isosurfaces are the Connolly surface, or the volume within which a given proportion of the electron density lies. The isosurface in Fig. 5 appears to show the electrostatic potential, with blue colours being negative and red/yellow (near the metal) positive. (There is no absolute convention of colouring, and red/positive, blue/negative are often confusingly reversed!) Opaque isosurfaces do not allow the atoms to be seen and identified and it is not easy to deduce them. Because of this, isosurfaces are often drawn with a degree of transparency.

Technology

Molecular graphics has always pushed the limits of display technology, and has seen a number of cycles of integration and separation of compute-host and display. Early systems like Project MAC were bespoke and unique, but in the 1970s the MMS-X and similar systems used (relatively) low-cost terminals, such as the Tektronix 4014 series, often over dial-up lines to multi-user hosts. The devices could only display static pictures but, were able to evangelize MG. In the late 1970s, it was possible for departments (such as crystallography) to afford their own hosts (e.g., PDP-11) and to attach a display (such as Evans & Sutherland's MPS) directly to the bus. The display list was kept on the host, and interactivity was good since updates were rapidly reflected in the display—at the cost of reducing most machines to a single-user system.

In the early 1980s, Evans & Sutherland (E&S) decoupled their PS300 display, which contained its own display information transformable through a dataflow architecture. Complex graphical objects could be downloaded over a serial line (e.g. 9600 baud) and then manipulated without impact on the host. The architecture was excellent for high performance display but very inconvenient for domain-specific calculations, such as electron-density fitting and energy calculations. Many crystallographers and modellers spent arduous months trying to fit such activities into this architecture.

The benefits for MG were considerable, but by the later 1980s, UNIX workstations such as Sun-3 with raster graphics (initially at a resolution of 256 by 256) had started to appear. Computer-assisted drug design in particular required raster graphics for the display of computed properties such as atomic charge and electrostatic potential. Although E&S had a high-end range of raster graphics (primarily aimed at the aerospace industry) they failed to respond to the low-end market challenge where single users, rather than engineering departments, bought workstations. As a result the market for MG displays passed to Silicon Graphics, coupled with the development of minisupercomputers (e.g., CONVEX and Alliant) which were affordable for well-supported MG laboratories. Silicon Graphics provided a graphics language, IrisGL, which was easier to use and more productive than the PS300 architecture. Commercial companies (e.g., Biosym, Polygen/MSI) ported their code to Silicon Graphics, and by the early 1990s, this was the "industry standard".

Stereoscopic displays were developed based on liquid crystal polarized spectacles, and while this had been very expensive on the PS300, it now became a commodity item. A common alternative was to add a polarizable screen to the front of the display and to provide viewers with extremely cheap spectacles with orthogonal polarization for separate eyes. With projectors such as Barco, it was possible to project stereoscopic display onto special silvered screens and supply an audience of hundreds with spectacles. In this way molecular graphics became universally known within large sectors of chemical and biochemical science, especially in the pharmaceutical industry. Because the backgrounds of many displays were black by default, it was common for modelling sessions and lectures to be held with almost all lighting turned off.

In the last decade almost all of this technology has become commoditized. IrisGL evolved to OpenGL so that molecular graphics can be run on any machine. In 1992, Roger Sayle released his RasMol program into the public domain. RasMol contained a very high-performance molecular renderer that ran on Unix/X Window, and Sayle later ported this to the Windows and Macintosh platforms. The Richardsons developed kinemages and the Mage software, which was also multi-platform. By specifying the chemical MIME type, molecular models could be served over the Internet, so that for the first time MG could be distributed at zero cost regardless of platform. In 1995, Birkbeck College's crystallography department used this to run "Principles of Protein Structure", the first multimedia course on the Internet, which reached 100 to 200 scientists.

Fig. 6. A molecule of Porin (protein) shown without ambient occlusion (left) and with (right). Advanced rendering effects can improve the comprehension of the 3D shape of a molecule.

MG continues to see innovation that balances technology and art, and currently zero-cost or open source programs such as PyMOL and Jmol have very wide use and acceptance.

Recently the wide spread diffusion of advanced graphics hardware, has improved the rendering capabilities of the visualization tools. The capabilities of current shading languages allow the inclusion of advanced graphic effects (like ambient occlusion, cast shadows and non-photorealistic rendering techniques) in the interactive visualization of molecules. These graphic effects, beside being eye candy, can improve the comprehension of the three dimensional shapes of the molecules. An example of the effects that can be achieved exploiting recent graphics hardware can be seen in the simple open source visualization system QuteMol.

Algorithms

Reference frames

Drawing molecules requires a transformation between molecular coordinates (usually, but not always, in Angstrom units) and the screen. Because many molecules are chiral it is essential that the handedness of the system (almost always right-handed) is preserved. In molecular graphics the origin (0, 0) is usually at the lower left, while in many computer systems the origin is at top left. If the z-coordinate is out of the screen (towards the viewer) the molecule will be referred to right-handed axes, while the screen display will be left-handed.

Molecular transformations normally require:

  • scaling of the display (but not the molecule).
  • translations of the molecule and objects on the screen.
  • rotations about points and lines.

Conformational changes (e.g. rotations about bonds) require rotation of one part of the molecule relative to another. The programmer must decide whether a transformation on the screen reflects a change of view or a change in the molecule or its reference frame.

Simple

Fig. 7. Stick model of caffeine drawn in Jmol.


In early displays only vectors could be drawn e.g. (Fig. 7) which are easy to draw because no rendering or hidden surface removal is required.

On vector machines the lines would be smooth but on raster devices Bresenham's algorithm is used (note the "jaggies" on some of the bonds, which can be largely removed with antialiasing software.)

Atoms can be drawn as circles, but these should be sorted so that those with the largest z-coordinates (nearest the screen) are drawn last. Although imperfect, this often gives a reasonably attractive display. Other simple tricks which do not include hidden surface algorithms are:

  • colouring each end of a bond with the same colour as the atom to which it is attached (Fig. 7).
  • drawing less than the whole length of the bond (e.g. 10%-90%) to simulate the bond sticking out of a circle.
  • adding a small offset white circle within the circle for an atom to simulate reflection.

Typical pseudocode for creating Fig. 7 (to fit the molecule exactly to the screen):

// assume:
// atoms with x, y, z coordinates (Angstrom) and elementSymbol
// bonds with pointers/references to atoms at ends
// table of colours for elementTypes
// find limits of molecule in molecule coordinates as xMin, yMin, xMax, yMax 
scale = min(xScreenMax/(xMax-xMin), yScreenMax/(yMax-yMin)) 
xOffset = -xMin * scale; yOffset = -yMin * scale
for (bond in $bonds) {
  atom0 = bond.getAtom(0)
  atom1 = bond.getAtom(1)
  x0 = xOffset+atom0.getX()*scale; y0 = yOffset+atom0.getY()*scale // (1)
  x1 = xOffset+atom1.getX()*scale; y1 = yOffset+atom1.getY()*scale // (2)
  x1 = atom1.getX();  y1 = atom1.getY()
  xMid = (x0 + x1) /2;  yMid = (y0 + y1) /2;
  colour0 = ColourTable.getColour(atom0.getSymbol())
  drawLine (colour0, x0, y0, xMid, yMid)
  colour1 = ColourTable.getColour(atom1.getSymbol())
  drawLine (colour1, x1, y1, xMid, yMid)
}

Note that this assumes the origin is in the bottom left corner of the screen, with Y up the screen. Many graphics systems have the origin at the top left, with Y down the screen. In this case the lines (1) and (2) should have the y coordinate generation as:

 y0 = yScreenMax -(yOffset+atom0.getY()*scale) // (1)
 y1 = yScreenMax -(yOffset+atom1.getY()*scale) // (2)

Changes of this sort change the handedness of the axes so it is easy to reverse the chirality of the displayed molecule unless care is taken.

Advanced

For greater realism and better comprehension of the 3D structure of a molecule many computer graphics algorithms can be used. For many years molecular graphics has stressed the capabilities of graphics hardware and has required hardware-specific approaches. With the increasing power of machines on the desktop, portability is more important and programs such as Jmol have advanced algorithms that do not rely on hardware. On the other hand recent graphics hardware is able to interactively render very complex molecule shapes with a quality that would not be possible with standard software techniques.

Chronology

This table provides an incomplete chronology of molecular graphics advances.

Developer(s)  ↓ Approximate date  ↓ Technology  ↓ Comments  ↓
Crystallographers < 1960 Hand-drawn Crystal structures, with hidden atom and bond removal. Often clinographic projections.
Cyrus Levinthal, Bob Langridge 1960s CRT First protein display on screen (Project MAC).
Johnson, Motherwell ca 1970 Pen plotter ORTEP, PLUTO. Very widely deployed for publishing crystal structures.
Langridge, White, Marshall Late 1970s Departmental systems (PDP-11, Tektronix displays or DEC-VT11, e.g. MMS-X) Mixture of commodity computing with early displays.
T. Alwyn Jones 1978 FRODO Crystallographic structure solution.
Davies, Hubbard Mid-1980s CHEM-X, HYDRA Laboratory systems with multicolor, raster and vector devices (Sigmex, PS300).
Biosym, Tripos, Polygen Mid-1980s PS300 and lower cost dumb terminals (VT200, SIGMEX) Commercial integrated modelling and display packages.
Silicon Graphics, Sun Late 1980s IRIS GL (UNIX) workstations Commodity-priced single-user workstations with stereoscopic display.
EMBL - WHAT IF 1989, 2000 Machine independent Nearly free, multifunctional, still fully supported, many free servers based on it
Sayle, Richardson 1992, 1993 RasMol, Kinemage Platform-independent MG.
MDL (van Vliet, Maffett, Adler, Holt) 1995-1998 Chime proprietary C++ ; free browser plugin for Mac (OS9) and PCs
ChemAxon 1998- MarvinSketch & MarvinView. MarvinSpace (2005) proprietary Java applet or stand-alone application.
Community efforts 2000- Jmol, PyMol, Protein Workshop (www.pdb.org) Open-source Java applet or stand-alone application.
NOCH 2002- NOC Powerful and open source code molecular structure explorer
LION Bioscience / EMBL 2004- SRS 3D Free, open-source system based on Java3D. Integrates 3D structures with sequence and feature data (domains, SNPs, etc.).
San Diego Supercomputer Center 2006- Sirius Free for academic/non-profit institutions
Weizmann Institute of Science - Community efforts 2008- Proteopedia Collaborative, 3D wiki encyclopedia of proteins & other molecules

References

  1. ^ Dickerson, R.E.; Geis, I. (1969). The structure and action of proteins. Menlo Park, CA: W.A. Benjamin. 
  2. ^ International Union of Pure and Applied Chemistry (1997). "molecular graphics". Compendium of Chemical Terminology Internet edition.

See also

Wikimedia Commons has media related to: Molecules

External links

This article's external links may not follow Wikipedia's content policies or guidelines. Please improve this article by removing excessive or inappropriate external links.

 

转载于:https://www.cnblogs.com/tangpepper/archive/2009/11/04/1596010.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分子图形学(转载自维基,英文) 的相关文章

  • 如何在gradle中执行jar文件?

    当我使用 ant 构建我的 android 项目时 我需要这样的任务
  • 通过 Java Spring 构建 sitemap.xml [重复]

    这个问题在这里已经有答案了 我正在通过 Spring MVC 构建 sitemap xml XmlRootElement name urlset public class XmlUrlSet XmlElements XmlElement n
  • 如何在Android上创建原生C++库?

    我需要用C 编写一个动态链接库 供Android上的Java使用 据我所知 它应该是 so 库 但我不知道该怎么做 我尝试了 Cygwin 但它崩溃了 海湾合作委员会1 cpp usr lib gcc i686 pc cygwin 4 3
  • android listviews:页眉和页脚视图

    在我的 ListActivity 中 我需要页眉和页脚视图 位于列表的顶部和底部 分别用作列表上的上一页和下一页按钮 因为我只想一次仅显示 20 个项目 我通过执行以下操作来设置头视图和脚视图 getListView addHeaderVi
  • Java中如何存储profile?

    我仍在学习 Java 的诀窍 如果有一个明显的答案 我很抱歉 我有一个占用大量内存的程序 我想找到一种方法来减少其使用 但是在阅读了许多 SO 问题后 我认为在开始优化它之前我需要证明问题出在哪里 这就是我所做的 我在程序的开头添加了一个断
  • 在手机上单步执行 Android 代码 - 大行号差异

    我正在尝试调试与 Samsung Captivate Galaxy S 上的 ListView 相关的一些代码 我在代码中的某个位置放置了断点 当它停止时 我会在堆栈上返回几帧到 ListView 源 现在 我可以预期会出现一些不匹配的情况
  • netty 4.x 中 ServerBootstrap.option() 和 ServerBootstrap.childOption() 有什么区别

    根据文档4 0 中值得注意的新内容 http netty io wiki new and noteworthy in 4 0 html wiki h3 31 netty4提供了新的bootstrap API 文档给出了以下代码示例 publ
  • SAP Spartacus 表单个性化

    如果已经有使用给定电子邮件注册的帐户 我需要修改注册表以显示错误消息 SAP Hybris 后端 Angular 中的 Spartacus 店面 目前 我有一个自定义验证器类 它可以正常工作 import org springframewo
  • 编辑 CSV 文件(设计实现)

    我开始设计一个程序 该程序将根据已找到并保存到主 CSV Excel 文件中的相似字符串及其标识 自动执行正确查找和识别字符串的过程 现在我想正确设计它 这样我以后在实现 CSV Excel 读写部分时就不会遇到问题 我可能会使用 Open
  • Java 字节码中循环的检测 - 区分后沿类型

    背景 在提出问题之前 我想声明我已检查以下链接 识别java字节码中的循环 https stackoverflow com questions 6792305 identify loops in java byte code Java 字节
  • 如何将多种语言设置放入单个 .clang-format 文件中

    我想为 java javascript 和 c 创建一个 clang 格式 我知道如何转储单一语言的示例配置 但不知道如何合并这 3 个配置文件 有关如何将多种语言配置放入单个文件中的示例 BasedOnStyle LLVM IndentW
  • Java 同步计数器 - get() 怎么样?

    众所周知这么简单x 不是原子操作 实际上是读 增量 写操作 这就是为什么它应该同步 但是关于get 我读过它也应该同步 但有人能解释一下为什么吗 通过引入来避免内存一致性错误happens before关系 当出现以下情况时该怎么办get
  • 基本的 Swing 库? JGoodies,JFreeChart [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JPanel 上的圆形边框

    我这里得到的是一个带有圆形边框的 JPanel 其设置如下 panel setBorder new LineBorder PanelColor 5 true 问题是 在每个角上都有 2 条从外角到内角的对角不透明线 即边框的长度 边界后面的
  • Android 折叠工具栏在折叠时没有隐藏其他元素

    我在 Android 上有一个布局 支持设计折叠工具栏 其中包含 TextView 但是当我折叠工具栏时 一些带有工具栏标题的 TextView 我想隐藏所有其他内容 而不是工具栏和标题 这是我的布局
  • 在调用超类型构造函数之前无法引用“X”,其中 x 是最终变量

    考虑以下 Java 类声明 public class Test private final int defaultValue 10 private int var public Test this defaultValue lt Compi
  • XStream:xstream 1.3.1 中具有属性和文本节点的节点?

    我想使用 XStream 将对象序列化为这种形式的 XML
  • 无法在 Windows 7 64 位中正确设置 java 路径

    我已经在计算机中安装了 java 1 6 并且还使用高级变量设置设置了路径 当我尝试执行 java 时 在命令提示符下出现此错误 Error could not open C Program Files Java jre7 lib amd6
  • JavaFX - 当文本字段具有焦点时加速器不工作

    在我的应用程序中 我有一个使用加速器的屏幕 我正在使用功能键 F3 在我的应用程序中执行操作 它每次都工作正常 但是当我单击此屏幕上的任何文本字段时 功能键不会执行 这是我设置加速器的代码 scene getAccelerators put
  • SnakeYaml“无法找到属性错误”

    这是我的 config yml 的一部分 Authenctication AuthenticationConfig AuthencticationType LDAP LDAPConfig LDAPUrl ldap localhost 389

随机推荐