Skip to content
Commits on Source (7)
......@@ -2,7 +2,7 @@
.idea/workspace.xml
test/data/out/
/build
/build_java9
/build_java11
/bin
igv.log
/.gradle
......
......@@ -6,10 +6,10 @@ cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
jdk: openjdk10
jdk: openjdk11
install:
- ./gradlew -b build_java9.gradle assemble
- ./gradlew -b build_java11.gradle assemble
script:
- ./gradlew -b build_java9.gradle check
- ./gradlew -b build_java11.gradle check
- jdk_switcher use openjdk8
- ./gradlew compileJava
\ No newline at end of file
# igv
[![Build Status](https://travis-ci.org/igvteam/igv.svg?branch=master)](https://travis-ci.org/igvteam/igv)
Integrative Genomics Viewer - dekstop genome visualization tool for Mac, Windows, and Linux.
Integrative Genomics Viewer - desktop genome visualization tool for Mac, Windows, and Linux.
### Building
......@@ -14,8 +14,8 @@ You may need to execute 'gradle wrapper' to set up the gradle wrapper. This sho
first time only, or if you clean up the local .gradle directory. Only do this if the './gradlew' calls
fail.
There are two different build options, one for Java 8 and another for Java 9 and up. The default is
to build for Java 8. Java 8 builds are *NOT* compatible with Java 9 and vice versa.
There are two different build options, one for Java 8 and another for Java 11. The default is
to build for Java 8. Java 8 builds are *NOT* compatible with Java 11 and vice versa.
There are other options but these cover the most common uses:
......@@ -35,7 +35,7 @@ NOTE: If on a Windows platform use ```./gradlew.bat'``` in the instructions belo
* All four JARs must be in the same location in order to run IGV. It can be run directly from
'build/IGV-dist'
* Launch with 'igv.sh' on UNIX, 'igv.command' on Mac, and 'igv.bat' on Windows. These scripts can
* Launch with 'igv.sh' on UNIX, 'igv.command' on Mac, and 'igv.bat' (or 'igv_32.bat' for 32-bit Java) on Windows. These scripts can
be edited to adjust JVM flags like maximum memory, etc.
* All other runtime dependencies are bundled into igv.jar. There is also an igv-minimal.jar in
......@@ -54,17 +54,16 @@ NOTE: If on a Windows platform use ```./gradlew.bat'``` in the instructions belo
Note that Gradle creates a number of other subdirectories in 'build'. These can be safely ignored.
#### Java 9
#### Java 11
The instructions for Java 9 are nearly identical other than the need to specify the Java 9 build file
and that the results will be found in 'build_java9' rather than 'build'. More specifically:
The instructions for Java 11 are nearly identical other than the need to specify the Java 11 build file
and that the results will be found in 'build_java11' rather than 'build'. More specifically:
* Use './gradlew -b build_java9.gradle createDist' to build a distribution directory with helper scripts
* Use ```./gradlew -b build_java11.gradle createDist``` to build a distribution directory with helper scripts
for launching. The structure is slightly different but the concept is the same.
* Use './gradlew -b build_java9.gradle createToolsDist' for the igvtools distribution.
* Use ```./gradlew -b build_java11.gradle test``` to run the test suite.
* Use './gradlew -b build_java9.gradle test' to run the test suite.
The full JAR build option is *NOT* available for Java 9+ because of modularity requirements.
The full JAR build option is *NOT* available for Java 11 because of modularity requirements. Also, there is no
separate igvtools distribution on Java 11; at present, this is folded into the normal IGV client distribution.
......@@ -61,7 +61,7 @@ dependencies {
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4.1'
gradleVersion = '4.10.1'
}
sourceCompatibility = 1.8
......@@ -185,6 +185,7 @@ tasks.withType(Test) {
task createDist(type: Copy, dependsOn: fullJar) {
from ("scripts") {
include 'igv.bat'
include 'igv_32.bat'
include 'igv.command'
include 'igv.sh'
include 'readme.txt'
......@@ -306,7 +307,7 @@ task createToolsDistZip(type: Zip, dependsOn: createToolsDist) {
baseName = "IGVTools"
from "${buildDir}/IGVTools-dist"
into createToolsDistZip.baseName
into createToolsDistZip.baseName + "_${version}"
doLast {
project.exec { commandLine('chmod', '775', createToolsDistZip.archivePath ) }
......
......@@ -26,14 +26,14 @@ import org.apache.tools.ant.filters.ReplaceTokens
ext.moduleName = 'org.igv'
ext.mainClassName = 'org.broad.igv.ui.Main'
// Put the Java 9 build into a special dir to avoid accidental collisions.
// Despite this, it is recommended that Java 8 vs. 9 builds be run in different locations.
buildDir = 'build_java9'
// Put the Java 11 build into a special dir to avoid accidental collisions.
// Despite this, it is recommended that Java 8 vs. 11 builds be run in different locations.
buildDir = 'build_java11'
sourceSets {
main {
java {
srcDirs = ['src/main/java', 'src/main/java9']
srcDirs = ['src/main/java', 'src/main/java11']
}
resources {
srcDirs = ['src/main/resources', 'src/main/resources-jlfgr-1_0']
......@@ -41,19 +41,23 @@ sourceSets {
}
}
}
configurations {
jarsForClasspath
}
dependencies {
// Use the newer JIDE lib for Java 9 builds
compile fileTree(dir: 'lib', include: '*.jar', exclude: 'jide-oss-3.5.5.jar') + fileTree(dir: 'lib_java9', include: '*.jar')
compile fileTree(dir: 'lib', include: '*.jar')
testCompile fileTree(dir: 'test/lib', include: '*.jar')
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4.1'
gradleVersion = '4.10.2'
}
sourceCompatibility = 1.9
targetCompatibility = 1.9
// Gradle bug prevents us from generating Java 11 bytecode: https://github.com/gradle/gradle/issues/5120
// Workaround is to target Java 10 for now.
sourceCompatibility = 10
targetCompatibility = 10
processResources {
// Set the current timestamp for release builds; pass in a blank property to enable (i.e. -Ptimestamp="" at CLI)
......@@ -78,20 +82,6 @@ jar {
}
}
task tooljar(type: Jar, dependsOn: jar) {
// This jar is the same as the client jar above, just a different jar name and manifest
archiveName = 'igvtools.jar'
from(sourceSets.main.output) { }
manifest {
attributes(
"Implementation-Title": "IGVTools",
"Built-By": System.getProperty('user.name'),
"Main-Class": "org.broad.igv.tools.IgvTools",
)
}
}
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
......@@ -129,14 +119,14 @@ test {
inputs.property("moduleName", moduleName)
doFirst {
jvmArgs = [
'-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize',
'--module-path', classpath.asPath,
'--add-modules', 'junit',
'--add-modules', 'fest.swing',
'--add-modules', 'java.xml.bind',
'--add-modules', 'ALL-MODULE-PATH',
'--add-reads', "$moduleName=junit",
'--add-reads', "$moduleName=fest.swing",
'@scripts/java9/test_suite.args',
'@scripts/java11/test_suite.args',
'--patch-module', "$moduleName=" + files(sourceSets.test.java.outputDir, sourceSets.main.output.resourcesDir).asPath,
]
classpath = files()
......@@ -144,130 +134,177 @@ test {
}
task createDist(type: Copy, dependsOn: jar) {
from ('scripts/java9') {
include 'igv.bat'
from ("web/IGV_64.png")
from ('scripts/java11') {
include '*.bat'
include '*.sh'
include 'igv.command'
include 'igv.sh'
include 'igv_hidpi.*'
include 'igv.args'
include 'readme.txt'
include 'igvtools*'
}
with copySpec {
from ("lib") {
include '*.jar'
exclude 'jide-oss-3.5.5.jar'
}
from ("lib_java9") {
include '*.jar'
}
from ("${buildDir}/libs") {
include 'igv.jar'
}
from ("${buildDir}/libs")
from ("lib") { include '*.jar' }
into "lib"
}
with copySpec { from ("genomes/sizes") { } into "lib/genomes" }
into "${buildDir}/IGV-dist"
}
task createDistZip(type: Zip, dependsOn: createDist) {
archiveName = "IGV_${version}_java10.zip"
archiveName = "IGV_${version}.zip"
destinationDir = file("${buildDir}/distZip")
baseName = "IGV"
from "${buildDir}/IGV-dist" exclude "*.bat"
into createDistZip.baseName + "_${version}_java10"
from ("${buildDir}/IGV-dist")
into createDistZip.baseName + "_${version}"
doLast {
project.exec { commandLine('chmod', '775', createDistZip.archivePath ) }
}
}
task createMacDist(type: Copy, dependsOn: createDist) {
task createLinuxDistZip(type: Zip, dependsOn: createDist) {
baseName = "IGV_Linux"
archiveName = createLinuxDistZip.baseName + "_${version}.zip"
destinationDir = file("${buildDir}/distZip")
if (!jdkBundleLinux.equals("")) {
with copySpec { from jdkBundleLinux into "jdk-11" }
}
from ("${buildDir}/IGV-dist") {
exclude "*.bat"
exclude "*.command"
exclude 'igvtools*'
exclude 'lib/genomes'
}
into createLinuxDistZip.baseName + "_${version}"
doLast {
project.exec { commandLine('chmod', '775', createLinuxDistZip.archivePath) }
}
}
task createMacDistZip(type: Zip, dependsOn: createDist) {
baseName = "IGV_Mac"
archiveName = createMacDistZip.baseName + "_${version}.zip"
destinationDir = file("${buildDir}/distZip")
if (!jdkBundleMac.equals("")) {
with copySpec { from jdkBundleMac into "jdk-11" }
}
from ("${buildDir}/IGV-dist") {
exclude "*.bat"
exclude "*_hidpi*"
exclude "igvtools*"
exclude 'lib/genomes'
}
into createMacDistZip.baseName + "_${version}"
doLast {
project.exec { commandLine('chmod', '775', createMacDistZip.archivePath ) }
}
}
task createMacAppDist(type: Copy, dependsOn: createDist) {
if (!jdkBundleMac.equals("")) {
with copySpec { from jdkBundleMac into "IGV_${version}.app/Contents/jdk-11" }
}
with copySpec {
from ("scripts/mac.app") exclude "Contents/Info.plist.template"
into "IGV_${version}_java10.app"
from ("scripts/mac.app") {
exclude "Contents/Info.plist.template"
exclude "Contents/MacOS/JavaAppLauncher"
}
into "IGV_${version}.app"
}
with copySpec {
from ("scripts/java9/Info.plist.template")
from ("scripts/java11/Info.plist.template")
filter (ReplaceTokens, tokens: [ VERSION: version ])
rename "Info.plist.template", "Info.plist"
into "IGV_${version}_java10.app/Contents"
into "IGV_${version}.app/Contents"
}
with copySpec {
from ("scripts/java11/IGV_mac.app.command")
rename "IGV_mac.app.command", "IGV"
into "IGV_${version}.app/Contents/MacOS"
}
with copySpec {
from ("web/IGV_64.png")
into "IGV_${version}.app/Contents/Resources"
}
with copySpec {
from ("${buildDir}/IGV-dist/") include 'igv.args'
into "IGV_${version}.app/Contents/Java/"
}
with copySpec {
from ("${buildDir}/IGV-dist/lib") include '*.jar'
into "IGV_${version}_java10.app/Contents/Java"
into "IGV_${version}.app/Contents/Java/lib"
}
into "${buildDir}/IGV-Mac-dist"
into "${buildDir}/IGV-MacApp-dist"
doLast {
project.exec { commandLine('chmod', '775', "${buildDir}/IGV-Mac-dist/IGV_${version}_java10.app" ) }
project.exec { commandLine('chmod', '775', "${buildDir}/IGV-MacApp-dist/IGV_${version}.app" ) }
}
}
task createMacDistZip(type: Zip, dependsOn: createMacDist) {
archiveName = "IGV_${version}_java10.app.zip"
task createMacAppDistZip(type: Zip, dependsOn: createMacAppDist) {
archiveName = "IGV_${version}.app.zip"
destinationDir = file("${buildDir}/distZip")
from "${buildDir}/IGV-Mac-dist"
from "${buildDir}/IGV-MacApp-dist"
doLast {
project.exec { commandLine('chmod', '775', createMacDistZip.archivePath ) }
project.exec { commandLine('chmod', '775', createMacAppDistZip.archivePath ) }
}
}
task createWinDistZip(type: Zip, dependsOn: createDist) {
archiveName = "IGV_Win_${version}_java10.zip"
destinationDir = file("${buildDir}/distZip")
baseName = "IGV_Win"
task createWinDist(type: Copy, dependsOn: createDist) {
if (!jdkBundleWindows.equals("")) {
with copySpec { from jdkBundleWindows into "IGV_${version}/jdk-11" }
}
with copySpec {
from("${buildDir}/IGV-dist") {
exclude "*.sh"
exclude "igv.command"
}
into createWinDistZip.baseName + "_${version}_java10"
doLast {
project.exec { commandLine('chmod', '775', createWinDistZip.archivePath ) }
}
exclude "*.command"
exclude "igvtools*"
exclude "igvtools_gui"
exclude "igvtools_gui_hidpi"
exclude 'lib/genomes'
}
task createToolsDist(type: Copy, dependsOn: tooljar) {
from ("scripts/java9") {
include 'igvtools*'
include 'igvtools*.bat'
include 'igvtools*.command'
include 'igv.args'
from ("resources") { include "IGV_64.ico" }
into "IGV_${version}"
}
with copySpec {
from ("${buildDir}/libs") {
include 'igvtools.jar'
// Create a build-specific NSIS installer script.
from ("scripts/nsis/installer.nsi")
filter (ReplaceTokens, tokens: [ VERSION: version ])
}
from ("lib") {
include '*.jar'
exclude 'jide-oss-3.5.5.jar'
from ("scripts/nsis") { include "license_win.txt" }
into "${buildDir}/IGV-WinExe-dist"
}
from ("lib_java9") {
include '*.jar'
task createWinExeDist(type: Exec, dependsOn: createWinDist) {
commandLine(makensisCommand, "-O${buildDir}/tmp/nsis-build.log",
"${buildDir}/IGV-WinExe-dist/installer.nsi")
doLast {
if (makensisCommand.equals("")) {
throw new GradleException("Required property not set: makensisCommand");
}
into "lib"
}
with copySpec { from ("genomes/sizes") { } into "lib/genomes" }
into "${buildDir}/IGVTools-dist"
}
task createToolsDistZip(type: Zip, dependsOn: createToolsDist) {
archiveName = "igvtools_${version}_java10.zip"
destinationDir = file("${buildDir}/distZip")
baseName = "IGVTools_java10"
from "${buildDir}/IGVTools-dist"
into createToolsDistZip.baseName
task signWinExeDist(type: Exec, dependsOn: createWinExeDist) {
standardInput = new ByteArrayInputStream( keyPassword.getBytes() );
commandLine(signcodeCommand, "-spc", spcFile, "-v", pvkFile, "-a", "sha1",
"-\$", "commercial", "-n", "IGV ${version}", "-i", "http://www.igv.org/",
"-t", tsaurl, "-tr", "10", "${buildDir}/IGV-WinExe-dist/IGV_Win_${version}-installer.exe")
doLast {
project.exec { commandLine('chmod', '775', createToolsDistZip.archivePath ) }
if (signcodeCommand.equals("")) {
throw new GradleException("Required property not set: signcodeCommand");
}
}
}
build.dependsOn createDistZip,createMacDistZip,createWinDistZip,createToolsDistZip
build.dependsOn createDistZip,createLinuxDistZip,createMacDistZip,createMacAppDistZip
if (!makensisCommand.equals("") && !signcodeCommand.equals("")) {
build.dependsOn signWinExeDist
}
\ No newline at end of file
igv (2.6.3+dfsg-1) UNRELEASED; urgency=medium
* New upstream version
* debhelper-compat 12
* Standards-Version: 4.4.0
-- Andreas Tille <tille@debian.org> Fri, 13 Sep 2019 14:58:15 +0200
igv (2.4.17+dfsg-1) unstable; urgency=medium
* New upstream version
......
......@@ -6,7 +6,7 @@ Section: non-free/science
XS-Autobuild: yes
Priority: optional
Build-Depends: default-jdk,
debhelper (>= 12~),
debhelper-compat (= 12),
gradle-debian-helper,
junit4,
libbatik-java,
......@@ -32,7 +32,7 @@ Build-Depends: default-jdk,
libswing-layout-java,
libxml-commons-external-java,
libguava-java,
libbcprov-java (>= 1.47),
libbcprov-java,
libjgrapht0.8-java,
libgoogle-gson-java,
javahelper,
......@@ -41,7 +41,7 @@ Build-Depends: default-jdk,
libfest-util-java,
libfest-reflect-java,
ant
Standards-Version: 4.3.0
Standards-Version: 4.4.0
Vcs-Browser: https://salsa.debian.org/med-team/igv
Vcs-Git: https://salsa.debian.org/med-team/igv.git
Homepage: http://www.broadinstitute.org/igv/
......
Subject: adapt gradle build for debian
Description: gradle build file needs to add debian based libraries
Needs some adaptation also to support Java 9 modules.
All Debian libraries do not provide Module name in their manifest. In this
case, system tries to get it from Jar name, so module names need also to be
adapted for those libraries to match Debian jar names.
Author: Olivier Sallou <osallou@debian.org>
Last-Updated: 2018-10-17
Forwarded: no
--- a/build_java9.gradle
+++ b/build_java9.gradle
@@ -20,7 +20,10 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-apply plugin: 'java'
+plugins {
+ id 'java'
+ id 'maven'
+}
import org.apache.tools.ant.filters.ReplaceTokens
ext.moduleName = 'org.igv'
@@ -30,6 +33,12 @@
// Despite this, it is recommended that Java 8 vs. 9 builds be run in different locations.
buildDir = 'build_java9'
+repositories {
+ mavenCentral()
+ mavenLocal()
+}
+
+
sourceSets {
main {
java {
@@ -45,6 +54,29 @@
dependencies {
// Use the newer JIDE lib for Java 9 builds
compile fileTree(dir: 'lib', include: '*.jar', exclude: 'jide-oss-3.5.5.jar') + fileTree(dir: 'lib_java9', include: '*.jar')
+ compile files ("/usr/share/maven-repo/org/openjfx/javafx-graphics/debian/javafx-graphics-debian-linux.jar")
+ compile files ("/usr/share/maven-repo/org/openjfx/javafx-controls/debian/javafx-controls-debian-linux.jar")
+ compile files ("/usr/share/maven-repo/org/openjfx/javafx-base/debian/javafx-base-debian-linux.jar")
+ compile files ("/usr/share/maven-repo/org/openjfx/javafx-swing/debian/javafx-swing-debian-linux.jar")
+ compile files ("/usr/share/maven-repo/org/openjfx/javafx-fxml/debian/javafx-fxml-debian-linux.jar")
+ compile "org.apache.xmlgraphics:batik-dom:debian"
+ compile "org.apache.xmlgraphics:batik-svggen:debian"
+ compile "com.google.guava:guava:debian"
+ compile "commons-io:commons-io:debian"
+ compile "org.apache.commons:commons-math:debian"
+ compile "com.google.code.gson:gson:debian"
+ compile "org.openjfx:javafx:debian"
+ compile "org.openjfx:javafx-fxml:debian"
+ compile "org.openjfx:javafx-graphics:debian"
+ compile "org.openjfx:javafx-swing:debian"
+ compile "org.jfree:jfreechart:debian"
+ compile "org.apache.logging.log4j:log4j:debian"
+ compile "org.apache.logging.log4j:log4j-api:debian"
+ compile "org.apache.logging.log4j:log4j-1.2-api:debian"
+ compile "org.apache.logging.log4j:log4j-core:debian"
+ compile "org.swinglabs:swing-layout:debian"
+ compile "com.github.samtools:htsjdk:debian"
+ compile "org.apache.ant:ant:debian"
testCompile fileTree(dir: 'test/lib', include: '*.jar')
}
@@ -52,8 +84,8 @@
gradleVersion = '4.4.1'
}
-sourceCompatibility = 1.9
-targetCompatibility = 1.9
+//sourceCompatibility = 1.11
+//targetCompatibility = 1.11
processResources {
// Set the current timestamp for release builds; pass in a blank property to enable (i.e. -Ptimestamp="" at CLI)
@@ -93,12 +125,9 @@
}
compileJava {
- inputs.property("moduleName", moduleName)
+ //inputs.property("moduleName", moduleName)
doFirst {
- options.compilerArgs = [
- '--module-path', classpath.asPath,
- ]
- classpath = files()
+ // classpath = files()
}
}
--- a/src/main/java9/module-info.java
+++ b/src/main/java9/module-info.java
@@ -5,11 +5,11 @@
requires AbsoluteLayout;
requires ant;
- requires com.google.common;
- requires commons.io;
- requires commons.math;
+ requires guava.debian;
+ requires org.apache.commons.io;
+ requires commons.math.debian;
requires goby.io.igv;
- requires gson;
+ requires gson.debian;
requires htsjdk;
requires java.datatransfer;
requires java.desktop;
@@ -22,5 +22,5 @@
requires log4j;
requires org.apache.logging.log4j;
requires org.apache.logging.log4j.core;
- requires swing.layout;
+ requires swing.layout.debian;
}
--- a/src/main/java/org/broad/igv/util/stream/IGVSeekableBufferedStream.java
+++ b/src/main/java/org/broad/igv/util/stream/IGVSeekableBufferedStream.java
@@ -87,16 +87,6 @@
return actualSkip;
}
- @Override
- public synchronized void reset() throws IOException {
-
- if (markpos < 0) {
- throw new IOException("Resetting to invalid mark");
- }
- position = markpos;
-
- }
-
public void seek(final long position) throws IOException {
this.position = position;
}
@@ -215,4 +205,4 @@
bufferSize = tmpBufferSize;
}
}
-}
\ No newline at end of file
+}
# fix_samtools_api
fix_gradle.patch
......@@ -19,7 +19,7 @@ override_dh_clean:
override_dh_auto_configure:
mv build.gradle build_java8.gradle
cp -a build_java9.gradle build.gradle
mv src/main/java9/module-info.java src/main/java9/module-info.java.skip
cp -a build_java11.gradle build.gradle
# mv src/main/java9/module-info.java src/main/java9/module-info.java.skip
cp debian/log4j.xml src/main/resources/
cp /usr/share/java/jaxb-api.jar $(CURDIR)/lib/
http://www.broadinstitute.org/igvdata/annotations/hg18/hg18_annotations.xml
http://www.broadinstitute.org/igvdata/hg18/Metabric/metabric.xml
http://igv.broadinstitute.org/data/hg18/tcga/tcga_external.xml
http://www.broadinstitute.org/igvdata/Tumorscape/Tumorscape.xml
http://www.broadinstitute.org/igvdata/encode/hg18/hg18_encode_color.xml
http://www.broadinstitute.org/igvdata/epigenetics/epigenetics_hg18_public.xml
http://www.broadinstitute.org/igvdata/epigenetics/WilmsTumor/wilms_tumor.xml
http://www.broadinstitute.org/igvdata/29mammals/29mammals.xml
http://www.broadinstitute.org/igvdata/BodyMap/BodyMap.xml
http://www.broadinstitute.org/igvdata/tutorials/tutorials.xml
https://s3.amazonaws.com/igv.org.genomes/hg19/hg19_annotations.xml
http://gdac.broadinstitute.org/tap/igv/load/tcga_hg19.xml
http://www.broadinstitute.org/igvdata/encode/hg19/hg19_encode.xml
http://www.broadinstitute.org/igvdata/1KG/b37/1KG.s3.xml
http://www.broadinstitute.org/igvdata/tutorials/tutorials.hg19.xml
\ No newline at end of file
File mode changed from 100644 to 100755
http://www.broadinstitute.org/igvdata/annotations/D.discoideum/D.discoideum_annotations.xml
http://igv.broadinstitute.org/data/GSM552910/GSM552910.xml
\ No newline at end of file
http://www.broadinstitute.org/igvdata/annotations/pombe/spombe_annotations.xml
http://www.broadinstitute.org/igvdata/ws241_annotations.xml
\ No newline at end of file
https://s3.amazonaws.com/igv.org.genomes/hg19/hg19_annotations.xml
http://gdac.broadinstitute.org/tap/igv/load/tcga_hg19.xml
http://www.broadinstitute.org/igvdata/encode/hg19/hg19_encode.xml
http://www.broadinstitute.org/igvdata/1KG/b37/1KG.s3.xml
http://www.broadinstitute.org/igvdata/tutorials/tutorials.hg19.xml
\ No newline at end of file
http://igvdata.broadinstitute.org/data/canFam2/canFam2_annotations.xml