Guest User

Untitled

a guest
Jul 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1.  
  2. #buf wird benutzt um die Ausgaben zu verketten
  3. buf=[]
  4. print " \n"
  5. print " CLUSIFI Beta\n"
  6. print " coded by Silvana Gromoeller "
  7. print " \n"
  8. #einlesen des Files
  9. fileName =raw_input("Enter filename or path to filename: ")
  10. f = open (fileName,"r")
  11. o = open ("out.txt","w")
  12. s = f.read()
  13. f.close()
  14.  
  15. #Erstellung einer Liste für die Namen aus dem Consensus_outfiles.Gesplittet an zwei Textstellen.Ausgabe erst ab der 2ten Position.
  16. names = s.split("Sets included in the consensus tree")[0].split("Species in order:")[1].split("\n")[2:]
  17.  
  18. #Erstellung einer Liste für die im consensus baum includeten Sets.
  19. inc = s.split("Sets NOT included in consensus tree:")[0].split("How many times out ")[1].split("\n")
  20. incl = [x for x in inc if x.replace(' ', '') != '']
  21. incl = [x for x in incl if x != ''][1:]
  22.  
  23. #Erstellung einer Liste für die Häufigkeitswerte.
  24. rates = [x.split(" ") for x in incl]
  25. rates = [x[-1] for x in rates]
  26.  
  27. #Erstellung einer Liste für die nicht includeten im Konsensusbaum.Schleife so aufgebaut dass,das programm noch läuft auch wenn es keine not includeten gibt.
  28. has_ninclu = False
  29. if s.find("Sets NOT included in consensus tree:") != -1:
  30. nincl= s.split("CONSENSUS TREE:")[0].split("Sets NOT included in consensus tree:")[1].split("\n")
  31. nincl=[x for x in nincl if x.replace(' ',"")][1:-1]
  32. #Erstellung der Häufigkeiten für die nicht includeten
  33. rate = [x.split(" ") for x in nincl]
  34. rate = [x[-1] for x in rate]
  35. has_ninclu = True
  36.  
  37.  
  38. #schleifendurchlauf über die länge der Liste der includeten.Suche nach dem Sternchen.Ausgabe der Namen an der Position wo die Sternchen liegen.
  39. #sowie Ausgabe der jeweiligen Häufigkeiten.
  40. buf.append( "Sets included in the consensus tree:\n")
  41. for j in range (0,len(incl)):
  42. buf.append (rates[j])
  43. for i in range (0,len(incl[j])):
  44. if incl [j][i] == "*":
  45. buf.append (names[i])
  46. buf.append ("\n")
  47.  
  48. #schleife fuer NOT included(selbe Prinzip)
  49. if has_ninclu:
  50. buf.append ("Sets NOT included in consensus tree:\n")
  51. for j in range (0,len(nincl)):
  52. buf.append( rate[j])
  53. for i in range (0,len(nincl[j])):
  54. if nincl [j][i] == "*":
  55. buf.append (names[i])
  56. buf.append ("\n")
  57. else:
  58. buf.append("No sets were reported which were NOT included in consensus tree")
  59.  
  60. #in outtext werden die einzelnen Zeilen durch Leerzeilen getrennt ausgegeben.
  61. outtext = "\n".join(buf)
  62. sys.stdout.write(outtext)
  63. o.write(outtext)
  64. o.close()
Add Comment
Please, Sign In to add comment