Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #buf wird benutzt um die Ausgaben zu verketten
- buf=[]
- print " \n"
- print " CLUSIFI Beta\n"
- print " coded by Silvana Gromoeller "
- print " \n"
- #einlesen des Files
- fileName =raw_input("Enter filename or path to filename: ")
- f = open (fileName,"r")
- o = open ("out.txt","w")
- s = f.read()
- f.close()
- #Erstellung einer Liste für die Namen aus dem Consensus_outfiles.Gesplittet an zwei Textstellen.Ausgabe erst ab der 2ten Position.
- names = s.split("Sets included in the consensus tree")[0].split("Species in order:")[1].split("\n")[2:]
- #Erstellung einer Liste für die im consensus baum includeten Sets.
- inc = s.split("Sets NOT included in consensus tree:")[0].split("How many times out ")[1].split("\n")
- incl = [x for x in inc if x.replace(' ', '') != '']
- incl = [x for x in incl if x != ''][1:]
- #Erstellung einer Liste für die Häufigkeitswerte.
- rates = [x.split(" ") for x in incl]
- rates = [x[-1] for x in rates]
- #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.
- has_ninclu = False
- if s.find("Sets NOT included in consensus tree:") != -1:
- nincl= s.split("CONSENSUS TREE:")[0].split("Sets NOT included in consensus tree:")[1].split("\n")
- nincl=[x for x in nincl if x.replace(' ',"")][1:-1]
- #Erstellung der Häufigkeiten für die nicht includeten
- rate = [x.split(" ") for x in nincl]
- rate = [x[-1] for x in rate]
- has_ninclu = True
- #schleifendurchlauf über die länge der Liste der includeten.Suche nach dem Sternchen.Ausgabe der Namen an der Position wo die Sternchen liegen.
- #sowie Ausgabe der jeweiligen Häufigkeiten.
- buf.append( "Sets included in the consensus tree:\n")
- for j in range (0,len(incl)):
- buf.append (rates[j])
- for i in range (0,len(incl[j])):
- if incl [j][i] == "*":
- buf.append (names[i])
- buf.append ("\n")
- #schleife fuer NOT included(selbe Prinzip)
- if has_ninclu:
- buf.append ("Sets NOT included in consensus tree:\n")
- for j in range (0,len(nincl)):
- buf.append( rate[j])
- for i in range (0,len(nincl[j])):
- if nincl [j][i] == "*":
- buf.append (names[i])
- buf.append ("\n")
- else:
- buf.append("No sets were reported which were NOT included in consensus tree")
- #in outtext werden die einzelnen Zeilen durch Leerzeilen getrennt ausgegeben.
- outtext = "\n".join(buf)
- sys.stdout.write(outtext)
- o.write(outtext)
- o.close()
Add Comment
Please, Sign In to add comment