5151import org .labkey .api .view .UnauthorizedException ;
5252import org .labkey .jbrowse .JBrowseManager ;
5353import org .labkey .jbrowse .JBrowseSchema ;
54+ import org .labkey .jbrowse .pipeline .IndexVariantsStep ;
5455import org .labkey .jbrowse .pipeline .JBrowseLucenePipelineJob ;
5556import org .labkey .sequenceanalysis .run .util .TabixRunner ;
5657
@@ -297,7 +298,7 @@ else if (TRACK_TYPES.bam.getFileType().isType(targetFile.getFile()) || TRACK_TYP
297298 }
298299 else if (TRACK_TYPES .gff .getFileType ().isType (targetFile .getFile ()))
299300 {
300- ret = getGxfTrack (log , targetFile , rg );
301+ ret = getGxfTrack (u , log , targetFile , rg );
301302 }
302303 else if (TRACK_TYPES .gtf .getFileType ().isType (targetFile .getFile ()))
303304 {
@@ -308,7 +309,7 @@ else if (TRACK_TYPES.gtf.getFileType().isType(targetFile.getFile()))
308309 }
309310 else if (TRACK_TYPES .bed .getFileType ().isType (targetFile .getFile ()))
310311 {
311- ret = getBedTrack (log , targetFile , rg );
312+ ret = getBedTrack (u , log , targetFile , rg );
312313 }
313314 else if (TRACK_TYPES .bw .getFileType ().isType (targetFile .getFile ()))
314315 {
@@ -643,12 +644,12 @@ private JSONObject getBamOrCramTrack(Logger log, ExpData targetFile, ReferenceGe
643644 return ret ;
644645 }
645646
646- private JSONObject getBedTrack (Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
647+ private JSONObject getBedTrack (User u , Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
647648 {
648649 String adapterType = "BedTabixAdapter" ;
649650 String prefix = "bed" ;
650651
651- return getTabixTrack (log , targetFile , rg , adapterType , prefix );
652+ return getTabixTrack (u , log , targetFile , rg , adapterType , prefix );
652653 }
653654
654655 private JSONObject getBigWigTrack (Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
@@ -682,12 +683,12 @@ private JSONObject getBigWigTrack(Logger log, ExpData targetFile, ReferenceGenom
682683 return ret ;
683684 }
684685
685- private JSONObject getGxfTrack (Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
686+ private JSONObject getGxfTrack (User u , Logger log , ExpData targetFile , ReferenceGenome rg ) throws PipelineJobException
686687 {
687688 String adapterType = TRACK_TYPES .gff .getFileType ().isType (targetFile .getFile ()) ? "Gff3TabixAdapter" : "GtfTabixAdapter" ;
688689 String prefix = TRACK_TYPES .gff .getFileType ().isType (targetFile .getFile ()) ? "gff" : "gtf" ;
689690
690- return getTabixTrack (log , targetFile , rg , adapterType , prefix );
691+ return getTabixTrack (u , log , targetFile , rg , adapterType , prefix );
691692 }
692693
693694 public String getTrackType ()
@@ -729,7 +730,7 @@ else if (TRACK_TYPES.bw.getFileType().isType(targetFile.getFile()))
729730 }
730731 }
731732
732- private JSONObject getTabixTrack (Logger log , ExpData targetFile , ReferenceGenome rg , String adapterType , String prefix ) throws PipelineJobException
733+ private JSONObject getTabixTrack (User u , Logger log , ExpData targetFile , ReferenceGenome rg , String adapterType , String prefix ) throws PipelineJobException
733734 {
734735 JSONObject ret = new JSONObject ();
735736 ret .put ("type" , getTrackType ());
@@ -743,7 +744,7 @@ private JSONObject getTabixTrack(Logger log, ExpData targetFile, ReferenceGenome
743744 }});
744745
745746 // if not gzipped, we need to process it:
746- File gzipped = prepareResource (log , true , false );
747+ File gzipped = prepareResource (u , log , true , false );
747748 final String url ;
748749 if (!getExpData ().getFile ().equals (gzipped ))
749750 {
@@ -809,7 +810,7 @@ protected boolean needsGzip()
809810 return !isGzipped () && (TRACK_TYPES .gff .getFileType ().isType (fn ) || TRACK_TYPES .gtf .getFileType ().isType (fn ) || TRACK_TYPES .bed .getFileType ().isType (fn ));
810811 }
811812
812- public File prepareResource (Logger log , boolean throwIfNotPrepared , boolean forceReprocess ) throws PipelineJobException
813+ public File prepareResource (User u , Logger log , boolean throwIfNotPrepared , boolean forceReprocess ) throws PipelineJobException
813814 {
814815 ExpData expData = getExpData ();
815816 if (expData == null )
@@ -939,6 +940,13 @@ public File prepareResource(Logger log, boolean throwIfNotPrepared, boolean forc
939940
940941 if (shouldHaveFreeTextSearch ())
941942 {
943+ // TODO:
944+ // Try to find a matching existing index:
945+ // Container targetContainer = getContainerObj().isWorkbookOrTab() ? getContainerObj().getParent() : getContainerObj();
946+ // TableInfo ti = QueryService.get().getUserSchema(u, targetContainer, JBrowseSchema.SEQUENCE_ANALYSIS).getTable("outputfiles");
947+ // SimpleFilter filter = new SimpleFilter(FieldKey.fromString("category"), IndexVariantsStep.CATEGORY);
948+ // filter.addCondition(FieldKey.fromString("library_id"), rg)
949+
942950 File luceneDir = getExpectedLocationOfLuceneIndex (throwIfNotPrepared );
943951 long sizeInGb = targetFile .length () / (1024 * 1024 * 1024 );
944952 log .debug ("preparing lucene index, VCF size: " + sizeInGb );
0 commit comments