comparison trackObject.py @ 42:a5108e5010b4 draft

planemo upload for repository https://github.com/Yating-L/jbrowse_hub commit 149c5cbda82f49f260767b5710f0c2160eebc881-dirty
author yating-l
date Mon, 20 Mar 2017 12:35:33 -0400
parents 4af741177682
children 3e5b6f6a9abe
comparison
equal deleted inserted replaced
41:6a5f78bc0bed 42:a5108e5010b4
22 os.remove(self.raw_folder) 22 os.remove(self.raw_folder)
23 os.makedirs(self.raw_folder) 23 os.makedirs(self.raw_folder)
24 except OSError as oserror: 24 except OSError as oserror:
25 print "Cannot create raw folder error({0}): {1}".format(oserror.errno, oserror.strerror) 25 print "Cannot create raw folder error({0}): {1}".format(oserror.errno, oserror.strerror)
26 26
27 def addToRaw(self, dataFile, dataType, metaData): 27 def addToRaw(self, dataFile, dataType):
28 """ 28 """
29 Convert gff3, BED, blastxml and gtf files into gff3 files 29 Convert gff3, BED, blastxml and gtf files into gff3 files
30 and store converted files in folder 'raw' 30 and store converted files in folder 'raw'
31 """ 31 """
32 32 false_path = os.path.abspath(dataFile)
33 fileName = os.path.basename(dataFile) 33 fileName = os.path.basename(dataFile)
34 des_path = os.path.join(self.raw_folder, fileName) 34 des_path = os.path.join(self.raw_folder, fileName)
35 track = {} 35 track = {}
36 if dataType == 'gff3_mrna' or dataType == 'gff3_transcript' or dataType == 'fasta' or dataType == 'bam' or dataType == 'bigwig' or dataType == 'bai': 36 if dataType == 'gff3_mrna' or dataType == 'gff3_transcript' or dataType == 'fasta' or dataType == 'bam' or dataType == 'bigwig' or dataType == 'bai':
37 if dataType == 'bam': 37 if dataType == 'bam':
38 # JBrowse will raise error: not a BAM file if the filename hasn't .bam extension 38 # JBrowse will raise error: not a BAM file if the filename hasn't .bam extension
39 fileName = os.path.basename(dataFile) + '.bam' 39 fileName = fileName + '.bam'
40 des_path = os.path.join(self.raw_folder, fileName) 40 des_path = os.path.join(self.raw_folder, fileName)
41 bam_index = utils.createBamIndex(dataFile) 41 bam_index = utils.createBamIndex(dataFile)
42 indexname = os.path.basename(bam_index) 42 indexname = os.path.basename(bam_index)
43 des_path_for_index = os.path.join(self.raw_folder, indexname) 43 des_path_for_index = os.path.join(self.raw_folder, indexname)
44 shutil.copyfile(bam_index, des_path_for_index) 44 shutil.copyfile(bam_index, des_path_for_index)
58 blastxmlToGff3.blastxml2gff3(dataFile, des_path) 58 blastxmlToGff3.blastxml2gff3(dataFile, des_path)
59 elif dataType == 'gtf': 59 elif dataType == 'gtf':
60 utils.gtfToGff3(dataFile, des_path, self.chrom_size) 60 utils.gtfToGff3(dataFile, des_path, self.chrom_size)
61 track['fileName'] = fileName 61 track['fileName'] = fileName
62 track['dataType'] = dataType 62 track['dataType'] = dataType
63 self.SetMetadata(track, metaData) 63 track['false_path'] = false_path
64 #self.SetMetadata(track, metaData)
64 self.tracks.append(track) 65 self.tracks.append(track)
65 66
66 #If the metadata is not set, use the default value 67
67 def SetMetadata(self, track, metaData):
68 track.update(metaData)
69 if 'name' not in metaData.keys() or track['name'] == '':
70 track['name'] = track['fileName']
71 if 'label' not in metaData.keys() or track['label'] == '':
72 track['label'] = track['name']
73 if 'track_color' not in metaData.keys() or track['track_color'] == '':
74 track['track_color'] = "#daa520"
75 if track['dataType'] == 'bigwig':
76 if 'pos_color' not in metaData.keys() or track['pos_color'] == '':
77 track['pos_color'] = "#FFA600"
78 if 'neg_color' not in metaData.keys() or track['neg_color'] == '':
79 track['neg_color'] = "#005EFF"