<div dir="ltr"><div><div><div>Hi!<br></div>Sorry for the giant text in my previous, I don&#39;t know what happened.<br></div>Please find a comment below.<br></div>Paolo<br><div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-02 11:02 GMT+02:00 Ben Stöver <span dir="ltr">&lt;<a href="mailto:benstoever@uni-muenster.de" target="_blank">benstoever@uni-muenster.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Although this probably works perfectly fine for a lot of tasks, I think it<br>
would have disadvantages when sequentially applying lots of mutations/edits to<br>
a sequence (e.g. in an (GUI based) alignment editor with Sequence objects as<br>
data backend or an application that simulates evolution of sequences along a<br>
large phylogenetic tree by sequentially applying mutations). In such cases the<br>
resulting sequence (containing all mutations/edits) would be a sequence view<br>
on the top a stack of other sequence views (each of them defining one<br>
mutation). Depending on the index, a call of getCompoundAt() would lead to a<br>
trace back of the whole stack in the worst case (if that compound was present<br>
in the initial sequence). (I hope this was more understandable this time?)<br></blockquote><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
For such applications it would be nice to have a Sequence implementation<br>
(extending interface) or anything similar that is able to really edit the<br>
underlying sequence without creating a stack of views with increasing size. I<br>
have some applications that would benefit from this (e.g.<br>
<a href="http://bioinfweb.info/LibrAlign/" target="_blank">http://bioinfweb.info/LibrAlign/</a> ), but of course I would like to ask the<br>
community how relevant such a feature would be in general.<br></blockquote><div> </div><div>You project looks very interesting! <br>I don&#39;t see completely necessary to use a stack of views if mutation objects (let&#39;s say to define 
Mutation: an Interface to describe a mutation) are stored in a Sequence 
object by means of a collection. So every subsequent edit could be added
 to the others in the same Sequence object.<br></div><div><br>Moreover, just as an idea, a SequenceView could allow you to retrieve only sequence string with mutations in a specified range, it may speed up the rendering process.<br><br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
@Andreas: Why would I not have an EditableSequence interface extend from<br>
Sequence?<br>
<br>
Generally I would have nothing against this, because all methods from Sequence<br>
could be inherited and implementations of EditableSequence could be passed to<br>
methods which have parameters of type Sequence. (This was my initial idea, I<br>
posted in November.) Of course that would still violate the idea of atomic<br>
sequences a bit, because methods with parameters of type Sequence would have<br>
to check if the passed objects also implement EditableSequence to know that<br>
they cannot assume their contents to be immutable. In that case such methods<br>
could e.g. throw an exception if they cannot handle EditableSequences, but<br>
each method out there would have to implement this behavior.<br>
<br>
Best<br>
<span class=""><font color="#888888">Ben<br>
</font></span><div class=""><div class="h5"><br>
<br>
Andreas Prlic schrieb am 2015-04-02:<br>
&gt; Hi,<br>
<br>
&gt; I agree with Ben&#39;s summary. The basic philosophy is that sequences<br>
&gt; are not<br>
&gt; mutable.  It is clear that we need some mechanism to introduce<br>
&gt; mutations in<br>
&gt; sequences, without having to allocate a copy of the sequence in<br>
&gt; memory.<br>
<br>
&gt; About Mark&#39;s suggestion: I think Paolo&#39;s comment to represent<br>
&gt; mutations via<br>
&gt; a &quot;SequenceView&quot; goes in a similar direction.<br>
<br>
&gt; I hear two suggestions for how to do this so far:<br>
<br>
&gt; A) Mutations via a SequenceView<br>
&gt; B) introduction of an EditableSequence interface.<br>
<br>
&gt; Ben: Could you comment a bit further why you would not have an<br>
&gt; EditableSequence interface extend from Sequence?<br>
<br>
&gt; ==<br>
<br>
&gt; Having said that, currently sequence manipulation is possible via<br>
&gt; &quot;edits&quot;,<br>
&gt; however I suspect this is too complicated from an API perspective?<br>
<br>
&gt; &gt;From EditSequenceTest :<br>
<br>
&gt; public void substitute() throws CompoundNotFoundException {<br>
&gt;   DNASequence seq = new DNASequence(&quot;ACGT&quot;);<br>
&gt;   assertSeq(new Edit.Substitute&lt;NucleotideCompound&gt;(&quot;T&quot;,<br>
&gt;   2).edit(seq), &quot;ATGT&quot;);<br>
&gt;   assertSeq(new Edit.Substitute&lt;NucleotideCompound&gt;(&quot;TT&quot;,<br>
&gt;   2).edit(seq), &quot;ATTT&quot;);<br>
&gt;   assertSeq(new Edit.Substitute&lt;NucleotideCompound&gt;(&quot;T&quot;,<br>
&gt;   1).edit(seq), &quot;TCGT&quot;);<br>
&gt;   assertSeq(new Edit.Substitute&lt;NucleotideCompound&gt;(&quot;TTC&quot;,<br>
&gt; 2).edit(seq), &quot;ATTC&quot;);<br>
&gt; }<br>
<br>
&gt; .edit() is using the JoiningSequenceReader under the hood which has a<br>
&gt; getCompoundAt method.<br>
<br>
&gt; Andreas<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
&gt; On Wed, Apr 1, 2015 at 3:23 PM, Paolo Pavan &lt;<a href="mailto:paolo.pavan@gmail.com">paolo.pavan@gmail.com</a>&gt;<br>
&gt; wrote:<br>
<br>
&gt; &gt; Thank you Mark, I think it should be better to clarify this point,<br>
&gt; &gt; I may<br>
&gt; &gt; have a different idea in my mind.<br>
<br>
&gt; &gt; Are we talking about a sequence object that given a &quot;parent&quot;<br>
&gt; &gt; sequence will<br>
&gt; &gt; show the result of applying a set of mutations descriptors?<br>
&gt; &gt; Should this result still be a Sequence object such that it will be<br>
&gt; &gt; possible to apply any further processing that takes a<br>
&gt; &gt; AbstractSequence in<br>
&gt; &gt; input? (e.g.:performing a sequence alignment with SmithWaterman)<br>
&gt; &gt; Should this result be the same Sequence object instantiated given<br>
&gt; &gt; in input<br>
&gt; &gt; which, with some mechanism to implement, will show a sequence<br>
&gt; &gt; string<br>
&gt; &gt; different from the original resulting by applying mutation<br>
&gt; &gt; descriptors?<br>
<br>
&gt; &gt; If it is so, why do not implement it with SequenceView, the same<br>
&gt; &gt; mechanism<br>
&gt; &gt; we get a reverse complemented sequence?<br>
&gt; &gt; If this will be accomplished, there will be no need for a new<br>
&gt; &gt; interface<br>
&gt; &gt; EditableSequence and conversion to/from Sequence, am I wrong?<br>
&gt; &gt; Ben, could you better clarify your concerns about not having such a<br>
&gt; &gt; design? Why you still see advantages in a mutable implementation of<br>
&gt; &gt; Sequence instead?<br>
<br>
&gt; &gt; 2015-04-01 19:13 GMT+02:00 Mark Fortner &lt;<a href="mailto:phidias51@gmail.com">phidias51@gmail.com</a>&gt;:<br>
<br>
&gt; &gt;&gt; Just out of curiosity, could mutations be applied as annotations<br>
&gt; &gt;&gt; to a<br>
&gt; &gt;&gt; wild-type sequence? The sequence would remain unedited, but you<br>
&gt; &gt;&gt; would still<br>
&gt; &gt;&gt; be able to represent the mutation and related annotations.  This<br>
&gt; &gt;&gt; might work<br>
&gt; &gt;&gt; for SNPs, and indels, but I&#39;m not sure how you would deal with<br>
&gt; &gt;&gt; chromosomal<br>
&gt; &gt;&gt; translocations.<br>
<br>
&gt; &gt;&gt; Also, would it be useful to be able to reference external variant<br>
&gt; &gt;&gt; databases like ClinVar or SwissVar when specifying a mutation?<br>
<br>
&gt; &gt;&gt; Regards,<br>
<br>
&gt; &gt;&gt; Mark<br>
<br>
<br>
&gt; &gt;&gt; On Wed, Apr 1, 2015 at 9:20 AM, Ben Stöver<br>
&gt; &gt;&gt; &lt;<a href="mailto:benstoever@uni-muenster.de">benstoever@uni-muenster.de</a>&gt;<br>
&gt; &gt;&gt; wrote:<br>
<br>
&gt; &gt;&gt;&gt; Hi Paolo and all,<br>
<br>
&gt; &gt;&gt;&gt; yes, I guess that is the reason. Imagine a SequenceView<br>
&gt; &gt;&gt;&gt; implementation<br>
&gt; &gt;&gt;&gt; that<br>
&gt; &gt;&gt;&gt; stores indices of the underlying sequence to make its<br>
&gt; &gt;&gt;&gt; modifications. If<br>
&gt; &gt;&gt;&gt; the<br>
&gt; &gt;&gt;&gt; underlying sequence could be modified the indices in the view<br>
&gt; &gt;&gt;&gt; would<br>
&gt; &gt;&gt;&gt; become<br>
&gt; &gt;&gt;&gt; invalid and all views of a Sequence would have to be notified<br>
&gt; &gt;&gt;&gt; about the change (which would require the implementation of an<br>
&gt; &gt;&gt;&gt; observer<br>
&gt; &gt;&gt;&gt; pattern in Sequence, which is currently not present). I guess the<br>
&gt; &gt;&gt;&gt; need<br>
&gt; &gt;&gt;&gt; for<br>
&gt; &gt;&gt;&gt; this logic change was the reason of keeping Sequence<br>
&gt; &gt;&gt;&gt; implementations<br>
&gt; &gt;&gt;&gt; atomic.<br>
&gt; &gt;&gt;&gt; But maybe Andreas could comment on this, because that&#39;s just my<br>
&gt; &gt;&gt;&gt; interpretation<br>
&gt; &gt;&gt;&gt; of his opinion.<br>
<br>
&gt; &gt;&gt;&gt; Although these are really good points, I would anyway agree that<br>
&gt; &gt;&gt;&gt; having<br>
&gt; &gt;&gt;&gt; some<br>
&gt; &gt;&gt;&gt; kind of mutable sequences would be a great thing, because<br>
&gt; &gt;&gt;&gt; mutating or<br>
&gt; &gt;&gt;&gt; modifying sequences is a common task and such applications might<br>
&gt; &gt;&gt;&gt; anyway<br>
&gt; &gt;&gt;&gt; want/need to rely on a sequence framework, which e.g. checks that<br>
&gt; &gt;&gt;&gt; only<br>
&gt; &gt;&gt;&gt; valid<br>
&gt; &gt;&gt;&gt; tokens are present or offers an implementation that can handle<br>
&gt; &gt;&gt;&gt; changes in<br>
&gt; &gt;&gt;&gt; large sequences without having to copy everything to a new<br>
&gt; &gt;&gt;&gt; object, like<br>
&gt; &gt;&gt;&gt; it<br>
&gt; &gt;&gt;&gt; would be the case with simple String objects.<br>
<br>
&gt; &gt;&gt;&gt; If other people agree that there is need for that (I would be<br>
&gt; &gt;&gt;&gt; interested<br>
&gt; &gt;&gt;&gt; in<br>
&gt; &gt;&gt;&gt; feedback here) and the community would agree on a way of<br>
&gt; &gt;&gt;&gt; implementing<br>
&gt; &gt;&gt;&gt; that<br>
&gt; &gt;&gt;&gt; (without having the disadvantages mentioned), I would be happy to<br>
&gt; &gt;&gt;&gt; help<br>
&gt; &gt;&gt;&gt; creating according code.<br>
<br>
&gt; &gt;&gt;&gt; A different EditableSequence interface and a tool class that can<br>
&gt; &gt;&gt;&gt; converts<br>
&gt; &gt;&gt;&gt; between Sequence and EditableSequence (without inheriting<br>
&gt; &gt;&gt;&gt; EditableSequence<br>
&gt; &gt;&gt;&gt; from Sequence as I initially proposed) might be one option,<br>
&gt; &gt;&gt;&gt; although this<br>
&gt; &gt;&gt;&gt; would make Sequence and EditableSequence less compatible. I think<br>
&gt; &gt;&gt;&gt; this<br>
&gt; &gt;&gt;&gt; would<br>
&gt; &gt;&gt;&gt; have to be discussed, but it might really be worth it.<br>
<br>
&gt; &gt;&gt;&gt; Best<br>
&gt; &gt;&gt;&gt; Ben<br>
<br>
<br>
&gt; &gt;&gt;&gt; Paolo Pavan schrieb am 2015-03-30:<br>
&gt; &gt;&gt;&gt; &gt; Hi Ben and all,<br>
&gt; &gt;&gt;&gt; &gt; I&#39;m following this thread with interest.<br>
&gt; &gt;&gt;&gt; &gt; Just to examine in depth, what was the reason of the idea of<br>
&gt; &gt;&gt;&gt; &gt; mantaining the<br>
&gt; &gt;&gt;&gt; &gt; sequence atomic? The fact to keep working with the same<br>
&gt; &gt;&gt;&gt; &gt; instantiated<br>
&gt; &gt;&gt;&gt; &gt; object<br>
&gt; &gt;&gt;&gt; &gt; (and hence it&#39;s reference) during the software run lifetime?<br>
&gt; &gt;&gt;&gt; &gt; If is it so, I like the idea that yourself are suggesting to<br>
&gt; &gt;&gt;&gt; &gt; accomplish the<br>
&gt; &gt;&gt;&gt; &gt; task of a DNA mutation with a SequenceView.<br>
<br>
&gt; &gt;&gt;&gt; &gt; Paolo<br>
<br>
&gt; &gt;&gt;&gt; &gt; 2015-03-30 16:36 GMT+02:00 Ben Stöver<br>
&gt; &gt;&gt;&gt; &gt; &lt;<a href="mailto:benstoever@uni-muenster.de">benstoever@uni-muenster.de</a>&gt;:<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; Hi Jonas,<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; I have been proposing to inherit a subinterface<br>
&gt; &gt;&gt;&gt; &gt; &gt; &quot;EditableSequence&quot;<br>
&gt; &gt;&gt;&gt; &gt; &gt; (with<br>
&gt; &gt;&gt;&gt; &gt; &gt; according implementations) from the existing Sequence<br>
&gt; &gt;&gt;&gt; &gt; &gt; interface on<br>
&gt; &gt;&gt;&gt; &gt; &gt; this<br>
&gt; &gt;&gt;&gt; &gt; &gt; list<br>
&gt; &gt;&gt;&gt; &gt; &gt; last November. Some people liked this idea, some did not,<br>
&gt; &gt;&gt;&gt; &gt; &gt; mainly<br>
&gt; &gt;&gt;&gt; &gt; &gt; because<br>
&gt; &gt;&gt;&gt; &gt; &gt; there<br>
&gt; &gt;&gt;&gt; &gt; &gt; seemed to be concerns that existing code (using BioJava)<br>
&gt; &gt;&gt;&gt; &gt; &gt; relies on<br>
&gt; &gt;&gt;&gt; &gt; &gt; the<br>
&gt; &gt;&gt;&gt; &gt; &gt; assumption of atomic sequences and allowing their<br>
&gt; &gt;&gt;&gt; &gt; &gt; modification<br>
&gt; &gt;&gt;&gt; &gt; &gt; might break<br>
&gt; &gt;&gt;&gt; &gt; &gt; some of this code (at least this was my interpretation of the<br>
&gt; &gt;&gt;&gt; &gt; &gt; concerns).<br>
&gt; &gt;&gt;&gt; &gt; &gt; (You<br>
&gt; &gt;&gt;&gt; &gt; &gt; can have a look at these mails in some archive or I can<br>
&gt; &gt;&gt;&gt; &gt; &gt; forward<br>
&gt; &gt;&gt;&gt; &gt; &gt; them to<br>
&gt; &gt;&gt;&gt; &gt; &gt; you,<br>
&gt; &gt;&gt;&gt; &gt; &gt; if you want to have a closer look at that discussion.)<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; To my knowledge it is indeed difficult to modify sequences in<br>
&gt; &gt;&gt;&gt; &gt; &gt; the<br>
&gt; &gt;&gt;&gt; &gt; &gt; current<br>
&gt; &gt;&gt;&gt; &gt; &gt; architecture. The only way I&#39;m aware of, is creating a new<br>
&gt; &gt;&gt;&gt; &gt; &gt; SequenceView on<br>
&gt; &gt;&gt;&gt; &gt; &gt; your sequence which provides a modified view on the<br>
&gt; &gt;&gt;&gt; &gt; &gt; underlying<br>
&gt; &gt;&gt;&gt; &gt; &gt; sequence<br>
&gt; &gt;&gt;&gt; &gt; &gt; modeling you mutation. I think there are even some<br>
&gt; &gt;&gt;&gt; &gt; &gt; implementations<br>
&gt; &gt;&gt;&gt; &gt; &gt; out<br>
&gt; &gt;&gt;&gt; &gt; &gt; there<br>
&gt; &gt;&gt;&gt; &gt; &gt; based on this interface<br>
<br>
<br>
&gt; &gt;&gt;&gt; <a href="https://github.com/biojava/biojava/blob/master/biojava-core/src/main/java/org/biojava/nbio/core/sequence/edits/Edit.java" target="_blank">https://github.com/biojava/biojava/blob/master/biojava-core/src/main/java/org/biojava/nbio/core/sequence/edits/Edit.java</a><br>
&gt; &gt;&gt;&gt; &gt; &gt; but I never tried them. In my opinion, it is mainly a<br>
&gt; &gt;&gt;&gt; &gt; &gt; question of<br>
&gt; &gt;&gt;&gt; &gt; &gt; performance,<br>
&gt; &gt;&gt;&gt; &gt; &gt; if this approach makes sense for you. (If you e.g. perform<br>
&gt; &gt;&gt;&gt; &gt; &gt; many<br>
&gt; &gt;&gt;&gt; &gt; &gt; mutations<br>
&gt; &gt;&gt;&gt; &gt; &gt; you<br>
&gt; &gt;&gt;&gt; &gt; &gt; would not want to create a copy of your whole sequence for<br>
&gt; &gt;&gt;&gt; &gt; &gt; each<br>
&gt; &gt;&gt;&gt; &gt; &gt; operation<br>
&gt; &gt;&gt;&gt; &gt; &gt; and<br>
&gt; &gt;&gt;&gt; &gt; &gt; have a chain of 1000 sequence views in the end.)<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; Of course you are always free to create or modify an existing<br>
&gt; &gt;&gt;&gt; &gt; &gt; implementation<br>
&gt; &gt;&gt;&gt; &gt; &gt; of &quot;Sequence&quot; that offer additional methods for modification,<br>
&gt; &gt;&gt;&gt; &gt; &gt; but<br>
&gt; &gt;&gt;&gt; &gt; &gt; keep in<br>
&gt; &gt;&gt;&gt; &gt; &gt; mind<br>
&gt; &gt;&gt;&gt; &gt; &gt; that this would break the assumption of &quot;atomic sequence<br>
&gt; &gt;&gt;&gt; &gt; &gt; objects&quot;,<br>
&gt; &gt;&gt;&gt; &gt; &gt; which<br>
&gt; &gt;&gt;&gt; &gt; &gt; seems<br>
&gt; &gt;&gt;&gt; &gt; &gt; to be intended in the current BioJava sequence model.<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; Anyway, if anyone knows about any other ways to do that in<br>
&gt; &gt;&gt;&gt; &gt; &gt; BioJava<br>
&gt; &gt;&gt;&gt; &gt; &gt; or could<br>
&gt; &gt;&gt;&gt; &gt; &gt; think about a good way of integrating this functionality in<br>
&gt; &gt;&gt;&gt; &gt; &gt; the<br>
&gt; &gt;&gt;&gt; &gt; &gt; existing<br>
&gt; &gt;&gt;&gt; &gt; &gt; architecture (without building up an alternative sequence<br>
&gt; &gt;&gt;&gt; &gt; &gt; framework), I<br>
&gt; &gt;&gt;&gt; &gt; &gt; would<br>
&gt; &gt;&gt;&gt; &gt; &gt; be very interested to know.<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; Best<br>
&gt; &gt;&gt;&gt; &gt; &gt; Ben<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; Dipl. Biologe Ben Stöver<br>
&gt; &gt;&gt;&gt; &gt; &gt; Evolution und Biodiversity of Plants Group<br>
&gt; &gt;&gt;&gt; &gt; &gt; Institute for Evolution and Biodiversity<br>
&gt; &gt;&gt;&gt; &gt; &gt; University of Münster<br>
&gt; &gt;&gt;&gt; &gt; &gt; Germany<br>
&gt; &gt;&gt;&gt; &gt; &gt; <a href="http://www2.ieb.uni-muenster.de/EvolBiodivPlants/en/People/Stoever" target="_blank">http://www2.ieb.uni-muenster.de/EvolBiodivPlants/en/People/Stoever</a><br>
&gt; &gt;&gt;&gt; &gt; &gt; <a href="mailto:BenStoever@uni-muenster.de">BenStoever@uni-muenster.de</a><br>
<br>
<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; LAW Andy schrieb am 2015-03-30:<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; I think the philosophical view on this is that the mutated<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; sequence<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; is a *new* and *different* sequence.<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; On 30 Mar 2015, at 09:30, Jose Manuel Duarte<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &lt;<a href="mailto:jose.duarte@psi.ch">jose.duarte@psi.ch</a>&gt;<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; wrote:<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; Hi Jonas<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; I&#39;m not very familiar with the sequence part of Biojava,<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; but<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; after<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; looking around a bit it seems that indeed there&#39;s no<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; available<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; way<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; to mutate sequences. It looks like people using Biojava<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; before<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; had<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; &quot;read-only&quot; applications in mind. I agree a<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; setCompoundAt(int<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; position) would be needed, it should actually be part of<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; Sequence interface. It would be a nice addition for 4.1.<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; Anyway sorry I can&#39;t be of more help, perhaps someone<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; else has<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; some<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; more background info on this.<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; Jose<br>
<br>
<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt; On 28.03.2015 17:13, Jonas Dehairs wrote:<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; I want to introduce a mutation to a DNA sequence at a<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; particular<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; location.<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; I can&#39;t seem to find a suitable method for this in the<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; 4.0<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; API.<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; What would make most sense to me is a setCompoundAt (int<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; position,<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; c compound) method in the AbstractSequence class,<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; similar to<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; the<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; getCompoundAt(int position) method, but this doesn&#39;t<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; seem to<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; exist. And the mutator class seems to be for proteins<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; only.<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; How<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; &gt;&gt; can I do this?<br>
<br>
<br>
<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; --<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; The University of Edinburgh is a charitable body,<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; registered in<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; Scotland, with registration number SC005336.<br>
<br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
&gt; &gt;&gt;&gt; &gt; &gt; &gt; <a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
<br>
&gt; &gt;&gt;&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; &gt; &gt; Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
&gt; &gt;&gt;&gt; &gt; &gt; <a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
<br>
<br>
&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
&gt; &gt;&gt;&gt; <a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
<br>
<br>
<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
&gt; &gt;&gt; <a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
<br>
<br>
<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
&gt; &gt; <a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
<br>
<br>
<br>
<br>
&gt; --<br>
&gt; -----------------------------------------------------------------------<br>
&gt; Dr. Andreas Prlic<br>
&gt; RCSB PDB Protein Data Bank<br>
&gt; University of California, San Diego<br>
<br>
&gt; Editor Software Section<br>
&gt; PLOS Computational Biology<br>
<br>
&gt; BioJava Project Lead<br>
&gt; -----------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
Biojava-l mailing list  -  <a href="mailto:Biojava-l@mailman.open-bio.org">Biojava-l@mailman.open-bio.org</a><br>
<a href="http://mailman.open-bio.org/mailman/listinfo/biojava-l" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biojava-l</a><br>
</div></div></blockquote></div><br></div></div></div></div></div></div>