i got that problem solved but i now have a new memory problem, the
error i get is
invalid command name " *randomnumber*callit"
    while executing
" *randomnumber*callit"
    ("after" script)
searched the internet and found that there is some variable stuck
somewhere, here is the def cousing the error, is designed to read some
files (getting them from the lists self.files and self.workspaces)
make a plot and save the plot

 def save2dmulti(self):
        try:
            os.mkdir(self.save+"/graph")
        except:
            pass
        for x in range(0,1):
            #fig = pyplot.figure()
            for file in self.files:
                ax = pyplot.subplot(111)#fig.add_subplot(111)
                pyplot.hold(True)
                for workspace in self.workspaces:
                    f = open(workspace+"/alignment.iuf","r")
                    idlist = pickle.load(f)
                    f.close()
                    self.__newdict = {}
                    for item in idlist:
                        self.__newdict[idlist[item]] = item
                    for x in range(0,1):
                        try:
                            f =
open(workspace+"/letters/letter_"+self.__newdict[file]+".txt", "r")
                        except:
                            print "gene "+file+" not found in
"+workspace+" skipping this workspace"
                            break
                        vals = pickle.load(f)
                        f.close()
                        base = []
                        basecount = []
                        for val in vals:
                            if val[0] == "A":
                                base.append("A")
                                basecount.append(val[1])
                            elif val[0] == "C":
                                base.append("C")
                                basecount.append(val[2])
                            elif val[0] == "T":
                                base.append("T")
                                basecount.append(val[3])
                            elif val[0] == "G":
                                base.append("G")
                                basecount.append(val[4])
                        N = len(base)
                        ind = numpy.arange(N)
                        width = 0.5

                        ax.plot(ind, basecount,'o-', label = workspace)
                        ax.set_xticks(ind)
                ax.set_title(file)
                pyplot.legend()
                #print "one"
                for workspacer in self.workspaces:
                    #print "pretry"
                    try:
                        #print "opening file"
                        f = open(workspacer+"/alignment.iuf","r")
                        idlist = pickle.load(f)
                        f.close()
                        #print "making dict"
                        self.__newdict = {}
                        for item in idlist:
                            self.__newdict[idlist[item]] = item
                        f =
open(workspacer+"/validated/"+self.__newdict[file]+".fa","r")
                        text = f.read()
                        text = text.split("\n")
                        #print text, text[0], text[1]
                        f.close()
                        f = open(self.save+"/temp.fa","w")
                        #print "check OK"+workspacer
                        t = text[0]+"\n"+text[1]+"\n"
                        f.write(t)
                        f.close()
                        output = ""
                        cline = "centroid_fold "+self.save+"/temp.fa"
                        test = subprocess.Popen(str(cline),stdout =
subprocess.PIPE,stderr = open(os.devnull))
                        output = test.communicate()[0]
                        #print output
                        output = output.split(">")
                        out = output[1]
                        out = out.split("\r\n")
                        #print out
                        xax = []
                        counter =0
                        for x in range(0,len(base)):

xax.append(str(vals[counter][0])+"\n"+out[2][counter])
                            counter = counter +1

                        ax.set_xticks(ind)
                        ax.set_xticklabels(xax)

                        sav = file
                        sav =
sav.replace(":","_").replace("\\","_").replace("-","_").replace(">","")
                        #pyplot.show()
                        pyplot.savefig(self.save+"/graph/"+sav+".png")
                        os.remove(self.save+"/temp.fa")
                        pyplot.clf()

                        break
                    except:
                        #print workspacer +" failed"
                        #print "ERROR"
                        pass

the code itself works and does what it needs to do, side effect is
that when i later make and show a graph all the graphs made by this
code are also shown and i get the error

2009/10/14 Ryan May <rma...@gmail.com>:
> On Mon, Oct 12, 2009 at 8:09 AM, bas pigmans <mrnatr...@gmail.com> wrote:
>> hi
>>
>> i am trying to use mathplot in a script that has to produce and store about
>> 3000 graps a time, the problem i have is that something inside mathplot
>> keeps stroring in the memmory, (eigther the graph or the file to write to i
>> guess...) so once it reached 1.5GB of ram it crashes
>>
>> i hope you can help me find a way to flush this memory usage
>>
>> already tryed the .clf and .close options
>
> In order to help you, we'll need to see a complete, minimal script
> that shows the problem you're having.  Memory issues usually depend on
> the specifics of how you're doing something,
>
> Ryan
>
> --
> Ryan May
> Graduate Research Assistant
> School of Meteorology
> University of Oklahoma
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to