comparison rename.py @ 5:7c8b327f298c draft

planemo upload commit f565a59d3e28d34d1caf326fcee83d04a939c359
author yating-l
date Tue, 31 Jul 2018 13:50:21 -0400
parents e35a3509c160
children 2d143f0ac727
comparison
equal deleted inserted replaced
4:e35a3509c160 5:7c8b327f298c
19 line = ">" + newname + "\n" 19 line = ">" + newname + "\n"
20 i = i+1 20 i = i+1
21 writer.writerow([oldname.encode('utf-8'), newname]) 21 writer.writerow([oldname.encode('utf-8'), newname])
22 out.write(line) 22 out.write(line)
23 23
24 def truncate(inputFile, outputFile, valid_characters): 24 def truncate(inputFile, outputFile, valid_characters, writer):
25 names = [] 25 names = []
26 with codecs.open(outputFile, 'w', encoding='utf-8') as out: 26 with open(outputFile, 'w') as out:
27 with codecs.open(inputFile, 'r', encoding='utf-8') as rf: 27 with codecs.open(inputFile, 'r', encoding='utf-8') as rf:
28 lines = rf.readlines() 28 lines = rf.readlines()
29 for l in lines: 29 for l in lines:
30 if ">" in l: 30 if ">" in l:
31 print l.encode('utf-8') 31 print l.encode('utf-8')
32 name = l[1:].rstrip() 32 oldname = l[1:].rstrip()
33 name = substituteNonAscii(name, valid_characters) 33 name = substituteNonAscii(oldname, valid_characters)
34 if len(name) > 31: 34 if len(name) > 31:
35 name = name[:31] 35 name = name[:31]
36 print "\tTruncate the scaffold name to less than 31 characters: %s" % name 36 print "\tTruncate the scaffold name to less than 31 characters: %s" % name
37 if name in names: 37 if name in names:
38 sys.exit("Name conflict! Name " + name + " already exist.") 38 sys.exit("Name conflict! Name " + name + " already exist.")
39 writer.writerow([oldname.encode('utf-8'), name])
39 names.append(name) 40 names.append(name)
40 l = ">" + name + "\n" 41 l = ">" + name + "\n"
41 print "======================\n" 42 print "======================\n"
42 out.write(l) 43 out.write(l)
43 44
52 53
53 def main(): 54 def main():
54 inputfile = str(sys.argv[1]) 55 inputfile = str(sys.argv[1])
55 manipulate = str(sys.argv[2]) 56 manipulate = str(sys.argv[2])
56 outputfile = str(sys.argv[3]) 57 outputfile = str(sys.argv[3])
57 valid_characters = string.letters + string.punctuation + string.digits + ' ' 58 indexfile = str(sys.argv[4])
59 csvfile = open(indexfile, 'w')
60 writer = csv.writer(csvfile)
58 if manipulate == "rename": 61 if manipulate == "rename":
59 indexfile = str(sys.argv[4])
60 csvfile = open(indexfile, 'w')
61 writer = csv.writer(csvfile)
62 rename(inputfile, outputfile, writer) 62 rename(inputfile, outputfile, writer)
63 elif manipulate == "truncate": 63 elif manipulate == "truncate":
64 truncate(inputfile, outputfile, valid_characters) 64 valid_characters = string.letters + string.punctuation + string.digits + ' '
65 truncate(inputfile, outputfile, valid_characters, writer)
65 66
66 if __name__ == "__main__": 67 if __name__ == "__main__":
67 main() 68 main()
68 69
69 70