ORF Finder
v0.4.3Identify potential protein-coding regions in DNA across all six reading frames with NCBI ORFfinder.
ORF Finder online on ProteinIQ runs NCBI ORFfinder 0.4.3, the standalone program NCBI distributes alongside its web ORF finder, so the open reading frames, translations, and native files are those NCBI's own code produces. Submitted with the human beta-globin transcript NM_000518.5, it returns one ORF at positions 51 to 494, the same interval RefSeq annotates as the HBB coding sequence.
An open reading frame (ORF) is a stretch of DNA that can be translated without meeting an in-frame stop codon. The search covers three reading frames on each strand, or one selected strand, with any of 26 NCBI genetic codes. Results open in an ORF explorer with six-frame tracks, an ORF table, and a summary, and every run returns protein FASTA, CDS FASTA, text ASN.1, and a feature table.
An ORF Finder job costs 20 credits for up to 20 FASTA records, whatever the sequence length or settings. Above 20 records, the quote is 1 credit per record. The exact quote appears before submission.
| FASTA records per job | Credits |
|---|---|
| 1 | 20 |
| 20 | 20 |
| 21 | 21 |
| 50 | 50 |
| 100 | 100 |
| 500 | 500 |
The values come from the current calculator. Raw DNA without a header is priced as one record, so a 1,000,000 nt sequence costs 20 credits. Minimum ORF length, genetic code, start codon mode, strand, and search region do not change the quote.
Submit raw DNA or one or more FASTA records, pasted or uploaded as .txt, .fasta, .fa, .fas, .fna, or .seq. A GenBank record can be turned into FASTA with the GenBank to FASTA converter. IUPAC ambiguity symbols are kept, so coordinates stay stable and ambiguous codons can translate as X. Gaps, punctuation, amino-acid letters, and other invalid symbols are refused instead of being silently removed.
| Input | Limit |
|---|---|
| DNA sequence | Up to 10 MB per file and 10,000,000 nucleotides per job |
| FASTA records | Up to 500 records per job, with unique identifiers |
| Free plan | Up to 10,000 nucleotides per job |
One job can return at most 10,000 ORFs and 50 MB of combined native output. If a search exceeds either bound, raise the minimum ORF length or narrow the search region.
| Parameter | Type | Default | Description |
|---|---|---|---|
Minimum ORF length | enum | 75 nt | 30, 75, 150, 300, or 600 nt (native -ml). The terminating stop codon does not count toward the threshold. |
Genetic code | enum | 1. Standard | One of the 26 NCBI translation tables offered by the NCBI ORFfinder web application (native -g). |
Start codon mode | enum | ATG only | ATG only, ATG + code-specific alternative starts, or Any sense codon (native -s). Alternative starts come from the selected genetic code. |
Strand | enum | Both strands | Both strands, Forward only (+), or Reverse only (-) (native -strand). |
Ignore nested ORFs | boolean | false | Drop ORFs placed completely within another ORF on the searched strands (native -n). |
Start position | integer | 1 | Inclusive, 1-based start of the search region, applied to each FASTA record (native -b). |
End position | integer | 0 | Inclusive end of the search region; 0 searches to the end of each sequence (native -e). |
ORFfinder also has an experimental circular-sequence flag. NCBI marks it as under development, so it is not offered here.
| Output | Contents |
|---|---|
ORF explorer | A full-sequence map of all six frames. Selecting an ORF zooms to it and shows its coordinates, protein, and oriented DNA, with copy and FASTA download |
ORF table | One row per ORF with frame, strand, start, end, length in nt and aa, first and last codon, and source status; search, filters, sorting, and CSV export |
Summary | Totals across all input sequences, average length, partial counts, codon counts, a link to the longest ORF, and a JSON download |
Files | Every native ORFfinder output and a run log |
| File | ORFfinder format | Contents |
|---|---|---|
| Protein FASTA | -outfmt 0 | Native protein translations, headers, order, and partial labels |
| CDS FASTA | -outfmt 1 | Native oriented coding DNA sequences and source coordinates |
| Text ASN.1 | -outfmt 2 | Native sequence annotations and partial-location semantics |
| Feature table | -outfmt 3 | Native five-column feature table |
| Run log | Additive | Pinned version, effective flags, and native diagnostics |
For sequences longer than 20,000 nt, the explorer still shows complete ORF tracks but omits base-by-base rendering. The tracks show the first 1,000 ORFs per sequence; the table and native files stay complete. The table, filters, and CSV and JSON exports are views over the native records and keep native ORF order.
Coordinates are 1-based positions in the submitted sequence. Forward-strand ORFs run from a lower start to a higher end, and reverse-strand ORFs from a higher start to a lower end, so the 1,092 nt lacI ORF in the third example runs from 1,219 down to 128.
Frames +1 to +3 and -1 to -3 follow ORFfinder's numbering, and first and last codons are shown as they occur in the oriented CDS. A reverse complement of the input shows reverse-strand ORFs in forward orientation.
A real gene usually stands out by length. With the standard code, 3 of 64 codons are stops, so in random sequence a stop turns up about every 21 codons on average, and long ORFs rarely arise by chance. The HBB transcript returns one ORF of 147 aa at a 300 nt threshold, and it matches the annotated coding sequence.
Length alone is still not evidence of function. Before assigning one, compare a candidate's protein with known proteins, transcript evidence, codon usage, and its genomic context. Prokaryotic ORFs often correspond closely to coding sequences, while eukaryotic genes with introns need splice-aware gene prediction, because ORFfinder reads the submitted DNA as one continuous sequence.
ORFfinder reports each ORF from the most upstream start codon allowed by the start codon mode, so the reported start can lie upstream of the curated one. With alternative starts allowed under code 11, the lacI ORF begins at a GTG and translates to 363 aa. The UniProt LacI sequence (P03023) is 360 aa and begins at another GTG three codons downstream, within the same ORF.
ATG only is the strictest choice. ATG + code-specific alternative starts adds the initiation codons defined by the selected table, which matters for bacteria and organelles. Any sense codon finds every stop-to-stop interval, which is useful for fragments without a known start but produces many more candidates.
The threshold removes short ORFs, which are numerous and mostly random. The default 75 nt keeps candidates of 25 sense codons and longer. Lower it for small proteins or short peptides, and raise it to 300 or 600 nt to keep only long candidates in large or noisy sequences.
Ignore nested ORFs removes ORFs placed completely within another ORF. Overlapping ORFs that extend beyond each other stay. In the lacI example, the 318 nt frame -2 ORF starts at 1,277, outside the 1,219 to 128 span of the longer ORF, so it is reported even with nesting ignored. An ORF in another frame of a known gene needs independent evidence before it is treated as a separate gene.
Real overlaps do exist. The human mitochondrial ATP8 and ATP6 genes share 46 nt in different frames, and both appear in the second example.
Marked partial means ORFfinder labeled the protein record as partial; it is the native annotation, not an inference from the last codon.
An ORF that reaches the edge of the submitted region can be marked partial, because the frame could continue beyond it. In the mitochondrial example, the ATP8 ORF begins at position 1 of the excerpt with an ATG, and the ASN.1 records its location as open on the left (fuzz-from lim lt). Not marked partial means the record carries no such label.
The genetic code controls which codons start and stop translation and which amino acid each codon encodes. Choose the table that matches the biological source:
| Code | Name | Notable behavior |
|---|---|---|
| 1 | Standard | TAA, TAG, and TGA terminate translation |
| 2 | Vertebrate Mitochondrial | TGA encodes Trp; AGA and AGG terminate |
| 3 | Yeast Mitochondrial | ATA and GTG can initiate; TGA encodes Trp |
| 6 | Ciliate Nuclear | TAA and TAG encode Gln |
| 11 | Bacterial, Archaeal and Plant Plastid | Includes several code-specific alternative starts |
| 26 | Pachysolen Nuclear | CTG can initiate and encodes Ala internally |
Using the wrong code can change ORF boundaries, translations, and reported start sites. A mitochondrial ORF read with the standard code stops early wherever it contains a TGA, which the vertebrate mitochondrial code reads as tryptophan. The standard genetic code and its exceptions are covered in more detail separately.
The official web version is NCBI ORFfinder. ProteinIQ is not affiliated with NCBI; it runs the standalone NCBI ORFfinder 0.4.3 program on its own servers. According to the NCBI page, the web version accepts an accession number, GI, or FASTA sequence, analyzes a subrange of up to 50 kb, and suggests checking a predicted protein with SMART BLAST or BLASTP. NCBI notes that the standalone Linux version has no query length limit.
On ProteinIQ, one job can search up to 10,000,000 nt across as many as 500 FASTA records on paid plans, and returns all four native output formats from the same run. Every job is saved to the workspace's job history with its inputs, settings, and files. The ORF explorer, filterable table, and CSV and JSON exports sit on top of the native records, and paid plans can run the same search through the ProteinIQ API.
ProteinIQ has no one-click BLAST for each ORF. Copy or download a selected ORF's protein from the explorer, or send the protein FASTA from the Files tab to a tool such as HMMER to search it against your own target sequences. The circular-sequence option is not offered, and the Free plan is limited to 10,000 nt per job.
This example searches the curated human beta-globin transcript for its main protein-coding region while keeping the transcript's untranslated sequence in view.
HBB transcript, NCBI NM_000518.5 (628 nt)Minimum ORF length = 300 nt and Strand = Forward only (+) to focus the result on the annotated coding orientationORF Finder returns one frame +3 ORF at positions 51 to 494, the interval RefSeq annotates as the CDS. The native coding sequence is 444 nt and its protein translation is 147 aa.
RefSeq also marks an upstream in-frame stop codon at positions 30 to 32, so the frame cannot extend past it, and the ATG at 51 is the first in-frame start after that stop. The result identifies a translatable region; it does not show expression or transcript abundance in a sample.
The human mitochondrial ATP8 and ATP6 genes overlap but use different reading frames. This example shows why the biological source and genetic code matter when reading ORF boundaries and translations.
NC_012920.1, positions 8366 to 9207 (842 nt)Minimum ORF length = 150 nt, Genetic code = 2. Vertebrate Mitochondrial, and Start codon mode = ATG + code-specific alternative startsThe frame +1 ORF spans positions 1 to 207 and returns 207 nt and 68 aa; it is marked partial because it starts at the first base of the excerpt.
The frame +3 ORF spans positions 162 to 842 and returns 681 nt and 226 aa. Their 46 nt overlap is visible in the track view. Both are among the 13 protein-coding genes of human mitochondrial DNA, and applying the standard nuclear code would change their termination and amino-acid assignments.
This genomic-region example demonstrates reverse-strand coordinates and a code-specific alternative initiation codon around the E. coli K-12 lacI locus.
NC_000913.3, positions 366301 to 367650 (1,350 nt)Minimum ORF length = 300 nt, Genetic code = 11. Bacterial, Archaeal and Plant Plastid, Start codon mode = ATG + code-specific alternative starts, Strand = Reverse only (-), and Ignore nested ORFs = enabledBoth returned ORFs lie on the reverse strand. The longer frame -3 ORF covers most of the submitted region, while the shorter frame -2 ORF occupies a separate interval near the high-coordinate end.
The table makes the strand direction explicit. The 1,092 nt and 363 aa ORF runs from position 1,219 down to 128 and begins with GTG, an accepted alternative start under genetic code 11; the curated LacI protein starts three codons later. The second ORF runs from 1,277 down to 960 and returns 318 nt and 105 aa with an ATG start. ORF detection alone does not establish promoter activity, expression, or regulatory function.
Assess docking quality between model and native structures
Restore residues and generate antibody-specific representations or likelihood scores.
Predict protein aggregation nucleation propensity from amino acid sequences.
Generate, score, and compare canonical DNA sequences with Carbon language models.
Identify CpG-rich DNA regions using GC content, CpG density, and observed-to-expected ratios.
Score variants, rank DNA sequences and generate DNA with the Evo 2 genome language model
Calculate GC content, AT content, GC/AT skew, melting temperature, and CpG islands for DNA or RNA, with a sliding-window GC plot.
Calculate protein and peptide pI values using validated pKa scales and sequence models.
Analyze independent DNA oligos or screen a bounded set for primer interactions with Primer3 thermodynamic conditions.
Screen paired antibody variable domains for low or high polyreactivity.