Skip to content

hotliu/icn3d

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iCn3D Structure Viewer

iCn3D

"I see in 3D" (iCn3D) Structure Viewer is a WebGL-based 3D viewer using Three.js and jQuery. iCn3D has a feature-rich user interface and allows users to:

  • Display and integrate annotations from NCBI resources including dbSNP, ClinVar, conserved domains, 3D domains, and binding sites
  • Add custom tracks in various formats (FASTA, bed file, etc) in the annotation window
  • Use a url (e.g., https://d55qc.app.goo.gl/HDuWMFAVokxvHMKSA) or a state file to capture the custom display of 3D structures. The saved static "iCn3D PNG Image" can be loaded using "File > Open File > iCn3D PNG Image" to reproduce the interactive display.
  • Select residues by searching sequences or select on 3D structures, 2D interactions, and 1D sequences
  • Display/highlight selected residues in 3D structures, 2D interactions, and 1D sequences
  • Show electron density map or EM density map
  • Export STL or VRML files for 3D printing
  • Display NCBI pre-calculated aligned 3D structures by providing two PDB IDs or MMDB IDs

We provided two types of iCn3D widgets: basic interface and advanced interface.

  1. The basic interface has the minimum javascript code for the interface. It has the basic features such as changing color and styles.
  2. The advanced interface has a library for the interface. It has many features.

Either of these widgets could be easily added to your own web pages. Please see the help page for more details.

Complete package of iCn3D including Three.js and jQuery can be downloaded from https://www.ncbi.nlm.nih.gov/Structure/icn3d/icn3d-2.4.3.zip. The "Download ZIP" link in this page does not include third-party libraries.

Usage

iCn3D accepts the following IDs:

iCn3D also accepts the following file types: PDB, mmCIF, Mol2, SDF, and XYZ. The files can be passed through a url, e.g., https://www.ncbi.nlm.nih.gov/Structure/icn3d/full.html?type=pdb&url=https%3A%2F%2Ffiles.rcsb.org%2Fview%2F1gpk.pdb:

See the help page or the API page for more details.

Third-party libraries used

  • jQuery and jQuery UI: used as a general tool to write Javascript code. Some jQuery UI features are used.
  • Three.js: used to set up the 3D view.

Tools based on

  • iview: The drawing of 3D objects is based on iview.
  • GLmol: The drawing of nucleotides cartoon is based on GLmol.
  • 3Dmol: The surface generation and labeling are based on 3Dmol.
  • NGL Viewer: The Imposter shaders are based on NGL Viewer.

Building

If you want to build your code easily, you'll need to install nodejs and npm.

Next, clone this repository, and then perform the following setup steps in your working copy of icn3d.

npm install -g gulp
npm install
npm install jquery-ui

The first line installs the gulp build tool globally, making the gulp command available on the command line. The next two lines installs all of the dependences for this project.

You only have to perform the above steps once, to set up your working directory. From then on, to build, simply enter:

gulp

Change log

The production version icn3d-2.4.3 was release on January 22, 2019. Non-standard proteins or nucleotides were still displayed as "Biopolymer" in 2D interactions and were displayed in the style of protein or nucleotide in 3D. The usage tracking was implemented in iCn3D.

The production version icn3d-2.4.2 was release on January 16, 2019. Non-standard proteins or nucleotides were displayed as "Biopolymer" in 2D interactions and were displayed in the style of "Stick" in 3D. A new kind of annotation "Disulfie Bonds" was added to the "Sequences and Annotations" window.

The production version icn3d-2.4.1 was release on January 7, 2019. Enabled users to show EM density map for any subset of an EM structure.

The production version icn3d-2.4.0 was release on December 17, 2018. Enabled users to show electron density map for any subset of a crystal structure.

The production version icn3d-2.3.0 was release on October 18, 2018. Added set operations (union,intersection, exclusion) in "Defined Sets"; added buttons "Helix Sets" and "Sheet Sets" in the "Sequences and Annotations" window to define helix sets and sheet sets in the window "Defined Sets"; added "Save Color" and "Apply Saved Color" in the menu "Color"; added "Save Style" and "Apply Saved Style" in the menu "Style"; added "Side Chains" in the menu "Select" to select side chains; added two options for color by "Secondary" structures: "Sheets in Green" and "Sheets in Yellow"; added color by "B-factor" that is normalized with "Original" values or "Percentile" values.

The production version icn3d-2.2.0 was release on July 30, 2018. The smoothing algorithm was switched from Catmull-Rom spline to cubic spline to make the curves more smooth. The thickness of ribbon was decreased to make the sides of the ribbons less apparent. The radio buttons in the menus was replaced by the check sign. A "Save Image" button was added in the "Toolbar".

The production version icn3d-2.1.0 was release on May 21, 2018. The instancing method is used to display a biological assembly. It significantly improved the rendering speed by sending only the geometry of its assymmetruic unit to GPU and applying transformation matrices to display the assembly.

The production version icn3d-2.0.0 was release on April 17, 2018. By clicking the menu "Windows: View Sequences & Annotations", users can view all kinds of annotations: ClinVar, SNPs, CDD domains, 3D domains, binding sites, interactions, and custom tracks. Users can click the menu "View: Chemical Binding" to show the chemical binding sites. Users can also export files for 3D printing at the menu "File: 3D Printing: VRML (Color, W/ Stabilizers)".

The production version icn3d-1.4.0 was release on November 2, 2017. The rendering speed has been significantly improved by using the Imposter shaders from NGL Viewer. A bug in "Share Link" was fixed.

The production version icn3d-1.3.1 was release on October 4, 2016. Partial diplay of helices or beta-sheets are enabled. The side chains, if displayed, are connected to C-alphas.

The production version icn3d-1.2.0 was release on August 17, 2016. The dialog of 2D interactions was added to show the interactions among different chains. Both the nodes (chains) and lines (interactions) can be selected. Secondary structures will be calculated if the input PDB file has no defined secondary structure information. The previous files src/icn3d.js, src/full_ui.js, and src/simple_ui.js were separated into small files.

The production version icn3d-1.1.1 was release on July 25, 2016. Some bugs were fixed.

The production version icn3d-1.0.0 was release on April 28, 2016.

The beta version icn3d-0.9.0-dev was release on Jan 17, 2016.

All previous releases can be found at the API page.

Contact

Please send all comments to [email protected].

Packages

No packages published

Languages

  • JavaScript 86.3%
  • HTML 11.4%
  • GLSL 1.5%
  • CSS 0.8%