Transform lengthy academic papers into concise, structured 250-word abstracts.
The English summary is being prepared. Showing the original description.
Use Biopython to read/write/convert biological sequence files (FASTA/GenBank/FASTQ, etc.) and perform basic sequence operations; use when you need reliable sequence I/O, lightweight sequence manipulation, or scalable processing of large sequence datasets.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Bio.Seq.Seq (slicing, reverse complement, transcription/translation).Bio.SeqIO for parsing and writing FASTA/GenBank/FASTQ and other supported formats.SeqIO.index) for large files.biopython>=1.80numpy>=1.21Create config/task_config.json:
{
"input_path": "data/input.fasta",
"input_format": "fasta",
"output_path": "data/output.gb",
"output_format": "genbank",
"min_length": 200,
"max_ambiguous": 0,
"index_db_path": "data/index.sqlite"
}
Run:
python scripts/sequence_io.py
scripts/sequence_io.py (runnable end-to-end):
import json
from pathlib import Path
import numpy as np
from Bio import SeqIO
def gc_fraction(seq: str) -> float:
s = seq.upper()
if not s:
return 0.0
return float((s.count("G") + s.count("C")) / len(s))
def ambiguous_count(seq: str) -> int:
# Treat anything outside A/C/G/T/U as ambiguous for simple filtering.
allowed = set("ACGTU")
return sum(1 for ch in seq.upper() if ch not in allowed)
def main() -> None:
config_path = Path("config/task_config.json")
with config_path.open("r", encoding="utf-8") as f:
cfg = json.load(f)
input_path = Path(cfg["input_path"])
input_format = cfg["input_format"]
output_path = Path(cfg["output_path"])
output_format = cfg["output_format"]
min_length = int(cfg.get("min_length", 0))
max_ambiguous = int(cfg.get("max_ambiguous", 10**9))
output_path.parent.mkdir(parents=True, exist_ok=True)
kept = 0
lengths = []
# Stream records to avoid loading the entire file into memory.
with output_path.open("w", encoding="utf-8") as out_handle:
for record in SeqIO.parse(str(input_path), input_format):
seq_str = str(record.seq)
if len(seq_str) < min_length:
continue
if ambiguous_count(seq_str) > max_ambiguous:
continue
# Example: attach simple stats as annotations (useful for GenBank output).
record.annotations["gc_fraction"] = gc_fraction(seq_str)
SeqIO.write(record, out_handle, output_format)
kept += 1
lengths.append(len(seq_str))
summary = {
"input_path": str(input_path),
"output_path": str(output_path),
"kept_records": kept,
"length_min": int(np.min(lengths)) if lengths else 0,
"length_max": int(np.max(lengths)) if lengths else 0,
"length_mean": float(np.mean(lengths)) if lengths else 0.0,
}
Path("config").mkdir(parents=True, exist_ok=True)
with Path("config/summary.json").open("w", encoding="utf-8") as f:
json.dump(summary, f, ensure_ascii=False, indent=2)
if __name__ == "__main__":
main()
Configuration convention
config/task_config.json as an intermediate artifact.python scripts/<task_name>.py.-- parameters; prefer config files for reproducibility.encoding="utf-8". JSON output must use ensure_ascii=False.Parsing and writing
SeqIO.parse(path, format) for streaming iteration over records.SeqIO.write(records_or_record, handle, format) to serialize records.Large-file strategies
SeqIO.index(input_path, format) (creates an on-disk index depending on backend); this avoids loading all sequences into memory.Filtering/statistics
min_length, maximum ambiguous characters, and quality-based criteria for FASTQ.(count(G)+count(C))/length on an uppercased sequence string; handle empty sequences safely.Reference
references/sequence_io.md for additional notes and format-specific behaviors.biopython_sequence_io_result.md unless the skill documentation defines a better convention.Run this minimal verification path before full execution when possible:
No local script validation step is required for this skill.
Expected output format:
Result file: biopython_sequence_io_result.md
Validation summary: PASS/FAIL with brief notes
Assumptions: explicit list if any
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Transform lengthy academic papers into concise, structured 250-word abstracts.
The English summary is being prepared. Showing the original description.
Precision editing tool that reduces abstract word count through intelligent compression techniques, maintaining scientific rigor while meeting strict journal and conference requirements.
The English summary is being prepared. Showing the original description.
Refines long medical academic texts into SCI-style unstructured Chinese and English abstracts; use when you need to condense drafts/reports/summaries into bilingual abstracts and generate Summary_Report.md.
The English summary is being prepared. Showing the original description.
Generates submission-ready Elsevier/SCI Highlights from manuscript text or extracted PDF/DOCX/TXT content. Use when a user needs 3-5 concise, evidence-grounded highlight bullets for a research paper, review, meta-analysis, case report, or bioinformatics manuscript.
The English summary is being prepared. Showing the original description.
Generates complete FAERS pharmacovigilance study designs for multi-drug or class-level safety comparison inside one predefined SOC or AE family using active comparators, disproportionality analysis, subgroup characterization, and reviewer-facing evidence control.
The English summary is being prepared. Showing the original description.
Analyze data with `adme-property-predictor` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.
The English summary is being prepared. Showing the original description.