annotate util/index/TrixIndex.py @ 3:fa990284327b draft default tip

planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
author yating-l
date Mon, 30 Oct 2017 11:58:31 -0400
parents 85195e0d4b71
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
1 #!/usr/bin/python
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
2
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
3 import os
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
4 import collections
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
5 import shutil
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
6 import logging
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
7 from ExternIndex import ExternIndex
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
8
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
9 class TrixIndex(ExternIndex):
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
10 def __init__(self, indexIx, indexIxx, trackName, mySpecieFolderPath, **args):
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
11 self.logger = logging.getLogger(__name__)
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
12 self.indexIx = indexIx
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
13 self.indexIxx = indexIxx
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
14 self.trackName = trackName
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
15 self.mySpecieFolderPath = mySpecieFolderPath
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
16 self.index_settings = collections.OrderedDict()
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
17 if "trixId" in args:
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
18 self.trixId = args["trixId"]
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
19 else:
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
20 self.trixId = None
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
21
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
22 def setExtLink(self):
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
23 self.moveIndexFile()
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
24 self.index_settings["searchTrix"] = "trix/%s" % self.indexIxName
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
25 return self.index_settings
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
26
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
27 def moveIndexFile(self):
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
28 indexFolder = os.path.join(self.mySpecieFolderPath, 'trix')
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
29 self.indexIxName = "".join( ( self.trackName, ".ix") )
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
30 self.indexIxxName = "".join( ( self.trackName, ".ixx") )
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
31 if not os.path.exists(indexFolder):
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
32 os.makedirs(indexFolder)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
33
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
34 # Move index files to the index folder
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
35 self.indexIxPath = os.path.join(indexFolder, self.indexIxName)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
36 shutil.copyfile(self.indexIx, self.indexIxPath)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
37 self.indexIxxPath = os.path.join(indexFolder, self.indexIxxName)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
38 shutil.copyfile(self.indexIxx, self.indexIxxPath)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
39
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
40 def setSearchIndex(self):
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
41 if self.trixId:
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
42 set_index = set()
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
43 set_index.add(self.trixId)
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
44 set_index.add("name")
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
45 search_index = ",".join(set_index)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
46 else:
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
47 search_index = "name"
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
48 logging.debug("trixId= %s, searchIndex= %s", self.trixId, search_index)
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
49 self.index_settings["searchIndex"] = search_index
3
fa990284327b planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ac73da32d59853ca563e7939d05016a6f3a6899e-dirty
yating-l
parents: 1
diff changeset
50
1
85195e0d4b71 planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit b1ae7349f118a0fe7923d765020dfc684cf84116-dirty
yating-l
parents:
diff changeset
51