Giter VIP home page Giter VIP logo

Comments (3)

urmi-21 avatar urmi-21 commented on August 22, 2024

Hi @Niwradel! Thanks for the positive feedback! I am not sure if I understand your question completely. Right now orfipy doesn't report overlapping/nested ORFs in the same frame. I don't understand "maximize the density of longest ORFs along scaffolds"
Can you please provide an example? I am interested in knowing.

from orfipy.

BenjaminGuinet avatar BenjaminGuinet commented on August 22, 2024

Hello, here is an example :


ORF1          |--------|
ORF2                 |----|
ORF3                                 |---------|
ORF4                                  |--------|

In that example, I wanted to know if orfipy authorize overlapping ORFs (with threshold) as in ORF1 and ORF2? or do it takes only the longest (ORF1?).

And as in ORF3 and ORF4 the overlapping is too high, so you keep the longest (ORF3?)

from orfipy.

urmi-21 avatar urmi-21 commented on August 22, 2024

Thanks for the example. If ORF1 and ORF2 are in different frames then both ORFs are reported (given they match you min and max length parameter).

If ORF1 and ORF2 are in the same frame then first start and first stop is reported as ORF regardless of the length. Below example ORF2 is longer but since its START is in-frame inside another ORF it is not considered as a START.

e.g. assuming same frame,

ORF1 |----------|
ORF2 |-----------------------------------------------------|

ORF 1 has leftmost (towards 5') START and STOP so ORF1 is reported.

NOTE ORF2 may still be reported by orfipy if you set the --partial-5 flag. First codon in ORF2 will be the one right after the STOP in ORF1. partial-5 means ORFs without a start codon but a stop codon. Similarly there is a flag --partial-3

Here is a small example:

>s1
ATGGGGGGGTTTAAATAGTTTCCCGTTCCCTTTAAATTTGCCATTGGTGCCTTTAAATGGCGTTTTAAACGTTAG
orfipy --min 0 --outdir out  s.fa | grep frame=1

Processed 1 sequences in 0.21 seconds
s1      0       15      ID=s1_ORF.1;ORF_type=complete;ORF_len=15;ORF_frame=1;Start:ATG;Stop:TAG 0       +

With --partial-5"

orfipy --min 0 --outdir out  --partial-5 s.fa | grep frame=1

Processed 1 sequences in 0.21 seconds
s1      0       15      ID=s1_ORF.1;ORF_type=complete;ORF_len=15;ORF_frame=1;Start:ATG;Stop:TAG 0       +
s1      18      72      ID=s1_ORF.2;ORF_type=5-prime-partial;ORF_len=54;ORF_frame=1;Start:NA;Stop:TAG   0       +

from orfipy.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.