Table of Contents |
---|
...
IGB git repo (main)
The main repository address is: https://bitbucket.org/lorainelab/integrated-genome-browser.
The IGB project uses git for source code management. We use maven and Bitbucket pipelines to build and release IGB artifacts and user-friendly installers.
History
From the late 1990s until around 2005, IGB and its graphics library (now called the Genoviz SDK) were closed-source software.
Genoviz SDK
IGB depends on the Genoviz Software Development Kit (Genoviz SDK) which is version-controlled in a separate repository at https://bitbucket.org/lorainelab/genoviz-sdk. When you build IGB, the compilation tool we use (mvn) will obtain the latest copy of the genoviz compiled code (a "jar" file) and install it locally.
Maven
The IGB project uses maven to build IGB, IGB Apps, and the GenoViz SDK. We provide access to new and old IGB-related jar files using the following maven repositories:
- https://nexus.bioviz.org/repository/maven-releases/ (browse using https://nexus.bioviz.org/#browse/browse:maven-releases)
To include these in your project, see the top-level POM.xml file in the Integrated Genome Browser project code base.
History
The original GenoViz library - called "BioViewBioViews" - was first developed by Gregg Helt at UC Berkeley as part of his PhD research in the mid-1990s. Around then, Helt and two colleagues (Martin Reese and Cyrus Harmon) formed a bioinformatics software company called Neomorphic to commercialize the BioView library, which licensed the software from the University. With funding and development support from the Bioinformatics Department at Smith Kline Beecham, they continued to improve the library, renaming it the Neomorphic Genome Software Development Kit. During this period, several companies purchased licenses, including Exelixis and Smith Kline Beecham. Also during this period, Celera Genomics and the Institute for Genomic Research (TIGR) hired Neomorphic to build genome browser and annotation software. Ann Loraine joined the company in 1999 and helped build the Neomorphic Annotation Station for TIGRThe Institute for Genomic Research.
In October 2000, Affymetrix purchased Neomorphic and re-focused software effort on supporting and developing Affymetrix DNA microarray products. In 2001, Gregg Helt and colleagues began developing Integrated Genome Browser to visualize and analyze data from genome tiling arrays, which contained probes selected from (mostly) regular intervals along the genome. Visualization of probe intensity data alongside gene models was essential to developing algorithms to normalize and analyze the data, and the team at Affymetrix developed some of the first visual analytics algorithms in bioinformatics. Also, they developed some of the first indexed, random access file formats to enable partial loading of data sets that were too large to fit into computer memory. Support from Affymetrix along with federal grants to PIs Tom Gingeras and Gregg Helt funded early IGB development during this period. Affymetrix released IGB as part of their NetAffx Web site in the early 2000s.
...
Unfortunately, over the years the early development history pre-dating the 2004 open source release has been lost. In addition, early products built using Genoviz SDK are also lost. When the developers at Affymetrix prepared the first open source releasedrelease, it seemed simpler and less risky to simply migrate the code directly into a new CVS repository and go from there. Now, of course, we are using tools that are more sophisticated than before, and we can easily trace how the code has changed dating from Jan 2005 until the present day. If you have questions about what you see, feel free to get in touch.
...
- The 13th commit: "License for IGB code, including genoviz (formerly NGSDK) and genometry" Jan. 31, 2005 - https://sourceforge.net/p/genoviz/code/13/
- Press release - Affymetrix Completes Acquisition of Neomorphic - https://ir.thermofisher.com/investors/news-and-events/news-releases/news-release-details/2000/Affymetrix-Completes-Acquisition-of-Neomorphic/default.aspx
IGB versioning - major and minor releases
IGB uses semantic versioning, described in Semantic Versioning 2.0.
IGB releases have version names like 8.3.0 or 8.4.2, following the naming convention [M].[N].[P], where M, N, and P are integers.
In IGB, N is the major release number, M is the minor release number, and P is the micro or "bug fix" release number.
All new minor and bug fix releases of IGB support all API methods supported in earlier versions with the same major release number. New releases that increment the minor or micro numbers may contain changes to the API, but these will maintain backwards-compatibility with all prior versions from the same major release. This means that new minor or bug fix releases can run any IGB App built against earlier versions from the same major release.
New major releases of IGB will contain so-called "contract breaking" changes to the IGB API. This means that a new release that increments the major number (e.g., releasing IGB N.0.0) may include changes to the API methods that affect IGB Apps built using the previous major release.
For App Developers
To ensure that users can run your App when a new major version is released, you should re-build your App using the latest IGB platform and release it in the usual way. However, if you are unable to release an update to your App, users will always be able to run it using older versions of IGB, which they can get from our files download page at Sourceforge.
Genoviz SDK
...