# HG changeset patch
# User yating-l
# Date 1509379111 14400
# Node ID fa990284327b532a8ccf6064de20433f89030f6a
# Parent 7486909dfc227cc2e86ae394c6f9ce3ddb1b5cfb
planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
diff -r 7486909dfc22 -r fa990284327b datatypes/Datatype.py
--- a/datatypes/Datatype.py Fri Sep 29 14:50:50 2017 -0400
+++ b/datatypes/Datatype.py Mon Oct 30 11:58:31 2017 -0400
@@ -96,110 +96,3 @@
def createTrackDb(self):
self.track = TrackDb(self.trackName, self.longLabel, self.shortLabel, self.trackDataURL, self.trackType, self.extraSettings)
-
-
-
-
-
-
- '''
- def __init__(self):
- not_init_message = "The {0} is not initialized." \
- "Did you use pre_init static method first?"
- if Datatype.input_fasta_file is None:
- raise TypeError(not_init_message.format('reference genome'))
- if Datatype.extra_files_path is None:
- raise TypeError(not_init_message.format('track Hub path'))
- if Datatype.tool_directory is None:
- raise TypeError(not_init_message.format('tool directory'))
- self.track = None
- self.extra_settings = collections.OrderedDict()
-
-
- @staticmethod
- def pre_init(reference_genome, two_bit_path, chrom_sizes_file,
- extra_files_path, tool_directory, specie_folder, tracks_folder):
- Datatype.extra_files_path = extra_files_path
- Datatype.tool_directory = tool_directory
-
- # TODO: All this should be in TrackHub and not in Datatype
- Datatype.mySpecieFolderPath = specie_folder
- Datatype.myTrackFolderPath = tracks_folder
-
- Datatype.input_fasta_file = reference_genome
-
- # 2bit file creation from input fasta
- Datatype.twoBitFile = two_bit_path
- Datatype.chromSizesFile = chrom_sizes_file
-
- @staticmethod
- def get_largest_scaffold_name(self):
- # We can get the biggest scaffold here, with chromSizesFile
- with open(Datatype.chromSizesFile.name, 'r') as chrom_sizes:
- # TODO: Check if exists
- return chrom_sizes.readline().split()[0]
-
-
- def createTrack(self, trackName, longLabel, shortLabel, trackDataURL, trackType, extra_settings=None):
- self.track = TrackDb(trackName, longLabel, shortLabel, trackDataURL, trackType, extra_settings)
-
- def initRequiredSettings(self, trackSettings, trackDataURL = None, trackType = None):
-
- #Initialize required fields: trackName, longLabel, shortLable
-
- self.trackSettings = trackSettings
- self.trackName = self.trackSettings["name"]
- #self.priority = self.trackSettings["order_index"]
- #self.track_color = self.trackSettings["track_color"]
- # TODO: Think about how to avoid repetition of the group_name everywhere
- #self.group_name = self.trackSettings["group_name"]
- #self.database = self.trackSettings["database"]
- if self.trackSettings["long_label"]:
- self.longLabel = self.trackSettings["long_label"]
- else:
- self.longLabel = self.trackName
- if not "short_label" in self.trackSettings:
- self.shortLabel = ""
- else:
- self.shortLabel = self.trackSettings["short_label"]
- self.trackDataURL = trackDataURL
- self.trackType = trackType
-
- def setExtLink(self, database, inputFile, seqType=None, useIframe=True, iframeHeight=None, iframeWidth=None):
- if "NCBI" in database:
- if not seqType:
- self.seqType = int(self.getSeqType(inputFile))
- else:
- self.seqType = seqType
- if self.seqType < 0:
- print self.seqType
- raise Exception("Sequence Type is not set for bigPsl. Stopping the application")
- if self.seqType == 2:
- self.extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/protein/$$"
- elif self.seqType == 1:
- self.extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/nuccore/$$"
- else:
- raise Exception("Sequence Type {0} is not valid for bigPsl. Stopping the application".format(self.seqType))
- elif "UniProt" in database:
- self.extra_settings["url"] = "http://www.uniprot.org/uniprot/$$"
- elif "FlyBase" in database:
- self.extra_settings["url"] = "http://flybase.org/reports/$$"
- else:
- self.extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/gquery/?term=$$"
- self.extra_settings["urlLabel"] = database + " Details:"
- if useIframe:
- self.extra_settings["iframeUrl"] = self.extra_settings["url"]
- if not iframeHeight:
- iframeHeight = "600"
- if not iframeWidth:
- iframeWidth = "800"
- self.extra_settings["iframeOptions"] = "height= %s width= %s" % (iframeHeight, iframeWidth)
-
- def getSeqType(self, inputFile):
- with open(inputFile, "r") as bigpsl:
- sampleSeq = bigpsl.readline().split()
- if len(sampleSeq) == 25:
- return sampleSeq[-1]
- else:
- return "-1"
- '''
\ No newline at end of file
diff -r 7486909dfc22 -r fa990284327b datatypes/Datatype.pyc
Binary file datatypes/Datatype.pyc has changed
diff -r 7486909dfc22 -r fa990284327b datatypes/binary/BigBed.py
--- a/datatypes/binary/BigBed.py Fri Sep 29 14:50:50 2017 -0400
+++ b/datatypes/binary/BigBed.py Mon Oct 30 11:58:31 2017 -0400
@@ -36,13 +36,12 @@
self.database_settings = DatabaseIndex(database=self.trackSettings["database"], seqType=self.seqType).setExtLink()
self.extraSettings.update(self.database_settings)
if "indexIx" in self.trackSettings and "indexIxx" in self.trackSettings:
- if not "trix_id" in self.trackSettings or not self.trackSettings["trix_id"]:
- logging.error("Didn't specify the search index. To use TRIX index, you need to specify the identifiers")
- exit(1)
- trix_id = self.trackSettings["trix_id"]
- self.trix_settings = TrixIndex(indexIx=self.trackSettings["indexIx"], indexIxx=self.trackSettings["indexIxx"], trackName=self.trackName, mySpecieFolderPath=self.mySpecieFolderPath, trixId=trix_id).setExtLink()
+ self.trix_id = self.extraSettings["trix_id"]
+ if not self.trix_id:
+ logging.info("Didn't specify the ID for Trix index for BigBed file: %s. \n Will use \"name\" as default", self.trackName)
+ self.trix_settings = TrixIndex(indexIx=self.trackSettings["indexIx"], indexIxx=self.trackSettings["indexIxx"], trackName=self.trackName, mySpecieFolderPath=self.mySpecieFolderPath, trixId=self.trix_id).setExtLink()
self.extraSettings.update(self.trix_settings)
-
+
def validateData(self):
self.validator = DataValidation(self.inputFile, self.dataType, self.chromSizesFile.name)
self.validator.validate()
diff -r 7486909dfc22 -r fa990284327b datatypes/binary/BigBed.pyc
Binary file datatypes/binary/BigBed.pyc has changed
diff -r 7486909dfc22 -r fa990284327b datatypes/interval/BigPsl.py
--- a/datatypes/interval/BigPsl.py Fri Sep 29 14:50:50 2017 -0400
+++ b/datatypes/interval/BigPsl.py Mon Oct 30 11:58:31 2017 -0400
@@ -3,7 +3,6 @@
import os
import tempfile
import string
-import logging
from Interval import Interval
from util.index.DatabaseIndex import DatabaseIndex
@@ -35,18 +34,15 @@
self.extraSettings["group"] = self.trackSettings["group_name"]
self.extraSettings["visibility"] = "dense"
self.extraSettings["priority"] = self.trackSettings["order_index"]
- #self.extraSettings["searchIndex"] = "name"
+ self.extraSettings["searchIndex"] = "name"
if self.seqType is None:
self.seqType = self._getSeqType()
if "database" in self.trackSettings:
self.database_settings = DatabaseIndex(database=self.trackSettings["database"], seqType=self.seqType).setExtLink()
self.extraSettings.update(self.database_settings)
if "indexIx" in self.trackSettings and "indexIxx" in self.trackSettings:
- if not "trix_id" in self.trackSettings or not self.trackSettings["trix_id"]:
- logging.error("Didn't specify the search index. To use TRIX index, you need to specify the identifiers")
- exit(1)
trix_id = self.trackSettings["trix_id"]
- self.trix_settings = TrixIndex(indexIx=self.trackSettings["indexIx"], indexIxx=self.trackSettings["indexIxx"], trackName=self.trackName, mySpecieFolderPath=self.mySpecieFolderPath, trixId = trix_id, default_index = "name").setExtLink()
+ self.trix_settings = TrixIndex(indexIx=self.trackSettings["indexIx"], indexIxx=self.trackSettings["indexIxx"], trackName=self.trackName, mySpecieFolderPath=self.mySpecieFolderPath).setExtLink()
self.extraSettings.update(self.trix_settings)
diff -r 7486909dfc22 -r fa990284327b datatypes/interval/BigPsl.pyc
Binary file datatypes/interval/BigPsl.pyc has changed
diff -r 7486909dfc22 -r fa990284327b hubArchiveCreator.xml
--- a/hubArchiveCreator.xml Fri Sep 29 14:50:50 2017 -0400
+++ b/hubArchiveCreator.xml Mon Oct 30 11:58:31 2017 -0400
@@ -123,15 +123,8 @@
#set database = str($f.formatChoice.bedChoice.database)
#silent $extra_data_dict.update({"database": $database})
#if $f.formatChoice.bedChoice.add_trix_index.add_trix_index_selector == "yes"
- #set trix_id = str($f.formatChoice.bedChoice.add_trix_index.trix_id)
- #silent $extra_data_dict.update({"trix_id": $trix_id})
- #if $f.formatChoice.bedChoice.add_trix_index.index_files.index_files_type == "collection"
- #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.trix_index.index_ix)
- #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.trix_index.index_ixx)
- #else
- #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.index_ix)
- #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.index_ixx)
- #end if
+ #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.add_trix_file.trix_index.index_ix)
+ #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.add_trix_file.trix_index.index_ixx)
#silent $extra_data_dict.update({"indexIx": $ix_index, "indexIxx": $ixx_index})
#end if
#silent $prepare_json("BedBlastAlignments", $f.formatChoice.bedChoice.BED_blast_alignment, $index_track_final,
@@ -141,15 +134,8 @@
#set database = str($f.formatChoice.bedChoice.database)
#silent $extra_data_dict.update({"database": $database})
#if $f.formatChoice.bedChoice.add_trix_index.add_trix_index_selector == "yes"
- #set trix_id = str($f.formatChoice.bedChoice.add_trix_index.trix_id)
- #silent $extra_data_dict.update({"trix_id": $trix_id})
- #if $f.formatChoice.bedChoice.add_trix_index.index_files.index_files_type == "collection"
- #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.trix_index.index_ix)
- #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.trix_index.index_ixx)
- #else
- #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.index_ix)
- #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.index_files.index_ixx)
- #end if
+ #set ix_index = str($f.formatChoice.bedChoice.add_trix_index.add_trix_file.trix_index.index_ix)
+ #set ixx_index = str($f.formatChoice.bedChoice.add_trix_index.add_trix_file.trix_index.index_ixx)
#silent $extra_data_dict.update({"indexIx": $ix_index, "indexIxx": $ixx_index})
#end if
#silent $prepare_json("BedBlatAlignments", $f.formatChoice.bedChoice.BED_blat_alignment, $index_track_final,
@@ -166,16 +152,10 @@
#end if
#if $f.formatChoice.format_select == "bigbed"
#if $f.formatChoice.add_trix_index.add_trix_index_selector == "yes"
- #set trix_id = str($f.formatChoice.add_trix_index.trix_id)
- #silent $extra_data_dict.update({"trix_id": $trix_id})
- #if $f.formatChoice.add_trix_index.index_files.index_files_type == "collection"
- #set ix_index = str($f.formatChoice.add_trix_index.index_files.trix_index.index_ix)
- #set ixx_index = str($f.formatChoice.add_trix_index.index_files.trix_index.index_ixx)
- #else
- #set ix_index = str($f.formatChoice.add_trix_index.index_files.index_ix)
- #set ixx_index = str($f.formatChoice.add_trix_index.index_files.index_ixx)
- #end if
- #silent $extra_data_dict.update({"indexIx": $ix_index, "indexIxx": $ixx_index})
+ #set ix_index = str($f.formatChoice.add_trix_index.add_trix_file.trix_index.index_ix)
+ #set ixx_index = str($f.formatChoice.add_trix_index.add_trix_file.trix_index.index_ixx)
+ #set trix_id = str($f.formatChoice.add_trix_index.add_trix_file.trix_id)
+ #silent $extra_data_dict.update({"indexIx": $ix_index, "indexIxx": $ixx_index, "trix_id": $trix_id})
#end if
#silent $prepare_json("BigBed", $f.formatChoice.BIGBED, $index_track_final,
$extra_data_dict)
@@ -377,7 +357,13 @@
label="BIGBED File"
/>
-
+
diff -r 7486909dfc22 -r fa990284327b macros.xml
--- a/macros.xml Fri Sep 29 14:50:50 2017 -0400
+++ b/macros.xml Mon Oct 30 11:58:31 2017 -0400
@@ -52,50 +52,21 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff -r 7486909dfc22 -r fa990284327b util/index/ExternIndex.py
--- a/util/index/ExternIndex.py Fri Sep 29 14:50:50 2017 -0400
+++ b/util/index/ExternIndex.py Mon Oct 30 11:58:31 2017 -0400
@@ -13,48 +13,4 @@
@abc.abstractmethod
def setExtLink(self):
"""set external link"""
-
-
-
-
- '''
- @staticmethod
- def setExtLink(database, inputFile, extra_settings, seqType=None, useIframe=True, iframeHeight=None, iframeWidth=None):
- if "NCBI" in database:
- if not seqType:
- seqType = int(ExternIndex.getSeqType(inputFile))
- else:
- seqType = seqType
- if seqType < 0:
- print seqType
- raise Exception("Sequence Type is not set for bigPsl. Stopping the application")
- if seqType == 2:
- extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/protein/$$"
- elif seqType == 1:
- extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/nuccore/$$"
- else:
- raise Exception("Sequence Type {0} is not valid for bigPsl. Stopping the application".format(seqType))
- elif "UniProt" in database:
- extra_settings["url"] = "http://www.uniprot.org/uniprot/$$"
- elif "FlyBase" in database:
- extra_settings["url"] = "http://flybase.org/reports/$$"
- else:
- extra_settings["url"] = "https://www.ncbi.nlm.nih.gov/gquery/?term=$$"
- extra_settings["urlLabel"] = database + " Details:"
- if useIframe:
- extra_settings["iframeUrl"] = extra_settings["url"]
- if not iframeHeight:
- iframeHeight = "600"
- if not iframeWidth:
- iframeWidth = "800"
- extra_settings["iframeOptions"] = "height= %s width= %s" % (iframeHeight, iframeWidth)
-
- @staticmethod
- def getSeqType(inputFile):
- with open(inputFile, "r") as bigpsl:
- sampleSeq = bigpsl.readline().split()
- if len(sampleSeq) == 25:
- return sampleSeq[-1]
- else:
- return "-1"
- '''
\ No newline at end of file
+
\ No newline at end of file
diff -r 7486909dfc22 -r fa990284327b util/index/ExternIndex.pyc
Binary file util/index/ExternIndex.pyc has changed
diff -r 7486909dfc22 -r fa990284327b util/index/TrixIndex.py
--- a/util/index/TrixIndex.py Fri Sep 29 14:50:50 2017 -0400
+++ b/util/index/TrixIndex.py Mon Oct 30 11:58:31 2017 -0400
@@ -7,20 +7,19 @@
from ExternIndex import ExternIndex
class TrixIndex(ExternIndex):
- def __init__(self, indexIx, indexIxx, trackName, mySpecieFolderPath, trixId, **args):
+ def __init__(self, indexIx, indexIxx, trackName, mySpecieFolderPath, **args):
+ self.logger = logging.getLogger(__name__)
self.indexIx = indexIx
self.indexIxx = indexIxx
self.trackName = trackName
self.mySpecieFolderPath = mySpecieFolderPath
- self.trixId = trixId
self.index_settings = collections.OrderedDict()
- if "default_index" in args:
- self.default_index = args["default_index"]
+ if "trixId" in args:
+ self.trixId = args["trixId"]
else:
- self.default_index = None
+ self.trixId = None
def setExtLink(self):
- self.setSearchIndex()
self.moveIndexFile()
self.index_settings["searchTrix"] = "trix/%s" % self.indexIxName
return self.index_settings
@@ -39,13 +38,14 @@
shutil.copyfile(self.indexIxx, self.indexIxxPath)
def setSearchIndex(self):
- if self.default_index:
+ if self.trixId:
set_index = set()
set_index.add(self.trixId)
- set_index.add(self.default_index)
+ set_index.add("name")
search_index = ",".join(set_index)
else:
- search_index = self.trixId
+ search_index = "name"
logging.debug("trixId= %s, searchIndex= %s", self.trixId, search_index)
self.index_settings["searchIndex"] = search_index
+
diff -r 7486909dfc22 -r fa990284327b util/index/TrixIndex.pyc
Binary file util/index/TrixIndex.pyc has changed