diff --git a/rst/assets/ketcher/ACS.png b/rst/assets/ketcher/ACS.png new file mode 100644 index 00000000..a4110624 Binary files /dev/null and b/rst/assets/ketcher/ACS.png differ diff --git a/rst/assets/ketcher/Antisense.png b/rst/assets/ketcher/Antisense.png new file mode 100644 index 00000000..b89be0a5 Binary files /dev/null and b/rst/assets/ketcher/Antisense.png differ diff --git a/rst/assets/ketcher/Intro.png b/rst/assets/ketcher/Intro.png new file mode 100644 index 00000000..a9a99161 Binary files /dev/null and b/rst/assets/ketcher/Intro.png differ diff --git a/rst/assets/ketcher/ModalityAgnostic.png b/rst/assets/ketcher/ModalityAgnostic.png new file mode 100644 index 00000000..702d8d05 Binary files /dev/null and b/rst/assets/ketcher/ModalityAgnostic.png differ diff --git a/rst/assets/ketcher/ReactionsAndStereochem.png b/rst/assets/ketcher/ReactionsAndStereochem.png new file mode 100644 index 00000000..bf6ff1d4 Binary files /dev/null and b/rst/assets/ketcher/ReactionsAndStereochem.png differ diff --git a/rst/index.rst b/rst/index.rst index dd84de25..c4d3f5e2 100644 --- a/rst/index.rst +++ b/rst/index.rst @@ -75,12 +75,9 @@ Cheminformatics - `Ketcher `__ Web-based molecule sketcher |image2| - - Ketcher is a web-based chemical structure editor. - - Since Ketcher is written in pure Javascript, it incorporates high - performance, good portability and light weight. You will not need any - Java or Flash plugins to use it in your browser. Ketcher is completely - free and open-source, while also available on a commercial basis. - - `Ketcher demo `__: Edit molecules online + - Ketcher is an open-source web-based chemical structure editor designed + for drawing small molecules, biomolecules, and chemical reactions. + - `Try Ketcher! `_ - `Indigo Toolkit `__ Universal cheminformatics toolkit and API |image3| diff --git a/rst/ketcher/demo.rst b/rst/ketcher/demo.rst deleted file mode 100644 index cd18b833..00000000 --- a/rst/ketcher/demo.rst +++ /dev/null @@ -1,27 +0,0 @@ -Ketcher Demo -============ - -Remote ------- - -Remote version uses `Indigo Service <../indigo/service/index.html>`__ as a backend server to convert structure formats and calculate some chemistry properties - -|ketcher_remote_url| - -.. |ketcher_remote_url| raw:: html - - Ketcher Remote Latest - -Standalone ----------- - -Starting from version 2.2 Ketcher supports standalone mode. Ketcher can be run as client-only javascript application without a backend. - -|ketcher_standalone_url| - -.. |ketcher_standalone_url| raw:: html - - Ketcher Standalone Lastest - - - diff --git a/rst/ketcher/developers-manual.rst b/rst/ketcher/developers-manual.rst deleted file mode 100644 index 6f1f8f22..00000000 --- a/rst/ketcher/developers-manual.rst +++ /dev/null @@ -1,113 +0,0 @@ -Developers Manual -================= - -Installation ------------- - -The installation package contains all required sources. - -- To run Ketcher in a separate page, use ``ketcher/index.html``: - - :: - - Ketcher - -- To embed Ketcher in another page, use IFrame: - - :: - - - -Access Ketcher --------------- - -To access Ketcher from JavaScript, use the following code to obtain the -object reference: - -.. code-block:: javascript - - var ketcher = ketcherWindow.ketcher; - -where ``ketcherWindow`` is a separate Ketcher window or - -.. code-block:: javascript - - var ketcherFrame = document.getElementById('ifKetcher'); - var ketcher = null; - - if ('contentDocument' in ketcherFrame) - ketcher = ketcherFrame.contentWindow.ketcher; - else // IE7 - ketcher = document.frames['ifKetcher'].window.ketcher; - -where ``ifKetcher`` is a Ketcher IFrame. - - -- **setMolecule()** - - -This method updates the current structure in the editor. Pass it a -SMILES string or a Molfile/Rxnfile: - -.. code-block:: javascript - - ketcher.setMolecule('c1ccccc1'); - -**Note:** SMILES import is not available in the standalone mode. - -- **getSmiles()** - -Exports current structure as a SMILES string. - -- **getMolfile()** - -Exports current structure as a Molfile/Rxnfile string. - -- **addFragment()** - -This method switches Ketcher to the fragment insertion mode where a user -can specify where to the provided fragment. Pass it a SMILES string or a -Molfile/Rxnfile: - -.. code-block:: javascript - - ketcher.addFragment('c1ccccc1'); - -**Note:** SMILES import is not available in the standalone mode. - -Ketcher interaction example ---------------------------- - -You can look at the source a web page with embedded Ketcher -`here `__ where the web page interacts with a Ketcher -object using this API. - -Ketcher Server --------------- - -The current version of Ketcher has a sample implementation of the server -side. A simple Python script ``ketcher.py`` listens to the port 8080 and -has four interfaces: - -+--------------------+------------------------------------------+--------+-------------------------+ -| Query | Action | Type | Parameters | -+====================+==========================================+========+=========================+ -| ``/knocknock`` | Server availability check | GET | - | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/open`` | Query for loading files from disk | POST | ``filedata`` | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/save`` | Query for saving files to disk | POST | ``filedata`` | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/layout`` | Query for converting SMILES to Molfile | POST | ``moldata`` | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/automap`` | Query for reaction auto-mapping | POST | ``moldata``, ``mode`` | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/aromatize`` | Query for aromatization | POST | ``moldata`` | -+--------------------+------------------------------------------+--------+-------------------------+ -| ``/dearomatize`` | Query for dearomatization | POST | ``moldata`` | -+--------------------+------------------------------------------+--------+-------------------------+ - -`Indigo <../indigo/index.html>`__ binaries and Python wrappers are -required to perform automatic layout, atom-to-atom mapping or SMILES -import. Ketcher server script can be executed as a standalone -application and also can run under WSGI. diff --git a/rst/ketcher/editing-tips.rst b/rst/ketcher/editing-tips.rst deleted file mode 100644 index 452f0296..00000000 --- a/rst/ketcher/editing-tips.rst +++ /dev/null @@ -1,105 +0,0 @@ -Editing Tips -============ - -Hotkeys -------- - -Here is a list of useful keyboard shortcuts (on Mac OS X, use **Cmd** -key instead of **Ctrl**): - -+---------------+------------------------------------------------------------------------------------------+ -| Key | Action | -+===============+==========================================================================================+ -| **Esc** | Simple selection mode / exit from dialog window | -+---------------+------------------------------------------------------------------------------------------+ -| **0** | "Any" bond mode | -+---------------+------------------------------------------------------------------------------------------+ -| **1** | Simple/Up/Down/Up or Down bond mode. Multiple pressing switches these types one by one | -+---------------+------------------------------------------------------------------------------------------+ -| **2** | Double/Cis or Trans bond mode. Multiple pressing switches these types one by one | -+---------------+------------------------------------------------------------------------------------------+ -| **3** | Triple bond mode | -+---------------+------------------------------------------------------------------------------------------+ -| **4** | Aromatic bond mode | -+---------------+------------------------------------------------------------------------------------------+ -| **5** | Increase/decrease charge mode. Multiple pressing switches between two modes | -+---------------+------------------------------------------------------------------------------------------+ -| **T** | Template mode. Multiple pressing selects different templates one by one | -+---------------+------------------------------------------------------------------------------------------+ -| **A** | "Any" atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **H** | H atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **C** | C atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **N** | N atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **O** | O atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **S** | S atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **F** | F atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **P** | P atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **Shift+C** | Cl atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **Shift+B** | Br atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **I** | I atom mode | -+---------------+------------------------------------------------------------------------------------------+ -| **+** | Zoom in | -+---------------+------------------------------------------------------------------------------------------+ -| **-** | Zoom out | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+N** | New document | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+O** | Open/Load | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+S** | Save/Export | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+Z** | Undo (Redo with Shift pressed) | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+X** | Cut | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+C** | Copy | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+V** | Paste | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+L** | Clean up | -+---------------+------------------------------------------------------------------------------------------+ -| **Ctrl+G** | S-group tool | -+---------------+------------------------------------------------------------------------------------------+ -| **Shift+R** | R-group tool | -+---------------+------------------------------------------------------------------------------------------+ - -**Note:** see the tooltips on buttons to find corresponding shortcuts. - -Fast Atom Label Input ---------------------- - -Press one of the atom buttons (or the corresponding keyboard shortcut) -to change the labels of the selected atoms or, if none are selected, the -label of the atom directly under cursor. -When Selection mode is active, press and hold the left mouse button -on an atom to edit the label in place. Charge can also be specified -here, e.g.: ``N-``, ``C2+``, ``Na``. - -Properties Dialog ------------------ - -Double click an atom, bond, S-group or other element to edit its -properties. - -Flipping Stereo Bonds ---------------------- - -Repeatedly applying the bond tool with a single stereo-bond (up, down or -either) selected will change the bond's direction. - -Chains and Templates --------------------- - -Chains and basic ring templates are available via Chain tool and -Template tool. More complex templates can be loaded to clipboard (via -the Open File dialog) and pasted to the canvas. diff --git a/rst/ketcher/help.rst b/rst/ketcher/help.rst deleted file mode 100644 index aa44f9d2..00000000 --- a/rst/ketcher/help.rst +++ /dev/null @@ -1,487 +0,0 @@ -Help -==== - -**Ketcher** is a tool to draw molecular structures and chemical -reactions. - -Ketcher Overview ----------------- - -**Ketcher** is a tool to draw molecular structures and chemical -reactions. Ketcher operates in two modes, the Server mode with most -functions available and the client mode with limited functions -available. - -**Ketcher** consists of the following elements: - -|Ketcher elements| Using the *Tool palette* you can - -- draw and edit the molecule or reaction by clicking on and dragging - atoms, bonds, and other elements provided with the buttons on *Atoms* - toolbar and *Tool palette*; -- delete any element of the drawing (atom or bond) by clicking on it - with the Erase tool; -- delete the entire molecule or its fragment by rectangular selection - with the Erase tool; -- draw special structures (see the following sections); -- select the entire molecule or its fragment in one of the following - ways (click on the button to see the list of available options): - -|image1| - -To select one atom or bond, click Lasso or Rectangle Selection tool, and -then click the atom or bond. - -To select the entire structure: - -- Select the Fragment Selection tool and then click the object. -- Select the Lasso or Rectangle Selection tool, then drag the mouse to - select the object. -- Ctrl-click with the Lasso or Rectangle Selection tool. - -To select multiple atoms, bonds, structures, or other objects, do one of -the following: - -- Shift-click with the Lasso or Rectangle Selection tool selects some - (connected or not) atoms/bonds. -- With the Lasso or Rectangle Selection tool click and drag the mouse - around the atoms, bonds, or structures that you want to select. - -**Note**: Ctrl+Shift-click with the Lasso or Rectangle Selection tool -selects several structures. - -You can use the buttons of the *Main* toolbar: |image2| - -- **Clear Canvas** (1) button to start drawing a new molecule; this - command clears the drawing area; -- **Open…** (2) and **Save As…** (3) buttons to import a molecule from - a molecular file or save it to a supported molecular file format; -- **Undo**/**Redo** (4), **Cut** (5), **Copy** (6), **Paste** (7), - **Zoom In**/**Out** (8), and **Scaling** (9) buttons to perform the - corresponding actions; -- **Clean** button (10) to improve the appearance of the structure by - assigning them uniform bond lengths and angles. -- **Aromatize**/**Dearomatize** buttons (11) to mark aromatic - structures (to convert a structure to the Aromatic or Kekule - presentation). - -**Note**: **Clean** and **Aromatize**/**Dearomatize** buttons are active -only in the Server mode. - -Drawing Atoms -------------- - -To draw/edit atoms you can: - -- select an atom in the Atoms toolbar and click inside the drawing - area; - -- if the desired atom is absent in the toolbar, click on the […] button - to invoke the Periodic Table and click on the desired atom (available - options: *Single* – selection of a single atom, *List* – choose an - atom from the list of selected options (To allow one atom from a list - of atoms of your choice at that position), *Not List* - exclude any - atom on your list at that position). - -|image3| - -- add an atom to the existing molecule by selecting an atom in the - *Atoms* toolbar, clicking on an atom in the molecule, and dragging - the cursor; the atom will be added with a single bond; vacant - valences will be filled with the corresponding number of hydrogen - atoms; -- change an atom by selecting an atom in the *Atoms* toolbar and - clicking on the atom to be changed; in the case a wrong valence thus - appears the atom will be underlined in red; -- change an atom by clicking on an existing atom with the *Selection* - tool and waiting for a couple of seconds for the text box to appear; - type another atom symbol in the text box: - -|image4| - -- change the charge of an atom by selecting the Charge Plus or Charge - Minus tool and clicking consecutively on an atom to increase/decrease - its charge - -|image5| - -- change an atom or its properties by double-clicking on the atom to - invoke the Atom Properties dialog (the dialog also provides atom - query features): - -|image6| - -- click on Generic Groups to invoke the Reaxys Generics dialog and - select a corresponding generic group: - -|image7| - -Drawing Bonds -------------- - -To draw/edit bonds you can: - -- Click an arrow on the Bond tool in the Tools palette to open the - drop-down list with the following bond types: - -|image8| - -- select a bond type from the drop down list and click inside the - drawing area; a bond of the selected type will be drawn; -- click on an atom in the molecule; a bond of the selected type will be - added to the atom at the angle of 120 degrees; -- add a bond to the existing molecule by clicking on an atom in the - molecule and dragging the cursor; in this case you can set the angle - manually; -- change the bond type by clicking on it; -- use the Chain Tool |image9| to draw consecutive single bonds; you can - use hotkeys to change atom types. -- change a bond or its properties by double-clicking on the bond to - invoke the Bond Properties dialog - -|image10| - -Clicking on a drawn stereo bond changes its direction. - -Clicking with the Single Bond tool switches the bond type cyclically: -Single-Double-Triple-Single. - -Using Templates ---------------- - -You can add templates (rings or other predefined structures) to the -structure using the Template tool. To add a ring to the molecule, select -a ring from the toolbar and click inside the drawing area, or click on -an atom or a bond in the molecule. - -|image11| - -Rules of using templates: - -- Selecting a template and clicking on an atom in the existing - structure adds the template to the structure connected with a single - bond: - -|image12| - -- Selecting a template and dragging the cursor from an atom in the - existing structure adds the template directly to this atom resulting - in the fused structure: - -|image13| - -- A discrete rotation is available in this mode with a step equal to 15 - degrees; pressing makes rotation stepless. -- Dragging the cursor from an atom in the existing structure results in - the single bond attachment if the cursor is dragged to more than ½ of - the bond length; otherwise the fused structure is drawn. -- Selecting a template and clicking on a bond in the existing structure - created a bond-to-bond fused structure: - -|image14| - -- The bond in the initial structure is replaced with the bond in the - template. -- This procedure doesn’t change the length of the bond in the initial - structure. -- Dragging the cursor relative to the initial bond applies the template - at the corresponding side of the bond. - -**Note**: The added template will be fused by the default attachment -atom or bond preset in the program. - -Drawing R-Groups ----------------- - -Use the *R-Group* toolbox to draw R-groups in Markush structures: - -|image15| - -Selecting the *R-Group Label Tool* and clicking on an atom in the -structure invokes the dialog to select the R-Group label for a current -atom position in the structure: - -|image16| - -Selecting the R-Group label and clicking **OK** converts the structure -into a Markush structure with the selected R-Group label: - -|image17| - -**Note**: You can choose several R-Group labels simultaneously: - -|image18| - -Particular chemical fragments that may be substituted for a given -R-Group form a set of R-Group members. R-Group members can be any -structural fragment, including functional groups and single atoms or -atom lists. - -To create a set of R-Group members: - -#. Draw a structure to become an R-Group member. -#. Select the structure using the *R-Group Fragment Tool* to invoke the - R-Group dialog; in this dialog select the label of the R-Group to - assign the fragment to. -#. Click on **OK** to convert the structure into an R-Group member. - -An R-Group attachment point is the atom in an R-Group member fragment -that attaches the fragment to the initial Markush structure. - -Selecting the *Attachment Point Tool* and clicking on an atom in the -R-Group fragment converts this atom into an attachment point. If the -R-Group contains more than one attachment point, you can specify one of -them as primary and the other as secondary. You can select between -either the primary or secondary attachment point using the dialog that -appears after clicking on the atom: - -|image19| - -If there are two attachment points on an R-Group member, there must be -two corresponding attachments (bonds) to the R-Group atom that has the -same R-Group label. Clicking on **OK** in the above dialog creates the -attachment point. - -Schematically, the entire process of the R-Group member creation can be -presented as: - -|image20| - -|image21| - -R-Group Logic -------------- - -**Ketcher** enables one to add logic when using R-Groups. To access -the R-Group logic: - -#. Create an R-Group member fragment as described above. - -#. Move the cursor over the entire fragment for the green frame to - appear, then click inside the fragment. The following dialog appears: - -|image22| - -#. Specify **Occurrence** to define how many of an R-Group occurs. If an - R-Group atom appears several times in the initial structure, you will - specify **Occurrence** “>n”, n being the number of occurrences; if it - appears once, you see “R1 >0”. - -#. Specify H at **unoccupied** R-Group sites (**RestH**): choose On or - Off in the drop-down list. - -#. Specify the logical **Condition**. Use the R-Group condition **If - R(i) Then** to specify whether the presence of an R-Group is - dependent on the presence of another R-Group. - -Marking S-Groups ----------------- - -To mark S-Groups, use the *S-Group tool* |image23| and the following -dialog that appears after selecting a fragment with this tool: - -|image24| - -Available S-Group types: - -*Generic* - -Multiple group is a pair of brackets without any labels that represents -a fixed number of identical repeating units in condensed form. - -*SRU Polymer* - -The Structural Repeating Unit (SRU) brackets enclose the structural -repeating of a polymer. You have three available patterns: head-to-tail -(the default), head-to-head, and either/unknown. - -*Superatom* - -An abbreviated structure (abbreviation) is all or part of a structure -(molecule or reaction component) that has been abbreviated to a text -label. Structures that you abbreviate keep their chemical significance, -but their underlying structure is hidden. The current version can’t -display contracted structures but correctly saves/reads them into/from -files. - -*Data* - -Attached data is numeric or text data that you can associate with all or -part of a structure. You can attach data to an atom, a bond, a fragment, -the entire structure or to any collection of atoms and bonds. - -|image25| - -- Add the appropriate S-Group Field Name. If you enter a wrong value, - the attached data can be saved to a molfile but cannot be registered - to the target database or used in a search. -- Type the appropriate Field Value. -- The labels can be specified as Absolute, Relative or Attached. - -Changing Structure Display --------------------------- - -Use the Flip/Rotate tool |image26| to change the structure display: - -|image27| - -Drawing Reactions ------------------ - -To draw/edit reactions you can - -- draw reagents and products as described above; -- use options of the *Reaction Arrow Tool* to draw an arrow and and - pluses in the reaction equation and map same atoms in reagents and - products. - -|image28| - -**Note**: Reaction Auto-Mapping Tool is available only in the Server -mode. - -Working with Files ------------------- - -Ketcher supports the following molecular formats that can be entered -either manually or from files: - -- MDL Molfile or RXN file; -- Daylight SMILES (Server mode only); -- InChi string (Server mode only). - -You can use the **Open…** and **Save As…** buttons of the *Main* toolbar -to import a molecule from a molecular file or save it to a supported -molecular file format. The *Open File* dialog enables one to either -browse for a file (Server mode) or manually input, e.g., the Molfile -ctable for the molecule to be imported: - -|image29| - -The *Save File* dialog enables one to save the molecular file: - -|image30| - -**Note**: In the standalone version only mol/rxn are supported for Open -and mol/SMILES for Save. - -Hotkeys -------- - -You can use keyboard hotkeys for some features/commands of the Editor. -To display the hotkeys just place the cursor over a toolbar button. If a -hotkey is available for the button, it will appear in brackets after the -description of the button. - -+--------------------------------------+--------------------------------------+ -| **Key** | **Action** | -+--------------------------------------+--------------------------------------+ -| **Esc** | Switching between the | -| | Lasso/Rectangle/Fragment Selection | -| | tools | -+--------------------------------------+--------------------------------------+ -| **0** | Draw Any bond. | -+--------------------------------------+--------------------------------------+ -| **1** | Single / Single Up / Single Down / | -| | Single Up/Down bond. Consecutive | -| | pressing switches between these | -| | types. | -+--------------------------------------+--------------------------------------+ -| **2** | Double / Double Cis/Trans bond | -+--------------------------------------+--------------------------------------+ -| **3** | Draw a triple bond. | -+--------------------------------------+--------------------------------------+ -| **4** | Draw an aromatic bond. | -+--------------------------------------+--------------------------------------+ -| **R** | Creates an R-Group label. Use | -| | +R to change the R-Group | -| | label type (R-Group Label | -| | Tool/R-Group Fragment | -| | Tool/Attachment Point Tool). | -+--------------------------------------+--------------------------------------+ -| **A** | Draw any atom | -+--------------------------------------+--------------------------------------+ -| **H** | Draw a hydrogen | -+--------------------------------------+--------------------------------------+ -| **C** | Draw a carbon | -+--------------------------------------+--------------------------------------+ -| **N** | Draw a nitrogen | -+--------------------------------------+--------------------------------------+ -| **O** | Draw an oxygen | -+--------------------------------------+--------------------------------------+ -| **S** | Draw a sulfur | -+--------------------------------------+--------------------------------------+ -| **F** | Draw a fluorine | -+--------------------------------------+--------------------------------------+ -| **P** | Draw a phosphorus | -+--------------------------------------+--------------------------------------+ -| **Shift+C** | Draw a chlorine | -+--------------------------------------+--------------------------------------+ -| **Shift+B** | Draw a bromine | -+--------------------------------------+--------------------------------------+ -| **I** | Draw an iodine | -+--------------------------------------+--------------------------------------+ -| **T** | Drawing templates. Consecutive | -| | pressing switches between different | -| | templates. | -+--------------------------------------+--------------------------------------+ -| **5** | Charge Plus/Charge Minus. | -+--------------------------------------+--------------------------------------+ -| **Ctrl+G** | S-Group tool | -+--------------------------------------+--------------------------------------+ -| **Ctrl+N** | Clear canvas | -+--------------------------------------+--------------------------------------+ -| **Ctrl+O** | Open | -+--------------------------------------+--------------------------------------+ -| **Ctrl+S** | Save As | -+--------------------------------------+--------------------------------------+ -| **Ctrl+Z** | Undo | -+--------------------------------------+--------------------------------------+ -| **Ctrl+Y** | Redo | -+--------------------------------------+--------------------------------------+ -| **Ctrl+X** | Cut | -+--------------------------------------+--------------------------------------+ -| **Ctrl+C** | Copy | -+--------------------------------------+--------------------------------------+ -| **Ctrl+V** | Paste | -+--------------------------------------+--------------------------------------+ -| **+** | Zoom In | -+--------------------------------------+--------------------------------------+ -| **-** | Zoom Out | -+--------------------------------------+--------------------------------------+ -| **Delete** | Delete the selected objects | -+--------------------------------------+--------------------------------------+ -| **Ctrl+L** | Clean Up | -+--------------------------------------+--------------------------------------+ - -.. |Ketcher elements| image:: ../assets/ketcher/help/mainNew.png -.. |image1| image:: ../assets/ketcher/help/selection.png -.. |image2| image:: ../assets/ketcher/help/mainToolbarNew.png -.. |image3| image:: ../assets/ketcher/help/periodic.png -.. |image4| image:: ../assets/ketcher/help/ChangeAtom.png -.. |image5| image:: ../assets/ketcher/help/ions.png -.. |image6| image:: ../assets/ketcher/help/AtomProperties.png -.. |image7| image:: ../assets/ketcher/help/reaxys.png -.. |image8| image:: ../assets/ketcher/help/bond.png -.. |image9| image:: ../assets/ketcher/help/chain.png -.. |image10| replace:: `_ `__ -.. |image11| image:: ../assets/ketcher/help/rings.png -.. |image12| replace:: `_ `__ -.. |image13| replace:: `_ `__ -.. |image14| replace:: `_ `__ -.. |image15| replace:: `_ `__ -.. |image16| image:: ../assets/ketcher/help/rgroup.png -.. |image17| image:: ../assets/ketcher/help/RGroupLabel.png -.. |image18| replace:: `_ `__ -.. |image19| image:: ../assets/ketcher/help/AttachmentPoint.png -.. |image20| replace:: `_ `__ -.. |image21| replace:: `_ `__ -.. |image22| replace:: `_ `__ -.. |image23| replace:: `_ `__ -.. |image24| replace:: `_ `__ -.. |image25| replace:: `_ `__ -.. |image26| image:: ../assets/ketcher/help/flip-rotate.png -.. |image27| replace:: `_ `__ -.. |image28| replace:: `_ `__ -.. |image29| image:: ../assets/ketcher/help/OpenFile.png -.. |image30| image:: ../assets/ketcher/help/SaveFile.png diff --git a/rst/ketcher/index.rst b/rst/ketcher/index.rst index 043bf286..ecbff80c 100644 --- a/rst/ketcher/index.rst +++ b/rst/ketcher/index.rst @@ -2,152 +2,112 @@ ======= .. toctree:: - :hidden: - :includehidden: + :hidden: + :includehidden: - editing-tips - developers-manual - help - demo - release-notes/index - Downloads <../download/ketcher> + release-notes/index -Overview --------- +Ketcher is an open-source web-based chemical structure editor designed for drawing small molecules, biomolecules, and chemical reactions. Using Ketcher, chemists, biochemists, technicians, academics, students, and any other chemistry aficionados, are able to easily: -Ketcher is an open-source web-based chemical structure editor. Ketcher is designed for chemists, laboratory scientists and technicians who draw structures and reactions. +- Draw small molecules, reactions, and biomolecules in-browser; -|image0| +- Export their drawing into all common file formats for storing and sharing; -Ketcher is developed using pure JavaScript and incorporates high performance, good portability and light weight. You will not need any Java or Flash plugins to use it in your browser. +- Export as PNG/SVG for use in publications and presentations. -Ketcher is completely free and open-source, while also available on a commercial basis. +`Try Ketcher! `_ -You can easily integrate Ketcher into your web application. Ketcher is actively developed and improved by the dedicated team. -Explore the installation & integration information in our `repository `__. +|Ketcher-Introduction| -Provide your comments and suggestions and get timely replies from the developers' team. - -Other products and 3-rd party code +Main features ---------------------------------- -Ketcher uses `Indigo Service `__ for computationally intensive procedures. - -Ketcher leverages `Raphael `_ framework to support objects rendering and representation on the canvas. +- **Support for Reactions** - Full-featured reaction support including reaction centers, reaction flags, reaction mapping, ability to add catalysts, reaction conditions, and other information. -Standalone and Remote modes ---------------------------- +- **Stereochemistry Support** - Stereocenters can automatically be assigned a stereo-label of R/S, r/s, or E/Z, or in case of ambiguous configuration, marked with AND and OR groups. -Ketcher is provided in 2 modes: *Standalone* and *Remote*. +|Reactions-and-setereochem| -The *Standalone* mode incorporates Indigo backend services in the Ketcher build. It allows for Ketcher to work in browser with no server and even without the Internet connection. In this mode the pictures recognition provided by Indigo service is not available. +- **Support for S-groups and R-groups** - All major S-Group types are supported including generic, SRU polymers, multiple groups, superatoms, and data S-Groups. R-group support includes: R-Sites and R-Fragments, as well as attachment point specification and R-Logic. -The *Remote* mode requires Indigo server deployed and connected. It will provide all the Ketcher abilities leveraging Indigo. +- **Structure Appearance Customization** – Easy way of changing the drawing style from the Ketcher default to the American Chemical Society (ACS) standard. Users can modify the appearance of their drawing by highlighting elements, or by changing parameters such as bond length, atom color, etc. -Main features -------------- +|ACS| -**Fast and convenient editing.** We strive to make Ketcher as easy to use and as fast as the state-of-the-art desktop structure editing tools. Here are some highlights: +- **Support for all Common File Formats** – In addition to Ketcher’s own file format – KET that supports all available features, many other formats are supported: MDL Molfiles/SCSR (v2000 and v3000), SDF, RDF, SMARTS, SMILES, ChemAxon Extended SMILES, InChi, CDXML, Sequence, FASTA, IDT, HELM, etc. -- Lasso and Rectangle selection tools, plus a special Fragment selection tool to deal with connected components, rather than single atoms/bonds. -- A variety of `hotkeys `_ -- Undo/Redo. -- Copy/Paste for the canvas objects +- **Modality Agnostic Nature** - Ability to draw, view, edit, and save both small molecules and biomolecules in a single drawing. -**Atoms & Bonds**. Ketcher supports basic properties and query features, adding aliases and Generic group usage. +|Modality-agnostic| -**Stereochemistry.** Ketcher provides complete stereochemistry support during the editing, loading, and saving of chemical structures. +- **Template and Monomer Libraries** – The template library in molecules mode contains more than 450 structures including templates, functional groups, salts, and solvents. The monomer library in macromolecules mode is composed of more than 850 monomers spread across peptide, RNA (sugars, bases, phosphates etc.), and CHEM sections. -**Reactions.** Full-featured reaction support including reacting centers, atom flags and AAM. +- **RNA Builder** – Using RNA builder, new nucleotides can be assembled from monomers available in library and saved in browser cache for future uses. Nucleotides already present on canvas can be modified, thus simplifying the work with modified oligonucleotides. -**S-groups.** All major S-group types are supported including generic, SRU polymers, multiple groups, superatoms and data S-groups. +- **Antisense strand creation** - Both RNA and DNA antisense can be added to the selected sense strand. If the changes on one strand need to be reflected on the other, the user can choose synchronous editing of the duplex. Asynchronous editing is also available for an easy addition of bulges and overhangs. -**R-groups.** R-site and R-fragment assignment is supported, as well as attachment point specification and R-logic. +|Antisense| -**Template library** (including custom and user's templates) & Functional groups support +- **Macromolecules Properties Calculation** – Rich set of macromolecule properties including molecular mass, chemical formula, isoelectric point, extinction coefficient, hydrophobicity graph, melting temperature and others. -File formats supported -~~~~~~~~~~~~~~~~~~~~~~ +- **Integration with Other EPAM Cheminformatics Products** – Using `Imago OCR `_ users are able to load a structure directly from PNG, PDF and similar formats. `Miew `_ allows viewing of structures in 3D, while `Indigo `_ handles features such as export/import, layout, and properties calculation. -Ketcher provides the ability to load and save structures and reactions in: +- **JavaScript API** - Allows programmatic access to Ketcher functions including loading and saving structures in supported formats, structure modifications, properties calculation, processing Ketcher events etc. -- MDL Molfile (v2000 and v3000) -- RXN file format -- InChI String -- ChemAxon Extended SMILES -- ChemAxon Extended CML file formats +- **Ease of integration into your web-application** - There are two main integration options: as a React component library or as a ready-to-run application that can be embedded using an IFrame or a separate page. -Indigo service is used to provide the following computational tools for the canvas content: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +License +--------------------------- -• Aromatize/De-aromatize Tool -• Calculate CIP Descriptors Tool -• Structure Check Tool -• MW and Structure Parameters Calculate Tool -• Advanced Structure Clean up Tool (+ stereochemistry checking and structure layout) -• Simple Structure Clean up Tool (checks bonds length, angles and spatial arrangement of atoms) +This program is free software licensed under the `Apache License, Version 2.0. `_ the license allows: -Supported browsers ------------------- -Ketcher is supported and tested in the majority of the modern browsers: +- **Commercial use** – Integrate into products or services; -• Microsoft Edge -• Mozilla Firefox -• Safari -• Chrome +- **Modification** – Adapt and improve the code; -Try Ketcher! ------------- +- **Distribution** – Share original or modified versions; -Explore Ketcher on the `demo `__ page. +- **Patent use** – Use included patented technologies; -Download --------- +- **Private use** – Personal or internal projects; -Look at the `Downloads <../download/ketcher.html>`__ page for the -`installation `__ package and a -sample `Server v1 `__ , `Server v2 <../indigo/service/index.html>`__ -implementation. +- **Sublicensing** – Grant others the same rights. -License -------- +You must include the original copyright notice and disclaimer in any distribution. -Ketcher version 1.0 was released under GNU Affero General Public License v3.0 -Ketcher version 2.0 was re-licensed under Apache License, Version 2. - -This program is free software: You can redistribute it and/or modify it -under the terms of the the Apache License, Version 2.0. +Useful links +------------- -You should have received a copy of the Apache License along -with this program. If you did not not, please see -https://www.apache.org/licenses/LICENSE-2.0 +`Try Ketcher on the demo page `_ -Feedback --------- +`Download Ketcher `_ -Do you need assistance using our tools? Do you need a feature? Do you -want to send a patch to us? Did you find a bug? Please use Github tickets package: +`User manual `_ -- https://github.com/epam/ketcher/issues -- https://github.com/epam/ketcher/discussions +`Video tutorials `_ +`API documentation `_ -Commercial Availability ------------------------ +`Report a bug or suggest a feature on GitHub `_ -The Apache License v2.0 allows Ketcher to be used as a component in proprietary software products. +`Contact us `_ -If the Apache License v2.0 does not fit your needs, please contact us to discuss the purchase of a commercial license. -You may need the commercial license if you want to: +.. |Ketcher-Introduction| image:: ../assets/ketcher/Intro.png + :width: 100% + :align: middle -- Receive ongoing support and maintenance -- Design and implement custom changes for the structure editor -- Do any other development/testing required for a proprietary software product +.. |Reactions-and-setereochem| image:: ../assets/ketcher/ReactionsAndStereochem.png + :width: 90% + :align: middle -Visit our `SolutionsHub page `__ for more details +.. |ACS| image:: ../assets/ketcher/ACS.png + :width: 50% + :align: middle -.. |image0| image:: ../assets/ketcher/ketcher_overview_25.png - :target: demo.html +.. |Modality-agnostic| image:: ../assets/ketcher/ModalityAgnostic.png + :width: 100% + :align: middle -.. |ketcher2| image:: ../assets/ketcher/2.0.0-alpha.1+r78.png -.. |lasso1| image:: ../assets/ketcher/ket_lasso.png +.. |Antisense| image:: ../assets/ketcher/Antisense.png + :width: 100% + :align: middle diff --git a/rst/themes/lifescience-theme/static/images/pics/Ketcher.jpg b/rst/themes/lifescience-theme/static/images/pics/Ketcher.jpg index 2c6a39b1..6b911afe 100644 Binary files a/rst/themes/lifescience-theme/static/images/pics/Ketcher.jpg and b/rst/themes/lifescience-theme/static/images/pics/Ketcher.jpg differ