跳到主要内容
知仓学习社ZHICANG

bio-transcription-translation

bio-transcription-translation,来自 FreedomIntelligence/OpenClaw-Medical-Skills 的 agent 技能。

不碰外部(只输出文字)无严重或高危命中FreedomIntelligence/OpenClaw-Medical-Skills

它会碰到什么

扫了多少5 个文本文件,14 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

<!--

COPYRIGHT NOTICE

This file is part of the "Universal Biomedical Skills" project.

Copyright (c) 2026 MD BABU MIA, PhD <md.babu.mia@mssm.edu>

All Rights Reserved.

#

This code is proprietary and confidential.

Unauthorized copying of this file, via any medium is strictly prohibited.

#

Provenance: Authenticated by MD BABU MIA

-->


name: bio-transcription-translation

description: Transcribe DNA to RNA and translate to protein using Biopython. Use when converting between DNA, RNA, and protein sequences, finding ORFs, or using alternative codon tables.

tool_type: python

primary_tool: Bio.Seq

measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes.

allowed-tools:

  • read_file
  • run_shell_command

Transcription and Translation

Convert between DNA, RNA, and protein sequences using Biopython.

Required Import

from Bio.Seq import Seq

Core Methods

Transcription (DNA to RNA)

dna = Seq('ATGCGATCGATCG')
rna = dna.transcribe()  # Returns Seq('AUGCGAUCGAUCG')

Transcription replaces T with U. Works on coding strand (5' to 3').

Back Transcription (RNA to DNA)

rna = Seq('AUGCGAUCGAUCG')
dna = rna.back_transcribe()  # Returns Seq('ATGCGATCGATCG')

Translation (RNA/DNA to Protein)

# From coding DNA (includes ATG start)
coding_dna = Seq('ATGTTTGGT')
protein = coding_dna.translate()  # Returns Seq('MFG')

# From RNA
rna = Seq('AUGUUUGGU')
protein = rna.translate()  # Returns Seq('MFG')

Translation Options

Stop at First Stop Codon

seq = Seq('ATGTTTGGTTAAGGG')
protein = seq.translate(to_stop=True)  # Stops at TAA, excludes stop

Include Stop Codon Symbol

seq = Seq('ATGTTTGGTTAA')
protein = seq.translate()  # Returns Seq('MFG*')

Alternative Codon Tables

Biopython supports NCBI codon tables. Common tables:

| ID | Name | Use Case |

|----|------|----------|

| 1 | Standard | Default, most organisms |

| 2 | Vertebrate Mitochondrial | Human/vertebrate mitochondria |

| 4 | Mold Mitochondrial | Fungi, protozoa mitochondria |

| 5 | Invertebrate Mitochondrial | Insects, worms mitochondria |

| 6 | Ciliate Nuclear | Tetrahymena, Paramecium |

| 11 | Bacterial/Archaeal | Prokaryotes, plastids |

# Bacterial translation
seq = Seq('ATGTTTGGT')
protein = seq.translate(table=11)

# Mitochondrial translation
protein = seq.translate(table=2)

# By name
protein = seq.translate(table='Vertebrate Mitochondrial')

CDS Translation (Complete Coding Sequence)

For validated coding sequences with proper start/stop:

cds = Seq('ATGTTTGGTTAA')  # Must start with start codon, end with stop
protein = cds.translate(cds=True)  # Validates and removes stop

The cds=True option:

  • Validates start codon (ATG or alternative)
  • Validates stop codon at end
  • Removes stop codon from result
  • Raises error if invalid CDS

Code Patterns

Basic Transcription and Translation Pipeline

dna = Seq('ATGTTTGGTCATTAA')
rna = dna.transcribe()
protein = rna.translate()
print(f'DNA: {dna}')
print(f'RNA: {rna}')
print(f'Protein: {protein}')

Translate All Six Reading Frames

def six_frame_translation(seq):
    frames = []
    for strand, s in [('+', seq), ('-', seq.reverse_complement())]:
        for frame in range(3):
            length = 3 * ((len(s) - frame) // 3)
            fragment = s[frame:frame + length]
            frames.append((strand, frame, fragment.translate()))
    return frames

seq = Seq('ATGCGATCGATCGATCGATCG')
for strand, frame, protein in six_frame_translation(seq):
    print(f'{strand}{frame}: {protein}')

Find All ORFs (Start to Stop)

def find_orfs(seq, min_length=30):
    orfs = []
    for strand, s in [('+', seq), ('-', seq.reverse_complement())]:
        for frame in range(3):
            trans = s[frame:].translate()
            aa_start = 0
            while True:
                start = trans.find('M', aa_start)
                if start == -1:
                    break
                stop = trans.find('*', start)
                if stop == -1:
                    stop = len(trans)
                orf = trans[start:stop]
                if len(orf) * 3 >= min_length:
                    orfs.append((strand, frame, start * 3 + frame, str(orf)))
                aa_start = start + 1
    return orfs

seq = Seq('ATGCGATCGATCGATCGATCGTAA')
for strand, frame, pos, orf in find_orfs(seq, min_length=3):
    print(f'{strand} frame {frame} pos {pos}: {orf}')

Translate with Quality Check

def translate_cds_safe(seq):
    try:
        return seq.translate(cds=True)
    except Exception as e:
        return seq.translate(to_stop=True)  # Fallback

Get Codon Table Info

from Bio.Data import CodonTable

table = CodonTable.unambiguous_dna_by_id[1]
print(f'Start codons: {table.start_codons}')
print(f'Stop codons: {table.stop_codons}')

Common Errors

| Error | Cause | Solution |

|-------|-------|----------|

| TranslationError: First codon is not a start codon | Used cds=True without valid start | Remove cds=True or fix sequence |

| TranslationError: Final codon is not a stop codon | Used cds=True without stop codon | Remove cds=True or add stop codon |

| TranslationError: Sequence length not multiple of 3 | Partial codons at end | Trim sequence to multiple of 3 |

| Unexpected amino acids | Wrong codon table | Specify correct table for organism |

Decision Tree

Need to convert sequence?
├── DNA to RNA?
│   └── Use seq.transcribe()
├── RNA to DNA?
│   └── Use seq.back_transcribe()
├── DNA/RNA to protein?
│   ├── Complete CDS with start/stop?
│   │   └── Use translate(cds=True)
│   ├── Stop at first stop codon?
│   │   └── Use translate(to_stop=True)
│   ├── Non-standard organism?
│   │   └── Use translate(table=N)
│   └── Get all including stop symbol?
│       └── Use translate()
└── Find all ORFs?
    └── Translate all six frames, search for M...*

Related Skills

  • seq-objects - Create Seq objects for translation
  • reverse-complement - Translate both strands (six-frame translation)
  • codon-usage - Analyze codon bias in coding sequences
  • sequence-io/read-sequences - Parse GenBank files with CDS features
  • database-access/entrez-fetch - Fetch CDS sequences from NCBI for translation

<!-- AUTHOR_SIGNATURE: 9a7f3c2e-MD-BABU-MIA-2026-MSSM-SECURE -->

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 3,010
本站分层T1
该仓技能数897
原文件路径skills/bio-transcription-translation/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 897 个技能