Re: Proposition for Biopython 2

Shyam Saladi <[email protected]> Tue, 21 Nov 2017 12:36:12 -0800
Newsgroups gmane.comp.python.bio.devel
Message-ID <CAARX5cWe=w2SrtgS9AGJkvmvogt+-N-vMUUWggVxybQ7JitcqA@mail.gmail.com>
--===============8210339930222818325==
Content-Type: multipart/alternative; boundary="001a1144def827dc2a055e84295a"

--001a1144def827dc2a055e84295a
Content-Type: text/plain; charset="UTF-8"

Hi Patrick,

This looks pretty cool. I wonder two things:

1. Do you happen to have timing benchmarks comparing similar functions in
Biotite and Biopython? I'm curious about what functionality is actually
faster/sped up by numpy/cython code.

2. From a cursory look through the source and from reading your docs,
biotite seems like a significantly different module compared to the current
version of BioPython. If this sort of organization was used for a Biopython
2, it seems like it would be very difficult to port already-written,
currently developed code to the new system. That said, for those parts that
are faster, as a user, I think it might be useful to merge them into
Biopython if it's possible to do so in an API-compatible way. I wonder what
others think about this...

Thanks,
Shyam

On Wed, Nov 15, 2017 at 12:40 AM, Patrick Kunzmann <[email protected]>
wrote:

> Dear Biopython community,
>
> I decided to put the proposed Biopython 2 code base into an separate
> project for the time being. The main reason for this are the clarity issues
> that have bothered me lately: Although distinguishing Biopython and the
> proposed Biopython 2 would be easy on GitHub (different repos) and
> relatively easy on PyPI (version identifier), I think confusions could
> occur in other contexts (e.g. in the mailing list or StackOverflow).
> Therefore, the project is continued unter the name 'Biotite'. The
> repository was moved into a separate GitHub organisation and can be found
> at https://github.com/biotite-dev/biotite . The project is still licensed
> under BSD 3-clause so potentially a project merge is still possible at a
> later point.
>
> Best regards,
> Patrick
>
>
> On 02.11.2017 11:42, Patrick Kunzmann wrote:
>
>> Dear Biopython community,
>>
>> here I present you a proposition for a potential Biopython 2.x code base.
>> But first things first:
>>
>> A few months ago I proposed an endeavor to rewrite Biopython in order to
>> bring it onto modern scientific Python standards (
>> http://lists.open-bio.org/pipermail/biopython-dev/2017-June/021740.html).
>> Arguably, the consensus was that this is something that should be done, but
>> those changes would require almost a complete rewrite and barely anyone has
>> time for it. Therefore, I took the initiative some time later and created
>> an experimental repository for creating actual Biopython 2 code (
>> https://github.com/padix-key/biopython2experimental). Unfortunately it
>> seems that the announcement mail for that did not reach the mailing list,
>> but went missing in the deep of the web. Anyway, the repository is now at a
>> presentable state. The corresponding HTML documentation (including
>> tutorial, API reference and install instructions) can be found under
>> https://github.com/padix-key/biopython2/files/1437242/doc.zip . So far
>> it is not possible to install the package from PyPI, since it is not the
>> offical Biopython 2 package. Instead you have to install it directly from
>> the repo, if you want to test the package.
>>
>> The package contains basic types and operations for working with
>> structure and sequence data, offers biological database interaction with
>> RCSB and NCBI Entrez and provides seamless interfaces to external software.
>> Although the package aims to achieve similar area of application as
>> Biopython 1.x, it is a complete rewrite.
>>
>> The package is still in early development. I tried to incorporate the
>> ideas you and I brought up in the Biopython 2 discussion and still
>> everything is subject to changes in the discussion with you. I already have
>> some questions for discussion:
>>
>> 1. Should this package still be dual licensed? Since the BSD 3-Clause and
>> the Biopython license are quite similar, I would suggest licensing
>> Biopython 2 only under BSD 3-Clause for clarity. But I do not have a strong
>> opinion on that.
>>
>> 2. In our previous discussion some of you proposed putting only core
>> functionality into Biopython 2 and leaving specialized code installable as
>> plugins. This package does not contain a mechanism for plugin packages,
>> yet. I would rather suggest a 'recommended packages' approach: Code that is
>> based on Biopython 2 and tackles a general biological problem would be
>> linked in a 'Recommended packages' section of the Biopython 2
>> documentation. In my opinion, direct plugins in the Biopython 2 package
>> requires some confusing namespace wizardry. Recommended packages would
>> achieve almost the same, with the slight difference, that the user writes
>> 'import recommendedpackage' rather than 'import biopython.someplugin'.
>>
>> If this package is accepted by the community, I would like to hand over
>> repository ownership to the 'Biopython' organisation on GitHub and I would
>> like to continue and supervise its development as part of the GitHub
>> 'Biopython' organisation.
>>
>> Best regards,
>> Patrick Kunzmann
>>
>>
> _______________________________________________
> Biopython-dev mailing list
> [email protected]
> http://mailman.open-bio.org/mailman/listinfo/biopython-dev
>

--001a1144def827dc2a055e84295a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Patrick,<div><br></div><div>This looks pretty cool. I w=
onder two things:</div><div><br></div><div>1. Do you happen to have timing =
benchmarks comparing similar functions in Biotite and Biopython? I&#39;m cu=
rious about what functionality is actually faster/sped up by numpy/cython c=
ode.=C2=A0</div><div><br></div><div>2. From a cursory look through the sour=
ce and from reading your docs, biotite seems like a significantly different=
 module compared to the current version of BioPython. If this sort of organ=
ization was used for a Biopython 2, it seems like it would be very difficul=
t to port already-written, currently developed code to the new system. That=
 said, for those parts that are faster, as a user, I think it might be usef=
ul to merge them into Biopython if it&#39;s possible to do so in an=C2=A0AP=
I-compatible way. I wonder what others think about this...</div><div><br></=
div><div>Thanks,</div><div>Shyam</div></div><div class=3D"gmail_extra"><br>=
<div class=3D"gmail_quote">On Wed, Nov 15, 2017 at 12:40 AM, Patrick Kunzma=
nn <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">Dear Biopython community,<br>
<br>
I decided to put the proposed Biopython 2 code base into an separate projec=
t for the time being. The main reason for this are the clarity issues that =
have bothered me lately: Although distinguishing Biopython and the proposed=
 Biopython 2 would be easy on GitHub (different repos) and relatively easy =
on PyPI (version identifier), I think confusions could occur in other conte=
xts (e.g. in the mailing list or StackOverflow). Therefore, the project is =
continued unter the name &#39;Biotite&#39;. The repository was moved into a=
 separate GitHub organisation and can be found at <a href=3D"https://github=
.com/biotite-dev/biotite" rel=3D"noreferrer" target=3D"_blank">https://gith=
ub.com/biotite-dev<wbr>/biotite</a> . The project is still licensed under B=
SD 3-clause so potentially a project merge is still possible at a later poi=
nt.<br>
<br>
Best regards,<br>
Patrick<br>
<br>
<br>
On 02.11.2017 11:42, Patrick Kunzmann wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Dear Biopython community,<br>
<br>
here I present you a proposition for a potential Biopython 2.x code base. B=
ut first things first:<br>
<br>
A few months ago I proposed an endeavor to rewrite Biopython in order to br=
ing it onto modern scientific Python standards (<a href=3D"http://lists.ope=
n-bio.org/pipermail/biopython-dev/2017-June/021740.html" rel=3D"noreferrer"=
 target=3D"_blank">http://lists.open-bio.org/pip<wbr>ermail/biopython-dev/2=
017-June<wbr>/021740.html</a>). Arguably, the consensus was that this is so=
mething that should be done, but those changes would require almost a compl=
ete rewrite and barely anyone has time for it. Therefore, I took the initia=
tive some time later and created an experimental repository for creating ac=
tual Biopython 2 code (<a href=3D"https://github.com/padix-key/biopython2ex=
perimental" rel=3D"noreferrer" target=3D"_blank">https://github.com/padix-k=
ey/<wbr>biopython2experimental</a>). Unfortunately it seems that the announ=
cement mail for that did not reach the mailing list, but went missing in th=
e deep of the web. Anyway, the repository is now at a presentable state. Th=
e corresponding HTML documentation (including tutorial, API reference and i=
nstall instructions) can be found under <a href=3D"https://github.com/padix=
-key/biopython2/files/1437242/doc.zip" rel=3D"noreferrer" target=3D"_blank"=
>https://github.com/padix-key/b<wbr>iopython2/files/1437242/doc.zi<wbr>p</a=
> . So far it is not possible to install the package from PyPI, since it is=
 not the offical Biopython 2 package. Instead you have to install it direct=
ly from the repo, if you want to test the package.<br>
<br>
The package contains basic types and operations for working with structure =
and sequence data, offers biological database interaction with RCSB and NCB=
I Entrez and provides seamless interfaces to external software. Although th=
e package aims to achieve similar area of application as Biopython 1.x, it =
is a complete rewrite.<br>
<br>
The package is still in early development. I tried to incorporate the ideas=
 you and I brought up in the Biopython 2 discussion and still everything is=
 subject to changes in the discussion with you. I already have some questio=
ns for discussion:<br>
<br>
1. Should this package still be dual licensed? Since the BSD 3-Clause and t=
he Biopython license are quite similar, I would suggest licensing Biopython=
 2 only under BSD 3-Clause for clarity. But I do not have a strong opinion =
on that.<br>
<br>
2. In our previous discussion some of you proposed putting only core functi=
onality into Biopython 2 and leaving specialized code installable as plugin=
s. This package does not contain a mechanism for plugin packages, yet. I wo=
uld rather suggest a &#39;recommended packages&#39; approach: Code that is =
based on Biopython 2 and tackles a general biological problem would be link=
ed in a &#39;Recommended packages&#39; section of the Biopython 2 documenta=
tion. In my opinion, direct plugins in the Biopython 2 package requires som=
e confusing namespace wizardry. Recommended packages would achieve almost t=
he same, with the slight difference, that the user writes &#39;import recom=
mendedpackage&#39; rather than &#39;import biopython.someplugin&#39;.<br>
<br>
If this package is accepted by the community, I would like to hand over rep=
ository ownership to the &#39;Biopython&#39; organisation on GitHub and I w=
ould like to continue and supervise its development as part of the GitHub &=
#39;Biopython&#39; organisation.<br>
<br>
Best regards,<br>
Patrick Kunzmann<br>
<br>
</blockquote>
<br>
______________________________<wbr>_________________<br>
Biopython-dev mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">Bio=
[email protected]<wbr>.org</a><br>
<a href=3D"http://mailman.open-bio.org/mailman/listinfo/biopython-dev" rel=
=3D"noreferrer" target=3D"_blank">http://mailman.open-bio.org/ma<wbr>ilman/=
listinfo/biopython-dev</a><br>
</blockquote></div><br></div>

--001a1144def827dc2a055e84295a--

--===============8210339930222818325==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Biopython-dev mailing list
[email protected]
http://mailman.open-bio.org/mailman/listinfo/biopython-dev
--===============8210339930222818325==--