dna-rna-sequence-analysis
Analyze DNA and RNA sequences including molecular weight calculation, reverse complement generation, and oligonucleotide properties.
- License 许可
- MIT
- 最近更新
- 2026-03-20
- Stars
- ★ 172
- Forks
- 10
01 前言 Front Matter
- i18n
- { "zh": { "description": "分析DNA/RNA序列及属性。" } }
- name
- dna-rna-sequence-analysis
- license
- MIT license
- metadata
- { "skill-author": "PJLab" }
- description
- Analyze DNA and RNA sequences including molecular weight calculation, reverse complement generation, and oligonucleotide properties.
03 SKILL.md 正文
DNA/RNA Sequence Analysis
Usage
1. MCP Server Definition
Use the same BiologyToolsClient class as defined in the protein-properties-calculation skill.
2. DNA/RNA Sequence Analysis Workflow
This workflow analyzes DNA and RNA sequences, calculating molecular weight, GC content, melting temperature, and generating reverse complements.
Workflow Steps:
- Calculate DNA Molecular Weight - Compute molecular weight for DNA sequences
- Calculate Oligonucleotide Properties - Compute GC content, Tm, extinction coefficient for RNA
- Generate Reverse Complement - Create reverse complement sequence
Implementation:
## Initialize client
HEADERS = {"SCP-HUB-API-KEY": "<your-api-key>"}
client = BiologyToolsClient(
"https://scp.intern-ai.org.cn/api/v1/mcp/29/SciToolAgent-Bio",
HEADERS
)
if not await client.connect():
print("connection failed")
exit()
print("=== DNA/RNA Sequence Analysis ===\n")
## Step 1: Calculate DNA molecular weight
print("Step 1: DNA Molecular Weight")
dna_sequence = "ATGATGTAACGTAGCTAG"
sequence_para = f"seq1:{dna_sequence}.strand=single,topology=linear"
result = await client.client.call_tool(
"DNAMolecularWeightCalculator",
arguments={"sequence_para": sequence_para}
)
result_data = client.parse_result(result)
print(f"DNA Sequence: {dna_sequence}")
print(f"Result:\n{result_data}\n")
## Step 2: Calculate oligonucleotide (RNA) properties
print("Step 2: Oligonucleotide (RNA) Properties")
rna_sequence = "AUGAUGUAACGUAGCUAG"
result = await client.client.call_tool(
"CalculatorOligonucleotide",
arguments={"sq": rna_sequence}
)
result_data = client.parse_result(result)
print(f"RNA Sequence: {rna_sequence}")
print(f"Result:\n{result_data}\n")
## Step 3: Generate reverse complement
print("Step 3: Reverse Complement")
test_sequence = "ATCGATCG"
result = await client.client.call_tool(
"GetReverseComplement",
arguments={"sequence": test_sequence}
)
result_data = client.parse_result(result)
print(f"Original Sequence: {test_sequence}")
print(f"Reverse Complement:\n{result_data}\n")
## Step 4: Calculate annealing temperature for primers
print("Step 4: PCR Primer Annealing Temperature")
primer_sequence = "GCTAGCTAGCTA"
result = await client.client.call_tool(
"ComputeAnnealingTemperature",
arguments={"sequence": primer_sequence}
)
result_data = client.parse_result(result)
print(f"Primer Sequence: {primer_sequence}")
print(f"Result:\n{result_data}\n")
await client.disconnect()
Tool Descriptions
SciToolAgent-Bio Server:
-
DNAMolecularWeightCalculator: Calculate DNA molecular weight- Args:
sequence_para(str) - Formatted sequence with parameters - Format:
"seqName:SEQUENCE.strand=single/double,topology=linear/circular" - Returns: Molecular weight in Daltons
- Args:
-
CalculatorOligonucleotide: Calculate oligonucleotide (RNA) properties- Args:
sq(str) - RNA sequence - Returns: GC content (%), Tm (°C), molecular weight, extinction coefficient
- Args:
-
GetReverseComplement: Generate reverse complement sequence- Args:
sequence(str) - DNA sequence - Returns: Reverse complement sequence
- Args:
-
ComputeAnnealingTemperature: Calculate primer annealing temperature- Args:
sequence(str) - Primer sequence - Returns: Annealing temperature for PCR
- Args:
Input/Output
Input:
- DNA sequences: Use A, T, G, C nucleotides
- RNA sequences: Use A, U, G, C nucleotides
- Sequence parameters for DNA: strand type (single/double) and topology (linear/circular)
Output:
- DNA Molecular Weight: Mass in Daltons for DNA sequences
- GC Content: Percentage of G and C nucleotides
- Tm (Melting Temperature): Temperature at which 50% of DNA is denatured
- Extinction Coefficient: For nucleic acid quantification (M⁻¹cm⁻¹)
- Reverse Complement: Complementary antiparallel sequence
Use Cases
- Design PCR primers with appropriate annealing temperatures
- Calculate oligonucleotide concentrations spectrophotometrically
- Generate reverse complement for sequencing analysis
- Analyze GC content for primer design
- Plan molecular cloning experiments
- Estimate DNA/RNA molecular weights
- Design and analyze synthetic oligonucleotides
Sequence Format for DNA Molecular Weight
Format: "seqName:SEQUENCE.strand=X,topology=Y"
Parameters:
seqName: Identifier for the sequenceSEQUENCE: DNA nucleotide sequence (A, T, G, C)strand: Either "single" or "double"topology: Either "linear" or "circular"
Example: "plasmid1:ATGCATGC.strand=double,topology=circular"
GC Content and Tm
- High GC content (>60%): Higher melting temperature, more stable
- Low GC content (<40%): Lower melting temperature, less stable
- Tm: Used to determine PCR annealing temperature (typically Tm - 5°C)
Additional DNA/RNA Tools Available
ORFFind: Find open reading framesTranslateDNAtoAminoAcidSequence: Translate DNA to proteinRepeatDNASequenceSearch: Find repetitive sequencesCpGIslandPrediction: Predict CpG islandsPCRPrimerProperties: Analyze primer propertiesRandomDNAGeneration: Generate random DNA sequencesCircularDNAAlignment: Align circular DNA sequences
04 同仓库更多 Skills
scientific-critical-thinking
Evaluate scientific claims and evidence quality. Use for assessing experimental design validity, identifying biases and confounders, applying evidence grading frameworks (GRADE, Cochrane Risk of Bias), or teaching critical analysis. Best for understanding evidence quality, identifying flaws. For formal peer review writing use peer-review.
scientific-brainstorming
Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.
scientific-literature-search
Search scientific literature and research papers using FlowSearch to find relevant academic articles and publications.
pubmed-article-search
Search PubMed database for scientific articles and publications to retrieve biomedical literature.
biomedical-web-search
Search biomedical literature and web content using Tavily search engine for research and clinical information.
uniprot-protein-retrieval
Retrieve protein sequences and functional information from UniProt database by protein name, enabling protein analysis and bioinformatics workflows.