Skill Index

InnoClaw/

dna-rna-sequence-analysis

community[skill]

Analyze DNA and RNA sequences including molecular weight calculation, reverse complement generation, and oligonucleotide properties.

$/plugin install InnoClaw

details

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:

  1. Calculate DNA Molecular Weight - Compute molecular weight for DNA sequences
  2. Calculate Oligonucleotide Properties - Compute GC content, Tm, extinction coefficient for RNA
  3. 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
  • CalculatorOligonucleotide: Calculate oligonucleotide (RNA) properties

    • Args: sq (str) - RNA sequence
    • Returns: GC content (%), Tm (°C), molecular weight, extinction coefficient
  • GetReverseComplement: Generate reverse complement sequence

    • Args: sequence (str) - DNA sequence
    • Returns: Reverse complement sequence
  • ComputeAnnealingTemperature: Calculate primer annealing temperature

    • Args: sequence (str) - Primer sequence
    • Returns: Annealing temperature for PCR

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 sequence
  • SEQUENCE: 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 frames
  • TranslateDNAtoAminoAcidSequence: Translate DNA to protein
  • RepeatDNASequenceSearch: Find repetitive sequences
  • CpGIslandPrediction: Predict CpG islands
  • PCRPrimerProperties: Analyze primer properties
  • RandomDNAGeneration: Generate random DNA sequences
  • CircularDNAAlignment: Align circular DNA sequences

technical

github
SpectrAI-Initiative/InnoClaw
stars
374
license
Apache-2.0
contributors
16
last commit
2026-04-20T01:27:21Z
file
.claude/skills/dna-rna-sequence-analysis/SKILL.md

related