@@ -306,6 +306,10 @@ else if (TRACK_TYPES.bed.getFileType().isType(targetFile.getFile()))
306306 {
307307 ret = getBedTrack (log , targetFile , rg );
308308 }
309+ else if (TRACK_TYPES .bw .getFileType ().isType (targetFile .getFile ()))
310+ {
311+ ret = getBigWigTrack (log , targetFile , rg );
312+ }
309313 else
310314 {
311315 log .info ("Unsupported track type: " + targetFile .getFile ().getName ());
@@ -634,6 +638,34 @@ private JSONObject getBedTrack(Logger log, ExpData targetFile, ReferenceGenome r
634638 return getTabixTrack (log , targetFile , rg , adapterType , prefix );
635639 }
636640
641+ private JSONObject getBigWigTrack (Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
642+ {
643+ JSONObject ret = new JSONObject ();
644+ ret .put ("type" , getTrackType ());
645+ ret .put ("trackId" , getJsonTrackId ());
646+ ret .put ("name" , getLabel ());
647+ ret .put ("assemblyNames" , new JSONArray (){{
648+ put (JBrowseSession .getAssemblyName (rg ));
649+ }});
650+
651+ String url = targetFile .getWebDavURL (FileContentService .PathType .full );
652+ if (url == null )
653+ {
654+ log .info ("Unable to create WebDav URL for JBrowse resource with path: " + targetFile .getFile ());
655+ return null ;
656+ }
657+
658+ ret .put ("adapter" , new JSONObject (){{
659+ put ("type" , "BigWig" );
660+ put ("bigWigLocation" , new JSONObject (){{
661+ put ("uri" , url );
662+ put ("locationType" , "UriLocation" );
663+ }});
664+ }});
665+
666+ return ret ;
667+ }
668+
637669 private JSONObject getGxfTrack (Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
638670 {
639671 String adapterType = TRACK_TYPES .gff .getFileType ().isType (targetFile .getFile ()) ? "Gff3TabixAdapter" : "GtfTabixAdapter" ;
@@ -665,6 +697,10 @@ else if (TRACK_TYPES.bed.getFileType().isType(targetFile.getFile()))
665697 {
666698 return "FeatureTrack" ;
667699 }
700+ else if (TRACK_TYPES .bw .getFileType ().isType (targetFile .getFile ()))
701+ {
702+ return "QuantitativeTrack" ;
703+ }
668704 else
669705 {
670706 throw new IllegalArgumentException ("Unsupported track type: " + targetFile .getFile ().getName ());
@@ -1147,6 +1183,11 @@ else if (TRACK_TYPES.bed.getFileType().isType(targetFile.getFile()))
11471183 {
11481184 return "LinearBasicDisplay" ;
11491185 }
1186+ else if (TRACK_TYPES .bw .getFileType ().isType (targetFile .getFile ()))
1187+ {
1188+ //TODO: Quantitative??
1189+ return "LinearBasicDisplay" ;
1190+ }
11501191 else
11511192 {
11521193 throw new IllegalArgumentException ("Unsupported track type: " + targetFile .getFile ().getName ());
@@ -1160,6 +1201,7 @@ public static enum TRACK_TYPES
11601201 gtf (".gtf" , true ),
11611202 gff (Arrays .asList (".gff" , ".gff3" ), true ),
11621203 bed (".bed" , true ),
1204+ bw (".bw" , false ),
11631205 vcf (Arrays .asList (".vcf" ), true );
11641206
11651207 private List <String > _extensions ;
0 commit comments