Closed camilogarciabotero closed 11 months ago
Thank you for your contribution.
I think the functionality in this PR is too application-specific and somewhat too idiosyncratic to belong in BioSequences. What I mean is that this function allows you to do a very specific query, that is probably not of broad usefulness. The implementation had be asking questions like:
Me having these questions doesn't mean it's bad functionality. But it does probably mean that there is some more generic functionality that could be exposed to users, that would allow the users to build the functionality in this PR, plus address all my questions.
Maybe this functionalitiy should be something like
find*
functions)findnext
, findlast
and findall
for BioRegex
.This could also be useful to search for other motifs in sequences such as TATA boxes. I'm not sure what this API could look like, but it might be worth thinking about.
I'm closing this PR now, but I'll make an issue to discuss this.
Adds the new
hasprematurestop
methodHi,
This is a simple new method that looks into a
BioSequence{<:NucleicAcidAlphabet}
and check if there is a premature stop codon. It only happens to run when there is an actual stop codon in the sequence, otherwise throws aMethodError
with the corresponding message that no stop codon at the end. It has three test cases, I think they could cover all the instances.I'm open to comments. This is my first PR in this GH organization and hope the actual method is useful. I have used in one of my packages, but I think it could actually be nice if others get this functionality out from the
BioSequences
package.Types of changes
This PR implements the following changes: (Please tick any or all of the following that are applicable)
:clipboard: Additional detail
If you have implemented new features or behaviour
Provide a description of the addition in as many details as possible.
Provide justification of the addition.
Provide a runnable example of use of your addition. This lets reviewers and others try out the feature before it is merged or makes it's way to release.
If you have changed current behaviour...
Describe the behaviour prior to you changes
Describe the behaviour after your changes and justify why you have made the changes, Please describe any breakages you anticipate as a result of these changes.
Does your change alter APIs or existing exposed methods/types? If so, this may cause dependency issues and breakages, so the maintainer will need to consider this when versioning the next release.
If you are implementing changes that are intended to increase performance, you should provide the results of a simple performance benchmark exercise demonstrating the improvement. Especially if the changes make code less legible.
:ballot_box_with_check: Checklist
docs/src/
.[UNRELEASED]
section of the manually curatedCHANGELOG.md
file for this repository.