From lueck at ipk-gatersleben.de Tue Jul 1 03:40:38 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Tue, 1 Jul 2008 09:40:38 +0200 Subject: [BioPython] Sequence from Fasta References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <320fb6e00806290819s73f95d32x563879e9bb64b924@mail.gmail.com> <001901c8da91$0eedfcd0$1022a8c0@ipkgatersleben.de> <320fb6e00806300219j54f7f43dpe0051f54be27d402@mail.gmail.com> Message-ID: <002701c8db4d$c1ab68a0$1022a8c0@ipkgatersleben.de> --> Peter wrote: > from Bio import SeqIO > handle = open("ls_orchid.fasta") > for seq_record in SeqIO.parse(handle, "fasta") : > print seq_record.id > print seq_record.seq.tostring() > print len(seq_record.seq) > handle.close() This works! Thanks! --> Giovanni wrote: >Bioperl's SeqIO has support for a 'tab sequence format' which is >similar to this[1]. >Maybe it could be useful in the future to add support for such a >format in biopython. It's a very good idea because I was suprised that it dosen't work. I excpected it. Regards Stefanie From biopython at maubp.freeserve.co.uk Tue Jul 1 04:04:24 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 09:04:24 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> Message-ID: <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> On Mon, Jun 30, 2008 at 10:40 AM, Giovanni Marco Dall'Olio wrote: >> But I'm looking for something like this: >> >> Name Sequence without linebreak >> >> Example: >> >> MySequence atgcgcgctcggcgcgctcgfcgcgccccccatggctcgcgcactacagcg >> MySequence2 atgcgctctgcgcgctcgatgtagaatatgagatctctatgagatcagcatca > > Bioperl's SeqIO has support for a 'tab sequence format' which is > similar to this[1]. > Maybe it could be useful in the future to add support for such a > format in biopython. > > [1] http://www.bioperl.org/wiki/Tab_sequence_format > That does look fairly straight forward. Do you happen to know how BioPerl reacts when the first field has spaces? I would suggest treating the first field like the ">" line in a FASTA file and taking the first word as the id/name and the whole field as the description. This format could be handy for some people who use the command line. By converting between FASTA and the tab format (which can be done with sed or awk), each sequence is on one line, so you use tools like grep to filter your records. Then convert back to fasta. There's a nice blog page I found some time ago where the author describes his workflow for this. Peter From dalloliogm at gmail.com Tue Jul 1 05:37:53 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 11:37:53 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> Message-ID: <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> On Tue, Jul 1, 2008 at 10:04 AM, Peter wrote: > On Mon, Jun 30, 2008 at 10:40 AM, Giovanni Marco Dall'Olio > wrote: > >>> But I'm looking for something like this: >>> >>> Name Sequence without linebreak >>> >>> Example: >>> >>> MySequence atgcgcgctcggcgcgctcgfcgcgccccccatggctcgcgcactacagcg >>> MySequence2 atgcgctctgcgcgctcgatgtagaatatgagatctctatgagatcagcatca >> >> Bioperl's SeqIO has support for a 'tab sequence format' which is >> similar to this[1]. >> Maybe it could be useful in the future to add support for such a >> format in biopython. >> >> [1] http://www.bioperl.org/wiki/Tab_sequence_format >> > > That does look fairly straight forward. > > Do you happen to know how BioPerl reacts when the first field has spaces? > I would suggest treating the first field like the ">" line in a FASTA file and > taking the first word as the id/name and the whole field as the description. > It ignores any field after the first space in the header. For example: $ cat >seq1.fasta >seq1 field2 field3 acatcgatgcatgctagctactgtacgac $ cat > fasta2tab.pl my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); while (<$seqin>) { print $seqout $_; } $ perl fasta2tab.pl seq1 acatcgatgcatgctagctactgtacgac Do you need some help to implement this function? > This format could be handy for some people who use the command line. By > converting between FASTA and the tab format (which can be done with sed > or awk), each sequence is on one line, so you use tools like grep to filter your > records. Then convert back to fasta. There's a nice blog page I found some > time ago where the author describes his workflow for this. > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Tue Jul 1 05:45:48 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 10:45:48 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> Message-ID: <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> > It ignores any field after the first space in the header. > > For example: > $ cat >seq1.fasta >>seq1 field2 field3 > acatcgatgcatgctagctactgtacgac > > $ cat > fasta2tab.pl > my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); > my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); > > while (<$seqin>) > { > print $seqout $_; > } > > $ perl fasta2tab.pl > seq1 acatcgatgcatgctagctactgtacgac Interesting - and now what I had expected. Could you try getting BioPerl to read in a TSV file like this: seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac seq2 with a description here(tab)ctcgctgnnacatcctagctactgta I personally would prefer this sort of output as it preserves all the data from a FASTA input file. On the other hand, if there are exsting tools which wouldn't read this then it would be a bad idea. > > Do you need some help to implement this function? > Not really - but discussion of the behaviour details now is a good idea. And some real world example TSV files would be good to add to Biopython as test cases. Thanks, Peter From biopython at maubp.freeserve.co.uk Tue Jul 1 07:32:26 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 12:32:26 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> Message-ID: <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> >> Could you try getting BioPerl to read in a TSV file like this: >> >> seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac >> seq2 with a description here(tab)ctcgctgnnacatcctagctactgta >> >> I personally would prefer this sort of output as it preserves all the >> data from a FASTA input file. On the other hand, if there are existing >> tools which wouldn't read this then it would be a bad idea. > > It [BioPerl] gives an error warning for every space it encounters. > That isn't very nice, arguably a BioPerl limitation. However, it does seem best that we try and avoid writing the full description in the tab output. The downside is: >identifer with a long description acatcgatgcatgctagctactgtacgac Would have to be saved follows to keep BioPerl happy: identifier(tab)acatcgatgcatgctagctactgtacgac Rather than: identifer with a long description(tab)acatcgatgcatgctagctactgtacgac Still - if you and Stefanie think this would be useful, I'll have a look at implementing it. Peter From dalloliogm at gmail.com Tue Jul 1 07:49:34 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 13:49:34 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> Message-ID: <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> On Tue, Jul 1, 2008 at 1:32 PM, Peter wrote: >> >> It [BioPerl] gives an error warning for every space it encounters. >> > > That isn't very nice, arguably a BioPerl limitation. However, it does > seem best that we try and avoid writing the full description in the > tab output. The downside is: > >>identifer with a long description > acatcgatgcatgctagctactgtacgac I am not sure, but I think it is because spaces are not allowed in the header of standard fasta files. Maybe a good solution would be to convert automatically all spaces to pipes (|) in the output. > Still - if you and Stefanie think this would be useful, I'll have a > look at implementing it. yes, I think it will be useful to implement. I know of people who have written a customized fasta2tab script and use it quite frequently, so it would be good to support such a task. As you said before this format is commonly used in combination with grep/gawk scripts. > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From dalloliogm at gmail.com Tue Jul 1 06:44:49 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 12:44:49 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> Message-ID: <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> On Tue, Jul 1, 2008 at 11:45 AM, Peter wrote: >> It ignores any field after the first space in the header. >> >> For example: >> $ cat >seq1.fasta >>>seq1 field2 field3 >> acatcgatgcatgctagctactgtacgac >> >> $ cat > fasta2tab.pl >> my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); >> my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); >> >> while (<$seqin>) >> { >> print $seqout $_; >> } >> >> $ perl fasta2tab.pl >> seq1 acatcgatgcatgctagctactgtacgac > > Interesting - and now what I had expected. > > Could you try getting BioPerl to read in a TSV file like this: > > seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac > seq2 with a description here(tab)ctcgctgnnacatcctagctactgta > > I personally would prefer this sort of output as it preserves all the > data from a FASTA input file. On the other hand, if there are exsting > tools which wouldn't read this then it would be a bad idea. > It gives an error warning for every space it encounters. Example: """ perl convertformat.pl seqm.tab tab fasta -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq1 field2 field3] --------------------------------------------------- -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq1 field2 field3] --------------------------------------------------- >seq1 field2 field3 CATGGCATGCATGCATGCTAGCTAC -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq2 some description] --------------------------------------------------- -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq2 some description] --------------------------------------------------- >seq2 some description CATGGCATGCATGCATGCTAGCTAC """ Please have a look at the script code and the makefile attached. p.s. I already sent you a similar message, but the mailing list blocked it. -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it -------------- next part -------------- A non-text attachment was scrubbed... Name: convertformat.pl Type: application/x-perl Size: 494 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Makefile Type: application/octet-stream Size: 858 bytes Desc: not available URL: From biopython at maubp.freeserve.co.uk Tue Jul 1 12:06:08 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 17:06:08 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> Message-ID: <320fb6e00807010906v7e8e6780x92117da60cd39318@mail.gmail.com> Giovanni wrote: > yes, I think it will be useful to implement. > I know of people who have written a customized fasta2tab script and > use it quite frequently, so it would be good to support such a task. > As you said before this format is commonly used in combination with > grep/gawk scripts. I've gone for the simple option about how to parse the first field, its used as the record identifer (.id) and name only (nothing clever). Here is my suggested code, which you are welcome to download and try out. Bug 2533 - Support for simple "tab" format in Bio.SeqIO http://bugzilla.open-bio.org/show_bug.cgi?id=2533 If you want to try this yourself you'll need to download the new file TabIO.py into the Bio/SeqIO folder and update Bio/SeqIO/__init__.py to tell it about the new format (two new lines, see patch). Peter From lpritc at scri.ac.uk Wed Jul 2 05:10:05 2008 From: lpritc at scri.ac.uk (Leighton Pritchard) Date: Wed, 02 Jul 2008 10:10:05 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010906v7e8e6780x92117da60cd39318@mail.gmail.com> Message-ID: Hi, Just to chip in my two-pennorth, there's a self-defining tab-separated format called "Axon Text File Format" that might be useful here, and which is frequently seen in microarray work. There's a description of its use for .gal files here: http://www.moleculardevices.com/pages/software/gn_genepix_file_formats.html It's fairly flexible and straightforward as a format, and allows for human-readable headers - which can contain column definitions, content notes, or anything else you like - that is adaptable to a variety of output conventions. Of course, getting people to settle on a convention is the tricky part, but at least any given file might be well-defined in its headers while people argue over it ;) It's hardly likely that going down that route in BioPython will result in an file convention that's accepted industry-wide, but at least it might give options for writing out FASTA file content in tab-separated form while unambiguously retaining ID, name and definition strings along with the sequence. L. On 01/07/2008 17:06, "Peter" wrote: > Giovanni wrote: >> yes, I think it will be useful to implement. >> I know of people who have written a customized fasta2tab script and >> use it quite frequently, so it would be good to support such a task. >> As you said before this format is commonly used in combination with >> grep/gawk scripts. > > I've gone for the simple option about how to parse the first field, its used > as the record identifer (.id) and name only (nothing clever). Here is my > suggested code, which you are welcome to download and try out. > > Bug 2533 - Support for simple "tab" format in Bio.SeqIO > http://bugzilla.open-bio.org/show_bug.cgi?id=2533 > > If you want to try this yourself you'll need to download the new file > TabIO.py into the Bio/SeqIO folder and update Bio/SeqIO/__init__.py to > tell it about the new format (two new lines, see patch). > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython -- Dr Leighton Pritchard B.Sc.(Hons) MRSC D131, Plant Pathology Programme, SCRI Errol Road, Invergowrie, Perth and Kinross, Scotland, DD2 5DA e:lpritc at scri.ac.uk w:http://www.scri.ac.uk/staff/leightonpritchard gpg/pgp: 0xFEFC205C tel:+44(0)1382 562731 x2405 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SCRI, Invergowrie, Dundee, DD2 5DA. The Scottish Crop Research Institute is a charitable company limited by guarantee. Registered in Scotland No: SC 29367. Recognised by the Inland Revenue as a Scottish Charity No: SC 006662. DISCLAIMER: This email is from the Scottish Crop Research Institute, but the views expressed by the sender are not necessarily the views of SCRI and its subsidiaries. This email and any files transmitted with it are confidential to the intended recipient at the e-mail address to which it has been addressed. It may not be disclosed or used by any other than that addressee. If you are not the intended recipient you are requested to preserve this confidentiality and you must not use, disclose, copy, print or rely on this e-mail in any way. Please notify postmaster at scri.ac.uk quoting the name of the sender and delete the email from your system. Although SCRI has taken reasonable precautions to ensure no viruses are present in this email, neither the Institute nor the sender accepts any responsibility for any viruses, and it is your responsibility to scan the email and the attachments (if any). From biopython at maubp.freeserve.co.uk Sat Jul 5 10:52:10 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Sat, 5 Jul 2008 15:52:10 +0100 Subject: [BioPython] Bio.IntelliGenetics (and the MASE format) Message-ID: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> Dear all, We've recently added support for parsing (reading) the IntelliGenetics sequence file format to Bio.SeqIO, under the format name "ig" (following the EMBOSS convention). This file format also seems to be known as the MASE multiple sequence alignment format. This means that the old Bio.IntelliGenetics module is essentially obsolete, and we could therefore deprecate it in a future Biopython release. Before we do that, is anyone using the Bio.IntelliGenetics module? Hopefully using Bio.SeqIO will a suitable substitute for you, but please do get in touch. More generally, do any of you currently use the IntelliGenetics or MASE file format? I'd love to have a few more example files to use in our test suite. Also, would you be interested in using Bio.SeqIO to write out files in this format? Thank you, Peter From p.j.a.cock at googlemail.com Sat Jul 5 11:20:40 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Sat, 5 Jul 2008 16:20:40 +0100 Subject: [BioPython] Biopython at BOSC 2008 Message-ID: <320fb6e00807050820y55fb240fk6feddaefe6aaf1be@mail.gmail.com> Dear Biopython users, Later this month Tiago Ant?o will be representing Biopython at the Bioinformatics Open Source Conference (BOSC 2008) in Toronto, Canada. Tiago is the most recent developer to join the Biopython project, and has been working on the new Bio.PopGen module for population genetics. BOSC is an annual two-day conference organised by the Open Bioinformatics Foundation. http://open-bio.org/wiki/BOSC_2008 Last summer I gave the "Biopython Project Update" talk at the BOSC 2007 in Vienna, Austria. My slides have been available online via slideshare, but I finally got round to converting them from PowerPoint to PDF, and they are now on the Biopython website if anyone is interested: http://biopython.org/wiki/Documentation#Presentations http://open-bio.org/wiki/BOSC_2007 Although unfortunatley I won't be at BOSC 2008, perhaps some of you will also be there - and I hope everyone there enjoys it. Peter From mjldehoon at yahoo.com Sat Jul 5 20:00:17 2008 From: mjldehoon at yahoo.com (Michiel de Hoon) Date: Sat, 5 Jul 2008 17:00:17 -0700 (PDT) Subject: [BioPython] Biopython release 1.47 Message-ID: <287726.364.qm@web62412.mail.re1.yahoo.com> We are pleased to announce the release of Biopython 1.47. This release includes a new Bio.AlignIO module, updates to Bio.Blast, parsers for NCBI's Entrez E-Utilities, numerous other code improvements and fixes, and an extended and updated documentation. In particular if you use Biopython to access NCBI's E-Utilities, we encourage you to download and install this release to ensure full compliance with NCBI's access rules. Source distributions and Windows installers are available from the Biopython website at http://biopython.org. My thanks to all code contributers who made this new release possible. --Michiel on behalf of the Biopython developers From biopython at maubp.freeserve.co.uk Wed Jul 9 09:42:35 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 9 Jul 2008 14:42:35 +0100 Subject: [BioPython] Bio.IntelliGenetics (and the MASE format) In-Reply-To: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> References: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> Message-ID: <320fb6e00807090642k7edc86d6r2671c251ba163edc@mail.gmail.com> > Dear all, > > We've recently added support for parsing (reading) the IntelliGenetics > sequence file format to Bio.SeqIO, under the format name "ig" > (following the EMBOSS convention). This file format also seems to be > known as the MASE multiple sequence alignment format. > > This means that the old Bio.IntelliGenetics module is essentially > obsolete, and we could therefore deprecate it in a future Biopython > release. Before we do that, is anyone using the Bio.IntelliGenetics > module? Hopefully using Bio.SeqIO will a suitable substitute for you, > but please do get in touch. The Bio.IntelliGenetics module is now deprecated in CVS. If anyone is using this code please get in touch. > More generally, do any of you currently use the IntelliGenetics or > MASE file format? I'd love to have a few more example files to use in > our test suite. Also, would you be interested in using Bio.SeqIO to > write out files in this format? Thanks again, Peter From dalloliogm at gmail.com Fri Jul 11 10:35:28 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 11 Jul 2008 16:35:28 +0200 Subject: [BioPython] proposal: Bio-Django project Message-ID: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> Hi, Recently I have been using Django[1], a python web framework that enables programmers to quickly create front-ends and web applications for databases. I think it is very cool. In a few minutes, I have been able to create a database for my data, and thanks to the admin application I have a nice and well-developed front-end to browse and manage it. I am still looking at it, but I see there are many applications freely available, so maybe I will be easily be able to create graphs and diagrams of my data when I will look better at it. My idea is: Why don't we create a repository of free/bioinfo apps for django, like biopython is? Has any of you already used django for bioinformatics purposes? For example, I am writing an app to manage blood samples for the laboratory where I am working on at the moment, and I will be glad to share it with other people. What do you think? [1] http://www.djangoproject.com/ -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From dalloliogm at gmail.com Fri Jul 11 11:25:56 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 11 Jul 2008 17:25:56 +0200 Subject: [BioPython] proposal: Bio-Django project In-Reply-To: <1215787800.4877731897957@webmail.upv.es> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> <1215787800.4877731897957@webmail.upv.es> Message-ID: <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> Of course I can show you the application I am writing. I was thinking of applying to a google/summer of code. Let's propose a few web applications that could be useful to researcher or bioinformaticists, and ask google to fund it. Maybe if any of the core biopython developers, who have experience in handling a public repository for bioinformaticians, and are good programmers, would like to partecipate as mentors, it would be a great opportunity to learn django*, and obtain the google T shirt. * or plone, they told me there is a similar project for plone: http://plone.org/products/plone4bio/?searchterm=plone4bio On Fri, Jul 11, 2008 at 4:50 PM, Blanca Postigo Jose Miguel wrote: > Hi: > I'm not yet using Django, but I'm reading a couple of books and doing tutorials. > I like a lot this web framework and I'm planning to use it. > Your suggestion seems great for me. > Also it would be great to take a look at your blood samples application, my wife > works managing blood samples and I'm sure she would review it with pleasure. > Best regards, > > Jose Blanca > > Mensaje citado por Giovanni Marco Dall'Olio : > >> Hi, >> Recently I have been using Django[1], a python web framework that >> enables programmers to quickly create front-ends and web applications >> for databases. >> >> I think it is very cool. In a few minutes, I have been able to create >> a database for my data, and thanks to the admin application I have a >> nice and well-developed front-end to browse and manage it. >> I am still looking at it, but I see there are many applications freely >> available, so maybe I will be easily be able to create graphs and >> diagrams of my data when I will look better at it. >> >> My idea is: Why don't we create a repository of free/bioinfo apps for >> django, like biopython is? Has any of you already used django for >> bioinformatics purposes? >> >> For example, I am writing an app to manage blood samples for the >> laboratory where I am working on at the moment, and I will be glad to >> share it with other people. >> >> What do you think? >> >> >> [1] http://www.djangoproject.com/ >> >> -- >> ----------------------------------------------------------- >> >> My Blog on Bioinformatics (italian): http://bioinfoblog.it >> _______________________________________________ >> BioPython mailing list - BioPython at lists.open-bio.org >> http://lists.open-bio.org/mailman/listinfo/biopython >> > > > -- > > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From m at pavis.biodec.com Fri Jul 11 11:45:17 2008 From: m at pavis.biodec.com (m at pavis.biodec.com) Date: Fri, 11 Jul 2008 17:45:17 +0200 Subject: [BioPython] proposal: Bio-Django project In-Reply-To: <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> <1215787800.4877731897957@webmail.upv.es> <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> Message-ID: <20080711154517.GD19973@pavis.biodec.com> * Giovanni Marco Dall'Olio (dalloliogm at gmail.com) [080711 17:27]: > > * or plone, they told me there is a similar project for plone: > http://plone.org/products/plone4bio/?searchterm=plone4bio > my company hosts the plone4bio project: in our experience we have found that using an already existing --- and quite active and complete, too --- web content management system has been a good choice YMMV of course, since we have been using plone since 2002, we probably are a little skewed in our choice, but the rationale is that we have found that sooner or later we start to add features like autenthication, user management, workflows, and various sorts of integration and then it is better to have a single robust system, if it is flexible enough clarly, from time to time, you curse the fact that you have to do things `its own way', but we can live with it we have not added anything to the repository since a few months, but we will soon add another predictor, give enough time to engineet it properly ... -- .*. finelli /V\ (/ \) -------------------------------------------------------------- ( ) Linux: Friends dont let friends use Piccolosoffice ^^-^^ -------------------------------------------------------------- Boss: You forgot to assign the result of your map! Hacker: Dang, I'm always forgetting my assignations... Boss: And what's that "goto" doing there?!? Hacker: Er, I guess my finger slipped when I was typing "getservbyport"... Boss: Ah well, accidents will happen. Maybe we should have picked APL. -- Larry Wall in <199710311732.JAA19169 at wall.org> From bsouthey at gmail.com Fri Jul 11 12:10:50 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Fri, 11 Jul 2008 11:10:50 -0500 Subject: [BioPython] [bip] proposal: Bio-Django project In-Reply-To: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> Message-ID: <4877860A.1020305@gmail.com> Giovanni Marco Dall'Olio wrote: > Hi, > Recently I have been using Django[1], a python web framework that > enables programmers to quickly create front-ends and web applications > for databases. > > I think it is very cool. In a few minutes, I have been able to create > a database for my data, and thanks to the admin application I have a > nice and well-developed front-end to browse and manage it. > I am still looking at it, but I see there are many applications freely > available, so maybe I will be easily be able to create graphs and > diagrams of my data when I will look better at it. > > My idea is: Why don't we create a repository of free/bioinfo apps for > django, like biopython is? Has any of you already used django for > bioinformatics purposes? > > For example, I am writing an app to manage blood samples for the > laboratory where I am working on at the moment, and I will be glad to > share it with other people. > > What do you think? > > > [1] http://www.djangoproject.com/ > > Sure there are many Python-based model-viewer-control (MVC) frameworks (Django is just one of them) BUT what exactly do you propose to do? In particular, how will it differ from plone4bio (http://www.plone4bio.org ) that was announced on BioPython by Ivan Rossi back in February? Do you plan something as extensive as the Biology Workbench or Next Generation Biology Workbench? Or something like Geneious (http://www.geneious.com/)? Or just a simple interface to BioPython or similar bioinformstics tools? Regards Bruce From peter at maubp.freeserve.co.uk Sat Jul 12 09:08:25 2008 From: peter at maubp.freeserve.co.uk (Peter) Date: Sat, 12 Jul 2008 14:08:25 +0100 Subject: [BioPython] Bio.AlignIO and the Alignment object Message-ID: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> Now that Biopython 1.47 is out, I hope some of you have had a chance to try out the new Bio.AlignIO module. Let me just point out that this is all talking about multiple sequence alignments where each (gapped) sequence is the same length, and the data can be seen as a matrix or grid of letters. I am not talking about the related concept of an EST or contig alignment which doesn't really fit this image (although it could if you add large leading and trailing gap sequences). We've had some useful feedback from Sebastian Bassi, leading me to suspect that both the Bio.SeqIO and Bio.AlignIO input functions would benefit from an optional alphabet argument for all those file formats which do not declare the sequence type (enhancement bug 2443). http://bugzilla.open-bio.org/show_bug.cgi?id=2443 Any other issues or questions about using the new Bio.AlignIO module? I've tried to explain how to use it in the Tutorial (Chapter 5). http://biopython.org/DIST/docs/tutorial/Tutorial.html Any "beginners questions" on the mailing list would be useful for pointing out how the documentation could be improved. This would also be useful for the wiki page which is currently a little empty - I didn't want to just cut and past the examples from the main tutorial. http://biopython.org/wiki/AlignIO I'd also like to hear if there are any alignment file formats you think Bio.AlignIO should support. Finally, it would be great to also have some comments about the Alignment object itself. In particular we have some ideas on Bug 1944 for making it act more like an array of letters by supporting double indexing like a Numeric or numpy array/matrix class. Right now, the next little step I want to implement is allowing access to the rows of the alignment as SeqRecord objects using alignment[index], rather than alignment.get_all_seqs()[index] which I find cumbersome. http://bugzilla.open-bio.org/show_bug.cgi?id=1944 Thanks, Peter From peter at maubp.freeserve.co.uk Sat Jul 12 09:16:32 2008 From: peter at maubp.freeserve.co.uk (Peter) Date: Sat, 12 Jul 2008 14:16:32 +0100 Subject: [BioPython] Bio.AlignIO and the Alignment object In-Reply-To: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> References: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> Message-ID: <320fb6e00807120616u208350c2r6313ab6667d27f62@mail.gmail.com> > Finally, it would be great to also have some comments about the > Alignment object itself. In particular we have some ideas on Bug 1944 > for making it act more like an array of letters by supporting double > indexing like a Numeric or numpy array/matrix class. > > Right now, the next little step I want to implement is allowing access to > the rows of the alignment as SeqRecord objects using alignment[index], > rather than alignment.get_all_seqs()[index] which I find cumbersome. > http://bugzilla.open-bio.org/show_bug.cgi?id=1944 Here is a quick example using one of the test input files found in the source code under Test/Clustalw: >>> from Bio import AlignIO >>> alignment = AlignIO.read(open("opuntia.aln"), "clustal") >>> print alignment SingleLetterAlphabet() alignment with 7 rows and 156 columns TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273291|gb|AF191665.1|AF191 You can iterate over the rows as SeqRecord objects: >>> for record in alignment : ... print "%s length %i" % (record.id, len(record)) gi|6273285|gb|AF191659.1|AF191 length 156 gi|6273284|gb|AF191658.1|AF191 length 156 gi|6273287|gb|AF191661.1|AF191 length 156 gi|6273286|gb|AF191660.1|AF191 length 156 gi|6273290|gb|AF191664.1|AF191 length 156 gi|6273289|gb|AF191663.1|AF191 length 156 gi|6273291|gb|AF191665.1|AF191 length 156 Right now (Biopython 1.47) to get a particular row out as a SeqRecord you must use the get_all_seqs() function: >>> record = alignment.get_all_seqs()[3] >>> print record.id gi|6273286|gb|AF191660.1|AF191 I'd like to be able to do this instead: >>> record = alignment[3] >>> print record This would render the get_all_seqs() function effectively obsolete, and it could be deprecated in a later release. Peter From allank at sanbi.ac.za Tue Jul 15 08:25:42 2008 From: allank at sanbi.ac.za (Allan Kamau) Date: Tue, 15 Jul 2008 14:25:42 +0200 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date Message-ID: <487C9746.2090807@sanbi.ac.za> Hi all, Am attempting to install biopython-1.47. I have installed the prerequisites for biopython including numpy (http://numpy.sourceforge.net/). When I run setup.py build, i get the message below. I am sure I have installed numpy correctly as I can do "python -c 'import numpy; numpy.test()';" and not receive an error. I think Numerical Python package had a name change some time ago from "Numeric" to "numpy" (meaning that import Numeric will more probably fail) What can I do? "*** Numerical Python *** is either not installed or out of date. This package is optional, which means it is only used in a few specialized modules in Biopython. You probably don't need this if you are unsure. You can ignore this requirement, and install it later if you see ImportErrors. You can find Numerical Python at http://numpy.sourceforge.net/. Do you want to continue this installation? (Y/n) n " From biopython at maubp.freeserve.co.uk Tue Jul 15 09:04:28 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 15 Jul 2008 14:04:28 +0100 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date In-Reply-To: <487C9746.2090807@sanbi.ac.za> References: <487C9746.2090807@sanbi.ac.za> Message-ID: <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> On Tue, Jul 15, 2008 at 1:25 PM, Allan Kamau wrote: > Hi all, > Am attempting to install biopython-1.47. > I have installed the prerequisites for biopython including numpy > (http://numpy.sourceforge.net/). We don't use numpy, we use the older Numeric library. You need to install that (you can have both installed without a problem). Which instructions were you following? We have tried to make this clear on http://biopython.org/wiki/Download and in http://biopython.org/DIST/docs/install/Installation.html (and its PDF equivalent). Thanks, Peter From allank at sanbi.ac.za Tue Jul 15 09:37:44 2008 From: allank at sanbi.ac.za (Allan Kamau) Date: Tue, 15 Jul 2008 15:37:44 +0200 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date In-Reply-To: <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> References: <487C9746.2090807@sanbi.ac.za> <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> Message-ID: <487CA828.8010404@sanbi.ac.za> Thank you Peter. I did follow your instructions and installed the Numeric library. All is well now. Allan. Peter wrote: > On Tue, Jul 15, 2008 at 1:25 PM, Allan Kamau wrote: > >> Hi all, >> Am attempting to install biopython-1.47. >> I have installed the prerequisites for biopython including numpy >> (http://numpy.sourceforge.net/). >> > > We don't use numpy, we use the older Numeric library. You need to > install that (you can have both installed without a problem). > > Which instructions were you following? We have tried to make this > clear on http://biopython.org/wiki/Download and in > http://biopython.org/DIST/docs/install/Installation.html (and its PDF > equivalent). > > Thanks, > > Peter > From biopython at maubp.freeserve.co.uk Tue Jul 15 17:15:15 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 15 Jul 2008 22:15:15 +0100 Subject: [BioPython] Trying to transcribe RNA = error? Message-ID: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Now that the latest release is out, I wanted to return to a point raised by Sebastian Bassi last month: Do people agree that the Bio.Seq.transcibe() method should reject RNA sequences? We already reject Seq objects with a protein alphabet. I want to accept Seq objects with a generic or nucleotide alphabet, and sequences with a DNA alphabet are of course fine, but I had been on the fence about trying to (re)transcribe RNA. Unless anyone speaks up, I will side with Sebastian and add a check to the Bio.Seq.transcibe() method to reject RNA sequences, and a similar check on the Bio.Seq.back_transcibe() method to reject DNA sequences. Peter From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 18:53:14 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 00:53:14 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Message-ID: <487D2A5A.1000305@ribosome.natur.cuni.cz> I agree but it should require whether a plus or minus strand will be transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still somewhat artificial function. What would be really meaningful if the object would be a genbank record with introns and transcribe() would rip out all the introns or even better allow me to choose which-ones to splice-out. Like to retain exons 1, 5, 7. ;-) Martin Peter wrote: > Now that the latest release is out, I wanted to return to a point > raised by Sebastian Bassi last month: > > Do people agree that the Bio.Seq.transcibe() method should reject RNA sequences? > > We already reject Seq objects with a protein alphabet. I want to > accept Seq objects with a generic or nucleotide alphabet, and > sequences with a DNA alphabet are of course fine, but I had been on > the fence about trying to (re)transcribe RNA. > > Unless anyone speaks up, I will side with Sebastian and add a check to > the Bio.Seq.transcibe() method to reject RNA sequences, and a similar > check on the Bio.Seq.back_transcibe() method to reject DNA sequences. From biopython at maubp.freeserve.co.uk Tue Jul 15 19:13:43 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 00:13:43 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D2A5A.1000305@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> On Tue, Jul 15, 2008 at 11:53 PM, Martin MOKREJ? wrote: > I agree but it should require whether a plus or minus strand will be > transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still > somewhat artificial function. By convention a DNA sequence is taken as the coding strand, so a simple U to T is enough to transcibe to RNA. This is somewhat artificial (and doesn't really capture double strandedness), but does seem to be a widley used convention. You could do my_seq.reverse_complement().transcribe() if you did want the other strand transcribed. > What would be really meaningful if the object would be a genbank record > with introns and transcribe() would rip out all the introns or even > better allow me to choose which-ones to splice-out. Like to retain > exons 1, 5, 7. I was thinking it would be nice to take a SeqRecord with SeqFeatures (i.e. a parsed GenBank file) and ask Biopython to give you the nucleotide sequence for the feature. In the case of intron/exons these are held using the subfeatures, so it would make sense to obey those. I see this as a variation on splicing/subsetting (in python speak) a sequence. Maybe something like my_record[my_feature] or my_record.extract_feature(my_feature) Or my_record.extract_feature(i) which would refer to my_record.features[i] Peter From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 19:32:48 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 01:32:48 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> Message-ID: <487D33A0.5060804@ribosome.natur.cuni.cz> Hi, Peter wrote: > On Tue, Jul 15, 2008 at 11:53 PM, Martin MOKREJ? > wrote: >> I agree but it should require whether a plus or minus strand will be >> transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still >> somewhat artificial function. > > By convention a DNA sequence is taken as the coding strand, so a > simple U to T is enough to transcribe to RNA. This is somewhat > artificial (and doesn't really capture double strandedness), but does > seem to be a widley used convention. I can't say anything else except that this is extremely awkward function. I would always rather take it as a string and replace 'U's with 'T's myself. Then I know what is going on and do not have to read the manual and can be sure this will never change. > > You could do my_seq.reverse_complement().transcribe() if you did want > the other strand transcribed. Exactly, to get rid of this I would see some advantage to have transcribe() which is more intuitive but only if it would be able to cope with reverse strand as well. >> What would be really meaningful if the object would be a genbank record >> with introns and transcribe() would rip out all the introns or even >> better allow me to choose which-ones to splice-out. Like to retain >> exons 1, 5, 7. > > I was thinking it would be nice to take a SeqRecord with SeqFeatures > (i.e. a parsed GenBank file) and ask Biopython to give you the > nucleotide sequence for the feature. In the case of intron/exons > these are held using the subfeatures, so it would make sense to obey > those. I see this as a variation on splicing/subsetting (in python > speak) a sequence. Personally I find this the only reason to justify existence of such a function. It it can abstract me from the underlying format and give me a true, spliced transcript. Of course I would rather prefer to raise an exception if there would be more than one intron and I would have not specified which intron index-positions to use. > > Maybe something like my_record[my_feature] or > my_record.extract_feature(my_feature) > Or my_record.extract_feature(i) which would refer to my_record.features[i] I am not much used to biopython coding style so cannot comment on this. Again, I would never use a unknown function prone to be changed unless I cannot code the simple transformation myself. If it cannot handle splicing I don't need it I think. But maybe I am just a desperate user. ;-) M. From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 19:57:16 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 01:57:16 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D33A0.5060804@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> Message-ID: <487D395C.7080103@ribosome.natur.cuni.cz> Martin MOKREJ? wrote: >>> What would be really meaningful if the object would be a genbank record >>> with introns and transcribe() would rip out all the introns or even >>> better allow me to choose which-ones to splice-out. Like to retain >>> exons 1, 5, 7. >> >> I was thinking it would be nice to take a SeqRecord with SeqFeatures >> (i.e. a parsed GenBank file) and ask Biopython to give you the >> nucleotide sequence for the feature. In the case of intron/exons >> these are held using the subfeatures, so it would make sense to obey >> those. I see this as a variation on splicing/subsetting (in python >> speak) a sequence. > > Personally I find this the only reason to justify existence of such > a function. It it can abstract me from the underlying format and give --------------^^ If > me a true, spliced transcript. Of course I would rather prefer to raise > an exception if there would be more than one intron and I would have > not specified which intron index-positions to use. ----------------------^^^^^^ exon Sorry for the typos. From biopython at maubp.freeserve.co.uk Wed Jul 16 06:38:36 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 11:38:36 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Message-ID: <320fb6e00807160338ub5dc2dayf0c3b51ad768af69@mail.gmail.com> I wrote: > Unless anyone speaks up, I will side with Sebastian and add a check to > the Bio.Seq.transcibe() method to reject RNA sequences, and a similar > check on the Bio.Seq.back_transcibe() method to reject DNA sequences. This change is now in CVS, Bio/Seq.py revision 1.13 Peter From p.j.a.cock at googlemail.com Wed Jul 16 07:08:44 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 16 Jul 2008 12:08:44 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D33A0.5060804@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> I wrote: >> You could do my_seq.reverse_complement().transcribe() if you did want >> the other strand transcribed. Actually right now the Seq object doesn't have a transcribe method (but I think maybe it should, see Bug 2381). In the meantime, you would have to use either of these: from Bio.Seq import transcribe, reverse_complement print transcribe(reverse_complement(my_seq)) print transcribe(my_seq.reverse_complement()) Martin wrote: > Exactly, to get rid of this I would see some advantage to have > transcribe() which is more intuitive but only if it would be able to cope > with reverse strand as well. You would really prefer a single function call to do a combined "transcribe reverse-complement" or "transcribe the other strand" over doing the reverse complement and transcription in two steps? e.g. print transcribe(my_seq, use_reverse_complement=True) or, print transcribe(my_seq, strand=-1) or, maybe: print transcribe_rc(my_seq) Peter From mmokrejs at ribosome.natur.cuni.cz Wed Jul 16 09:20:48 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 15:20:48 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> Message-ID: <487DF5B0.1050000@ribosome.natur.cuni.cz> Peter Cock wrote: > I wrote: >>> You could do my_seq.reverse_complement().transcribe() if you did want >>> the other strand transcribed. > > Actually right now the Seq object doesn't have a transcribe method > (but I think maybe it should, see Bug 2381). In the meantime, you > would have to use either of these: > > from Bio.Seq import transcribe, reverse_complement > print transcribe(reverse_complement(my_seq)) > print transcribe(my_seq.reverse_complement()) > > Martin wrote: >> Exactly, to get rid of this I would see some advantage to have >> transcribe() which is more intuitive but only if it would be able to cope >> with reverse strand as well. > > You would really prefer a single function call to do a combined > "transcribe reverse-complement" or "transcribe the other strand" over > doing the reverse complement and transcription in two steps? Yes, a single function handling arguments would be nice. > > e.g. > print transcribe(my_seq, use_reverse_complement=True) > > or, > print transcribe(my_seq, strand=-1) > > or, maybe: > print transcribe_rc(my_seq) This one handling optional argument strand with default value -1, but accepting [-1, 1, +1, 'watson', 'crick']. Ideally extended in the future to splice-out the single intron by default or raise an exception unless told to remove introns a,c,d,e or maybe instructed to keep specific exons ... I am not sure what one would need more often. I haven't checked but guess that GenBank files have more often annotated introns and the exon region are more deeply buried in the file structure so probably the first would impose less work onto the parser. Martin From biopython at maubp.freeserve.co.uk Wed Jul 16 10:37:43 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 15:37:43 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487DF5B0.1050000@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> I asked Martin: >> You would really prefer a single function call to do a combined >> "transcribe reverse-complement" or "transcribe the other strand" over >> doing the reverse complement and transcription in two steps? Martin wrote: > Yes, a single function handling arguments would be nice. > ... > This one handling optional argument strand with default value -1, > but accepting [-1, 1, +1, 'watson', 'crick']. No. The default would have to be the coding strand (aka strand +1, or the Crick strand). I know that biologically translation works on the template strand (aka strand -1, or the Watson strand), but that is not the convention in computational biology (at least in Biopython). In case we are talking at cross-purposes, consider this double stranded bit of DNA, 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' 3' TACCCTTTCCATCCCGTTCGAAGGTCAATC 5' and associated mRNA, 5' AUGGGAAAGGUAGGGCAAGCUUCCAGUUAG 3' This DNA made up of two strands, which by convention are always read from the 5' end to the 3' end. i.e. DNA coding strand (aka Crick strand, strand +1): 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' DNA template strand (aka Watson strand, strand -1): 5' CTAACTGGAAGCTTGCCCTACCTTTCCCAT 3' If this region were to be transcribed into mRNA and translated it would give: protein, MGKVGQASS (and stop) In Bioinformatics in general, people tend to work with the coding strand rather than the template strand. In Biopython using strings you could represent all this as follows: from Bio.Seq import reverse_complement, translate, transcribe, back_transcribe coding_strand_dna = "ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG" template_strand_dna = reverse_complement(coding_strand_dna) assert template_strand_dna == "CTAACTGGAAGCTTGCCCTACCTTTCCCAT" assert coding_strand_dna == reverse_complement(template_strand_dna) #Note transcribe() goes from the CODING strand to the mRNA messenger_rna = transcribe(coding_strand_dna) assert coding_strand_dna == back_transcribe(messenger_rna) protein = translate(messenger_rna) #Note you can also use translate() directly on the CODING strand: assert protein == translate(coding_strand_dna) assert protein == translate(reverse_complement(template_strand_dna)) assert protein == "MGKVGQASS*" If that makes things clearer, maybe I should put something like this in the Biopython tutorial... and/or the Bio.Seq docstring documentation? What do you think? Peter From mmokrejs at ribosome.natur.cuni.cz Wed Jul 16 17:50:37 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 23:50:37 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> Message-ID: <487E6D2D.70104@ribosome.natur.cuni.cz> Hi Peter, thank you for nice explanation. Definitely pasting the text&code from your answer into BioPython Wiki or Tutorial would be sufficient and should be there. Regarding the issue with transcribing coding strand ... probably you have convinced me. ;-) I agree that one usually has annotated sequence in GenBank format with annotated introns and wants to concatenate some exons and get it translated. From this perspective it does not make sense to un-necessarily reverse-complement the sequence. Martin Peter wrote: > I asked Martin: >>> You would really prefer a single function call to do a combined >>> "transcribe reverse-complement" or "transcribe the other strand" over >>> doing the reverse complement and transcription in two steps? > > Martin wrote: >> Yes, a single function handling arguments would be nice. >> ... >> This one handling optional argument strand with default value -1, >> but accepting [-1, 1, +1, 'watson', 'crick']. > > No. The default would have to be the coding strand (aka strand +1, or > the Crick strand). I know that biologically translation works on the > template strand (aka strand -1, or the Watson strand), but that is not > the convention in computational biology (at least in Biopython). > > In case we are talking at cross-purposes, consider this double > stranded bit of DNA, > > 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' > 3' TACCCTTTCCATCCCGTTCGAAGGTCAATC 5' > > and associated mRNA, > 5' AUGGGAAAGGUAGGGCAAGCUUCCAGUUAG 3' > > This DNA made up of two strands, which by convention are always read > from the 5' end to the 3' end. i.e. > > DNA coding strand (aka Crick strand, strand +1): > 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' > > DNA template strand (aka Watson strand, strand -1): > 5' CTAACTGGAAGCTTGCCCTACCTTTCCCAT 3' > > If this region were to be transcribed into mRNA and translated it would give: > > protein, > MGKVGQASS (and stop) > > In Bioinformatics in general, people tend to work with the coding > strand rather than the template strand. In Biopython using strings > you could represent all this as follows: > > from Bio.Seq import reverse_complement, translate, transcribe, back_transcribe > > coding_strand_dna = "ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG" > template_strand_dna = reverse_complement(coding_strand_dna) > assert template_strand_dna == "CTAACTGGAAGCTTGCCCTACCTTTCCCAT" > assert coding_strand_dna == reverse_complement(template_strand_dna) > > #Note transcribe() goes from the CODING strand to the mRNA > messenger_rna = transcribe(coding_strand_dna) > assert coding_strand_dna == back_transcribe(messenger_rna) > > protein = translate(messenger_rna) > #Note you can also use translate() directly on the CODING strand: > assert protein == translate(coding_strand_dna) > assert protein == translate(reverse_complement(template_strand_dna)) > assert protein == "MGKVGQASS*" > > If that makes things clearer, maybe I should put something like this > in the Biopython tutorial... and/or the Bio.Seq docstring > documentation? What do you think? > > Peter > > -- Dr. Martin Mokrejs Dept. of Genetics and Microbiology Faculty of Science, Charles University Vinicna 5, 128 43 Prague, Czech Republic tel: +420-2-2195 1716 http://www.iresite.org http://www.iresite.org/~mmokrejs From biopython at maubp.freeserve.co.uk Thu Jul 17 09:56:05 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Thu, 17 Jul 2008 14:56:05 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487E6D2D.70104@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> <487E6D2D.70104@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807170656m2040d17fsdc3cd0b8ca519315@mail.gmail.com> Martin MOKREJ? wrote: > Hi Peter, > thank you for nice explanation. Definitely pasting the text&code from > your answer into BioPython Wiki or Tutorial would be sufficient and > should be there. I've added something similar to the tutorial in CVS, but using Seq objects instead of strings. Peter From dalloliogm at gmail.com Fri Jul 18 09:20:48 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 18 Jul 2008 15:20:48 +0200 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki Message-ID: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> Hi, I have two things to say. First, I have added instructions on how to install biopython with easy_install to the biopython wiki: - http://biopython.org/wiki/Download#Easy_Install for those of you who don't know what easy_install is, it's a nice way to install python packages on the fly, something similar to perl -MCPAN. Can you please check whether the easy_install installation works fine for you too? Second, I was trying to install biopython 1.47 using the tar/zip archives on http://biopython.org/DIST/biopython-1.47.tar.gz There it seems to be a problem with the installation; after running sudo python setup.py install, I receive the following error: Would you like to build Bio.KDTree ? (y/N) running build running build_py running build_ext building 'Bio.clistfns' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c Bio/clistfnsmodule.c -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory Bio/clistfnsmodule.c:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token Bio/clistfnsmodule.c:80: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token Bio/clistfnsmodule.c:146: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'clistfnsMethods' Bio/clistfnsmodule.c: In function 'initclistfns': Bio/clistfnsmodule.c:160: warning: implicit declaration of function 'Py_InitModule3' Bio/clistfnsmodule.c:160: error: 'clistfnsMethods' undeclared (first use in this function) Bio/clistfnsmodule.c:160: error: (Each undeclared identifier is reported only once Bio/clistfnsmodule.c:160: error: for each function it appears in.) error: command 'gcc' failed with exit status 1 It seems a file Python.h is missing or mispelled. Con you confirm that? Cheers -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Fri Jul 18 09:36:25 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Fri, 18 Jul 2008 14:36:25 +0100 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki In-Reply-To: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> References: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> Message-ID: <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> Giovanni Marco Dall'Olio wrote: > Second, I was trying to install biopython 1.47 using the tar/zip archives on > http://biopython.org/DIST/biopython-1.47.tar.gz > > There it seems to be a problem with the installation; after running sudo > python setup.py install, I receive the following error: > > Would you like to build Bio.KDTree ? (y/N) > running build > running build_py > running build_ext > building 'Bio.clistfns' extension > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c Bio/clistfnsmodule.c > -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o > Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory > ... > > It seems a file Python.h is missing or mispelled. > Can you confirm that? You are probably missing the python header files - you didn't say what OS you are using but from the path names its some form of Unix I think. Under Debian Linux you can use apt-get to install the build dependencies of the Biopython package, and then install the latest Biopython from source (specifically I think you are missing the equivalent of the Debian python-dev package). Peter From dalloliogm at gmail.com Fri Jul 18 09:48:52 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 18 Jul 2008 15:48:52 +0200 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki In-Reply-To: <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> References: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> Message-ID: <5aa3b3570807180648q292bb750u60197af8daffb493@mail.gmail.com> On Fri, Jul 18, 2008 at 3:36 PM, Peter wrote: > Giovanni Marco Dall'Olio wrote: > > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > > -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c > Bio/clistfnsmodule.c > > -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o > > Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory > > ... > > You are probably missing the python header files - you didn't say what > OS you are using but from the path names its some form of Unix I > think. Under Debian Linux you can use apt-get to install the build > dependencies of the Biopython package, and then install the latest > Biopython from source (specifically I think you are missing the > equivalent of the Debian python-dev package). > it's true! I was missing the python-dev package. Now the compilation goes well. Thanks! > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Mon Jul 21 11:42:56 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Mon, 21 Jul 2008 16:42:56 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN Message-ID: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> Dear all, I've recently filed Bug 2547 about changing the behaviour of Bio.Seq.translate() when given ambiguous codons like NNN or TAN which could be either an amino acid OR a stop codon. http://bugzilla.open-bio.org/show_bug.cgi?id=2547 In my opinion it would be nice if there was an established convention for how to represent an ambiguous character meaning {X or stop}, for the TAN example even {Y or stop}. However, as far as I am aware, people just use X to mean any amino acid OR a stop codon. This is the behaviour in both the EMBOSS transeq tool and in BioPerl. I am proposing to change Bio.Seq.translate() be able to translate codons like NNN and TAN as X (rather than throwing a translation error as happens now). Comments please? [Any implementation suggestions on the development mailing list please.] Peter From bsouthey at gmail.com Mon Jul 21 15:23:34 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Mon, 21 Jul 2008 14:23:34 -0500 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> Message-ID: <4884E236.1090605@gmail.com> Peter wrote: > Dear all, > > I've recently filed Bug 2547 about changing the behaviour of > Bio.Seq.translate() when given ambiguous codons like NNN or TAN which > could be either an amino acid OR a stop codon. > > http://bugzilla.open-bio.org/show_bug.cgi?id=2547 > > In my opinion it would be nice if there was an established convention > for how to represent an ambiguous character meaning {X or stop}, for > the TAN example even {Y or stop}. However, as far as I am aware, > people just use X to mean any amino acid OR a stop codon. This is the > behaviour in both the EMBOSS transeq tool and in BioPerl. > > I am proposing to change Bio.Seq.translate() be able to translate > codons like NNN and TAN as X (rather than throwing a translation error > as happens now). > > Comments please? > > [Any implementation suggestions on the development mailing list please.] > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython > > The relevant document here is the IUPAC 'Nomenclature for Incompletely Specified Bases in Nucleic Acid Sequences' (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). Table 4 provides some examples such as showing the correspondence between the triplet 'NNN' and the amino acid 'Unknown' with one letter code 'X'. Consequently, here must also be a correspondence between triplet 'TAN' (or any other related triplet for that matter) and the amino acid 'X' because the triple 'NNN' must also include the stop codons which have no corresponding amino acid (okay ignoring selenocysteine etc.). Bruce From biopython at maubp.freeserve.co.uk Mon Jul 21 17:04:34 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Mon, 21 Jul 2008 22:04:34 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <4884E236.1090605@gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> Message-ID: <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> > The relevant document here is the IUPAC 'Nomenclature for Incompletely > Specified Bases in Nucleic Acid Sequences' > (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). > > Table 4 provides some examples such as showing the correspondence between > the triplet 'NNN' and the amino acid 'Unknown' with one letter code 'X'. > Consequently, here must also be a correspondence between triplet 'TAN' (or > any other related triplet for that matter) and the amino acid 'X' because > the triple 'NNN' must also include the stop codons which have no > corresponding amino acid (okay ignoring selenocysteine etc.). > > Bruce I'd seen that table, but hadn't interpreted it in quite the same way as you seem to have. Table 4 shows a mapping from amino acids to ambiguous codons - but it is not a bijection (it is NOT a reversible mapping). Or to put it another way, Table 4 just shows the narrowest possible ambiguous codon which covers all possible codons for that amino acid (or stop). This does NOT mean that ambiguous codon will allways translate to the given amino acid. Here are two explicit examples to try and explain myself (using a little set notation). In the standard genetic code, stop codons are {TAA, TGA, TAG} = {TAR, TGA} = {TAA, TRA}. If you have to use a single codon, the best you can do is TRR = {TAA, TAG, TGA, TGG} = {stop codons}U{TGG}. Table 4 maps "*" to "TRR". While TRR does cover all the possible stop codons, it also includes a codon for Trp (W). I would NOT want TRR translated as a stop! It codes for a stop or a W. Similarly, for Leucine (L) the possible codons are {TTA, TTG, CTT, CTC, CTA, CTG} = {TTR, CTN}. If you have to use a single codon then YTN covers this - but it also covers CTA and CTG which code for Phe (F). I would NOT want YTN translated as L - it codes for L or F, so would have to be translated as X. So on the basis of Table 4, there is no reason to infer that IUPAC explicitly suggest NNN should be translated as X. Peter From biopython at maubp.freeserve.co.uk Tue Jul 22 04:51:26 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 22 Jul 2008 09:51:26 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> Message-ID: <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> On Mon, Jul 21, 2008 at 10:04 PM, Peter wrote: >> The relevant document here is the IUPAC 'Nomenclature for Incompletely >> Specified Bases in Nucleic Acid Sequences' >> (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). >> >> Table 4 ... > > I'd seen that table, but hadn't interpreted it in quite the same way > as you seem to have. ... > So on the basis of Table 4, there is no reason to infer that IUPAC > explicitly suggest NNN should be translated as X. Re-reading that, I can be pedantic sometime, can't I? Putting our differences of opinion about exactly what the IUPAC Table 4 is intended to convey, do you agree that Biopython's Bio.Seq.translate() function should turn NNN and TAN into X? Thanks Peter From bsouthey at gmail.com Tue Jul 22 09:20:37 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Tue, 22 Jul 2008 08:20:37 -0500 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> Message-ID: <4885DEA5.8070706@gmail.com> Peter wrote: > On Mon, Jul 21, 2008 at 10:04 PM, Peter wrote: > >>> The relevant document here is the IUPAC 'Nomenclature for Incompletely >>> Specified Bases in Nucleic Acid Sequences' >>> (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). >>> >>> Table 4 ... >>> >> I'd seen that table, but hadn't interpreted it in quite the same way >> as you seem to have. ... >> So on the basis of Table 4, there is no reason to infer that IUPAC >> explicitly suggest NNN should be translated as X. >> > > Re-reading that, I can be pedantic sometime, can't I? > Sure, why not? Some one must be pedantic otherwise all these corner cases get missed and lead to bigger problems. > Putting our differences of opinion about exactly what the IUPAC Table > 4 is intended to convey, do you agree that Biopython's > Bio.Seq.translate() function should turn NNN and TAN into X? > > Thanks > > Peter > > Yes because if you accept that 'NNN should be translated as X' then, by the same reasoning, you must also accept 'TAN into X' as well as similar cases. For Biopython, there could a be flag or similar that causes translate() to either return an error for any ambiguous codons or just continues on using 'X'. Bruce From mmokrejs at ribosome.natur.cuni.cz Tue Jul 22 10:04:29 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Tue, 22 Jul 2008 16:04:29 +0200 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <4885DEA5.8070706@gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> <4885DEA5.8070706@gmail.com> Message-ID: <4885E8ED.3010205@ribosome.natur.cuni.cz> Bruce Southey wrote: >> > Yes because if you accept that 'NNN should be translated as X' then, by > the same reasoning, you must also accept 'TAN into X' as well as similar > cases. > > For Biopython, there could a be flag or similar that causes translate() > to either return an error for any ambiguous codons or just continues on > using 'X'. Yes, I agree as well. When translating ESTs I don't to get my code bailing out due to sequencing errors. But I agree that usually people would like to get an error instead. Martin From biopython at maubp.freeserve.co.uk Tue Jul 22 11:38:36 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 22 Jul 2008 16:38:36 +0100 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> Message-ID: <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> For any Biopython and Blast users, For some time now we've been discouraging the use of the HTML and plain text Blast parsers in favour of the XML format. I think it would be a good idea to now officially deprecate the HTML parser in Bio.Blast.NCBIWWW with warning messages when it is used. I don't even know if it still works with the recent big revision to the BLAST webpages, but I suspect not. However, the plain text parser in Bio.Blast.NCBIStandalone still has its uses - even if it doesn't support the current BLAST output 100%. In particular, right now the PSI-BLAST output in XML format lacks some of the information found in the plain text output (new vs reused entries) so it would be premature to deprecate our plain text (PSI) BLAST parser. Is anyone still using Biopython to parse the HTML output from BLAST? If so, please speak up. Peter From winter at biotec.tu-dresden.de Wed Jul 23 05:55:23 2008 From: winter at biotec.tu-dresden.de (Christof Winter) Date: Wed, 23 Jul 2008 11:55:23 +0200 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> Message-ID: <4887000B.1070409@biotec.tu-dresden.de> Peter wrote, On 22.07.2008 17:38: > For any Biopython and Blast users, > > For some time now we've been discouraging the use of the HTML > and plain text Blast parsers in favour of the XML format. > > I think it would be a good idea to now officially deprecate the > HTML parser in Bio.Blast.NCBIWWW with warning messages > when it is used. Full ack. Christof From jcigar at ulb.ac.be Wed Jul 23 10:51:21 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 16:51:21 +0200 Subject: [BioPython] blast Message-ID: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Hello list, I'm working on a project (on African rats) which has a "blast" functionnality. In our (PostgreSQL) database sequences are linked to a specimen. The sequence table contains the sequence itself (which is just a text field) and additional things like the accession number (if exists), etc. The idea behind this is that a user can enter a part of DNA and see what kind of specimen (taxonomy) it could be. So I created a FASTA file with all the sequences, and then I used formatdb to be able to BLAST on it. It works quite well, you can see it in action on http://projects.biodiversity.be/africanrodentia/search/dna In the output I use the score attribute to show how close the entered sequence is (is it OK ?). The problem is that the users would prefer a kind of percentage. This is a copy of a mail I received : "Yet I have a question regarding the BLAST function: It works well but the output is unclear. Could one not indicate the % similarity of the ranked sequences versus the pasted sequence instead of te rather enigmatic scores that we see now? Such an output would make the interpretation clearer, particularly in cases where we do not have the sequence of the investigated species. In such a case the species with the most similar sequence will be given as a potential species name, in itself not a problem as long as one knows how different they are (e.g. in rodents wthin species variability approx less <3%, between species differences typically >4%). This provides a direct indication whether the output is likely to be yield a correct species name." I wondered how this "score" is calculated, and if there's already a function to convert it to a percentage ? Otherwise, is it OK to take the hsp.sbjct field as 100% and then compare it to hsp.query ? For example if I have : CCTATTCCTAGCTATACACTACACATCGGACACAACAAC |||||||||||| |||||||||||||||||||||||||| CCTATTCCTAGCCATACACTACACATCGGACACAACAAC The score is shown as "35", is it OK if I do something like : percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') so with my example it will be: (100 / 39) * 38 Many thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From lueck at ipk-gatersleben.de Wed Jul 23 09:17:26 2008 From: lueck at ipk-gatersleben.de (=?UTF-8?Q?Stefanie_L=C3=BCck?=) Date: Wed, 23 Jul 2008 15:17:26 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Message-ID: <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> Hi! I calculated like this for my program (you blast against your own primer stock database and get % match per primers to your query sequence): percent = float(100) * float(hsp.score) / float(alignment.length) Regards Stefanie From p.j.a.cock at googlemail.com Wed Jul 23 09:53:50 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 14:53:50 +0100 Subject: [BioPython] blast In-Reply-To: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Message-ID: <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> On Wed, Jul 23, 2008 at 3:51 PM, Julien Cigar wrote: > Hello list, > > I'm working on a project (on African rats) which has a "blast" > functionnality. In our (PostgreSQL) database sequences are linked to a > specimen. The sequence table contains the sequence itself (which is just > a text field) and additional things like the accession number (if > exists), etc. > > The idea behind this is that a user can enter a part of DNA and see what > kind of specimen (taxonomy) it could be. > > So I created a FASTA file with all the sequences, and then I used > formatdb to be able to BLAST on it. > > It works quite well, you can see it in action on > http://projects.biodiversity.be/africanrodentia/search/dna > In the output I use the score attribute to show how close the entered > sequence is (is it OK ?). The problem is that the users would prefer a > kind of percentage. This is a copy of a mail I received : It is pretty, but doesn't look like the BLAST output many biologists will be used to, so I think I understand why the want some more information to judge the similarity. > "Yet I have a question regarding the BLAST function: It works well but > the output is unclear. Could one not indicate the % similarity of the > ranked sequences versus the pasted sequence instead of te rather > enigmatic scores that we see now? Such an output would make the > interpretation clearer, particularly in cases where we do not have the > sequence of the investigated species. In such a case the species with > the most similar sequence will be given as a potential species name, in > itself not a problem as long as one knows how different they are (e.g. > in rodents wthin species variability approx less <3%, between species > differences typically >4%). This provides a direct indication whether > the output is likely to be yield a correct species name." I think they are asking for the percentage identify. Another possiblity is the bit-score which should be in the BLAST output as a floating point number (hsp.score). > I wondered how this "score" is calculated, and if there's already a > function to convert it to a percentage ? Otherwise, is it OK to take the > hsp.sbjct field as 100% and then compare it to hsp.query ? > > For example if I have : > > CCTATTCCTAGCTATACACTACACATCGGACACAACAAC > |||||||||||| |||||||||||||||||||||||||| > CCTATTCCTAGCCATACACTACACATCGGACACAACAAC > > The score is shown as "35", is it OK if I do something like : > > percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') > > so with my example it will be: (100 / 39) * 38 To get the percentage identify over the alignment, yes. Watch out for integer division, but because you multiplied by 100.0 it should be fine. I would also go directly from the relevant integer fields (which should be the same). Something like this (assuming you are using the XML parser): assert hsp.identities == hsp.match.count('|') #Only works on nucleotide blasts! assert hsp.align_length == len(hsp.sbjct) assert hsp.align_length == len(hsp.match) assert hsp.align_length == len(hsp.query) percentage_identity = (100.0 * hsp.identities) / hsp.align_length Have you considered actually showing the blast alignment too? Peter From p.j.a.cock at googlemail.com Wed Jul 23 10:05:14 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:05:14 +0100 Subject: [BioPython] blast In-Reply-To: <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> I wrote: > I think they are asking for the percentage identify. Another > possiblity is the bit-score which should be in the BLAST output as a > floating point number (hsp.score). I should have said raw score (hsp.score) or bit score (hsp.bits), both of which might be of interest to your users. Steganie wrote: > Hi! > > I calculated like this for my program (you blast against your own primer > stock database and get % match per primers to your query sequence): > > percent = float(100) * float(hsp.score) / float(alignment.length) > Using hsp.score gives the raw score, which you are then scaling by the length and 100. I'm not sure offhand what you've calculated, but if you want the percentage identity, I think its just the number of identically match letters divided by the alignment length: percentage_identity = (100.0 * hsp.identities) / hsp.align_length In the plain text output BLAST gives this number explicitly, e.g. Identities = 112/146 (76%), Positives = 127/146 (86%), Gaps = 2/146 (1%) There is also hsp.bits which gives the bit score. Peter From p.j.a.cock at googlemail.com Wed Jul 23 10:18:08 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:18:08 +0100 Subject: [BioPython] blast In-Reply-To: <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> Message-ID: <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> > Thanks, I got another formula which seems to work well too (and which > seems cleaner than counting the number of '|') : > > float(100) * float(hsp.score) / float(alignment.length) I don't think that gives you the same thing as the percentage identify (see my other email). >> Have you considered actually showing the blast alignment too? >> > Yes, it's in the output, I just replaced the '|' with a red background > and the ' ' with a green background, so they see directly where it > doesn't match Since the graphical representation of the match/mismatch string is done using the colours red and green, it is useless for anyone who is colour blind. Also the user can't cut and paste the alignment into an email or other document (electronic lab book?), which seems like an obvious thing to want to do. Personally, I would try and keep the output looking more similar to traditional blast, as then its easier to understand (assuming you already know BLAST!). Peter From jcigar at ulb.ac.be Wed Jul 23 12:20:21 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:20:21 +0200 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> Message-ID: <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> On Wed, 2008-07-23 at 14:53 +0100, Peter Cock wrote: > On Wed, Jul 23, 2008 at 3:51 PM, Julien Cigar wrote: > > Hello list, > > > > I'm working on a project (on African rats) which has a "blast" > > functionnality. In our (PostgreSQL) database sequences are linked to a > > specimen. The sequence table contains the sequence itself (which is just > > a text field) and additional things like the accession number (if > > exists), etc. > > > > The idea behind this is that a user can enter a part of DNA and see what > > kind of specimen (taxonomy) it could be. > > > > So I created a FASTA file with all the sequences, and then I used > > formatdb to be able to BLAST on it. > > > > It works quite well, you can see it in action on > > http://projects.biodiversity.be/africanrodentia/search/dna > > In the output I use the score attribute to show how close the entered > > sequence is (is it OK ?). The problem is that the users would prefer a > > kind of percentage. This is a copy of a mail I received : > > It is pretty, but doesn't look like the BLAST output many biologists > will be used to, so I think I understand why the want some more > information to judge the similarity. > Yes, I'm not a biologist, I'm learning on the job .. so that explains it :) (but it's interresting to learn) > > "Yet I have a question regarding the BLAST function: It works well but > > the output is unclear. Could one not indicate the % similarity of the > > ranked sequences versus the pasted sequence instead of te rather > > enigmatic scores that we see now? Such an output would make the > > interpretation clearer, particularly in cases where we do not have the > > sequence of the investigated species. In such a case the species with > > the most similar sequence will be given as a potential species name, in > > itself not a problem as long as one knows how different they are (e.g. > > in rodents wthin species variability approx less <3%, between species > > differences typically >4%). This provides a direct indication whether > > the output is likely to be yield a correct species name." > > I think they are asking for the percentage identify. Another > possiblity is the bit-score which should be in the BLAST output as a > floating point number (hsp.score). > Yes, it's should be that, I forgot to take the alignement length into account. I already showed the bit-score, but apparently it's not too usefull for them. > > I wondered how this "score" is calculated, and if there's already a > > function to convert it to a percentage ? Otherwise, is it OK to take the > > hsp.sbjct field as 100% and then compare it to hsp.query ? > > > > For example if I have : > > > > CCTATTCCTAGCTATACACTACACATCGGACACAACAAC > > |||||||||||| |||||||||||||||||||||||||| > > CCTATTCCTAGCCATACACTACACATCGGACACAACAAC > > > > The score is shown as "35", is it OK if I do something like : > > > > percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') > > > > so with my example it will be: (100 / 39) * 38 > > To get the percentage identify over the alignment, yes. Watch out for > integer division, but because you multiplied by 100.0 it should be > fine. > > I would also go directly from the relevant integer fields (which > should be the same). Something like this (assuming you are using the > XML parser): > > assert hsp.identities == hsp.match.count('|') #Only works on nucleotide blasts! > assert hsp.align_length == len(hsp.sbjct) > assert hsp.align_length == len(hsp.match) > assert hsp.align_length == len(hsp.query) > percentage_identity = (100.0 * hsp.identities) / hsp.align_length > Thanks, I got another formula which seems to work well too (and which seems cleaner than counting the number of '|') : float(100) * float(hsp.score) / float(alignment.length) > Have you considered actually showing the blast alignment too? > Yes, it's in the output, I just replaced the '|' with a red background and the ' ' with a green background, so they see directly where it doesn't match > Peter Thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From lueck at ipk-gatersleben.de Wed Jul 23 10:30:10 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Wed, 23 Jul 2008 16:30:10 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> Message-ID: <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> >Peter wrote: > Using hsp.score gives the raw score, which you are then scaling by the > length and 100. I'm not sure offhand what you've calculated, but if > you want the percentage identity, I think its just the number of > identically match letters divided by the alignment length: > > percentage_identity = (100.0 * hsp.identities) / hsp.align_length I tried and it dosen't work in my case. It's gives me wrong percentage. I need to know at which % my primer match to the query part: query --------taggcctcgcgcgcc------- |||||||||||||||||||||||||||||| primer tagcgctataggcctcgcgcgccatatagc Here 50 %. From jcigar at ulb.ac.be Wed Jul 23 12:46:34 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:46:34 +0200 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> Message-ID: <1216831594.2612.85.camel@frodon.be-bif.ulb.ac.be> On Wed, 2008-07-23 at 15:18 +0100, Peter Cock wrote: > > Thanks, I got another formula which seems to work well too (and which > > seems cleaner than counting the number of '|') : > > > > float(100) * float(hsp.score) / float(alignment.length) > > I don't think that gives you the same thing as the percentage identify > (see my other email). > Indeed..! (sorry I sended my last mail before reading yours). > >> Have you considered actually showing the blast alignment too? > >> > > Yes, it's in the output, I just replaced the '|' with a red background > > and the ' ' with a green background, so they see directly where it > > doesn't match > > Since the graphical representation of the match/mismatch string is > done using the colours red and green, it is useless for anyone who is > colour blind. > You're right .. I haven't thought about this > Also the user can't cut and paste the alignment into an email or other > document (electronic lab book?), which seems like an obvious thing to > want to do. > > Personally, I would try and keep the output looking more similar to > traditional blast, as then its easier to understand (assuming you > already know BLAST!). > ok, I'll ask them what they prefer. > Peter Thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From p.j.a.cock at googlemail.com Wed Jul 23 10:49:39 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:49:39 +0100 Subject: [BioPython] blast In-Reply-To: <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> On Wed, Jul 23, 2008 at 3:30 PM, Stefanie L?ck wrote: >>Peter wrote: >> >> Using hsp.score gives the raw score, which you are then scaling by the >> length and 100. I'm not sure offhand what you've calculated, but if >> you want the percentage identity, I think its just the number of >> identically match letters divided by the alignment length: >> >> percentage_identity = (100.0 * hsp.identities) / hsp.align_length > > I tried and it dosen't work in my case. It's gives me wrong percentage. > > I need to know at which % my primer match to the query part: > > > query --------taggcctcgcgcgcc------- > |||||||||||||||||||||||||||||| > primer tagcgctataggcctcgcgcgccatatagc > > Here 50 %. Your query match region has an un-gapped length of 15, and gapped length of 30 Your subject match region has a length of 30 Your query and subject have 15 identical matches The alignment length is 30, therefore 100*15/30 = 50% Using my suggested formula correctly gives the percentage identies relative to the alignment length: percentage_identity = (100.0 * hsp.identities) / hsp.align_length It seems what you want to calculate is 100*15/15 = 100% i.e. The percentage identites relative to the ungapped query length? This would probably work but isn't very elegant: percentage_identity_ref_matched_query = (100.0 * hsp.identities) / (hsp.align_length - hsp.query.count("-")) Or even relative to the full original query? If record is the blast record object that the hsp cam from, percentage_identity_ref_full_query = (100.0 * hsp.identities) / record.query_letters) (For a short query sequence like a probe, these may be the same) Peter From p.j.a.cock at googlemail.com Wed Jul 23 10:54:42 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:54:42 +0100 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> Message-ID: <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> >> I need to know at which % my primer match to the query part: >> >> >> query --------taggcctcgcgcgcc------- >> |||||||||||||||||||||||||||||| >> primer tagcgctataggcctcgcgcgccatatagc >> >> Here 50 %. How did you get this example? NCBI Blast doesn't include the leading and trailing gaps (in plain text, XML or HTML), e.g. Features in this part of subject sequence: transcription elongation factor protein, GreA/GreB family Score = 30.2 bits (15), Expect = 39 Identities = 15/15 (100%), Gaps = 0/15 (0%) Strand=Plus/Plus Query 1 TAGGCCTCGCGCGCC 15 ||||||||||||||| Sbjct 2614347 TAGGCCTCGCGCGCC 2614361 Peter From lueck at ipk-gatersleben.de Wed Jul 23 11:20:04 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Wed, 23 Jul 2008 17:20:04 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> Message-ID: <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> Sorry, I forgot to say that I do the alignment myself. It's was just for demonstration. Yes. I have a 30 bp primer. 15 bp from the primer bind to my query sequence. The percentage would be 50 %. percent = match * 100 / full length primer > percentage_identity = (100.0 * hsp.identities) / hsp.align_length percentage_identity_ref_matched_query = (100.0 * hsp.identities) / (hsp.align_length - hsp.query.count("-")) > Sorry, both give me wrong percentage if I try on my database. Look here, compare alignment and percentage: http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 e.g Hit 13 should give 60 % What you recommend to use instead of hsp.score? Nice quitting time Stefanie From p.j.a.cock at googlemail.com Wed Jul 23 11:36:40 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 16:36:40 +0100 Subject: [BioPython] blast In-Reply-To: <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> > Sorry, both give me wrong percentage if I try on my database. > > Look here, compare alignment and percentage: > > http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 > > e.g Hit 13 should give 60 % > > What you recommend to use instead of hsp.score? I am assuming you want to parse some BLAST output in order to populate this database. How about something based on this: from Bio.Blast import NCBIXML for record in NCBIXML.parse(open("test.xml")) : print "Query %i length %i" % (record.query_id, record.query_letters) for alignment in record.alignments : for hsp in alignment.hsps : percentage_identities_versus_full_query = (100.0 * hsp.identities) / record.query_letters print " vs %s gives %0.1f%% identities" \ % (alignment.hit_id, percentage_identities_versus_full_query) This uses the fact the the original query length is recorded in the record object as the "query_letters" property (this name was a historical choice based on the plain text blast output). For the example you gave, then then I would expect hsp.identities == 12 (and hsp.alignment_length == 12) while record.query_letters == 60 which will give you the desired output of 60%. Peter From biopython at maubp.freeserve.co.uk Wed Jul 23 18:12:34 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 23 Jul 2008 23:12:34 +0100 Subject: [BioPython] Deprecating Bio.Saf (PredictProtein Simple Alignment Format) Message-ID: <320fb6e00807231512s507d2652jc0f26764a62b01d5@mail.gmail.com> Is anyone using Bio.Saf or PredictProtein's "Simple Alignment Format" (SAF)? Bio.Saf is one of the older parsers in Biopython. It parses the PredictProtein "Simple Alignment Format" (SAF), a fairly free-format multiple sequence alignment file format described here: http://www.predictprotein.org/Dexa/optin_saf.html Potentially we could support this file format within Bio.AlignIO (if there was any demand). However, as far as I can tell, this file format is ONLY used for PredictProtein, and they will accept several other more mainstream alignment file formats as alternatives. Bio.Saf uses Martel for parsing, which is not entirely compatible with mxTextTools 3.0. If we did want to integrate SAF support into Bio.AlignIO it might be best to reimplement the parser in plain python. If no one is using it, I would like to deprecate Bio.Saf in the next release of Biopython. Peter From biopython at maubp.freeserve.co.uk Wed Jul 23 18:29:37 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 23 Jul 2008 23:29:37 +0100 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <4887000B.1070409@biotec.tu-dresden.de> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> <4887000B.1070409@biotec.tu-dresden.de> Message-ID: <320fb6e00807231529w5a6d4ee0n9d595234764eea02@mail.gmail.com> Christof Winter wrote: > Peter wrote: >> >> For any Biopython and Blast users, >> >> For some time now we've been discouraging the use of the HTML >> and plain text Blast parsers in favour of the XML format. >> >> I think it would be a good idea to now officially deprecate the >> HTML parser in Bio.Blast.NCBIWWW with warning messages >> when it is used. > > Full ack. > > Christof This is now deprecated in CVS, and I'll update the tutorial shortly. For the next couple of releases of Biopython the parser will still be there, but will now issue a warning message. if you try and use it. If there is anyone out there still using the HTML BLAST parser, it isn't too late to undo this change. Peter From alexl at users.sourceforge.net Thu Jul 24 04:23:21 2008 From: alexl at users.sourceforge.net (Alex Lancaster) Date: Thu, 24 Jul 2008 01:23:21 -0700 Subject: [BioPython] Fedora biopython packages updated for 1.47 Message-ID: Hi there, For all Fedora users, new packages for biopython 1.47 are now available the "updates-testing" repository for F-8 and F-9 To test them out simply run (as root): yum --enablerepo=updates-testing install python-biopython You can provide feedback on packages here: For F-9: https://admin.fedoraproject.org/updates/F9/FEDORA-2008-6235 For F-8: https://admin.fedoraproject.org/updates/F8/FEDORA-2008-6243 (You can leave feedback anonymously, or using your Fedora account name if you happen to be a Fedora contributor) The more positive feedback from testing, the faster the packages can go into the stable "updates" repo (or conversely if there are any problems, they can be fixed before being pushed). Thanks! Alex From matzke at berkeley.edu Fri Jul 25 01:27:55 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Thu, 24 Jul 2008 22:27:55 -0700 Subject: [BioPython] problem installing mxTextTools Message-ID: <4889645B.9080400@berkeley.edu> Hi all, I am trying to install biopython and am carefully following the directions at: http://biopython.org/DIST/docs/install/Installation.html ...as instructed, here are the steps I took: 1. I start by successfully installing Python2.4.4 on my Mac OSX 10.4. I set the environment variable so that Python2.4.4 is the default version of Python at the terminal. 2. Then, as instructed I try to install mxTextTools. Downloaded: egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt ...from here: http://www.egenix.com/products/python/mxBase/ 3. However, none of these (the official instructions, or several alternatives proposed in various online fora) work for installing mxTextTools. Here are the results: 3a. instructions here: http://biopython.org/DIST/docs/install/Installation.html#htoc9 ====================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# python setup.py build running build running mx_autoconf gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o gcc _configtest.o -L/usr/local/lib -L/opt/local/lib -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest success! removing: _configtest.c _configtest.o _configtest gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o success! removing: _configtest.c _configtest.o macros to define: [('HAVE_STRPTIME', '1')] macros to undefine: [] running build_ext building extension "mx.DateTime.mxDateTime.mxDateTime" (required) building 'mx.DateTime.mxDateTime.mxDateTime' extension creating build/temp.macosx-10.3-fat-2.4_ucs2 creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c mx/DateTime/mxDateTime/mxDateTime.c -o build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory powerpc-apple-darwin8-gcc-4.0.1: no input files lipo: can't figure out the architecture type of: /var/tmp//cch9pAof.out error: command 'gcc' failed with exit status 1 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# ====================== 3b. Instructions here: http://www.egenix.com/products/python/mxBase/ sudo python setup.py install ================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py install running install running build running mx_autoconf gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o gcc _configtest.o -L/usr/local/lib -L/opt/local/lib -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest success! removing: _configtest.c _configtest.o _configtest gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o success! removing: _configtest.c _configtest.o macros to define: [('HAVE_STRPTIME', '1')] macros to undefine: [] running build_ext building extension "mx.DateTime.mxDateTime.mxDateTime" (required) building 'mx.DateTime.mxDateTime.mxDateTime' extension gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c mx/DateTime/mxDateTime/mxDateTime.c -o build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory powerpc-apple-darwin8-gcc-4.0.1: no input files lipo: can't figure out the architecture type of: /var/tmp//ccGUEnk3.out wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ================== 3c. Instructions here: http://www.egenix.com/mailman-archives/egenix-users/2007-October/114291.html sudo python setup.py build --skip install ================ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip install running build skipping the build process and reusing the existing build files and data error: build/build-macosx-10.3-fat-py2.4_ucs2.pck: No such file or directory wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ls COPYRIGHT PKG-INFO build installer.bmp mxSetup.pyc wininst.bat LICENSE README egenix_mx_base.py mx setup.cfg MANIFEST bdist_zope.bat egenix_mx_base.pyc mxSetup.py setup.py wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ls ./build build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ================ 4. Give up and email the biopython list. Help!! Please!! 5. Ask existential questions about why, oh why, all useful software comes with dependencies that you have to compile yourself and which never, ever compile correctly when the instructions are followed even on utterly standard systems like Mac OSX 10.4. Thanks very very much, Nick -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ==================================================== From matzke at berkeley.edu Fri Jul 25 01:46:20 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Thu, 24 Jul 2008 22:46:20 -0700 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <4889645B.9080400@berkeley.edu> References: <4889645B.9080400@berkeley.edu> Message-ID: <488968AC.4000303@berkeley.edu> Hi all, An update -- I found a solution by copying the .pck file the download actually gave me to the filename that the install was apparently looking for. This was not exactly obvious (!!!!) but apparently it worked: ============================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd build wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ ls build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck build-macosx-10.3-fat-py2.4_ucs2.pck wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cd .. wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip installPassword: running build skipping the build process and reusing the existing build files and data restoring build data from a previous build run running install running install_lib running build_ext creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating [...] writing byte-compilation script '/tmp/tmpIfqFr6.py' /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python -O /tmp/tmpIfqFr6.py removing /tmp/tmpIfqFr6.py running install_data wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ more README ============================================================================= eGenix mx Base Distribution for Python ----------------------------------------------------------------------------- Source Installation ------------------- In order to build and install the distribution, run python setup.py install Then change to some other directory and try to import the packages: $ cd ~ $ python Python 2.4.3 (#1, May 9 2007, 00:48:21) [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> print now() 2007-05-30 11:00:03.24 >>> Note that trying this from the installation directory will cause Python to pick up the source tree packages which do not contain the compiled binaries. This will likely fail with strange error messages. Prebuilt Installation --------------------- If you have downloaded a prebuilt distribution archive, the installation is slightly different. You have to run python setup.py build --skip install Then follow the same instructions as for the source installation. Copyrights & Licenses --------------------- The software in this distribution is copyrighted and protected by international, EU and German copyright law. Please see the COPYRIGHT file for details. The software is licensed to you under the eGenix.com Public License as stated in the LICENSE file of the distribution directory. Some subpackages may contain third-party software which is licensed under different conditions. Please see the documentation and/or LICENSE files of the subpackages for details. If in doubt, please check the web-site at http://www.egenix.com or contact sales at egenix.com for more information on copyright, licensing conditions and authorized use. ----------------------------------------------------------------------------- eGenix.com GmbH Pastor-Loeh-Str. 48 D-40764 Langenfeld Germany info at egenix.com wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd .. wright:/bioinformatics/pythonstuff nick$ ls egenix python_notes.rtf egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt wright:/bioinformatics/pythonstuff nick$ python Python 2.4.4 (#1, Oct 18 2006, 10:34:39) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> >>> print now() 2008-07-24 22:39:17.66 >>> ============================== Several hours of my life gone, but yay! Cheers, Nick From matzke at berkeley.edu Fri Jul 25 03:37:15 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Fri, 25 Jul 2008 00:37:15 -0700 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <488968AC.4000303@berkeley.edu> References: <4889645B.9080400@berkeley.edu> <488968AC.4000303@berkeley.edu> Message-ID: <488982AB.8000209@berkeley.edu> Or, even better, version 2 of mxTextTools should be downloaded and used, it installs easily, and is supposed to work better anyway, however you can only find this from this page: http://biopython.org/wiki/Download#Optional_Software http://www.egenix.com/www2002/python/eGenix-mx-Extensions-v2.x.html/ ...but not the "complete instructions" page: http://biopython.org/DIST/docs/install/Installation.html#htoc9 (Sorry if this stuff is annoying but probably someone else naive will have these same problems in the future.) Cheers, Nick Nick Matzke wrote: > Hi all, > > An update -- I found a solution by copying the .pck file the download > actually gave me to the filename that the install was apparently looking > for. This was not exactly obvious (!!!!) but apparently it worked: > > auto-moderator> > > ============================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ cd build > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ ls > build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > temp.darwin-8.11.1-i386-2.3_ucs2 > lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > build-macosx-10.3-fat-py2.4_ucs2.pck > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ cd .. > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py build --skip installPassword: > running build > skipping the build process and reusing the existing build files and data > restoring build data from a previous build run > running install > running install_lib > running build_ext > creating > /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx > > copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py > -> > /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx > > creating > > [...] > > writing byte-compilation script '/tmp/tmpIfqFr6.py' > /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python > -O /tmp/tmpIfqFr6.py > removing /tmp/tmpIfqFr6.py > running install_data > > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ more README > ============================================================================= > > eGenix mx Base Distribution for Python > ----------------------------------------------------------------------------- > > > Source Installation > ------------------- > > In order to build and install the distribution, run > > python setup.py install > > Then change to some other directory and try to import the packages: > > $ cd ~ > $ python > Python 2.4.3 (#1, May 9 2007, 00:48:21) > [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> from mx.DateTime import now > >>> print now() > 2007-05-30 11:00:03.24 > >>> > > Note that trying this from the installation directory will cause > Python to pick up the source tree packages which do not contain the > compiled binaries. This will likely fail with strange error messages. > > > Prebuilt Installation > --------------------- > > If you have downloaded a prebuilt distribution archive, the > installation is slightly different. You have to run > > python setup.py build --skip install > > Then follow the same instructions as for the source installation. > > > Copyrights & Licenses > --------------------- > > The software in this distribution is copyrighted and protected by > international, EU and German copyright law. Please see the COPYRIGHT > file for details. > > The software is licensed to you under the eGenix.com Public License as > stated in the LICENSE file of the distribution directory. Some > subpackages may contain third-party software which is licensed under > different conditions. Please see the documentation and/or LICENSE > files of the subpackages for details. > > If in doubt, please check the web-site at http://www.egenix.com or > contact sales at egenix.com for more information on copyright, licensing > conditions and authorized use. > > > ----------------------------------------------------------------------------- > > eGenix.com GmbH > Pastor-Loeh-Str. 48 > D-40764 Langenfeld > Germany > info at egenix.com > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ cd .. > > wright:/bioinformatics/pythonstuff nick$ ls > egenix python_notes.rtf > egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > > wright:/bioinformatics/pythonstuff nick$ python > Python 2.4.4 (#1, Oct 18 2006, 10:34:39) > [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > > >>> from mx.DateTime import now > >>> > > >>> print now() > 2008-07-24 22:39:17.66 > >>> > ============================== > > Several hours of my life gone, but yay! > > Cheers, > Nick > -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ==================================================== From biopython at maubp.freeserve.co.uk Fri Jul 25 05:11:29 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Fri, 25 Jul 2008 10:11:29 +0100 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <488982AB.8000209@berkeley.edu> References: <4889645B.9080400@berkeley.edu> <488968AC.4000303@berkeley.edu> <488982AB.8000209@berkeley.edu> Message-ID: <320fb6e00807250211x4a9cdd31jfdaf4762204e522e@mail.gmail.com> On Fri, Jul 25, 2008 at 8:37 AM, Nick Matzke wrote: > Or, even better, version 2 of mxTextTools should be downloaded and used, it > installs easily, and is supposed to work better anyway, however you can only > find this from this page: > > http://biopython.org/wiki/Download#Optional_Software > http://www.egenix.com/www2002/python/eGenix-mx-Extensions-v2.x.html/ > > ...but not the "complete instructions" page: > http://biopython.org/DIST/docs/install/Installation.html#htoc9 > > (Sorry if this stuff is annoying but probably someone else naive will have > these same problems in the future.) As you have discovered the wiki is more up to date, but we should update that document too. On the wiki we do explicitly recommend mxTextTools 2.0 rather than 3.0 (there were some unicode related API changes), but in any case mxTextTools is now optional as it is only needed for a few less used parsers. As the install script says, you can delay installing mxTextTools until when using Biopython you see an import error relating to it. At least you've succeeded in the installation now :) Peter From dalke at dalkescientific.com Mon Jul 28 17:58:22 2008 From: dalke at dalkescientific.com (Andrew Dalke) Date: Mon, 28 Jul 2008 23:58:22 +0200 Subject: [BioPython] training in Python for cheminformatics Message-ID: Hi all, This isn't quite bioinformatics, but maybe if you squint hard enough you might see the purines and pyrimidines in DNA. :) I'm going to teach a two-day intensive course in Python programming, focusing on cheminformatics/small molecules. The target audience is computational chemists who want to be more effective at doing science by learning more about how to program. Most of my examples will be directly based on problems that come up in a normal research environment. The course is scheduled for 6-7 October in Leipzig, Germany. More details are at: http://dalkescientific.com/training/ Andrew dalke at dalkescientific.com From shulin.zhuang at gmail.com Tue Jul 29 20:34:23 2008 From: shulin.zhuang at gmail.com (Shulin Zhuang) Date: Tue, 29 Jul 2008 17:34:23 -0700 Subject: [BioPython] how to using python to multiply call a program for caculation Message-ID: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Dear All, Here just disturb you a question. I make a simple script to execute one program, the script content: import string, re, sys, os, time, math calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' os.system(calc) I can sucessfully execute this script and get the result file"8.txt. In the calc column, 8 is a residue number, resc is a program. The aim is to use resc to calculate residue 8 and get the output 8.txt. I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I use above simple script, I should execute 100 times. Therefore, I want to write a script to let the python do all the calculations at one time. Then I write the script as following: import string, re, sys, os, time, math i = 1 while i <=100: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc i = i +1 os.system(calc) However, when I execute the script and get an error:"The first argument should bu numerical" Would you like to tell me how to write a good script to tackle this problem. great thanks Best regards From shulin.zhuang at gmail.com Tue Jul 29 21:35:51 2008 From: shulin.zhuang at gmail.com (Shulin Zhuang) Date: Tue, 29 Jul 2008 18:35:51 -0700 Subject: [BioPython] how to using python to multiply call a program for caculation In-Reply-To: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> References: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Message-ID: <4f1a9e210807291835l929aeebs4035d312bc0809a7@mail.gmail.com> Dear All, Sorry to disturb you again. If I edit the sentence to: import string, re, sys, os, time, math i = 1 while i <=100: calc = "/usr/local/bin/resc 1bmp.pdb %d A >%d.txt"%(i,i) os.system(calc) in above A is the chain name of 1bmp.pdb. Now I can execute it and get the result. Thanks for your notice. It is because that I am just a beginner and not familiar with the string and value. Best regards Shulin On Tue, Jul 29, 2008 at 5:34 PM, Shulin Zhuang wrote: > Dear All, > > Here just disturb you a question. > > I make a simple script to execute one program, the script content: > > import string, re, sys, os, time, math > calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' > os.system(calc) > > I can sucessfully execute this script and get the result file"8.txt. > > > In the calc column, 8 is a residue number, resc is a program. The aim is > to use resc to calculate residue 8 and get the output 8.txt. > > > I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I > use above simple script, I should execute 100 times. Therefore, I want to > write a script to let the python do all the calculations at one time. > > Then I write the script as following: > > import string, re, sys, os, time, math > i = 1 > while i <=100: > calc = '/home/shulin/program/rescP/resc 1bmp.pdb ' + abc > i = i +1 > os.system(calc) > > > However, when I execute the script and get an error:"The first argument > should bu numerical" > > Would you like to tell me how to write a good script to tackle this > problem. great thanks > > Best regards > > > From lpritc at scri.ac.uk Wed Jul 30 04:00:50 2008 From: lpritc at scri.ac.uk (Leighton Pritchard) Date: Wed, 30 Jul 2008 09:00:50 +0100 Subject: [BioPython] how to using python to multiply call a program for caculation In-Reply-To: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Message-ID: Hi Shulin, I can't see in your code with the while condition where you are specifying the residue on the command-line string: the variable 'abc' appears to be undefined in your code: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc So the above should throw an error. >From your code, the variable containing the residue number you want to use in the command line appears to be 'i', and there are a number of ways you can get your variable 'i' into the command-line string from there, including: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + str(i) calc = '/home/shulin/program/rescP/resc 1PGA.pdb %d' % i calc = ' '.join(['/home/shulin/program/rescP/resc 1PGA.pdb', str(i)]) I've not tested the following code, but it may be the sort of thing you're looking for: # For this code you only need to import os import os # Define the command-line string components once cmdexe = "/home/shulkin/program/rescP/resc" # executable location cmdstructure = "1PGA.pdb" # structure for analysis # Then loop over the residue numbers, building a new command line # and calling each time for residue in range(1, 101): cmdstr = "%s %s %d > %d.txt" % (cmdexe, cmdstructure, residue, residue) #print cmdstr # does the command-line look right? os.system(cmdstr) # make the system call Sections of the Python documentation you might find useful here are: string formatting http://docs.python.org/lib/typesseq-strings.html subprocess (which is favoured over os.system): http://docs.python.org/lib/module-subprocess.html And you may also be interested in the Python Tutor mailing list: http://mail.python.org/mailman/listinfo/tutor I hope this is useful, L. On 30/07/2008 01:34, "Shulin Zhuang" wrote: > Dear All, > > Here just disturb you a question. > > I make a simple script to execute one program, the script content: > > import string, re, sys, os, time, math > calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' > os.system(calc) > > I can sucessfully execute this script and get the result file"8.txt. > > > In the calc column, 8 is a residue number, resc is a program. The aim is > to use resc to calculate residue 8 and get the output 8.txt. > > > I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I use > above simple script, I should execute 100 times. Therefore, I want to write > a script to let the python do all the calculations at one time. > > Then I write the script as following: > > import string, re, sys, os, time, math > i = 1 > while i <=100: > calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc > i = i +1 > os.system(calc) > > > However, when I execute the script and get an error:"The first argument > should bu numerical" > > Would you like to tell me how to write a good script to tackle this problem. > great thanks > > Best regards > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython -- Dr Leighton Pritchard MRSC D131, Plant Pathology Programme, SCRI Errol Road, Invergowrie, Perth and Kinross, Scotland, DD2 5DA e:lpritc at scri.ac.uk w:http://www.scri.ac.uk/staff/leightonpritchard gpg/pgp: 0xFEFC205C tel:+44(0)1382 562731 x2405 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SCRI, Invergowrie, Dundee, DD2 5DA. The Scottish Crop Research Institute is a charitable company limited by guarantee. Registered in Scotland No: SC 29367. Recognised by the Inland Revenue as a Scottish Charity No: SC 006662. DISCLAIMER: This email is from the Scottish Crop Research Institute, but the views expressed by the sender are not necessarily the views of SCRI and its subsidiaries. This email and any files transmitted with it are confidential to the intended recipient at the e-mail address to which it has been addressed. It may not be disclosed or used by any other than that addressee. If you are not the intended recipient you are requested to preserve this confidentiality and you must not use, disclose, copy, print or rely on this e-mail in any way. Please notify postmaster at scri.ac.uk quoting the name of the sender and delete the email from your system. Although SCRI has taken reasonable precautions to ensure no viruses are present in this email, neither the Institute nor the sender accepts any responsibility for any viruses, and it is your responsibility to scan the email and the attachments (if any). From cmckay at u.washington.edu Thu Jul 31 21:45:15 2008 From: cmckay at u.washington.edu (Cedar McKay) Date: Thu, 31 Jul 2008 18:45:15 -0700 Subject: [BioPython] SeqRecord to Genbank: use SeqIO? Message-ID: <0B3D0CC5-820B-4D98-8EB6-6ED6F7D2B6C8@u.washington.edu> Hello, I have SeqRecord objects that I'd like to convert to a string that is in Genbank format. That way I can do whatever with it, including write it to a file. The only way I can see to do anything similar is using SeqIO and doing something like: SeqIO.write(my_records, out_file_handle, "genbank") which I found here: http://biopython.org/DIST/docs/tutorial/Tutorial.html#chapter:Bio.SeqIO The problem is, it doesn't support something like: SeqIO.write(seq_record, out_file_handle, "genbank") Because it requires an iterable object I guess? And it has to write to a file handle for some reason, and won't just give me the string to do whatever I want with. I've done a lot of searching and mailing lists, and googling, and surely I must be missing something? What is the simplest way to get a string representing a genbank file, starting with a SeqRecord? I'm sort of shocked that there isn't some sort of SeqRecord.to_genbank() method. Hope someone can point me in the right direction! best, Cedar From jcigar at ulb.ac.be Wed Jul 23 14:02:48 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:02:48 -0000 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> Message-ID: <1216830497.1019.2.camel@rivendell.lan> Just FYI and another point of view (?), I asked one of the user about which method is the best and he said that "one should not depend on the length of the sequence to know how different/similar the use fragment is", so it's really percentage identity which is needed Julien On Wed, 2008-07-23 at 16:36 +0100, Peter Cock wrote: > > Sorry, both give me wrong percentage if I try on my database. > > > > Look here, compare alignment and percentage: > > > > http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 > > > > e.g Hit 13 should give 60 % > > > > What you recommend to use instead of hsp.score? > > I am assuming you want to parse some BLAST output in order to populate > this database. How about something based on this: > > from Bio.Blast import NCBIXML > for record in NCBIXML.parse(open("test.xml")) : > print "Query %i length %i" % (record.query_id, record.query_letters) > for alignment in record.alignments : > for hsp in alignment.hsps : > percentage_identities_versus_full_query = (100.0 * > hsp.identities) / record.query_letters > print " vs %s gives %0.1f%% identities" \ > % (alignment.hit_id, percentage_identities_versus_full_query) > > This uses the fact the the original query length is recorded in the > record object as the "query_letters" property (this name was a > historical choice based on the plain text blast output). > > For the example you gave, then then I would expect hsp.identities == > 12 (and hsp.alignment_length == 12) while record.query_letters == 60 > which will give you the desired output of 60%. > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython From matzke at berkeley.edu Fri Jul 25 01:44:01 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Fri, 25 Jul 2008 05:44:01 -0000 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <4889645B.9080400@berkeley.edu> References: <4889645B.9080400@berkeley.edu> Message-ID: <48896815.10104@berkeley.edu> Hi all, An update -- I found a solution by copying the .pck file the download actually gave me to the filename that the install was apparently looking for. This was not exactly obvious (!!!!) but apparently it worked: ============================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd build wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ ls build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck build-macosx-10.3-fat-py2.4_ucs2.pck wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cd .. wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip installPassword: running build skipping the build process and reusing the existing build files and data restoring build data from a previous build run running install running install_lib running build_ext creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeBase.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeDict.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeIndex.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeStorage.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/Cache.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/Doc/mxBeeBase.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/ExitFunctions.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/FileLock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/btr.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxBeeBase.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxBeeBase.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/testjohn.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/showBeeDict.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ARPA.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/DateTime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Doc/mxDateTime.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/alarm.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/AtomicClock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/CommandLine.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/lifespan.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/numdate.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/Y2000.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Feasts.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ISO.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Locale.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime_Python.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcmp.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcoerce.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcomdates.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testnow.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testpydatetime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testrichard.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testroundoff.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/teststrftime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testsubclassing.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testticks.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/NIST.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ODMG.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Parser.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/timegm.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Timezone.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/eGenix-mx-Extensions.html -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxBeeBase.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxDateTime.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxProxy.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxQueue.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxStack.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxTextTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxUID.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxURL.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Log.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Cache.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/CommandLine.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/ConfigFile.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Cookie.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/CSV.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/ExitFunctions.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/FileLock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Namespace.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/OrderedMapping.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/PackageTools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/NewBuiltins.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/Doc/mxProxy.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxProxy.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxProxy.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/testvlad.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/weakreftest.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/Proxy.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/Doc/mxQueue.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxQueue.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxQueue.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/queuebench.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/UserQueue.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/Doc/mxStack.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxStack.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxStack.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/stackbench.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/UserStack.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/Sets.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/TagTables.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Doc/mxTextTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/altRTF.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/HTML.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Loop.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/mysplit.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/pytag.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Python.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/RegExp.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/RTF.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Tim.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Words.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxbmse.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxTextTools.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxTextTools.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testHTML.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testkj.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testPickleSegFault.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testSegFault.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/TextTools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Doc/mxTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Examples/Acquisition.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/bench1.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/bench2.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/hack.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxTools.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxTools.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/test_safecall.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/NewBuiltins.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Tools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/Doc/mxUID.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxUID.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxUID.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/UID.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/Doc/mxURL.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/Listing.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxURL.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxURL.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/URL.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeBase.py to BeeBase.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeDict.py to BeeDict.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeIndex.py to BeeIndex.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeStorage.py to BeeStorage.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Cache.py to Cache.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/ExitFunctions.py to ExitFunctions.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/FileLock.py to FileLock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/testjohn.py to testjohn.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/showBeeDict.py to showBeeDict.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ARPA.py to ARPA.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/DateTime.py to DateTime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/alarm.py to alarm.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/AtomicClock.py to AtomicClock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/CommandLine.py to CommandLine.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/lifespan.py to lifespan.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/numdate.py to numdate.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/Y2000.py to Y2000.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Feasts.py to Feasts.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ISO.py to ISO.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Locale.py to Locale.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/mxDateTime_Python.py to mxDateTime_Python.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcmp.py to testcmp.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcoerce.py to testcoerce.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcomdates.py to testcomdates.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testnow.py to testnow.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testpydatetime.py to testpydatetime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testrichard.py to testrichard.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testroundoff.py to testroundoff.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/teststrftime.py to teststrftime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testsubclassing.py to testsubclassing.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testticks.py to testticks.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/NIST.py to NIST.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ODMG.py to ODMG.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Parser.py to Parser.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/timegm.py to timegm.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Timezone.py to Timezone.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Log.py to Log.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Cache.py to Cache.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/CommandLine.py to CommandLine.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/ConfigFile.py to ConfigFile.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Cookie.py to Cookie.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/CSV.py to CSV.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/ExitFunctions.py to ExitFunctions.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/FileLock.py to FileLock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Namespace.py to Namespace.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/OrderedMapping.py to OrderedMapping.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/PackageTools.py to PackageTools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/NewBuiltins.py to NewBuiltins.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/testvlad.py to testvlad.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/weakreftest.py to weakreftest.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Proxy.py to Proxy.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/queuebench.py to queuebench.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/UserQueue.py to UserQueue.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/stackbench.py to stackbench.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/UserStack.py to UserStack.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/Sets.py to Sets.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/TagTables.py to TagTables.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/altRTF.py to altRTF.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/HTML.py to HTML.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Loop.py to Loop.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/mysplit.py to mysplit.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/pytag.py to pytag.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Python.py to Python.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/RegExp.py to RegExp.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/RTF.py to RTF.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Tim.py to Tim.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Words.py to Words.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testHTML.py to testHTML.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testkj.py to testkj.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testPickleSegFault.py to testPickleSegFault.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testSegFault.py to testSegFault.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/TextTools.py to TextTools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples/Acquisition.py to Acquisition.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/bench1.py to bench1.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/bench2.py to bench2.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/hack.py to hack.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/test_safecall.py to test_safecall.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/NewBuiltins.py to NewBuiltins.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Tools.py to Tools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/UID.py to UID.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Listing.py to Listing.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/URL.py to URL.pyc writing byte-compilation script '/tmp/tmpIfqFr6.py' /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python -O /tmp/tmpIfqFr6.py removing /tmp/tmpIfqFr6.py running install_data wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ more README ============================================================================= eGenix mx Base Distribution for Python ----------------------------------------------------------------------------- Source Installation ------------------- In order to build and install the distribution, run python setup.py install Then change to some other directory and try to import the packages: $ cd ~ $ python Python 2.4.3 (#1, May 9 2007, 00:48:21) [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> print now() 2007-05-30 11:00:03.24 >>> Note that trying this from the installation directory will cause Python to pick up the source tree packages which do not contain the compiled binaries. This will likely fail with strange error messages. Prebuilt Installation --------------------- If you have downloaded a prebuilt distribution archive, the installation is slightly different. You have to run python setup.py build --skip install Then follow the same instructions as for the source installation. Copyrights & Licenses --------------------- The software in this distribution is copyrighted and protected by international, EU and German copyright law. Please see the COPYRIGHT file for details. The software is licensed to you under the eGenix.com Public License as stated in the LICENSE file of the distribution directory. Some subpackages may contain third-party software which is licensed under different conditions. Please see the documentation and/or LICENSE files of the subpackages for details. If in doubt, please check the web-site at http://www.egenix.com or contact sales at egenix.com for more information on copyright, licensing conditions and authorized use. ----------------------------------------------------------------------------- eGenix.com GmbH Pastor-Loeh-Str. 48 D-40764 Langenfeld Germany info at egenix.com wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd .. wright:/bioinformatics/pythonstuff nick$ ls egenix python_notes.rtf egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt wright:/bioinformatics/pythonstuff nick$ python Python 2.4.4 (#1, Oct 18 2006, 10:34:39) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> >>> print now() 2008-07-24 22:39:17.66 >>> ============================== Several hours of my life gone, but yay! Cheers, Nick Nick Matzke wrote: > Hi all, > > I am trying to install biopython and am carefully following the > directions at: > > http://biopython.org/DIST/docs/install/Installation.html > > ...as instructed, here are the steps I took: > > > 1. I start by successfully installing Python2.4.4 on my Mac OSX 10.4. I > set the environment variable so that Python2.4.4 is the default version > of Python at the terminal. > > 2. Then, as instructed I try to install mxTextTools. Downloaded: > egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > > ...from here: > http://www.egenix.com/products/python/mxBase/ > > > 3. However, none of these (the official instructions, or several > alternatives proposed in various online fora) work for installing > mxTextTools. Here are the results: > > 3a. instructions here: > http://biopython.org/DIST/docs/install/Installation.html#htoc9 > > ====================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# python -V > Python 2.4.4 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# python setup.py build > running build > running mx_autoconf > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > gcc _configtest.o -L/usr/local/lib -L/opt/local/lib > -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest > success! > removing: _configtest.c _configtest.o _configtest > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > success! > removing: _configtest.c _configtest.o > macros to define: [('HAVE_STRPTIME', '1')] > macros to undefine: [] > running build_ext > > building extension "mx.DateTime.mxDateTime.mxDateTime" (required) > building 'mx.DateTime.mxDateTime.mxDateTime' extension > creating build/temp.macosx-10.3-fat-2.4_ucs2 > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime > > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime > > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME > -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > mx/DateTime/mxDateTime/mxDateTime.c -o > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o > > i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > i686-apple-darwin8-gcc-4.0.1: no input files > powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > powerpc-apple-darwin8-gcc-4.0.1: no input files > lipo: can't figure out the architecture type of: /var/tmp//cch9pAof.out > error: command 'gcc' failed with exit status 1 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# > ====================== > > > 3b. Instructions here: > http://www.egenix.com/products/python/mxBase/ > > sudo python setup.py install > > ================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ python -V > Python 2.4.4 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py install > running install > running build > running mx_autoconf > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > gcc _configtest.o -L/usr/local/lib -L/opt/local/lib > -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest > success! > removing: _configtest.c _configtest.o _configtest > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > success! > removing: _configtest.c _configtest.o > macros to define: [('HAVE_STRPTIME', '1')] > macros to undefine: [] > running build_ext > > building extension "mx.DateTime.mxDateTime.mxDateTime" (required) > building 'mx.DateTime.mxDateTime.mxDateTime' extension > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME > -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > mx/DateTime/mxDateTime/mxDateTime.c -o > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o > > i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > i686-apple-darwin8-gcc-4.0.1: no input files > powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > powerpc-apple-darwin8-gcc-4.0.1: no input files > lipo: can't figure out the architecture type of: /var/tmp//ccGUEnk3.out > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > ================== > > > > > 3c. Instructions here: > http://www.egenix.com/mailman-archives/egenix-users/2007-October/114291.html > > > sudo python setup.py build --skip install > ================ > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ python -V > Python 2.4.4 > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py build --skip install > running build > skipping the build process and reusing the existing build files and data > error: build/build-macosx-10.3-fat-py2.4_ucs2.pck: No such file or > directory > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ ls > COPYRIGHT PKG-INFO build > installer.bmp mxSetup.pyc wininst.bat > LICENSE README egenix_mx_base.py > mx setup.cfg > MANIFEST bdist_zope.bat egenix_mx_base.pyc > mxSetup.py setup.py > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ ls ./build > build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > temp.darwin-8.11.1-i386-2.3_ucs2 > lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > ================ > > > 4. Give up and email the biopython list. Help!! Please!! > > > 5. Ask existential questions about why, oh why, all useful software > comes with dependencies that you have to compile yourself and which > never, ever compile correctly when the instructions are followed even on > utterly standard systems like Mac OSX 10.4. > > > Thanks very very much, > Nick > > > > > > > -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ==================================================== From lueck at ipk-gatersleben.de Tue Jul 1 07:40:38 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Tue, 1 Jul 2008 09:40:38 +0200 Subject: [BioPython] Sequence from Fasta References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <320fb6e00806290819s73f95d32x563879e9bb64b924@mail.gmail.com> <001901c8da91$0eedfcd0$1022a8c0@ipkgatersleben.de> <320fb6e00806300219j54f7f43dpe0051f54be27d402@mail.gmail.com> Message-ID: <002701c8db4d$c1ab68a0$1022a8c0@ipkgatersleben.de> --> Peter wrote: > from Bio import SeqIO > handle = open("ls_orchid.fasta") > for seq_record in SeqIO.parse(handle, "fasta") : > print seq_record.id > print seq_record.seq.tostring() > print len(seq_record.seq) > handle.close() This works! Thanks! --> Giovanni wrote: >Bioperl's SeqIO has support for a 'tab sequence format' which is >similar to this[1]. >Maybe it could be useful in the future to add support for such a >format in biopython. It's a very good idea because I was suprised that it dosen't work. I excpected it. Regards Stefanie From biopython at maubp.freeserve.co.uk Tue Jul 1 08:04:24 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 09:04:24 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> Message-ID: <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> On Mon, Jun 30, 2008 at 10:40 AM, Giovanni Marco Dall'Olio wrote: >> But I'm looking for something like this: >> >> Name Sequence without linebreak >> >> Example: >> >> MySequence atgcgcgctcggcgcgctcgfcgcgccccccatggctcgcgcactacagcg >> MySequence2 atgcgctctgcgcgctcgatgtagaatatgagatctctatgagatcagcatca > > Bioperl's SeqIO has support for a 'tab sequence format' which is > similar to this[1]. > Maybe it could be useful in the future to add support for such a > format in biopython. > > [1] http://www.bioperl.org/wiki/Tab_sequence_format > That does look fairly straight forward. Do you happen to know how BioPerl reacts when the first field has spaces? I would suggest treating the first field like the ">" line in a FASTA file and taking the first word as the id/name and the whole field as the description. This format could be handy for some people who use the command line. By converting between FASTA and the tab format (which can be done with sed or awk), each sequence is on one line, so you use tools like grep to filter your records. Then convert back to fasta. There's a nice blog page I found some time ago where the author describes his workflow for this. Peter From dalloliogm at gmail.com Tue Jul 1 09:37:53 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 11:37:53 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> Message-ID: <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> On Tue, Jul 1, 2008 at 10:04 AM, Peter wrote: > On Mon, Jun 30, 2008 at 10:40 AM, Giovanni Marco Dall'Olio > wrote: > >>> But I'm looking for something like this: >>> >>> Name Sequence without linebreak >>> >>> Example: >>> >>> MySequence atgcgcgctcggcgcgctcgfcgcgccccccatggctcgcgcactacagcg >>> MySequence2 atgcgctctgcgcgctcgatgtagaatatgagatctctatgagatcagcatca >> >> Bioperl's SeqIO has support for a 'tab sequence format' which is >> similar to this[1]. >> Maybe it could be useful in the future to add support for such a >> format in biopython. >> >> [1] http://www.bioperl.org/wiki/Tab_sequence_format >> > > That does look fairly straight forward. > > Do you happen to know how BioPerl reacts when the first field has spaces? > I would suggest treating the first field like the ">" line in a FASTA file and > taking the first word as the id/name and the whole field as the description. > It ignores any field after the first space in the header. For example: $ cat >seq1.fasta >seq1 field2 field3 acatcgatgcatgctagctactgtacgac $ cat > fasta2tab.pl my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); while (<$seqin>) { print $seqout $_; } $ perl fasta2tab.pl seq1 acatcgatgcatgctagctactgtacgac Do you need some help to implement this function? > This format could be handy for some people who use the command line. By > converting between FASTA and the tab format (which can be done with sed > or awk), each sequence is on one line, so you use tools like grep to filter your > records. Then convert back to fasta. There's a nice blog page I found some > time ago where the author describes his workflow for this. > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Tue Jul 1 09:45:48 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 10:45:48 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> Message-ID: <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> > It ignores any field after the first space in the header. > > For example: > $ cat >seq1.fasta >>seq1 field2 field3 > acatcgatgcatgctagctactgtacgac > > $ cat > fasta2tab.pl > my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); > my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); > > while (<$seqin>) > { > print $seqout $_; > } > > $ perl fasta2tab.pl > seq1 acatcgatgcatgctagctactgtacgac Interesting - and now what I had expected. Could you try getting BioPerl to read in a TSV file like this: seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac seq2 with a description here(tab)ctcgctgnnacatcctagctactgta I personally would prefer this sort of output as it preserves all the data from a FASTA input file. On the other hand, if there are exsting tools which wouldn't read this then it would be a bad idea. > > Do you need some help to implement this function? > Not really - but discussion of the behaviour details now is a good idea. And some real world example TSV files would be good to add to Biopython as test cases. Thanks, Peter From biopython at maubp.freeserve.co.uk Tue Jul 1 11:32:26 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 12:32:26 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> Message-ID: <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> >> Could you try getting BioPerl to read in a TSV file like this: >> >> seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac >> seq2 with a description here(tab)ctcgctgnnacatcctagctactgta >> >> I personally would prefer this sort of output as it preserves all the >> data from a FASTA input file. On the other hand, if there are existing >> tools which wouldn't read this then it would be a bad idea. > > It [BioPerl] gives an error warning for every space it encounters. > That isn't very nice, arguably a BioPerl limitation. However, it does seem best that we try and avoid writing the full description in the tab output. The downside is: >identifer with a long description acatcgatgcatgctagctactgtacgac Would have to be saved follows to keep BioPerl happy: identifier(tab)acatcgatgcatgctagctactgtacgac Rather than: identifer with a long description(tab)acatcgatgcatgctagctactgtacgac Still - if you and Stefanie think this would be useful, I'll have a look at implementing it. Peter From dalloliogm at gmail.com Tue Jul 1 11:49:34 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 13:49:34 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> Message-ID: <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> On Tue, Jul 1, 2008 at 1:32 PM, Peter wrote: >> >> It [BioPerl] gives an error warning for every space it encounters. >> > > That isn't very nice, arguably a BioPerl limitation. However, it does > seem best that we try and avoid writing the full description in the > tab output. The downside is: > >>identifer with a long description > acatcgatgcatgctagctactgtacgac I am not sure, but I think it is because spaces are not allowed in the header of standard fasta files. Maybe a good solution would be to convert automatically all spaces to pipes (|) in the output. > Still - if you and Stefanie think this would be useful, I'll have a > look at implementing it. yes, I think it will be useful to implement. I know of people who have written a customized fasta2tab script and use it quite frequently, so it would be good to support such a task. As you said before this format is commonly used in combination with grep/gawk scripts. > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From dalloliogm at gmail.com Tue Jul 1 10:44:49 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Tue, 1 Jul 2008 12:44:49 +0200 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> Message-ID: <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> On Tue, Jul 1, 2008 at 11:45 AM, Peter wrote: >> It ignores any field after the first space in the header. >> >> For example: >> $ cat >seq1.fasta >>>seq1 field2 field3 >> acatcgatgcatgctagctactgtacgac >> >> $ cat > fasta2tab.pl >> my $seqin = Bio::SeqIO->newFh("-file" => "seq1.fasta", "-format" => "fasta"); >> my $seqout = Bio::SeqIO->newFh("-fh" => \*STDOUT, "-format" => "tab"); >> >> while (<$seqin>) >> { >> print $seqout $_; >> } >> >> $ perl fasta2tab.pl >> seq1 acatcgatgcatgctagctactgtacgac > > Interesting - and now what I had expected. > > Could you try getting BioPerl to read in a TSV file like this: > > seq1 field2 field3(tab)acatcgatgcatgctagctactgtacgac > seq2 with a description here(tab)ctcgctgnnacatcctagctactgta > > I personally would prefer this sort of output as it preserves all the > data from a FASTA input file. On the other hand, if there are exsting > tools which wouldn't read this then it would be a bad idea. > It gives an error warning for every space it encounters. Example: """ perl convertformat.pl seqm.tab tab fasta -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq1 field2 field3] --------------------------------------------------- -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq1 field2 field3] --------------------------------------------------- >seq1 field2 field3 CATGGCATGCATGCATGCTAGCTAC -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq2 some description] --------------------------------------------------- -------------------- WARNING --------------------- MSG: No whitespace allowed in FASTA ID [seq2 some description] --------------------------------------------------- >seq2 some description CATGGCATGCATGCATGCTAGCTAC """ Please have a look at the script code and the makefile attached. p.s. I already sent you a similar message, but the mailing list blocked it. -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it -------------- next part -------------- A non-text attachment was scrubbed... Name: convertformat.pl Type: application/x-perl Size: 494 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Makefile Type: application/octet-stream Size: 858 bytes Desc: not available URL: From biopython at maubp.freeserve.co.uk Tue Jul 1 16:06:08 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 1 Jul 2008 17:06:08 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> References: <001e01c8d9f6$66134420$1022a8c0@ipkgatersleben.de> <5aa3b3570806300240g25a5c311y1d5e1872a9fa97d5@mail.gmail.com> <320fb6e00807010104n4bb26266s8916eb6184c62024@mail.gmail.com> <5aa3b3570807010237k61e23260uc02c43487c6efa84@mail.gmail.com> <320fb6e00807010245n2650e1c1mdde4bd61e3b1fcdd@mail.gmail.com> <5aa3b3570807010344k5470a190i6284f0cc8e33f92b@mail.gmail.com> <320fb6e00807010432x4346a283je51c265ebf9cab61@mail.gmail.com> <5aa3b3570807010449k885bf53hce6a1ad58c9daad3@mail.gmail.com> Message-ID: <320fb6e00807010906v7e8e6780x92117da60cd39318@mail.gmail.com> Giovanni wrote: > yes, I think it will be useful to implement. > I know of people who have written a customized fasta2tab script and > use it quite frequently, so it would be good to support such a task. > As you said before this format is commonly used in combination with > grep/gawk scripts. I've gone for the simple option about how to parse the first field, its used as the record identifer (.id) and name only (nothing clever). Here is my suggested code, which you are welcome to download and try out. Bug 2533 - Support for simple "tab" format in Bio.SeqIO http://bugzilla.open-bio.org/show_bug.cgi?id=2533 If you want to try this yourself you'll need to download the new file TabIO.py into the Bio/SeqIO folder and update Bio/SeqIO/__init__.py to tell it about the new format (two new lines, see patch). Peter From lpritc at scri.ac.uk Wed Jul 2 09:10:05 2008 From: lpritc at scri.ac.uk (Leighton Pritchard) Date: Wed, 02 Jul 2008 10:10:05 +0100 Subject: [BioPython] Sequence from Fasta In-Reply-To: <320fb6e00807010906v7e8e6780x92117da60cd39318@mail.gmail.com> Message-ID: Hi, Just to chip in my two-pennorth, there's a self-defining tab-separated format called "Axon Text File Format" that might be useful here, and which is frequently seen in microarray work. There's a description of its use for .gal files here: http://www.moleculardevices.com/pages/software/gn_genepix_file_formats.html It's fairly flexible and straightforward as a format, and allows for human-readable headers - which can contain column definitions, content notes, or anything else you like - that is adaptable to a variety of output conventions. Of course, getting people to settle on a convention is the tricky part, but at least any given file might be well-defined in its headers while people argue over it ;) It's hardly likely that going down that route in BioPython will result in an file convention that's accepted industry-wide, but at least it might give options for writing out FASTA file content in tab-separated form while unambiguously retaining ID, name and definition strings along with the sequence. L. On 01/07/2008 17:06, "Peter" wrote: > Giovanni wrote: >> yes, I think it will be useful to implement. >> I know of people who have written a customized fasta2tab script and >> use it quite frequently, so it would be good to support such a task. >> As you said before this format is commonly used in combination with >> grep/gawk scripts. > > I've gone for the simple option about how to parse the first field, its used > as the record identifer (.id) and name only (nothing clever). Here is my > suggested code, which you are welcome to download and try out. > > Bug 2533 - Support for simple "tab" format in Bio.SeqIO > http://bugzilla.open-bio.org/show_bug.cgi?id=2533 > > If you want to try this yourself you'll need to download the new file > TabIO.py into the Bio/SeqIO folder and update Bio/SeqIO/__init__.py to > tell it about the new format (two new lines, see patch). > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython -- Dr Leighton Pritchard B.Sc.(Hons) MRSC D131, Plant Pathology Programme, SCRI Errol Road, Invergowrie, Perth and Kinross, Scotland, DD2 5DA e:lpritc at scri.ac.uk w:http://www.scri.ac.uk/staff/leightonpritchard gpg/pgp: 0xFEFC205C tel:+44(0)1382 562731 x2405 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SCRI, Invergowrie, Dundee, DD2 5DA. The Scottish Crop Research Institute is a charitable company limited by guarantee. Registered in Scotland No: SC 29367. Recognised by the Inland Revenue as a Scottish Charity No: SC 006662. DISCLAIMER: This email is from the Scottish Crop Research Institute, but the views expressed by the sender are not necessarily the views of SCRI and its subsidiaries. This email and any files transmitted with it are confidential to the intended recipient at the e-mail address to which it has been addressed. It may not be disclosed or used by any other than that addressee. If you are not the intended recipient you are requested to preserve this confidentiality and you must not use, disclose, copy, print or rely on this e-mail in any way. Please notify postmaster at scri.ac.uk quoting the name of the sender and delete the email from your system. Although SCRI has taken reasonable precautions to ensure no viruses are present in this email, neither the Institute nor the sender accepts any responsibility for any viruses, and it is your responsibility to scan the email and the attachments (if any). From biopython at maubp.freeserve.co.uk Sat Jul 5 14:52:10 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Sat, 5 Jul 2008 15:52:10 +0100 Subject: [BioPython] Bio.IntelliGenetics (and the MASE format) Message-ID: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> Dear all, We've recently added support for parsing (reading) the IntelliGenetics sequence file format to Bio.SeqIO, under the format name "ig" (following the EMBOSS convention). This file format also seems to be known as the MASE multiple sequence alignment format. This means that the old Bio.IntelliGenetics module is essentially obsolete, and we could therefore deprecate it in a future Biopython release. Before we do that, is anyone using the Bio.IntelliGenetics module? Hopefully using Bio.SeqIO will a suitable substitute for you, but please do get in touch. More generally, do any of you currently use the IntelliGenetics or MASE file format? I'd love to have a few more example files to use in our test suite. Also, would you be interested in using Bio.SeqIO to write out files in this format? Thank you, Peter From p.j.a.cock at googlemail.com Sat Jul 5 15:20:40 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Sat, 5 Jul 2008 16:20:40 +0100 Subject: [BioPython] Biopython at BOSC 2008 Message-ID: <320fb6e00807050820y55fb240fk6feddaefe6aaf1be@mail.gmail.com> Dear Biopython users, Later this month Tiago Ant?o will be representing Biopython at the Bioinformatics Open Source Conference (BOSC 2008) in Toronto, Canada. Tiago is the most recent developer to join the Biopython project, and has been working on the new Bio.PopGen module for population genetics. BOSC is an annual two-day conference organised by the Open Bioinformatics Foundation. http://open-bio.org/wiki/BOSC_2008 Last summer I gave the "Biopython Project Update" talk at the BOSC 2007 in Vienna, Austria. My slides have been available online via slideshare, but I finally got round to converting them from PowerPoint to PDF, and they are now on the Biopython website if anyone is interested: http://biopython.org/wiki/Documentation#Presentations http://open-bio.org/wiki/BOSC_2007 Although unfortunatley I won't be at BOSC 2008, perhaps some of you will also be there - and I hope everyone there enjoys it. Peter From mjldehoon at yahoo.com Sun Jul 6 00:00:17 2008 From: mjldehoon at yahoo.com (Michiel de Hoon) Date: Sat, 5 Jul 2008 17:00:17 -0700 (PDT) Subject: [BioPython] Biopython release 1.47 Message-ID: <287726.364.qm@web62412.mail.re1.yahoo.com> We are pleased to announce the release of Biopython 1.47. This release includes a new Bio.AlignIO module, updates to Bio.Blast, parsers for NCBI's Entrez E-Utilities, numerous other code improvements and fixes, and an extended and updated documentation. In particular if you use Biopython to access NCBI's E-Utilities, we encourage you to download and install this release to ensure full compliance with NCBI's access rules. Source distributions and Windows installers are available from the Biopython website at http://biopython.org. My thanks to all code contributers who made this new release possible. --Michiel on behalf of the Biopython developers From biopython at maubp.freeserve.co.uk Wed Jul 9 13:42:35 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 9 Jul 2008 14:42:35 +0100 Subject: [BioPython] Bio.IntelliGenetics (and the MASE format) In-Reply-To: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> References: <320fb6e00807050752u10c8d8c9s6481238c6b959a2c@mail.gmail.com> Message-ID: <320fb6e00807090642k7edc86d6r2671c251ba163edc@mail.gmail.com> > Dear all, > > We've recently added support for parsing (reading) the IntelliGenetics > sequence file format to Bio.SeqIO, under the format name "ig" > (following the EMBOSS convention). This file format also seems to be > known as the MASE multiple sequence alignment format. > > This means that the old Bio.IntelliGenetics module is essentially > obsolete, and we could therefore deprecate it in a future Biopython > release. Before we do that, is anyone using the Bio.IntelliGenetics > module? Hopefully using Bio.SeqIO will a suitable substitute for you, > but please do get in touch. The Bio.IntelliGenetics module is now deprecated in CVS. If anyone is using this code please get in touch. > More generally, do any of you currently use the IntelliGenetics or > MASE file format? I'd love to have a few more example files to use in > our test suite. Also, would you be interested in using Bio.SeqIO to > write out files in this format? Thanks again, Peter From dalloliogm at gmail.com Fri Jul 11 14:35:28 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 11 Jul 2008 16:35:28 +0200 Subject: [BioPython] proposal: Bio-Django project Message-ID: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> Hi, Recently I have been using Django[1], a python web framework that enables programmers to quickly create front-ends and web applications for databases. I think it is very cool. In a few minutes, I have been able to create a database for my data, and thanks to the admin application I have a nice and well-developed front-end to browse and manage it. I am still looking at it, but I see there are many applications freely available, so maybe I will be easily be able to create graphs and diagrams of my data when I will look better at it. My idea is: Why don't we create a repository of free/bioinfo apps for django, like biopython is? Has any of you already used django for bioinformatics purposes? For example, I am writing an app to manage blood samples for the laboratory where I am working on at the moment, and I will be glad to share it with other people. What do you think? [1] http://www.djangoproject.com/ -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From dalloliogm at gmail.com Fri Jul 11 15:25:56 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 11 Jul 2008 17:25:56 +0200 Subject: [BioPython] proposal: Bio-Django project In-Reply-To: <1215787800.4877731897957@webmail.upv.es> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> <1215787800.4877731897957@webmail.upv.es> Message-ID: <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> Of course I can show you the application I am writing. I was thinking of applying to a google/summer of code. Let's propose a few web applications that could be useful to researcher or bioinformaticists, and ask google to fund it. Maybe if any of the core biopython developers, who have experience in handling a public repository for bioinformaticians, and are good programmers, would like to partecipate as mentors, it would be a great opportunity to learn django*, and obtain the google T shirt. * or plone, they told me there is a similar project for plone: http://plone.org/products/plone4bio/?searchterm=plone4bio On Fri, Jul 11, 2008 at 4:50 PM, Blanca Postigo Jose Miguel wrote: > Hi: > I'm not yet using Django, but I'm reading a couple of books and doing tutorials. > I like a lot this web framework and I'm planning to use it. > Your suggestion seems great for me. > Also it would be great to take a look at your blood samples application, my wife > works managing blood samples and I'm sure she would review it with pleasure. > Best regards, > > Jose Blanca > > Mensaje citado por Giovanni Marco Dall'Olio : > >> Hi, >> Recently I have been using Django[1], a python web framework that >> enables programmers to quickly create front-ends and web applications >> for databases. >> >> I think it is very cool. In a few minutes, I have been able to create >> a database for my data, and thanks to the admin application I have a >> nice and well-developed front-end to browse and manage it. >> I am still looking at it, but I see there are many applications freely >> available, so maybe I will be easily be able to create graphs and >> diagrams of my data when I will look better at it. >> >> My idea is: Why don't we create a repository of free/bioinfo apps for >> django, like biopython is? Has any of you already used django for >> bioinformatics purposes? >> >> For example, I am writing an app to manage blood samples for the >> laboratory where I am working on at the moment, and I will be glad to >> share it with other people. >> >> What do you think? >> >> >> [1] http://www.djangoproject.com/ >> >> -- >> ----------------------------------------------------------- >> >> My Blog on Bioinformatics (italian): http://bioinfoblog.it >> _______________________________________________ >> BioPython mailing list - BioPython at lists.open-bio.org >> http://lists.open-bio.org/mailman/listinfo/biopython >> > > > -- > > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From m at pavis.biodec.com Fri Jul 11 15:45:17 2008 From: m at pavis.biodec.com (m at pavis.biodec.com) Date: Fri, 11 Jul 2008 17:45:17 +0200 Subject: [BioPython] proposal: Bio-Django project In-Reply-To: <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> <1215787800.4877731897957@webmail.upv.es> <5aa3b3570807110825r714ec06cw88ded72ea2c82d43@mail.gmail.com> Message-ID: <20080711154517.GD19973@pavis.biodec.com> * Giovanni Marco Dall'Olio (dalloliogm at gmail.com) [080711 17:27]: > > * or plone, they told me there is a similar project for plone: > http://plone.org/products/plone4bio/?searchterm=plone4bio > my company hosts the plone4bio project: in our experience we have found that using an already existing --- and quite active and complete, too --- web content management system has been a good choice YMMV of course, since we have been using plone since 2002, we probably are a little skewed in our choice, but the rationale is that we have found that sooner or later we start to add features like autenthication, user management, workflows, and various sorts of integration and then it is better to have a single robust system, if it is flexible enough clarly, from time to time, you curse the fact that you have to do things `its own way', but we can live with it we have not added anything to the repository since a few months, but we will soon add another predictor, give enough time to engineet it properly ... -- .*. finelli /V\ (/ \) -------------------------------------------------------------- ( ) Linux: Friends dont let friends use Piccolosoffice ^^-^^ -------------------------------------------------------------- Boss: You forgot to assign the result of your map! Hacker: Dang, I'm always forgetting my assignations... Boss: And what's that "goto" doing there?!? Hacker: Er, I guess my finger slipped when I was typing "getservbyport"... Boss: Ah well, accidents will happen. Maybe we should have picked APL. -- Larry Wall in <199710311732.JAA19169 at wall.org> From bsouthey at gmail.com Fri Jul 11 16:10:50 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Fri, 11 Jul 2008 11:10:50 -0500 Subject: [BioPython] [bip] proposal: Bio-Django project In-Reply-To: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> References: <5aa3b3570807110735g5f8ce560y12aa0e302db1703e@mail.gmail.com> Message-ID: <4877860A.1020305@gmail.com> Giovanni Marco Dall'Olio wrote: > Hi, > Recently I have been using Django[1], a python web framework that > enables programmers to quickly create front-ends and web applications > for databases. > > I think it is very cool. In a few minutes, I have been able to create > a database for my data, and thanks to the admin application I have a > nice and well-developed front-end to browse and manage it. > I am still looking at it, but I see there are many applications freely > available, so maybe I will be easily be able to create graphs and > diagrams of my data when I will look better at it. > > My idea is: Why don't we create a repository of free/bioinfo apps for > django, like biopython is? Has any of you already used django for > bioinformatics purposes? > > For example, I am writing an app to manage blood samples for the > laboratory where I am working on at the moment, and I will be glad to > share it with other people. > > What do you think? > > > [1] http://www.djangoproject.com/ > > Sure there are many Python-based model-viewer-control (MVC) frameworks (Django is just one of them) BUT what exactly do you propose to do? In particular, how will it differ from plone4bio (http://www.plone4bio.org ) that was announced on BioPython by Ivan Rossi back in February? Do you plan something as extensive as the Biology Workbench or Next Generation Biology Workbench? Or something like Geneious (http://www.geneious.com/)? Or just a simple interface to BioPython or similar bioinformstics tools? Regards Bruce From peter at maubp.freeserve.co.uk Sat Jul 12 13:08:25 2008 From: peter at maubp.freeserve.co.uk (Peter) Date: Sat, 12 Jul 2008 14:08:25 +0100 Subject: [BioPython] Bio.AlignIO and the Alignment object Message-ID: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> Now that Biopython 1.47 is out, I hope some of you have had a chance to try out the new Bio.AlignIO module. Let me just point out that this is all talking about multiple sequence alignments where each (gapped) sequence is the same length, and the data can be seen as a matrix or grid of letters. I am not talking about the related concept of an EST or contig alignment which doesn't really fit this image (although it could if you add large leading and trailing gap sequences). We've had some useful feedback from Sebastian Bassi, leading me to suspect that both the Bio.SeqIO and Bio.AlignIO input functions would benefit from an optional alphabet argument for all those file formats which do not declare the sequence type (enhancement bug 2443). http://bugzilla.open-bio.org/show_bug.cgi?id=2443 Any other issues or questions about using the new Bio.AlignIO module? I've tried to explain how to use it in the Tutorial (Chapter 5). http://biopython.org/DIST/docs/tutorial/Tutorial.html Any "beginners questions" on the mailing list would be useful for pointing out how the documentation could be improved. This would also be useful for the wiki page which is currently a little empty - I didn't want to just cut and past the examples from the main tutorial. http://biopython.org/wiki/AlignIO I'd also like to hear if there are any alignment file formats you think Bio.AlignIO should support. Finally, it would be great to also have some comments about the Alignment object itself. In particular we have some ideas on Bug 1944 for making it act more like an array of letters by supporting double indexing like a Numeric or numpy array/matrix class. Right now, the next little step I want to implement is allowing access to the rows of the alignment as SeqRecord objects using alignment[index], rather than alignment.get_all_seqs()[index] which I find cumbersome. http://bugzilla.open-bio.org/show_bug.cgi?id=1944 Thanks, Peter From peter at maubp.freeserve.co.uk Sat Jul 12 13:16:32 2008 From: peter at maubp.freeserve.co.uk (Peter) Date: Sat, 12 Jul 2008 14:16:32 +0100 Subject: [BioPython] Bio.AlignIO and the Alignment object In-Reply-To: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> References: <320fb6e00807120608s447605f6k14e67a941135c796@mail.gmail.com> Message-ID: <320fb6e00807120616u208350c2r6313ab6667d27f62@mail.gmail.com> > Finally, it would be great to also have some comments about the > Alignment object itself. In particular we have some ideas on Bug 1944 > for making it act more like an array of letters by supporting double > indexing like a Numeric or numpy array/matrix class. > > Right now, the next little step I want to implement is allowing access to > the rows of the alignment as SeqRecord objects using alignment[index], > rather than alignment.get_all_seqs()[index] which I find cumbersome. > http://bugzilla.open-bio.org/show_bug.cgi?id=1944 Here is a quick example using one of the test input files found in the source code under Test/Clustalw: >>> from Bio import AlignIO >>> alignment = AlignIO.read(open("opuntia.aln"), "clustal") >>> print alignment SingleLetterAlphabet() alignment with 7 rows and 156 columns TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273291|gb|AF191665.1|AF191 You can iterate over the rows as SeqRecord objects: >>> for record in alignment : ... print "%s length %i" % (record.id, len(record)) gi|6273285|gb|AF191659.1|AF191 length 156 gi|6273284|gb|AF191658.1|AF191 length 156 gi|6273287|gb|AF191661.1|AF191 length 156 gi|6273286|gb|AF191660.1|AF191 length 156 gi|6273290|gb|AF191664.1|AF191 length 156 gi|6273289|gb|AF191663.1|AF191 length 156 gi|6273291|gb|AF191665.1|AF191 length 156 Right now (Biopython 1.47) to get a particular row out as a SeqRecord you must use the get_all_seqs() function: >>> record = alignment.get_all_seqs()[3] >>> print record.id gi|6273286|gb|AF191660.1|AF191 I'd like to be able to do this instead: >>> record = alignment[3] >>> print record This would render the get_all_seqs() function effectively obsolete, and it could be deprecated in a later release. Peter From allank at sanbi.ac.za Tue Jul 15 12:25:42 2008 From: allank at sanbi.ac.za (Allan Kamau) Date: Tue, 15 Jul 2008 14:25:42 +0200 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date Message-ID: <487C9746.2090807@sanbi.ac.za> Hi all, Am attempting to install biopython-1.47. I have installed the prerequisites for biopython including numpy (http://numpy.sourceforge.net/). When I run setup.py build, i get the message below. I am sure I have installed numpy correctly as I can do "python -c 'import numpy; numpy.test()';" and not receive an error. I think Numerical Python package had a name change some time ago from "Numeric" to "numpy" (meaning that import Numeric will more probably fail) What can I do? "*** Numerical Python *** is either not installed or out of date. This package is optional, which means it is only used in a few specialized modules in Biopython. You probably don't need this if you are unsure. You can ignore this requirement, and install it later if you see ImportErrors. You can find Numerical Python at http://numpy.sourceforge.net/. Do you want to continue this installation? (Y/n) n " From biopython at maubp.freeserve.co.uk Tue Jul 15 13:04:28 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 15 Jul 2008 14:04:28 +0100 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date In-Reply-To: <487C9746.2090807@sanbi.ac.za> References: <487C9746.2090807@sanbi.ac.za> Message-ID: <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> On Tue, Jul 15, 2008 at 1:25 PM, Allan Kamau wrote: > Hi all, > Am attempting to install biopython-1.47. > I have installed the prerequisites for biopython including numpy > (http://numpy.sourceforge.net/). We don't use numpy, we use the older Numeric library. You need to install that (you can have both installed without a problem). Which instructions were you following? We have tried to make this clear on http://biopython.org/wiki/Download and in http://biopython.org/DIST/docs/install/Installation.html (and its PDF equivalent). Thanks, Peter From allank at sanbi.ac.za Tue Jul 15 13:37:44 2008 From: allank at sanbi.ac.za (Allan Kamau) Date: Tue, 15 Jul 2008 15:37:44 +0200 Subject: [BioPython] Install issues - *** Numerical Python *** is either not installed or out of date In-Reply-To: <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> References: <487C9746.2090807@sanbi.ac.za> <320fb6e00807150604t206a8586w7a7ba91f2456fa8@mail.gmail.com> Message-ID: <487CA828.8010404@sanbi.ac.za> Thank you Peter. I did follow your instructions and installed the Numeric library. All is well now. Allan. Peter wrote: > On Tue, Jul 15, 2008 at 1:25 PM, Allan Kamau wrote: > >> Hi all, >> Am attempting to install biopython-1.47. >> I have installed the prerequisites for biopython including numpy >> (http://numpy.sourceforge.net/). >> > > We don't use numpy, we use the older Numeric library. You need to > install that (you can have both installed without a problem). > > Which instructions were you following? We have tried to make this > clear on http://biopython.org/wiki/Download and in > http://biopython.org/DIST/docs/install/Installation.html (and its PDF > equivalent). > > Thanks, > > Peter > From biopython at maubp.freeserve.co.uk Tue Jul 15 21:15:15 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 15 Jul 2008 22:15:15 +0100 Subject: [BioPython] Trying to transcribe RNA = error? Message-ID: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Now that the latest release is out, I wanted to return to a point raised by Sebastian Bassi last month: Do people agree that the Bio.Seq.transcibe() method should reject RNA sequences? We already reject Seq objects with a protein alphabet. I want to accept Seq objects with a generic or nucleotide alphabet, and sequences with a DNA alphabet are of course fine, but I had been on the fence about trying to (re)transcribe RNA. Unless anyone speaks up, I will side with Sebastian and add a check to the Bio.Seq.transcibe() method to reject RNA sequences, and a similar check on the Bio.Seq.back_transcibe() method to reject DNA sequences. Peter From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 22:53:14 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 00:53:14 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Message-ID: <487D2A5A.1000305@ribosome.natur.cuni.cz> I agree but it should require whether a plus or minus strand will be transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still somewhat artificial function. What would be really meaningful if the object would be a genbank record with introns and transcribe() would rip out all the introns or even better allow me to choose which-ones to splice-out. Like to retain exons 1, 5, 7. ;-) Martin Peter wrote: > Now that the latest release is out, I wanted to return to a point > raised by Sebastian Bassi last month: > > Do people agree that the Bio.Seq.transcibe() method should reject RNA sequences? > > We already reject Seq objects with a protein alphabet. I want to > accept Seq objects with a generic or nucleotide alphabet, and > sequences with a DNA alphabet are of course fine, but I had been on > the fence about trying to (re)transcribe RNA. > > Unless anyone speaks up, I will side with Sebastian and add a check to > the Bio.Seq.transcibe() method to reject RNA sequences, and a similar > check on the Bio.Seq.back_transcibe() method to reject DNA sequences. From biopython at maubp.freeserve.co.uk Tue Jul 15 23:13:43 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 00:13:43 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D2A5A.1000305@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> On Tue, Jul 15, 2008 at 11:53 PM, Martin MOKREJ? wrote: > I agree but it should require whether a plus or minus strand will be > transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still > somewhat artificial function. By convention a DNA sequence is taken as the coding strand, so a simple U to T is enough to transcibe to RNA. This is somewhat artificial (and doesn't really capture double strandedness), but does seem to be a widley used convention. You could do my_seq.reverse_complement().transcribe() if you did want the other strand transcribed. > What would be really meaningful if the object would be a genbank record > with introns and transcribe() would rip out all the introns or even > better allow me to choose which-ones to splice-out. Like to retain > exons 1, 5, 7. I was thinking it would be nice to take a SeqRecord with SeqFeatures (i.e. a parsed GenBank file) and ask Biopython to give you the nucleotide sequence for the feature. In the case of intron/exons these are held using the subfeatures, so it would make sense to obey those. I see this as a variation on splicing/subsetting (in python speak) a sequence. Maybe something like my_record[my_feature] or my_record.extract_feature(my_feature) Or my_record.extract_feature(i) which would refer to my_record.features[i] Peter From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 23:32:48 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 01:32:48 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> Message-ID: <487D33A0.5060804@ribosome.natur.cuni.cz> Hi, Peter wrote: > On Tue, Jul 15, 2008 at 11:53 PM, Martin MOKREJ? > wrote: >> I agree but it should require whether a plus or minus strand will be >> transcribed. Otherwise, zapping 'U's with 'T's is enough. ;-) Still >> somewhat artificial function. > > By convention a DNA sequence is taken as the coding strand, so a > simple U to T is enough to transcribe to RNA. This is somewhat > artificial (and doesn't really capture double strandedness), but does > seem to be a widley used convention. I can't say anything else except that this is extremely awkward function. I would always rather take it as a string and replace 'U's with 'T's myself. Then I know what is going on and do not have to read the manual and can be sure this will never change. > > You could do my_seq.reverse_complement().transcribe() if you did want > the other strand transcribed. Exactly, to get rid of this I would see some advantage to have transcribe() which is more intuitive but only if it would be able to cope with reverse strand as well. >> What would be really meaningful if the object would be a genbank record >> with introns and transcribe() would rip out all the introns or even >> better allow me to choose which-ones to splice-out. Like to retain >> exons 1, 5, 7. > > I was thinking it would be nice to take a SeqRecord with SeqFeatures > (i.e. a parsed GenBank file) and ask Biopython to give you the > nucleotide sequence for the feature. In the case of intron/exons > these are held using the subfeatures, so it would make sense to obey > those. I see this as a variation on splicing/subsetting (in python > speak) a sequence. Personally I find this the only reason to justify existence of such a function. It it can abstract me from the underlying format and give me a true, spliced transcript. Of course I would rather prefer to raise an exception if there would be more than one intron and I would have not specified which intron index-positions to use. > > Maybe something like my_record[my_feature] or > my_record.extract_feature(my_feature) > Or my_record.extract_feature(i) which would refer to my_record.features[i] I am not much used to biopython coding style so cannot comment on this. Again, I would never use a unknown function prone to be changed unless I cannot code the simple transformation myself. If it cannot handle splicing I don't need it I think. But maybe I am just a desperate user. ;-) M. From mmokrejs at ribosome.natur.cuni.cz Tue Jul 15 23:57:16 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 01:57:16 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D33A0.5060804@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> Message-ID: <487D395C.7080103@ribosome.natur.cuni.cz> Martin MOKREJ? wrote: >>> What would be really meaningful if the object would be a genbank record >>> with introns and transcribe() would rip out all the introns or even >>> better allow me to choose which-ones to splice-out. Like to retain >>> exons 1, 5, 7. >> >> I was thinking it would be nice to take a SeqRecord with SeqFeatures >> (i.e. a parsed GenBank file) and ask Biopython to give you the >> nucleotide sequence for the feature. In the case of intron/exons >> these are held using the subfeatures, so it would make sense to obey >> those. I see this as a variation on splicing/subsetting (in python >> speak) a sequence. > > Personally I find this the only reason to justify existence of such > a function. It it can abstract me from the underlying format and give --------------^^ If > me a true, spliced transcript. Of course I would rather prefer to raise > an exception if there would be more than one intron and I would have > not specified which intron index-positions to use. ----------------------^^^^^^ exon Sorry for the typos. From biopython at maubp.freeserve.co.uk Wed Jul 16 10:38:36 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 11:38:36 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> Message-ID: <320fb6e00807160338ub5dc2dayf0c3b51ad768af69@mail.gmail.com> I wrote: > Unless anyone speaks up, I will side with Sebastian and add a check to > the Bio.Seq.transcibe() method to reject RNA sequences, and a similar > check on the Bio.Seq.back_transcibe() method to reject DNA sequences. This change is now in CVS, Bio/Seq.py revision 1.13 Peter From p.j.a.cock at googlemail.com Wed Jul 16 11:08:44 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 16 Jul 2008 12:08:44 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487D33A0.5060804@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> I wrote: >> You could do my_seq.reverse_complement().transcribe() if you did want >> the other strand transcribed. Actually right now the Seq object doesn't have a transcribe method (but I think maybe it should, see Bug 2381). In the meantime, you would have to use either of these: from Bio.Seq import transcribe, reverse_complement print transcribe(reverse_complement(my_seq)) print transcribe(my_seq.reverse_complement()) Martin wrote: > Exactly, to get rid of this I would see some advantage to have > transcribe() which is more intuitive but only if it would be able to cope > with reverse strand as well. You would really prefer a single function call to do a combined "transcribe reverse-complement" or "transcribe the other strand" over doing the reverse complement and transcription in two steps? e.g. print transcribe(my_seq, use_reverse_complement=True) or, print transcribe(my_seq, strand=-1) or, maybe: print transcribe_rc(my_seq) Peter From mmokrejs at ribosome.natur.cuni.cz Wed Jul 16 13:20:48 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 15:20:48 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> Message-ID: <487DF5B0.1050000@ribosome.natur.cuni.cz> Peter Cock wrote: > I wrote: >>> You could do my_seq.reverse_complement().transcribe() if you did want >>> the other strand transcribed. > > Actually right now the Seq object doesn't have a transcribe method > (but I think maybe it should, see Bug 2381). In the meantime, you > would have to use either of these: > > from Bio.Seq import transcribe, reverse_complement > print transcribe(reverse_complement(my_seq)) > print transcribe(my_seq.reverse_complement()) > > Martin wrote: >> Exactly, to get rid of this I would see some advantage to have >> transcribe() which is more intuitive but only if it would be able to cope >> with reverse strand as well. > > You would really prefer a single function call to do a combined > "transcribe reverse-complement" or "transcribe the other strand" over > doing the reverse complement and transcription in two steps? Yes, a single function handling arguments would be nice. > > e.g. > print transcribe(my_seq, use_reverse_complement=True) > > or, > print transcribe(my_seq, strand=-1) > > or, maybe: > print transcribe_rc(my_seq) This one handling optional argument strand with default value -1, but accepting [-1, 1, +1, 'watson', 'crick']. Ideally extended in the future to splice-out the single intron by default or raise an exception unless told to remove introns a,c,d,e or maybe instructed to keep specific exons ... I am not sure what one would need more often. I haven't checked but guess that GenBank files have more often annotated introns and the exon region are more deeply buried in the file structure so probably the first would impose less work onto the parser. Martin From biopython at maubp.freeserve.co.uk Wed Jul 16 14:37:43 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 16 Jul 2008 15:37:43 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487DF5B0.1050000@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> I asked Martin: >> You would really prefer a single function call to do a combined >> "transcribe reverse-complement" or "transcribe the other strand" over >> doing the reverse complement and transcription in two steps? Martin wrote: > Yes, a single function handling arguments would be nice. > ... > This one handling optional argument strand with default value -1, > but accepting [-1, 1, +1, 'watson', 'crick']. No. The default would have to be the coding strand (aka strand +1, or the Crick strand). I know that biologically translation works on the template strand (aka strand -1, or the Watson strand), but that is not the convention in computational biology (at least in Biopython). In case we are talking at cross-purposes, consider this double stranded bit of DNA, 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' 3' TACCCTTTCCATCCCGTTCGAAGGTCAATC 5' and associated mRNA, 5' AUGGGAAAGGUAGGGCAAGCUUCCAGUUAG 3' This DNA made up of two strands, which by convention are always read from the 5' end to the 3' end. i.e. DNA coding strand (aka Crick strand, strand +1): 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' DNA template strand (aka Watson strand, strand -1): 5' CTAACTGGAAGCTTGCCCTACCTTTCCCAT 3' If this region were to be transcribed into mRNA and translated it would give: protein, MGKVGQASS (and stop) In Bioinformatics in general, people tend to work with the coding strand rather than the template strand. In Biopython using strings you could represent all this as follows: from Bio.Seq import reverse_complement, translate, transcribe, back_transcribe coding_strand_dna = "ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG" template_strand_dna = reverse_complement(coding_strand_dna) assert template_strand_dna == "CTAACTGGAAGCTTGCCCTACCTTTCCCAT" assert coding_strand_dna == reverse_complement(template_strand_dna) #Note transcribe() goes from the CODING strand to the mRNA messenger_rna = transcribe(coding_strand_dna) assert coding_strand_dna == back_transcribe(messenger_rna) protein = translate(messenger_rna) #Note you can also use translate() directly on the CODING strand: assert protein == translate(coding_strand_dna) assert protein == translate(reverse_complement(template_strand_dna)) assert protein == "MGKVGQASS*" If that makes things clearer, maybe I should put something like this in the Biopython tutorial... and/or the Bio.Seq docstring documentation? What do you think? Peter From mmokrejs at ribosome.natur.cuni.cz Wed Jul 16 21:50:37 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Wed, 16 Jul 2008 23:50:37 +0200 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> Message-ID: <487E6D2D.70104@ribosome.natur.cuni.cz> Hi Peter, thank you for nice explanation. Definitely pasting the text&code from your answer into BioPython Wiki or Tutorial would be sufficient and should be there. Regarding the issue with transcribing coding strand ... probably you have convinced me. ;-) I agree that one usually has annotated sequence in GenBank format with annotated introns and wants to concatenate some exons and get it translated. From this perspective it does not make sense to un-necessarily reverse-complement the sequence. Martin Peter wrote: > I asked Martin: >>> You would really prefer a single function call to do a combined >>> "transcribe reverse-complement" or "transcribe the other strand" over >>> doing the reverse complement and transcription in two steps? > > Martin wrote: >> Yes, a single function handling arguments would be nice. >> ... >> This one handling optional argument strand with default value -1, >> but accepting [-1, 1, +1, 'watson', 'crick']. > > No. The default would have to be the coding strand (aka strand +1, or > the Crick strand). I know that biologically translation works on the > template strand (aka strand -1, or the Watson strand), but that is not > the convention in computational biology (at least in Biopython). > > In case we are talking at cross-purposes, consider this double > stranded bit of DNA, > > 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' > 3' TACCCTTTCCATCCCGTTCGAAGGTCAATC 5' > > and associated mRNA, > 5' AUGGGAAAGGUAGGGCAAGCUUCCAGUUAG 3' > > This DNA made up of two strands, which by convention are always read > from the 5' end to the 3' end. i.e. > > DNA coding strand (aka Crick strand, strand +1): > 5' ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG 3' > > DNA template strand (aka Watson strand, strand -1): > 5' CTAACTGGAAGCTTGCCCTACCTTTCCCAT 3' > > If this region were to be transcribed into mRNA and translated it would give: > > protein, > MGKVGQASS (and stop) > > In Bioinformatics in general, people tend to work with the coding > strand rather than the template strand. In Biopython using strings > you could represent all this as follows: > > from Bio.Seq import reverse_complement, translate, transcribe, back_transcribe > > coding_strand_dna = "ATGGGAAAGGTAGGGCAAGCTTCCAGTTAG" > template_strand_dna = reverse_complement(coding_strand_dna) > assert template_strand_dna == "CTAACTGGAAGCTTGCCCTACCTTTCCCAT" > assert coding_strand_dna == reverse_complement(template_strand_dna) > > #Note transcribe() goes from the CODING strand to the mRNA > messenger_rna = transcribe(coding_strand_dna) > assert coding_strand_dna == back_transcribe(messenger_rna) > > protein = translate(messenger_rna) > #Note you can also use translate() directly on the CODING strand: > assert protein == translate(coding_strand_dna) > assert protein == translate(reverse_complement(template_strand_dna)) > assert protein == "MGKVGQASS*" > > If that makes things clearer, maybe I should put something like this > in the Biopython tutorial... and/or the Bio.Seq docstring > documentation? What do you think? > > Peter > > -- Dr. Martin Mokrejs Dept. of Genetics and Microbiology Faculty of Science, Charles University Vinicna 5, 128 43 Prague, Czech Republic tel: +420-2-2195 1716 http://www.iresite.org http://www.iresite.org/~mmokrejs From biopython at maubp.freeserve.co.uk Thu Jul 17 13:56:05 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Thu, 17 Jul 2008 14:56:05 +0100 Subject: [BioPython] Trying to transcribe RNA = error? In-Reply-To: <487E6D2D.70104@ribosome.natur.cuni.cz> References: <320fb6e00807151415r6110c4dfs4ef2b74e9b64495a@mail.gmail.com> <487D2A5A.1000305@ribosome.natur.cuni.cz> <320fb6e00807151613u35024f30p731a5bd22a8987fe@mail.gmail.com> <487D33A0.5060804@ribosome.natur.cuni.cz> <320fb6e00807160408h5754b780jd72a5c39dabe5e11@mail.gmail.com> <487DF5B0.1050000@ribosome.natur.cuni.cz> <320fb6e00807160737v5b6a18d6n78986412c8abaad@mail.gmail.com> <487E6D2D.70104@ribosome.natur.cuni.cz> Message-ID: <320fb6e00807170656m2040d17fsdc3cd0b8ca519315@mail.gmail.com> Martin MOKREJ? wrote: > Hi Peter, > thank you for nice explanation. Definitely pasting the text&code from > your answer into BioPython Wiki or Tutorial would be sufficient and > should be there. I've added something similar to the tutorial in CVS, but using Seq objects instead of strings. Peter From dalloliogm at gmail.com Fri Jul 18 13:20:48 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 18 Jul 2008 15:20:48 +0200 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki Message-ID: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> Hi, I have two things to say. First, I have added instructions on how to install biopython with easy_install to the biopython wiki: - http://biopython.org/wiki/Download#Easy_Install for those of you who don't know what easy_install is, it's a nice way to install python packages on the fly, something similar to perl -MCPAN. Can you please check whether the easy_install installation works fine for you too? Second, I was trying to install biopython 1.47 using the tar/zip archives on http://biopython.org/DIST/biopython-1.47.tar.gz There it seems to be a problem with the installation; after running sudo python setup.py install, I receive the following error: Would you like to build Bio.KDTree ? (y/N) running build running build_py running build_ext building 'Bio.clistfns' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c Bio/clistfnsmodule.c -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory Bio/clistfnsmodule.c:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token Bio/clistfnsmodule.c:80: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token Bio/clistfnsmodule.c:146: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'clistfnsMethods' Bio/clistfnsmodule.c: In function 'initclistfns': Bio/clistfnsmodule.c:160: warning: implicit declaration of function 'Py_InitModule3' Bio/clistfnsmodule.c:160: error: 'clistfnsMethods' undeclared (first use in this function) Bio/clistfnsmodule.c:160: error: (Each undeclared identifier is reported only once Bio/clistfnsmodule.c:160: error: for each function it appears in.) error: command 'gcc' failed with exit status 1 It seems a file Python.h is missing or mispelled. Con you confirm that? Cheers -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Fri Jul 18 13:36:25 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Fri, 18 Jul 2008 14:36:25 +0100 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki In-Reply-To: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> References: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> Message-ID: <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> Giovanni Marco Dall'Olio wrote: > Second, I was trying to install biopython 1.47 using the tar/zip archives on > http://biopython.org/DIST/biopython-1.47.tar.gz > > There it seems to be a problem with the installation; after running sudo > python setup.py install, I receive the following error: > > Would you like to build Bio.KDTree ? (y/N) > running build > running build_py > running build_ext > building 'Bio.clistfns' extension > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c Bio/clistfnsmodule.c > -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o > Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory > ... > > It seems a file Python.h is missing or mispelled. > Can you confirm that? You are probably missing the python header files - you didn't say what OS you are using but from the path names its some form of Unix I think. Under Debian Linux you can use apt-get to install the build dependencies of the Biopython package, and then install the latest Biopython from source (specifically I think you are missing the equivalent of the Debian python-dev package). Peter From dalloliogm at gmail.com Fri Jul 18 13:48:52 2008 From: dalloliogm at gmail.com (Giovanni Marco Dall'Olio) Date: Fri, 18 Jul 2008 15:48:52 +0200 Subject: [BioPython] biopython 1.47 installation fails - and modified how to install instructions on wiki In-Reply-To: <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> References: <5aa3b3570807180620o224f4d53q812d15297a49d92e@mail.gmail.com> <320fb6e00807180636y4d1b819dgd4ad68aa81178b39@mail.gmail.com> Message-ID: <5aa3b3570807180648q292bb750u60197af8daffb493@mail.gmail.com> On Fri, Jul 18, 2008 at 3:36 PM, Peter wrote: > Giovanni Marco Dall'Olio wrote: > > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > > -Wstrict-prototypes -fPIC -I/usr/include/python2.5 -c > Bio/clistfnsmodule.c > > -o build/temp.linux-i686-2.5/Bio/clistfnsmodule.o > > Bio/clistfnsmodule.c:10:20: error: Python.h: No such file or directory > > ... > > You are probably missing the python header files - you didn't say what > OS you are using but from the path names its some form of Unix I > think. Under Debian Linux you can use apt-get to install the build > dependencies of the Biopython package, and then install the latest > Biopython from source (specifically I think you are missing the > equivalent of the Debian python-dev package). > it's true! I was missing the python-dev package. Now the compilation goes well. Thanks! > > Peter > -- ----------------------------------------------------------- My Blog on Bioinformatics (italian): http://bioinfoblog.it From biopython at maubp.freeserve.co.uk Mon Jul 21 15:42:56 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Mon, 21 Jul 2008 16:42:56 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN Message-ID: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> Dear all, I've recently filed Bug 2547 about changing the behaviour of Bio.Seq.translate() when given ambiguous codons like NNN or TAN which could be either an amino acid OR a stop codon. http://bugzilla.open-bio.org/show_bug.cgi?id=2547 In my opinion it would be nice if there was an established convention for how to represent an ambiguous character meaning {X or stop}, for the TAN example even {Y or stop}. However, as far as I am aware, people just use X to mean any amino acid OR a stop codon. This is the behaviour in both the EMBOSS transeq tool and in BioPerl. I am proposing to change Bio.Seq.translate() be able to translate codons like NNN and TAN as X (rather than throwing a translation error as happens now). Comments please? [Any implementation suggestions on the development mailing list please.] Peter From bsouthey at gmail.com Mon Jul 21 19:23:34 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Mon, 21 Jul 2008 14:23:34 -0500 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> Message-ID: <4884E236.1090605@gmail.com> Peter wrote: > Dear all, > > I've recently filed Bug 2547 about changing the behaviour of > Bio.Seq.translate() when given ambiguous codons like NNN or TAN which > could be either an amino acid OR a stop codon. > > http://bugzilla.open-bio.org/show_bug.cgi?id=2547 > > In my opinion it would be nice if there was an established convention > for how to represent an ambiguous character meaning {X or stop}, for > the TAN example even {Y or stop}. However, as far as I am aware, > people just use X to mean any amino acid OR a stop codon. This is the > behaviour in both the EMBOSS transeq tool and in BioPerl. > > I am proposing to change Bio.Seq.translate() be able to translate > codons like NNN and TAN as X (rather than throwing a translation error > as happens now). > > Comments please? > > [Any implementation suggestions on the development mailing list please.] > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython > > The relevant document here is the IUPAC 'Nomenclature for Incompletely Specified Bases in Nucleic Acid Sequences' (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). Table 4 provides some examples such as showing the correspondence between the triplet 'NNN' and the amino acid 'Unknown' with one letter code 'X'. Consequently, here must also be a correspondence between triplet 'TAN' (or any other related triplet for that matter) and the amino acid 'X' because the triple 'NNN' must also include the stop codons which have no corresponding amino acid (okay ignoring selenocysteine etc.). Bruce From biopython at maubp.freeserve.co.uk Mon Jul 21 21:04:34 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Mon, 21 Jul 2008 22:04:34 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <4884E236.1090605@gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> Message-ID: <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> > The relevant document here is the IUPAC 'Nomenclature for Incompletely > Specified Bases in Nucleic Acid Sequences' > (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). > > Table 4 provides some examples such as showing the correspondence between > the triplet 'NNN' and the amino acid 'Unknown' with one letter code 'X'. > Consequently, here must also be a correspondence between triplet 'TAN' (or > any other related triplet for that matter) and the amino acid 'X' because > the triple 'NNN' must also include the stop codons which have no > corresponding amino acid (okay ignoring selenocysteine etc.). > > Bruce I'd seen that table, but hadn't interpreted it in quite the same way as you seem to have. Table 4 shows a mapping from amino acids to ambiguous codons - but it is not a bijection (it is NOT a reversible mapping). Or to put it another way, Table 4 just shows the narrowest possible ambiguous codon which covers all possible codons for that amino acid (or stop). This does NOT mean that ambiguous codon will allways translate to the given amino acid. Here are two explicit examples to try and explain myself (using a little set notation). In the standard genetic code, stop codons are {TAA, TGA, TAG} = {TAR, TGA} = {TAA, TRA}. If you have to use a single codon, the best you can do is TRR = {TAA, TAG, TGA, TGG} = {stop codons}U{TGG}. Table 4 maps "*" to "TRR". While TRR does cover all the possible stop codons, it also includes a codon for Trp (W). I would NOT want TRR translated as a stop! It codes for a stop or a W. Similarly, for Leucine (L) the possible codons are {TTA, TTG, CTT, CTC, CTA, CTG} = {TTR, CTN}. If you have to use a single codon then YTN covers this - but it also covers CTA and CTG which code for Phe (F). I would NOT want YTN translated as L - it codes for L or F, so would have to be translated as X. So on the basis of Table 4, there is no reason to infer that IUPAC explicitly suggest NNN should be translated as X. Peter From biopython at maubp.freeserve.co.uk Tue Jul 22 08:51:26 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 22 Jul 2008 09:51:26 +0100 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> Message-ID: <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> On Mon, Jul 21, 2008 at 10:04 PM, Peter wrote: >> The relevant document here is the IUPAC 'Nomenclature for Incompletely >> Specified Bases in Nucleic Acid Sequences' >> (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). >> >> Table 4 ... > > I'd seen that table, but hadn't interpreted it in quite the same way > as you seem to have. ... > So on the basis of Table 4, there is no reason to infer that IUPAC > explicitly suggest NNN should be translated as X. Re-reading that, I can be pedantic sometime, can't I? Putting our differences of opinion about exactly what the IUPAC Table 4 is intended to convey, do you agree that Biopython's Bio.Seq.translate() function should turn NNN and TAN into X? Thanks Peter From bsouthey at gmail.com Tue Jul 22 13:20:37 2008 From: bsouthey at gmail.com (Bruce Southey) Date: Tue, 22 Jul 2008 08:20:37 -0500 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> Message-ID: <4885DEA5.8070706@gmail.com> Peter wrote: > On Mon, Jul 21, 2008 at 10:04 PM, Peter wrote: > >>> The relevant document here is the IUPAC 'Nomenclature for Incompletely >>> Specified Bases in Nucleic Acid Sequences' >>> (http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html). >>> >>> Table 4 ... >>> >> I'd seen that table, but hadn't interpreted it in quite the same way >> as you seem to have. ... >> So on the basis of Table 4, there is no reason to infer that IUPAC >> explicitly suggest NNN should be translated as X. >> > > Re-reading that, I can be pedantic sometime, can't I? > Sure, why not? Some one must be pedantic otherwise all these corner cases get missed and lead to bigger problems. > Putting our differences of opinion about exactly what the IUPAC Table > 4 is intended to convey, do you agree that Biopython's > Bio.Seq.translate() function should turn NNN and TAN into X? > > Thanks > > Peter > > Yes because if you accept that 'NNN should be translated as X' then, by the same reasoning, you must also accept 'TAN into X' as well as similar cases. For Biopython, there could a be flag or similar that causes translate() to either return an error for any ambiguous codons or just continues on using 'X'. Bruce From mmokrejs at ribosome.natur.cuni.cz Tue Jul 22 14:04:29 2008 From: mmokrejs at ribosome.natur.cuni.cz (=?UTF-8?B?TWFydGluIE1PS1JFSsWg?=) Date: Tue, 22 Jul 2008 16:04:29 +0200 Subject: [BioPython] Translation of ambiguous codons like NNN and TAN In-Reply-To: <4885DEA5.8070706@gmail.com> References: <320fb6e00807210842m2a800caevf9534755aa897c8f@mail.gmail.com> <4884E236.1090605@gmail.com> <320fb6e00807211404s2888ef7tf39764b7b11faffb@mail.gmail.com> <320fb6e00807220151r20a49511ue61fed8f244bc65@mail.gmail.com> <4885DEA5.8070706@gmail.com> Message-ID: <4885E8ED.3010205@ribosome.natur.cuni.cz> Bruce Southey wrote: >> > Yes because if you accept that 'NNN should be translated as X' then, by > the same reasoning, you must also accept 'TAN into X' as well as similar > cases. > > For Biopython, there could a be flag or similar that causes translate() > to either return an error for any ambiguous codons or just continues on > using 'X'. Yes, I agree as well. When translating ESTs I don't to get my code bailing out due to sequencing errors. But I agree that usually people would like to get an error instead. Martin From biopython at maubp.freeserve.co.uk Tue Jul 22 15:38:36 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Tue, 22 Jul 2008 16:38:36 +0100 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> Message-ID: <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> For any Biopython and Blast users, For some time now we've been discouraging the use of the HTML and plain text Blast parsers in favour of the XML format. I think it would be a good idea to now officially deprecate the HTML parser in Bio.Blast.NCBIWWW with warning messages when it is used. I don't even know if it still works with the recent big revision to the BLAST webpages, but I suspect not. However, the plain text parser in Bio.Blast.NCBIStandalone still has its uses - even if it doesn't support the current BLAST output 100%. In particular, right now the PSI-BLAST output in XML format lacks some of the information found in the plain text output (new vs reused entries) so it would be premature to deprecate our plain text (PSI) BLAST parser. Is anyone still using Biopython to parse the HTML output from BLAST? If so, please speak up. Peter From winter at biotec.tu-dresden.de Wed Jul 23 09:55:23 2008 From: winter at biotec.tu-dresden.de (Christof Winter) Date: Wed, 23 Jul 2008 11:55:23 +0200 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> Message-ID: <4887000B.1070409@biotec.tu-dresden.de> Peter wrote, On 22.07.2008 17:38: > For any Biopython and Blast users, > > For some time now we've been discouraging the use of the HTML > and plain text Blast parsers in favour of the XML format. > > I think it would be a good idea to now officially deprecate the > HTML parser in Bio.Blast.NCBIWWW with warning messages > when it is used. Full ack. Christof From jcigar at ulb.ac.be Wed Jul 23 14:51:21 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 16:51:21 +0200 Subject: [BioPython] blast Message-ID: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Hello list, I'm working on a project (on African rats) which has a "blast" functionnality. In our (PostgreSQL) database sequences are linked to a specimen. The sequence table contains the sequence itself (which is just a text field) and additional things like the accession number (if exists), etc. The idea behind this is that a user can enter a part of DNA and see what kind of specimen (taxonomy) it could be. So I created a FASTA file with all the sequences, and then I used formatdb to be able to BLAST on it. It works quite well, you can see it in action on http://projects.biodiversity.be/africanrodentia/search/dna In the output I use the score attribute to show how close the entered sequence is (is it OK ?). The problem is that the users would prefer a kind of percentage. This is a copy of a mail I received : "Yet I have a question regarding the BLAST function: It works well but the output is unclear. Could one not indicate the % similarity of the ranked sequences versus the pasted sequence instead of te rather enigmatic scores that we see now? Such an output would make the interpretation clearer, particularly in cases where we do not have the sequence of the investigated species. In such a case the species with the most similar sequence will be given as a potential species name, in itself not a problem as long as one knows how different they are (e.g. in rodents wthin species variability approx less <3%, between species differences typically >4%). This provides a direct indication whether the output is likely to be yield a correct species name." I wondered how this "score" is calculated, and if there's already a function to convert it to a percentage ? Otherwise, is it OK to take the hsp.sbjct field as 100% and then compare it to hsp.query ? For example if I have : CCTATTCCTAGCTATACACTACACATCGGACACAACAAC |||||||||||| |||||||||||||||||||||||||| CCTATTCCTAGCCATACACTACACATCGGACACAACAAC The score is shown as "35", is it OK if I do something like : percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') so with my example it will be: (100 / 39) * 38 Many thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From lueck at ipk-gatersleben.de Wed Jul 23 13:17:26 2008 From: lueck at ipk-gatersleben.de (=?UTF-8?Q?Stefanie_L=C3=BCck?=) Date: Wed, 23 Jul 2008 15:17:26 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Message-ID: <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> Hi! I calculated like this for my program (you blast against your own primer stock database and get % match per primers to your query sequence): percent = float(100) * float(hsp.score) / float(alignment.length) Regards Stefanie From p.j.a.cock at googlemail.com Wed Jul 23 13:53:50 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 14:53:50 +0100 Subject: [BioPython] blast In-Reply-To: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> Message-ID: <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> On Wed, Jul 23, 2008 at 3:51 PM, Julien Cigar wrote: > Hello list, > > I'm working on a project (on African rats) which has a "blast" > functionnality. In our (PostgreSQL) database sequences are linked to a > specimen. The sequence table contains the sequence itself (which is just > a text field) and additional things like the accession number (if > exists), etc. > > The idea behind this is that a user can enter a part of DNA and see what > kind of specimen (taxonomy) it could be. > > So I created a FASTA file with all the sequences, and then I used > formatdb to be able to BLAST on it. > > It works quite well, you can see it in action on > http://projects.biodiversity.be/africanrodentia/search/dna > In the output I use the score attribute to show how close the entered > sequence is (is it OK ?). The problem is that the users would prefer a > kind of percentage. This is a copy of a mail I received : It is pretty, but doesn't look like the BLAST output many biologists will be used to, so I think I understand why the want some more information to judge the similarity. > "Yet I have a question regarding the BLAST function: It works well but > the output is unclear. Could one not indicate the % similarity of the > ranked sequences versus the pasted sequence instead of te rather > enigmatic scores that we see now? Such an output would make the > interpretation clearer, particularly in cases where we do not have the > sequence of the investigated species. In such a case the species with > the most similar sequence will be given as a potential species name, in > itself not a problem as long as one knows how different they are (e.g. > in rodents wthin species variability approx less <3%, between species > differences typically >4%). This provides a direct indication whether > the output is likely to be yield a correct species name." I think they are asking for the percentage identify. Another possiblity is the bit-score which should be in the BLAST output as a floating point number (hsp.score). > I wondered how this "score" is calculated, and if there's already a > function to convert it to a percentage ? Otherwise, is it OK to take the > hsp.sbjct field as 100% and then compare it to hsp.query ? > > For example if I have : > > CCTATTCCTAGCTATACACTACACATCGGACACAACAAC > |||||||||||| |||||||||||||||||||||||||| > CCTATTCCTAGCCATACACTACACATCGGACACAACAAC > > The score is shown as "35", is it OK if I do something like : > > percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') > > so with my example it will be: (100 / 39) * 38 To get the percentage identify over the alignment, yes. Watch out for integer division, but because you multiplied by 100.0 it should be fine. I would also go directly from the relevant integer fields (which should be the same). Something like this (assuming you are using the XML parser): assert hsp.identities == hsp.match.count('|') #Only works on nucleotide blasts! assert hsp.align_length == len(hsp.sbjct) assert hsp.align_length == len(hsp.match) assert hsp.align_length == len(hsp.query) percentage_identity = (100.0 * hsp.identities) / hsp.align_length Have you considered actually showing the blast alignment too? Peter From p.j.a.cock at googlemail.com Wed Jul 23 14:05:14 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:05:14 +0100 Subject: [BioPython] blast In-Reply-To: <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> I wrote: > I think they are asking for the percentage identify. Another > possiblity is the bit-score which should be in the BLAST output as a > floating point number (hsp.score). I should have said raw score (hsp.score) or bit score (hsp.bits), both of which might be of interest to your users. Steganie wrote: > Hi! > > I calculated like this for my program (you blast against your own primer > stock database and get % match per primers to your query sequence): > > percent = float(100) * float(hsp.score) / float(alignment.length) > Using hsp.score gives the raw score, which you are then scaling by the length and 100. I'm not sure offhand what you've calculated, but if you want the percentage identity, I think its just the number of identically match letters divided by the alignment length: percentage_identity = (100.0 * hsp.identities) / hsp.align_length In the plain text output BLAST gives this number explicitly, e.g. Identities = 112/146 (76%), Positives = 127/146 (86%), Gaps = 2/146 (1%) There is also hsp.bits which gives the bit score. Peter From p.j.a.cock at googlemail.com Wed Jul 23 14:18:08 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:18:08 +0100 Subject: [BioPython] blast In-Reply-To: <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> Message-ID: <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> > Thanks, I got another formula which seems to work well too (and which > seems cleaner than counting the number of '|') : > > float(100) * float(hsp.score) / float(alignment.length) I don't think that gives you the same thing as the percentage identify (see my other email). >> Have you considered actually showing the blast alignment too? >> > Yes, it's in the output, I just replaced the '|' with a red background > and the ' ' with a green background, so they see directly where it > doesn't match Since the graphical representation of the match/mismatch string is done using the colours red and green, it is useless for anyone who is colour blind. Also the user can't cut and paste the alignment into an email or other document (electronic lab book?), which seems like an obvious thing to want to do. Personally, I would try and keep the output looking more similar to traditional blast, as then its easier to understand (assuming you already know BLAST!). Peter From jcigar at ulb.ac.be Wed Jul 23 16:20:21 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:20:21 +0200 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> Message-ID: <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> On Wed, 2008-07-23 at 14:53 +0100, Peter Cock wrote: > On Wed, Jul 23, 2008 at 3:51 PM, Julien Cigar wrote: > > Hello list, > > > > I'm working on a project (on African rats) which has a "blast" > > functionnality. In our (PostgreSQL) database sequences are linked to a > > specimen. The sequence table contains the sequence itself (which is just > > a text field) and additional things like the accession number (if > > exists), etc. > > > > The idea behind this is that a user can enter a part of DNA and see what > > kind of specimen (taxonomy) it could be. > > > > So I created a FASTA file with all the sequences, and then I used > > formatdb to be able to BLAST on it. > > > > It works quite well, you can see it in action on > > http://projects.biodiversity.be/africanrodentia/search/dna > > In the output I use the score attribute to show how close the entered > > sequence is (is it OK ?). The problem is that the users would prefer a > > kind of percentage. This is a copy of a mail I received : > > It is pretty, but doesn't look like the BLAST output many biologists > will be used to, so I think I understand why the want some more > information to judge the similarity. > Yes, I'm not a biologist, I'm learning on the job .. so that explains it :) (but it's interresting to learn) > > "Yet I have a question regarding the BLAST function: It works well but > > the output is unclear. Could one not indicate the % similarity of the > > ranked sequences versus the pasted sequence instead of te rather > > enigmatic scores that we see now? Such an output would make the > > interpretation clearer, particularly in cases where we do not have the > > sequence of the investigated species. In such a case the species with > > the most similar sequence will be given as a potential species name, in > > itself not a problem as long as one knows how different they are (e.g. > > in rodents wthin species variability approx less <3%, between species > > differences typically >4%). This provides a direct indication whether > > the output is likely to be yield a correct species name." > > I think they are asking for the percentage identify. Another > possiblity is the bit-score which should be in the BLAST output as a > floating point number (hsp.score). > Yes, it's should be that, I forgot to take the alignement length into account. I already showed the bit-score, but apparently it's not too usefull for them. > > I wondered how this "score" is calculated, and if there's already a > > function to convert it to a percentage ? Otherwise, is it OK to take the > > hsp.sbjct field as 100% and then compare it to hsp.query ? > > > > For example if I have : > > > > CCTATTCCTAGCTATACACTACACATCGGACACAACAAC > > |||||||||||| |||||||||||||||||||||||||| > > CCTATTCCTAGCCATACACTACACATCGGACACAACAAC > > > > The score is shown as "35", is it OK if I do something like : > > > > percentage = (100.0 / len(hsp.sbjct)) * hsp.match.count('|') > > > > so with my example it will be: (100 / 39) * 38 > > To get the percentage identify over the alignment, yes. Watch out for > integer division, but because you multiplied by 100.0 it should be > fine. > > I would also go directly from the relevant integer fields (which > should be the same). Something like this (assuming you are using the > XML parser): > > assert hsp.identities == hsp.match.count('|') #Only works on nucleotide blasts! > assert hsp.align_length == len(hsp.sbjct) > assert hsp.align_length == len(hsp.match) > assert hsp.align_length == len(hsp.query) > percentage_identity = (100.0 * hsp.identities) / hsp.align_length > Thanks, I got another formula which seems to work well too (and which seems cleaner than counting the number of '|') : float(100) * float(hsp.score) / float(alignment.length) > Have you considered actually showing the blast alignment too? > Yes, it's in the output, I just replaced the '|' with a red background and the ' ' with a green background, so they see directly where it doesn't match > Peter Thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From lueck at ipk-gatersleben.de Wed Jul 23 14:30:10 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Wed, 23 Jul 2008 16:30:10 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> Message-ID: <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> >Peter wrote: > Using hsp.score gives the raw score, which you are then scaling by the > length and 100. I'm not sure offhand what you've calculated, but if > you want the percentage identity, I think its just the number of > identically match letters divided by the alignment length: > > percentage_identity = (100.0 * hsp.identities) / hsp.align_length I tried and it dosen't work in my case. It's gives me wrong percentage. I need to know at which % my primer match to the query part: query --------taggcctcgcgcgcc------- |||||||||||||||||||||||||||||| primer tagcgctataggcctcgcgcgccatatagc Here 50 %. From jcigar at ulb.ac.be Wed Jul 23 16:46:34 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:46:34 +0200 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230653k289d74e1v550503bac8bc98a8@mail.gmail.com> <1216830021.2612.65.camel@frodon.be-bif.ulb.ac.be> <320fb6e00807230718v4edbe5f1x707ece2608e05582@mail.gmail.com> Message-ID: <1216831594.2612.85.camel@frodon.be-bif.ulb.ac.be> On Wed, 2008-07-23 at 15:18 +0100, Peter Cock wrote: > > Thanks, I got another formula which seems to work well too (and which > > seems cleaner than counting the number of '|') : > > > > float(100) * float(hsp.score) / float(alignment.length) > > I don't think that gives you the same thing as the percentage identify > (see my other email). > Indeed..! (sorry I sended my last mail before reading yours). > >> Have you considered actually showing the blast alignment too? > >> > > Yes, it's in the output, I just replaced the '|' with a red background > > and the ' ' with a green background, so they see directly where it > > doesn't match > > Since the graphical representation of the match/mismatch string is > done using the colours red and green, it is useless for anyone who is > colour blind. > You're right .. I haven't thought about this > Also the user can't cut and paste the alignment into an email or other > document (electronic lab book?), which seems like an obvious thing to > want to do. > > Personally, I would try and keep the output looking more similar to > traditional blast, as then its easier to understand (assuming you > already know BLAST!). > ok, I'll ask them what they prefer. > Peter Thanks, Julien -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Universit? Libre de Bruxelles (ULB) Campus de la Plaine CP 257 B?timent NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entr?e ULB 2 B-1050 Bruxelles Mail: jcigar at ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 From p.j.a.cock at googlemail.com Wed Jul 23 14:49:39 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:49:39 +0100 Subject: [BioPython] blast In-Reply-To: <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> On Wed, Jul 23, 2008 at 3:30 PM, Stefanie L?ck wrote: >>Peter wrote: >> >> Using hsp.score gives the raw score, which you are then scaling by the >> length and 100. I'm not sure offhand what you've calculated, but if >> you want the percentage identity, I think its just the number of >> identically match letters divided by the alignment length: >> >> percentage_identity = (100.0 * hsp.identities) / hsp.align_length > > I tried and it dosen't work in my case. It's gives me wrong percentage. > > I need to know at which % my primer match to the query part: > > > query --------taggcctcgcgcgcc------- > |||||||||||||||||||||||||||||| > primer tagcgctataggcctcgcgcgccatatagc > > Here 50 %. Your query match region has an un-gapped length of 15, and gapped length of 30 Your subject match region has a length of 30 Your query and subject have 15 identical matches The alignment length is 30, therefore 100*15/30 = 50% Using my suggested formula correctly gives the percentage identies relative to the alignment length: percentage_identity = (100.0 * hsp.identities) / hsp.align_length It seems what you want to calculate is 100*15/15 = 100% i.e. The percentage identites relative to the ungapped query length? This would probably work but isn't very elegant: percentage_identity_ref_matched_query = (100.0 * hsp.identities) / (hsp.align_length - hsp.query.count("-")) Or even relative to the full original query? If record is the blast record object that the hsp cam from, percentage_identity_ref_full_query = (100.0 * hsp.identities) / record.query_letters) (For a short query sequence like a probe, these may be the same) Peter From p.j.a.cock at googlemail.com Wed Jul 23 14:54:42 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 15:54:42 +0100 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> Message-ID: <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> >> I need to know at which % my primer match to the query part: >> >> >> query --------taggcctcgcgcgcc------- >> |||||||||||||||||||||||||||||| >> primer tagcgctataggcctcgcgcgccatatagc >> >> Here 50 %. How did you get this example? NCBI Blast doesn't include the leading and trailing gaps (in plain text, XML or HTML), e.g. Features in this part of subject sequence: transcription elongation factor protein, GreA/GreB family Score = 30.2 bits (15), Expect = 39 Identities = 15/15 (100%), Gaps = 0/15 (0%) Strand=Plus/Plus Query 1 TAGGCCTCGCGCGCC 15 ||||||||||||||| Sbjct 2614347 TAGGCCTCGCGCGCC 2614361 Peter From lueck at ipk-gatersleben.de Wed Jul 23 15:20:04 2008 From: lueck at ipk-gatersleben.de (=?iso-8859-1?Q?Stefanie_L=FCck?=) Date: Wed, 23 Jul 2008 17:20:04 +0200 Subject: [BioPython] blast References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> Message-ID: <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> Sorry, I forgot to say that I do the alignment myself. It's was just for demonstration. Yes. I have a 30 bp primer. 15 bp from the primer bind to my query sequence. The percentage would be 50 %. percent = match * 100 / full length primer > percentage_identity = (100.0 * hsp.identities) / hsp.align_length percentage_identity_ref_matched_query = (100.0 * hsp.identities) / (hsp.align_length - hsp.query.count("-")) > Sorry, both give me wrong percentage if I try on my database. Look here, compare alignment and percentage: http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 e.g Hit 13 should give 60 % What you recommend to use instead of hsp.score? Nice quitting time Stefanie From p.j.a.cock at googlemail.com Wed Jul 23 15:36:40 2008 From: p.j.a.cock at googlemail.com (Peter Cock) Date: Wed, 23 Jul 2008 16:36:40 +0100 Subject: [BioPython] blast In-Reply-To: <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> Message-ID: <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> > Sorry, both give me wrong percentage if I try on my database. > > Look here, compare alignment and percentage: > > http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 > > e.g Hit 13 should give 60 % > > What you recommend to use instead of hsp.score? I am assuming you want to parse some BLAST output in order to populate this database. How about something based on this: from Bio.Blast import NCBIXML for record in NCBIXML.parse(open("test.xml")) : print "Query %i length %i" % (record.query_id, record.query_letters) for alignment in record.alignments : for hsp in alignment.hsps : percentage_identities_versus_full_query = (100.0 * hsp.identities) / record.query_letters print " vs %s gives %0.1f%% identities" \ % (alignment.hit_id, percentage_identities_versus_full_query) This uses the fact the the original query length is recorded in the record object as the "query_letters" property (this name was a historical choice based on the plain text blast output). For the example you gave, then then I would expect hsp.identities == 12 (and hsp.alignment_length == 12) while record.query_letters == 60 which will give you the desired output of 60%. Peter From biopython at maubp.freeserve.co.uk Wed Jul 23 22:12:34 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 23 Jul 2008 23:12:34 +0100 Subject: [BioPython] Deprecating Bio.Saf (PredictProtein Simple Alignment Format) Message-ID: <320fb6e00807231512s507d2652jc0f26764a62b01d5@mail.gmail.com> Is anyone using Bio.Saf or PredictProtein's "Simple Alignment Format" (SAF)? Bio.Saf is one of the older parsers in Biopython. It parses the PredictProtein "Simple Alignment Format" (SAF), a fairly free-format multiple sequence alignment file format described here: http://www.predictprotein.org/Dexa/optin_saf.html Potentially we could support this file format within Bio.AlignIO (if there was any demand). However, as far as I can tell, this file format is ONLY used for PredictProtein, and they will accept several other more mainstream alignment file formats as alternatives. Bio.Saf uses Martel for parsing, which is not entirely compatible with mxTextTools 3.0. If we did want to integrate SAF support into Bio.AlignIO it might be best to reimplement the parser in plain python. If no one is using it, I would like to deprecate Bio.Saf in the next release of Biopython. Peter From biopython at maubp.freeserve.co.uk Wed Jul 23 22:29:37 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Wed, 23 Jul 2008 23:29:37 +0100 Subject: [BioPython] Deprecating the HTML parser in Bio.Blast.NCBIWWW In-Reply-To: <4887000B.1070409@biotec.tu-dresden.de> References: <320fb6e00807120645u26321d71q30f72ed5808f700@mail.gmail.com> <320fb6e00807220838x3aae8246w8a6e3108bf6feec8@mail.gmail.com> <4887000B.1070409@biotec.tu-dresden.de> Message-ID: <320fb6e00807231529w5a6d4ee0n9d595234764eea02@mail.gmail.com> Christof Winter wrote: > Peter wrote: >> >> For any Biopython and Blast users, >> >> For some time now we've been discouraging the use of the HTML >> and plain text Blast parsers in favour of the XML format. >> >> I think it would be a good idea to now officially deprecate the >> HTML parser in Bio.Blast.NCBIWWW with warning messages >> when it is used. > > Full ack. > > Christof This is now deprecated in CVS, and I'll update the tutorial shortly. For the next couple of releases of Biopython the parser will still be there, but will now issue a warning message. if you try and use it. If there is anyone out there still using the HTML BLAST parser, it isn't too late to undo this change. Peter From alexl at users.sourceforge.net Thu Jul 24 08:23:21 2008 From: alexl at users.sourceforge.net (Alex Lancaster) Date: Thu, 24 Jul 2008 01:23:21 -0700 Subject: [BioPython] Fedora biopython packages updated for 1.47 Message-ID: Hi there, For all Fedora users, new packages for biopython 1.47 are now available the "updates-testing" repository for F-8 and F-9 To test them out simply run (as root): yum --enablerepo=updates-testing install python-biopython You can provide feedback on packages here: For F-9: https://admin.fedoraproject.org/updates/F9/FEDORA-2008-6235 For F-8: https://admin.fedoraproject.org/updates/F8/FEDORA-2008-6243 (You can leave feedback anonymously, or using your Fedora account name if you happen to be a Fedora contributor) The more positive feedback from testing, the faster the packages can go into the stable "updates" repo (or conversely if there are any problems, they can be fixed before being pushed). Thanks! Alex From matzke at berkeley.edu Fri Jul 25 05:27:55 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Thu, 24 Jul 2008 22:27:55 -0700 Subject: [BioPython] problem installing mxTextTools Message-ID: <4889645B.9080400@berkeley.edu> Hi all, I am trying to install biopython and am carefully following the directions at: http://biopython.org/DIST/docs/install/Installation.html ...as instructed, here are the steps I took: 1. I start by successfully installing Python2.4.4 on my Mac OSX 10.4. I set the environment variable so that Python2.4.4 is the default version of Python at the terminal. 2. Then, as instructed I try to install mxTextTools. Downloaded: egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt ...from here: http://www.egenix.com/products/python/mxBase/ 3. However, none of these (the official instructions, or several alternatives proposed in various online fora) work for installing mxTextTools. Here are the results: 3a. instructions here: http://biopython.org/DIST/docs/install/Installation.html#htoc9 ====================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# python setup.py build running build running mx_autoconf gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o gcc _configtest.o -L/usr/local/lib -L/opt/local/lib -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest success! removing: _configtest.c _configtest.o _configtest gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o success! removing: _configtest.c _configtest.o macros to define: [('HAVE_STRPTIME', '1')] macros to undefine: [] running build_ext building extension "mx.DateTime.mxDateTime.mxDateTime" (required) building 'mx.DateTime.mxDateTime.mxDateTime' extension creating build/temp.macosx-10.3-fat-2.4_ucs2 creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime creating build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c mx/DateTime/mxDateTime/mxDateTime.c -o build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory powerpc-apple-darwin8-gcc-4.0.1: no input files lipo: can't figure out the architecture type of: /var/tmp//cch9pAof.out error: command 'gcc' failed with exit status 1 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt root# ====================== 3b. Instructions here: http://www.egenix.com/products/python/mxBase/ sudo python setup.py install ================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py install running install running build running mx_autoconf gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o gcc _configtest.o -L/usr/local/lib -L/opt/local/lib -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest success! removing: _configtest.c _configtest.o _configtest gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c _configtest.c -o _configtest.o success! removing: _configtest.c _configtest.o macros to define: [('HAVE_STRPTIME', '1')] macros to undefine: [] running build_ext building extension "mx.DateTime.mxDateTime.mxDateTime" (required) building 'mx.DateTime.mxDateTime.mxDateTime' extension gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/usr/local/include -I/opt/local/include -I/Library/Frameworks/Python.framework/Versions/2.4/include -c mx/DateTime/mxDateTime/mxDateTime.c -o build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory i686-apple-darwin8-gcc-4.0.1: no input files powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No such file or directory powerpc-apple-darwin8-gcc-4.0.1: no input files lipo: can't figure out the architecture type of: /var/tmp//ccGUEnk3.out wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ================== 3c. Instructions here: http://www.egenix.com/mailman-archives/egenix-users/2007-October/114291.html sudo python setup.py build --skip install ================ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ python -V Python 2.4.4 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip install running build skipping the build process and reusing the existing build files and data error: build/build-macosx-10.3-fat-py2.4_ucs2.pck: No such file or directory wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ls COPYRIGHT PKG-INFO build installer.bmp mxSetup.pyc wininst.bat LICENSE README egenix_mx_base.py mx setup.cfg MANIFEST bdist_zope.bat egenix_mx_base.pyc mxSetup.py setup.py wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ls ./build build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ ================ 4. Give up and email the biopython list. Help!! Please!! 5. Ask existential questions about why, oh why, all useful software comes with dependencies that you have to compile yourself and which never, ever compile correctly when the instructions are followed even on utterly standard systems like Mac OSX 10.4. Thanks very very much, Nick -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ==================================================== From matzke at berkeley.edu Fri Jul 25 05:46:20 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Thu, 24 Jul 2008 22:46:20 -0700 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <4889645B.9080400@berkeley.edu> References: <4889645B.9080400@berkeley.edu> Message-ID: <488968AC.4000303@berkeley.edu> Hi all, An update -- I found a solution by copying the .pck file the download actually gave me to the filename that the install was apparently looking for. This was not exactly obvious (!!!!) but apparently it worked: ============================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd build wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ ls build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck build-macosx-10.3-fat-py2.4_ucs2.pck wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cd .. wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip installPassword: running build skipping the build process and reusing the existing build files and data restoring build data from a previous build run running install running install_lib running build_ext creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating [...] writing byte-compilation script '/tmp/tmpIfqFr6.py' /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python -O /tmp/tmpIfqFr6.py removing /tmp/tmpIfqFr6.py running install_data wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ more README ============================================================================= eGenix mx Base Distribution for Python ----------------------------------------------------------------------------- Source Installation ------------------- In order to build and install the distribution, run python setup.py install Then change to some other directory and try to import the packages: $ cd ~ $ python Python 2.4.3 (#1, May 9 2007, 00:48:21) [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> print now() 2007-05-30 11:00:03.24 >>> Note that trying this from the installation directory will cause Python to pick up the source tree packages which do not contain the compiled binaries. This will likely fail with strange error messages. Prebuilt Installation --------------------- If you have downloaded a prebuilt distribution archive, the installation is slightly different. You have to run python setup.py build --skip install Then follow the same instructions as for the source installation. Copyrights & Licenses --------------------- The software in this distribution is copyrighted and protected by international, EU and German copyright law. Please see the COPYRIGHT file for details. The software is licensed to you under the eGenix.com Public License as stated in the LICENSE file of the distribution directory. Some subpackages may contain third-party software which is licensed under different conditions. Please see the documentation and/or LICENSE files of the subpackages for details. If in doubt, please check the web-site at http://www.egenix.com or contact sales at egenix.com for more information on copyright, licensing conditions and authorized use. ----------------------------------------------------------------------------- eGenix.com GmbH Pastor-Loeh-Str. 48 D-40764 Langenfeld Germany info at egenix.com wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd .. wright:/bioinformatics/pythonstuff nick$ ls egenix python_notes.rtf egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt wright:/bioinformatics/pythonstuff nick$ python Python 2.4.4 (#1, Oct 18 2006, 10:34:39) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> >>> print now() 2008-07-24 22:39:17.66 >>> ============================== Several hours of my life gone, but yay! Cheers, Nick From matzke at berkeley.edu Fri Jul 25 07:37:15 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Fri, 25 Jul 2008 00:37:15 -0700 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <488968AC.4000303@berkeley.edu> References: <4889645B.9080400@berkeley.edu> <488968AC.4000303@berkeley.edu> Message-ID: <488982AB.8000209@berkeley.edu> Or, even better, version 2 of mxTextTools should be downloaded and used, it installs easily, and is supposed to work better anyway, however you can only find this from this page: http://biopython.org/wiki/Download#Optional_Software http://www.egenix.com/www2002/python/eGenix-mx-Extensions-v2.x.html/ ...but not the "complete instructions" page: http://biopython.org/DIST/docs/install/Installation.html#htoc9 (Sorry if this stuff is annoying but probably someone else naive will have these same problems in the future.) Cheers, Nick Nick Matzke wrote: > Hi all, > > An update -- I found a solution by copying the .pck file the download > actually gave me to the filename that the install was apparently looking > for. This was not exactly obvious (!!!!) but apparently it worked: > > auto-moderator> > > ============================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ cd build > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ ls > build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > temp.darwin-8.11.1-i386-2.3_ucs2 > lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > build-macosx-10.3-fat-py2.4_ucs2.pck > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build > nick$ cd .. > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py build --skip installPassword: > running build > skipping the build process and reusing the existing build files and data > restoring build data from a previous build run > running install > running install_lib > running build_ext > creating > /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx > > copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py > -> > /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx > > creating > > [...] > > writing byte-compilation script '/tmp/tmpIfqFr6.py' > /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python > -O /tmp/tmpIfqFr6.py > removing /tmp/tmpIfqFr6.py > running install_data > > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ more README > ============================================================================= > > eGenix mx Base Distribution for Python > ----------------------------------------------------------------------------- > > > Source Installation > ------------------- > > In order to build and install the distribution, run > > python setup.py install > > Then change to some other directory and try to import the packages: > > $ cd ~ > $ python > Python 2.4.3 (#1, May 9 2007, 00:48:21) > [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> from mx.DateTime import now > >>> print now() > 2007-05-30 11:00:03.24 > >>> > > Note that trying this from the installation directory will cause > Python to pick up the source tree packages which do not contain the > compiled binaries. This will likely fail with strange error messages. > > > Prebuilt Installation > --------------------- > > If you have downloaded a prebuilt distribution archive, the > installation is slightly different. You have to run > > python setup.py build --skip install > > Then follow the same instructions as for the source installation. > > > Copyrights & Licenses > --------------------- > > The software in this distribution is copyrighted and protected by > international, EU and German copyright law. Please see the COPYRIGHT > file for details. > > The software is licensed to you under the eGenix.com Public License as > stated in the LICENSE file of the distribution directory. Some > subpackages may contain third-party software which is licensed under > different conditions. Please see the documentation and/or LICENSE > files of the subpackages for details. > > If in doubt, please check the web-site at http://www.egenix.com or > contact sales at egenix.com for more information on copyright, licensing > conditions and authorized use. > > > ----------------------------------------------------------------------------- > > eGenix.com GmbH > Pastor-Loeh-Str. 48 > D-40764 Langenfeld > Germany > info at egenix.com > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ cd .. > > wright:/bioinformatics/pythonstuff nick$ ls > egenix python_notes.rtf > egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > > wright:/bioinformatics/pythonstuff nick$ python > Python 2.4.4 (#1, Oct 18 2006, 10:34:39) > [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > > >>> from mx.DateTime import now > >>> > > >>> print now() > 2008-07-24 22:39:17.66 > >>> > ============================== > > Several hours of my life gone, but yay! > > Cheers, > Nick > -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ==================================================== From biopython at maubp.freeserve.co.uk Fri Jul 25 09:11:29 2008 From: biopython at maubp.freeserve.co.uk (Peter) Date: Fri, 25 Jul 2008 10:11:29 +0100 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <488982AB.8000209@berkeley.edu> References: <4889645B.9080400@berkeley.edu> <488968AC.4000303@berkeley.edu> <488982AB.8000209@berkeley.edu> Message-ID: <320fb6e00807250211x4a9cdd31jfdaf4762204e522e@mail.gmail.com> On Fri, Jul 25, 2008 at 8:37 AM, Nick Matzke wrote: > Or, even better, version 2 of mxTextTools should be downloaded and used, it > installs easily, and is supposed to work better anyway, however you can only > find this from this page: > > http://biopython.org/wiki/Download#Optional_Software > http://www.egenix.com/www2002/python/eGenix-mx-Extensions-v2.x.html/ > > ...but not the "complete instructions" page: > http://biopython.org/DIST/docs/install/Installation.html#htoc9 > > (Sorry if this stuff is annoying but probably someone else naive will have > these same problems in the future.) As you have discovered the wiki is more up to date, but we should update that document too. On the wiki we do explicitly recommend mxTextTools 2.0 rather than 3.0 (there were some unicode related API changes), but in any case mxTextTools is now optional as it is only needed for a few less used parsers. As the install script says, you can delay installing mxTextTools until when using Biopython you see an import error relating to it. At least you've succeeded in the installation now :) Peter From dalke at dalkescientific.com Mon Jul 28 21:58:22 2008 From: dalke at dalkescientific.com (Andrew Dalke) Date: Mon, 28 Jul 2008 23:58:22 +0200 Subject: [BioPython] training in Python for cheminformatics Message-ID: Hi all, This isn't quite bioinformatics, but maybe if you squint hard enough you might see the purines and pyrimidines in DNA. :) I'm going to teach a two-day intensive course in Python programming, focusing on cheminformatics/small molecules. The target audience is computational chemists who want to be more effective at doing science by learning more about how to program. Most of my examples will be directly based on problems that come up in a normal research environment. The course is scheduled for 6-7 October in Leipzig, Germany. More details are at: http://dalkescientific.com/training/ Andrew dalke at dalkescientific.com From shulin.zhuang at gmail.com Wed Jul 30 00:34:23 2008 From: shulin.zhuang at gmail.com (Shulin Zhuang) Date: Tue, 29 Jul 2008 17:34:23 -0700 Subject: [BioPython] how to using python to multiply call a program for caculation Message-ID: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Dear All, Here just disturb you a question. I make a simple script to execute one program, the script content: import string, re, sys, os, time, math calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' os.system(calc) I can sucessfully execute this script and get the result file"8.txt. In the calc column, 8 is a residue number, resc is a program. The aim is to use resc to calculate residue 8 and get the output 8.txt. I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I use above simple script, I should execute 100 times. Therefore, I want to write a script to let the python do all the calculations at one time. Then I write the script as following: import string, re, sys, os, time, math i = 1 while i <=100: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc i = i +1 os.system(calc) However, when I execute the script and get an error:"The first argument should bu numerical" Would you like to tell me how to write a good script to tackle this problem. great thanks Best regards From shulin.zhuang at gmail.com Wed Jul 30 01:35:51 2008 From: shulin.zhuang at gmail.com (Shulin Zhuang) Date: Tue, 29 Jul 2008 18:35:51 -0700 Subject: [BioPython] how to using python to multiply call a program for caculation In-Reply-To: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> References: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Message-ID: <4f1a9e210807291835l929aeebs4035d312bc0809a7@mail.gmail.com> Dear All, Sorry to disturb you again. If I edit the sentence to: import string, re, sys, os, time, math i = 1 while i <=100: calc = "/usr/local/bin/resc 1bmp.pdb %d A >%d.txt"%(i,i) os.system(calc) in above A is the chain name of 1bmp.pdb. Now I can execute it and get the result. Thanks for your notice. It is because that I am just a beginner and not familiar with the string and value. Best regards Shulin On Tue, Jul 29, 2008 at 5:34 PM, Shulin Zhuang wrote: > Dear All, > > Here just disturb you a question. > > I make a simple script to execute one program, the script content: > > import string, re, sys, os, time, math > calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' > os.system(calc) > > I can sucessfully execute this script and get the result file"8.txt. > > > In the calc column, 8 is a residue number, resc is a program. The aim is > to use resc to calculate residue 8 and get the output 8.txt. > > > I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I > use above simple script, I should execute 100 times. Therefore, I want to > write a script to let the python do all the calculations at one time. > > Then I write the script as following: > > import string, re, sys, os, time, math > i = 1 > while i <=100: > calc = '/home/shulin/program/rescP/resc 1bmp.pdb ' + abc > i = i +1 > os.system(calc) > > > However, when I execute the script and get an error:"The first argument > should bu numerical" > > Would you like to tell me how to write a good script to tackle this > problem. great thanks > > Best regards > > > From lpritc at scri.ac.uk Wed Jul 30 08:00:50 2008 From: lpritc at scri.ac.uk (Leighton Pritchard) Date: Wed, 30 Jul 2008 09:00:50 +0100 Subject: [BioPython] how to using python to multiply call a program for caculation In-Reply-To: <4f1a9e210807291734t6d7c7e9fq6d34df63e3e172d6@mail.gmail.com> Message-ID: Hi Shulin, I can't see in your code with the while condition where you are specifying the residue on the command-line string: the variable 'abc' appears to be undefined in your code: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc So the above should throw an error. >From your code, the variable containing the residue number you want to use in the command line appears to be 'i', and there are a number of ways you can get your variable 'i' into the command-line string from there, including: calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + str(i) calc = '/home/shulin/program/rescP/resc 1PGA.pdb %d' % i calc = ' '.join(['/home/shulin/program/rescP/resc 1PGA.pdb', str(i)]) I've not tested the following code, but it may be the sort of thing you're looking for: # For this code you only need to import os import os # Define the command-line string components once cmdexe = "/home/shulkin/program/rescP/resc" # executable location cmdstructure = "1PGA.pdb" # structure for analysis # Then loop over the residue numbers, building a new command line # and calling each time for residue in range(1, 101): cmdstr = "%s %s %d > %d.txt" % (cmdexe, cmdstructure, residue, residue) #print cmdstr # does the command-line look right? os.system(cmdstr) # make the system call Sections of the Python documentation you might find useful here are: string formatting http://docs.python.org/lib/typesseq-strings.html subprocess (which is favoured over os.system): http://docs.python.org/lib/module-subprocess.html And you may also be interested in the Python Tutor mailing list: http://mail.python.org/mailman/listinfo/tutor I hope this is useful, L. On 30/07/2008 01:34, "Shulin Zhuang" wrote: > Dear All, > > Here just disturb you a question. > > I make a simple script to execute one program, the script content: > > import string, re, sys, os, time, math > calc = '/usr/local/bin/resc 1bmp.pdb 8 A > 8.txt ' > os.system(calc) > > I can sucessfully execute this script and get the result file"8.txt. > > > In the calc column, 8 is a residue number, resc is a program. The aim is > to use resc to calculate residue 8 and get the output 8.txt. > > > I want to calculate the whole residues from 1, 2, 3, ..... to 100, if I use > above simple script, I should execute 100 times. Therefore, I want to write > a script to let the python do all the calculations at one time. > > Then I write the script as following: > > import string, re, sys, os, time, math > i = 1 > while i <=100: > calc = '/home/shulin/program/rescP/resc 1PGA.pdb ' + abc > i = i +1 > os.system(calc) > > > However, when I execute the script and get an error:"The first argument > should bu numerical" > > Would you like to tell me how to write a good script to tackle this problem. > great thanks > > Best regards > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython -- Dr Leighton Pritchard MRSC D131, Plant Pathology Programme, SCRI Errol Road, Invergowrie, Perth and Kinross, Scotland, DD2 5DA e:lpritc at scri.ac.uk w:http://www.scri.ac.uk/staff/leightonpritchard gpg/pgp: 0xFEFC205C tel:+44(0)1382 562731 x2405 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SCRI, Invergowrie, Dundee, DD2 5DA. The Scottish Crop Research Institute is a charitable company limited by guarantee. Registered in Scotland No: SC 29367. Recognised by the Inland Revenue as a Scottish Charity No: SC 006662. DISCLAIMER: This email is from the Scottish Crop Research Institute, but the views expressed by the sender are not necessarily the views of SCRI and its subsidiaries. This email and any files transmitted with it are confidential to the intended recipient at the e-mail address to which it has been addressed. It may not be disclosed or used by any other than that addressee. If you are not the intended recipient you are requested to preserve this confidentiality and you must not use, disclose, copy, print or rely on this e-mail in any way. Please notify postmaster at scri.ac.uk quoting the name of the sender and delete the email from your system. Although SCRI has taken reasonable precautions to ensure no viruses are present in this email, neither the Institute nor the sender accepts any responsibility for any viruses, and it is your responsibility to scan the email and the attachments (if any). From jcigar at ulb.ac.be Wed Jul 23 18:02:48 2008 From: jcigar at ulb.ac.be (Julien Cigar) Date: Wed, 23 Jul 2008 18:02:48 -0000 Subject: [BioPython] blast In-Reply-To: <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> References: <1216824681.2612.50.camel@frodon.be-bif.ulb.ac.be> <00a501c8ecc6$73973bf0$1022a8c0@ipkgatersleben.de> <320fb6e00807230705l31f8bffsad95ca1cd27524ba@mail.gmail.com> <010301c8ecd0$9ca01a30$1022a8c0@ipkgatersleben.de> <320fb6e00807230749yfb53ffem7410aed028b73e2@mail.gmail.com> <320fb6e00807230754k52bebba4v453933ef0a215351@mail.gmail.com> <013e01c8ecd7$95731490$1022a8c0@ipkgatersleben.de> <320fb6e00807230836j1196ad41s303927af1c1645c3@mail.gmail.com> Message-ID: <1216830497.1019.2.camel@rivendell.lan> Just FYI and another point of view (?), I asked one of the user about which method is the best and he said that "one should not depend on the length of the sequence to know how different/similar the use fragment is", so it's really percentage identity which is needed Julien On Wed, 2008-07-23 at 16:36 +0100, Peter Cock wrote: > > Sorry, both give me wrong percentage if I try on my database. > > > > Look here, compare alignment and percentage: > > > > http://picasaweb.google.de/luecks/Python02/photo#5226228430697476754 > > > > e.g Hit 13 should give 60 % > > > > What you recommend to use instead of hsp.score? > > I am assuming you want to parse some BLAST output in order to populate > this database. How about something based on this: > > from Bio.Blast import NCBIXML > for record in NCBIXML.parse(open("test.xml")) : > print "Query %i length %i" % (record.query_id, record.query_letters) > for alignment in record.alignments : > for hsp in alignment.hsps : > percentage_identities_versus_full_query = (100.0 * > hsp.identities) / record.query_letters > print " vs %s gives %0.1f%% identities" \ > % (alignment.hit_id, percentage_identities_versus_full_query) > > This uses the fact the the original query length is recorded in the > record object as the "query_letters" property (this name was a > historical choice based on the plain text blast output). > > For the example you gave, then then I would expect hsp.identities == > 12 (and hsp.alignment_length == 12) while record.query_letters == 60 > which will give you the desired output of 60%. > > Peter > _______________________________________________ > BioPython mailing list - BioPython at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biopython From matzke at berkeley.edu Fri Jul 25 05:44:01 2008 From: matzke at berkeley.edu (Nick Matzke) Date: Fri, 25 Jul 2008 05:44:01 -0000 Subject: [BioPython] problem installing mxTextTools In-Reply-To: <4889645B.9080400@berkeley.edu> References: <4889645B.9080400@berkeley.edu> Message-ID: <48896815.10104@berkeley.edu> Hi all, An update -- I found a solution by copying the .pck file the download actually gave me to the filename that the install was apparently looking for. This was not exactly obvious (!!!!) but apparently it worked: ============================== wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd build wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ ls build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck temp.darwin-8.11.1-i386-2.3_ucs2 lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cp build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck build-macosx-10.3-fat-py2.4_ucs2.pck wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt/build nick$ cd .. wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ sudo python setup.py build --skip installPassword: running build skipping the build process and reusing the existing build files and data restoring build data from a previous build run running install running install_lib running build_ext creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeBase.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeDict.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeIndex.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/BeeStorage.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/Cache.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/Doc/mxBeeBase.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/ExitFunctions.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/FileLock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/btr.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxBeeBase.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxBeeBase.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/mxBeeBase/testjohn.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/BeeBase/showBeeDict.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ARPA.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/DateTime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Doc/mxDateTime.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/alarm.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/AtomicClock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/CommandLine.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/lifespan.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/numdate.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Examples/Y2000.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Feasts.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ISO.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Locale.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxDateTime_Python.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcmp.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcoerce.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testcomdates.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testnow.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testpydatetime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testrichard.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testroundoff.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/teststrftime.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testsubclassing.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/mxDateTime/testticks.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/NIST.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/ODMG.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Parser.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/timegm.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/DateTime/Timezone.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/eGenix-mx-Extensions.html -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxBeeBase.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxDateTime.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxProxy.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxQueue.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxStack.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxTextTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxUID.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Doc/mxURL.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Log.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Cache.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/CommandLine.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/ConfigFile.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Cookie.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/CSV.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/ExitFunctions.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/FileLock.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/Namespace.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/OrderedMapping.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Misc/PackageTools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/NewBuiltins.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/Doc/mxProxy.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxProxy.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/mxProxy.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/testvlad.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/mxProxy/weakreftest.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/Proxy.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Proxy/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/Doc/mxQueue.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxQueue.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/mxQueue.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/mxQueue/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/queuebench.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Queue/UserQueue.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/Doc/mxStack.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxStack.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/mxStack.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/mxStack/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/stackbench.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Stack/UserStack.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/Sets.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Constants/TagTables.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Doc/mxTextTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/altRTF.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/HTML.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Loop.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/mysplit.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/pytag.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Python.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/RegExp.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/RTF.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Tim.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/Examples/Words.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxbmse.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxTextTools.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/mxTextTools.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testHTML.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testkj.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testPickleSegFault.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/mxTextTools/testSegFault.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/TextTools/TextTools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Doc/mxTools.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Doc creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Examples/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Examples/Acquisition.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/bench1.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/bench2.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/hack.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxTools.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/mxTools.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/mxTools/test_safecall.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/NewBuiltins.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/Tools/Tools.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/Doc/mxUID.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxUID.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/mxUID.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/mxUID/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/UID/UID.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/COPYRIGHT -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/Doc/mxURL.pdf -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Doc copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/LazyModule.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/LICENSE -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/Listing.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL creating /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/__init__.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxh.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxURL.h -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/mxURL.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/mxURL/test.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/README -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL copying build/lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4/mx/URL/URL.py -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeBase.py to BeeBase.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeDict.py to BeeDict.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeIndex.py to BeeIndex.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/BeeStorage.py to BeeStorage.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/Cache.py to Cache.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/ExitFunctions.py to ExitFunctions.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/FileLock.py to FileLock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/mxBeeBase/testjohn.py to testjohn.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/BeeBase/showBeeDict.py to showBeeDict.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ARPA.py to ARPA.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/DateTime.py to DateTime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/alarm.py to alarm.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/AtomicClock.py to AtomicClock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/CommandLine.py to CommandLine.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/lifespan.py to lifespan.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/numdate.py to numdate.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Examples/Y2000.py to Y2000.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Feasts.py to Feasts.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ISO.py to ISO.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Locale.py to Locale.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/mxDateTime_Python.py to mxDateTime_Python.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcmp.py to testcmp.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcoerce.py to testcoerce.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testcomdates.py to testcomdates.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testnow.py to testnow.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testpydatetime.py to testpydatetime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testrichard.py to testrichard.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testroundoff.py to testroundoff.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/teststrftime.py to teststrftime.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testsubclassing.py to testsubclassing.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/testticks.py to testticks.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/NIST.py to NIST.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/ODMG.py to ODMG.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Parser.py to Parser.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/timegm.py to timegm.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/Timezone.py to Timezone.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Log.py to Log.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Cache.py to Cache.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/CommandLine.py to CommandLine.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/ConfigFile.py to ConfigFile.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Cookie.py to Cookie.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/CSV.py to CSV.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/ExitFunctions.py to ExitFunctions.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/FileLock.py to FileLock.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/Namespace.py to Namespace.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/OrderedMapping.py to OrderedMapping.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Misc/PackageTools.py to PackageTools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/NewBuiltins.py to NewBuiltins.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/testvlad.py to testvlad.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/mxProxy/weakreftest.py to weakreftest.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Proxy/Proxy.py to Proxy.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/mxQueue/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/queuebench.py to queuebench.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Queue/UserQueue.py to UserQueue.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/mxStack/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/stackbench.py to stackbench.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Stack/UserStack.py to UserStack.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/Sets.py to Sets.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Constants/TagTables.py to TagTables.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/altRTF.py to altRTF.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/HTML.py to HTML.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Loop.py to Loop.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/mysplit.py to mysplit.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/pytag.py to pytag.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Python.py to Python.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/RegExp.py to RegExp.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/RTF.py to RTF.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Tim.py to Tim.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/Examples/Words.py to Words.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testHTML.py to testHTML.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testkj.py to testkj.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testPickleSegFault.py to testPickleSegFault.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/mxTextTools/testSegFault.py to testSegFault.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/TextTools/TextTools.py to TextTools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Examples/Acquisition.py to Acquisition.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/bench1.py to bench1.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/bench2.py to bench2.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/hack.py to hack.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/mxTools/test_safecall.py to test_safecall.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/NewBuiltins.py to NewBuiltins.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/Tools/Tools.py to Tools.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/mxUID/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/UID/UID.py to UID.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/LazyModule.py to LazyModule.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/Listing.py to Listing.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL/__init__.py to __init__.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/mxURL/test.py to test.pyc byte-compiling /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/URL/URL.py to URL.pyc writing byte-compilation script '/tmp/tmpIfqFr6.py' /Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python -O /tmp/tmpIfqFr6.py removing /tmp/tmpIfqFr6.py running install_data wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ more README ============================================================================= eGenix mx Base Distribution for Python ----------------------------------------------------------------------------- Source Installation ------------------- In order to build and install the distribution, run python setup.py install Then change to some other directory and try to import the packages: $ cd ~ $ python Python 2.4.3 (#1, May 9 2007, 00:48:21) [GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> print now() 2007-05-30 11:00:03.24 >>> Note that trying this from the installation directory will cause Python to pick up the source tree packages which do not contain the compiled binaries. This will likely fail with strange error messages. Prebuilt Installation --------------------- If you have downloaded a prebuilt distribution archive, the installation is slightly different. You have to run python setup.py build --skip install Then follow the same instructions as for the source installation. Copyrights & Licenses --------------------- The software in this distribution is copyrighted and protected by international, EU and German copyright law. Please see the COPYRIGHT file for details. The software is licensed to you under the eGenix.com Public License as stated in the LICENSE file of the distribution directory. Some subpackages may contain third-party software which is licensed under different conditions. Please see the documentation and/or LICENSE files of the subpackages for details. If in doubt, please check the web-site at http://www.egenix.com or contact sales at egenix.com for more information on copyright, licensing conditions and authorized use. ----------------------------------------------------------------------------- eGenix.com GmbH Pastor-Loeh-Str. 48 D-40764 Langenfeld Germany info at egenix.com wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt nick$ cd .. wright:/bioinformatics/pythonstuff nick$ ls egenix python_notes.rtf egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt wright:/bioinformatics/pythonstuff nick$ python Python 2.4.4 (#1, Oct 18 2006, 10:34:39) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from mx.DateTime import now >>> >>> print now() 2008-07-24 22:39:17.66 >>> ============================== Several hours of my life gone, but yay! Cheers, Nick Nick Matzke wrote: > Hi all, > > I am trying to install biopython and am carefully following the > directions at: > > http://biopython.org/DIST/docs/install/Installation.html > > ...as instructed, here are the steps I took: > > > 1. I start by successfully installing Python2.4.4 on my Mac OSX 10.4. I > set the environment variable so that Python2.4.4 is the default version > of Python at the terminal. > > 2. Then, as instructed I try to install mxTextTools. Downloaded: > egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > > ...from here: > http://www.egenix.com/products/python/mxBase/ > > > 3. However, none of these (the official instructions, or several > alternatives proposed in various online fora) work for installing > mxTextTools. Here are the results: > > 3a. instructions here: > http://biopython.org/DIST/docs/install/Installation.html#htoc9 > > ====================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# python -V > Python 2.4.4 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# python setup.py build > running build > running mx_autoconf > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > gcc _configtest.o -L/usr/local/lib -L/opt/local/lib > -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest > success! > removing: _configtest.c _configtest.o _configtest > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > success! > removing: _configtest.c _configtest.o > macros to define: [('HAVE_STRPTIME', '1')] > macros to undefine: [] > running build_ext > > building extension "mx.DateTime.mxDateTime.mxDateTime" (required) > building 'mx.DateTime.mxDateTime.mxDateTime' extension > creating build/temp.macosx-10.3-fat-2.4_ucs2 > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime > > creating > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime > > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME > -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > mx/DateTime/mxDateTime/mxDateTime.c -o > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o > > i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > i686-apple-darwin8-gcc-4.0.1: no input files > powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > powerpc-apple-darwin8-gcc-4.0.1: no input files > lipo: can't figure out the architecture type of: /var/tmp//cch9pAof.out > error: command 'gcc' failed with exit status 1 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > root# > ====================== > > > 3b. Instructions here: > http://www.egenix.com/products/python/mxBase/ > > sudo python setup.py install > > ================== > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ python -V > Python 2.4.4 > > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py install > running install > running build > running mx_autoconf > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > gcc _configtest.o -L/usr/local/lib -L/opt/local/lib > -L/Library/Frameworks/Python.framework/Versions/2.4/lib -o _configtest > success! > removing: _configtest.c _configtest.o _configtest > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -D_GNU_SOURCE=1 > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > _configtest.c -o _configtest.o > success! > removing: _configtest.c _configtest.o > macros to define: [('HAVE_STRPTIME', '1')] > macros to undefine: [] > running build_ext > > building extension "mx.DateTime.mxDateTime.mxDateTime" (required) > building 'mx.DateTime.mxDateTime.mxDateTime' extension > gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 -DUSE_FAST_GETCURRENTTIME > -DHAVE_STRPTIME=1 -Imx/DateTime/mxDateTime > -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 > -I/usr/local/include -I/opt/local/include > -I/Library/Frameworks/Python.framework/Versions/2.4/include -c > mx/DateTime/mxDateTime/mxDateTime.c -o > build/temp.macosx-10.3-fat-2.4_ucs2/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o > > i686-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > i686-apple-darwin8-gcc-4.0.1: no input files > powerpc-apple-darwin8-gcc-4.0.1: mx/DateTime/mxDateTime/mxDateTime.c: No > such file or directory > powerpc-apple-darwin8-gcc-4.0.1: no input files > lipo: can't figure out the architecture type of: /var/tmp//ccGUEnk3.out > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > > ================== > > > > > 3c. Instructions here: > http://www.egenix.com/mailman-archives/egenix-users/2007-October/114291.html > > > sudo python setup.py build --skip install > ================ > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ python -V > Python 2.4.4 > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ sudo python setup.py build --skip install > running build > skipping the build process and reusing the existing build files and data > error: build/build-macosx-10.3-fat-py2.4_ucs2.pck: No such file or > directory > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ ls > COPYRIGHT PKG-INFO build > installer.bmp mxSetup.pyc wininst.bat > LICENSE README egenix_mx_base.py > mx setup.cfg > MANIFEST bdist_zope.bat egenix_mx_base.pyc > mxSetup.py setup.py > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ ls ./build > build-darwin-8.11.0-Power_Macintosh-py2.4_ucs4.pck > temp.darwin-8.11.1-i386-2.3_ucs2 > lib.darwin-8.11.0-Power_Macintosh-2.4_ucs4 temp.macosx-10.3-fat-2.4_ucs2 > wright:/bioinformatics/pythonstuff/egenix-mx-base-3.1.0.darwin-8.11.0-Power_Macintosh-py2.4_ucs4.prebuilt > nick$ > ================ > > > 4. Give up and email the biopython list. Help!! Please!! > > > 5. Ask existential questions about why, oh why, all useful software > comes with dependencies that you have to compile yourself and which > never, ever compile correctly when the instructions are followed even on > utterly standard systems like Mac OSX 10.4. > > > Thanks very very much, > Nick > > > > > > > -- ==================================================== Nicholas J. Matzke Ph.D. student, Graduate Student Researcher Huelsenbeck Lab 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Lab website: http://ib.berkeley.edu/people/lab_detail.php?lab=54 Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/~edna/lab_test/members/matzke.html Lab phone: 510-643-6299 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Office hours for Bio1B: Biology: Plants, Evolution, Ecology VLSB 2013, Monday 1-1:30 (some TA there for all hours during work week) Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ====================================================