{"id":"87e12122-033b-456e-9411-5ea49625c062","shortId":"HMa8du","kind":"skill","title":"biopython","tagline":"Biopython is a comprehensive set of freely available Python tools for biological computation. It provides functionality for sequence manipulation, file I/O, database access, structural bioinformatics, phylogenetics, and many other bioinformatics tasks.","description":"# Biopython: Computational Molecular Biology in Python\n\n## Overview\n\nBiopython is a comprehensive set of freely available Python tools for biological computation. It provides functionality for sequence manipulation, file I/O, database access, structural bioinformatics, phylogenetics, and many other bioinformatics tasks. The current version is **Biopython 1.85** (released January 2025), which supports Python 3 and requires NumPy.\n\n## When to Use This Skill\n\nUse this skill when:\n\n- Working with biological sequences (DNA, RNA, or protein)\n- Reading, writing, or converting biological file formats (FASTA, GenBank, FASTQ, PDB, mmCIF, etc.)\n- Accessing NCBI databases (GenBank, PubMed, Protein, Gene, etc.) via Entrez\n- Running BLAST searches or parsing BLAST results\n- Performing sequence alignments (pairwise or multiple sequence alignments)\n- Analyzing protein structures from PDB files\n- Creating, manipulating, or visualizing phylogenetic trees\n- Finding sequence motifs or analyzing motif patterns\n- Calculating sequence statistics (GC content, molecular weight, melting temperature, etc.)\n- Performing structural bioinformatics tasks\n- Working with population genetics data\n- Any other computational molecular biology task\n\n## Core Capabilities\n\nBiopython is organized into modular sub-packages, each addressing specific bioinformatics domains:\n\n1. **Sequence Handling** - Bio.Seq and Bio.SeqIO for sequence manipulation and file I/O\n2. **Alignment Analysis** - Bio.Align and Bio.AlignIO for pairwise and multiple sequence alignments\n3. **Database Access** - Bio.Entrez for programmatic access to NCBI databases\n4. **BLAST Operations** - Bio.Blast for running and parsing BLAST searches\n5. **Structural Bioinformatics** - Bio.PDB for working with 3D protein structures\n6. **Phylogenetics** - Bio.Phylo for phylogenetic tree manipulation and visualization\n7. **Advanced Features** - Motifs, population genetics, sequence utilities, and more\n\n## Installation and Setup\n\nInstall Biopython using pip (requires Python 3 and NumPy):\n\n```python\nuv pip install biopython\n```\n\nFor NCBI database access, always set your email address (required by NCBI):\n\n```python\nfrom Bio import Entrez\nEntrez.email = \"your.email@example.com\"\n\n# Optional: API key for higher rate limits (10 req/s instead of 3 req/s)\nEntrez.api_key = \"your_api_key_here\"\n```\n\n## Using This Skill\n\nThis skill provides comprehensive documentation organized by functionality area. When working on a task, consult the relevant reference documentation:\n\n### 1. Sequence Handling (Bio.Seq & Bio.SeqIO)\n\n**Reference:** `references/sequence_io.md`\n\nUse for:\n- Creating and manipulating biological sequences\n- Reading and writing sequence files (FASTA, GenBank, FASTQ, etc.)\n- Converting between file formats\n- Extracting sequences from large files\n- Sequence translation, transcription, and reverse complement\n- Working with SeqRecord objects\n\n**Quick example:**\n```python\nfrom Bio import SeqIO\n\n# Read sequences from FASTA file\nfor record in SeqIO.parse(\"sequences.fasta\", \"fasta\"):\n    print(f\"{record.id}: {len(record.seq)} bp\")\n\n# Convert GenBank to FASTA\nSeqIO.convert(\"input.gb\", \"genbank\", \"output.fasta\", \"fasta\")\n```\n\n### 2. Alignment Analysis (Bio.Align & Bio.AlignIO)\n\n**Reference:** `references/alignment.md`\n\nUse for:\n- Pairwise sequence alignment (global and local)\n- Reading and writing multiple sequence alignments\n- Using substitution matrices (BLOSUM, PAM)\n- Calculating alignment statistics\n- Customizing alignment parameters\n\n**Quick example:**\n```python\nfrom Bio import Align\n\n# Pairwise alignment\naligner = Align.PairwiseAligner()\naligner.mode = 'global'\nalignments = aligner.align(\"ACCGGT\", \"ACGGT\")\nprint(alignments[0])\n```\n\n### 3. Database Access (Bio.Entrez)\n\n**Reference:** `references/databases.md`\n\nUse for:\n- Searching NCBI databases (PubMed, GenBank, Protein, Gene, etc.)\n- Downloading sequences and records\n- Fetching publication information\n- Finding related records across databases\n- Batch downloading with proper rate limiting\n\n**Quick example:**\n```python\nfrom Bio import Entrez\nEntrez.email = \"your.email@example.com\"\n\n# Search PubMed\nhandle = Entrez.esearch(db=\"pubmed\", term=\"biopython\", retmax=10)\nresults = Entrez.read(handle)\nhandle.close()\nprint(f\"Found {results['Count']} results\")\n```\n\n### 4. BLAST Operations (Bio.Blast)\n\n**Reference:** `references/blast.md`\n\nUse for:\n- Running BLAST searches via NCBI web services\n- Running local BLAST searches\n- Parsing BLAST XML output\n- Filtering results by E-value or identity\n- Extracting hit sequences\n\n**Quick example:**\n```python\nfrom Bio.Blast import NCBIWWW, NCBIXML\n\n# Run BLAST search\nresult_handle = NCBIWWW.qblast(\"blastn\", \"nt\", \"ATCGATCGATCG\")\nblast_record = NCBIXML.read(result_handle)\n\n# Display top hits\nfor alignment in blast_record.alignments[:5]:\n    print(f\"{alignment.title}: E-value={alignment.hsps[0].expect}\")\n```\n\n### 5. Structural Bioinformatics (Bio.PDB)\n\n**Reference:** `references/structure.md`\n\nUse for:\n- Parsing PDB and mmCIF structure files\n- Navigating protein structure hierarchy (SMCRA: Structure/Model/Chain/Residue/Atom)\n- Calculating distances, angles, and dihedrals\n- Secondary structure assignment (DSSP)\n- Structure superimposition and RMSD calculation\n- Extracting sequences from structures\n\n**Quick example:**\n```python\nfrom Bio.PDB import PDBParser\n\n# Parse structure\nparser = PDBParser(QUIET=True)\nstructure = parser.get_structure(\"1crn\", \"1crn.pdb\")\n\n# Calculate distance between alpha carbons\nchain = structure[0][\"A\"]\ndistance = chain[10][\"CA\"] - chain[20][\"CA\"]\nprint(f\"Distance: {distance:.2f} Å\")\n```\n\n### 6. Phylogenetics (Bio.Phylo)\n\n**Reference:** `references/phylogenetics.md`\n\nUse for:\n- Reading and writing phylogenetic trees (Newick, NEXUS, phyloXML)\n- Building trees from distance matrices or alignments\n- Tree manipulation (pruning, rerooting, ladderizing)\n- Calculating phylogenetic distances\n- Creating consensus trees\n- Visualizing trees\n\n**Quick example:**\n```python\nfrom Bio import Phylo\n\n# Read and visualize tree\ntree = Phylo.read(\"tree.nwk\", \"newick\")\nPhylo.draw_ascii(tree)\n\n# Calculate distance\ndistance = tree.distance(\"Species_A\", \"Species_B\")\nprint(f\"Distance: {distance:.3f}\")\n```\n\n### 7. Advanced Features\n\n**Reference:** `references/advanced.md`\n\nUse for:\n- **Sequence motifs** (Bio.motifs) - Finding and analyzing motif patterns\n- **Population genetics** (Bio.PopGen) - GenePop files, Fst calculations, Hardy-Weinberg tests\n- **Sequence utilities** (Bio.SeqUtils) - GC content, melting temperature, molecular weight, protein analysis\n- **Restriction analysis** (Bio.Restriction) - Finding restriction enzyme sites\n- **Clustering** (Bio.Cluster) - K-means and hierarchical clustering\n- **Genome diagrams** (GenomeDiagram) - Visualizing genomic features\n\n**Quick example:**\n```python\nfrom Bio.SeqUtils import gc_fraction, molecular_weight\nfrom Bio.Seq import Seq\n\nseq = Seq(\"ATCGATCGATCG\")\nprint(f\"GC content: {gc_fraction(seq):.2%}\")\nprint(f\"Molecular weight: {molecular_weight(seq, seq_type='DNA'):.2f} g/mol\")\n```\n\n## General Workflow Guidelines\n\n### Reading Documentation\n\nWhen a user asks about a specific Biopython task:\n\n1. **Identify the relevant module** based on the task description\n2. **Read the appropriate reference file** using the Read tool\n3. **Extract relevant code patterns** and adapt them to the user's specific needs\n4. **Combine multiple modules** when the task requires it\n\nExample search patterns for reference files:\n```bash\n# Find information about specific functions\ngrep -n \"SeqIO.parse\" references/sequence_io.md\n\n# Find examples of specific tasks\ngrep -n \"BLAST\" references/blast.md\n\n# Find information about specific concepts\ngrep -n \"alignment\" references/alignment.md\n```\n\n### Writing Biopython Code\n\nFollow these principles when writing Biopython code:\n\n1. **Import modules explicitly**\n   ```python\n   from Bio import SeqIO, Entrez\n   from Bio.Seq import Seq\n   ```\n\n2. **Set Entrez email** when using NCBI databases\n   ```python\n   Entrez.email = \"your.email@example.com\"\n   ```\n\n3. **Use appropriate file formats** - Check which format best suits the task\n   ```python\n   # Common formats: \"fasta\", \"genbank\", \"fastq\", \"clustal\", \"phylip\"\n   ```\n\n4. **Handle files properly** - Close handles after use or use context managers\n   ```python\n   with open(\"file.fasta\") as handle:\n       records = SeqIO.parse(handle, \"fasta\")\n   ```\n\n5. **Use iterators for large files** - Avoid loading everything into memory\n   ```python\n   for record in SeqIO.parse(\"large_file.fasta\", \"fasta\"):\n       # Process one record at a time\n   ```\n\n6. **Handle errors gracefully** - Network operations and file parsing can fail\n   ```python\n   try:\n       handle = Entrez.efetch(db=\"nucleotide\", id=accession)\n   except HTTPError as e:\n       print(f\"Error: {e}\")\n   ```\n\n## Common Patterns\n\n### Pattern 1: Fetch Sequence from GenBank\n\n```python\nfrom Bio import Entrez, SeqIO\n\nEntrez.email = \"your.email@example.com\"\n\n# Fetch sequence\nhandle = Entrez.efetch(db=\"nucleotide\", id=\"EU490707\", rettype=\"gb\", retmode=\"text\")\nrecord = SeqIO.read(handle, \"genbank\")\nhandle.close()\n\nprint(f\"Description: {record.description}\")\nprint(f\"Sequence length: {len(record.seq)}\")\n```\n\n### Pattern 2: Sequence Analysis Pipeline\n\n```python\nfrom Bio import SeqIO\nfrom Bio.SeqUtils import gc_fraction\n\nfor record in SeqIO.parse(\"sequences.fasta\", \"fasta\"):\n    # Calculate statistics\n    gc = gc_fraction(record.seq)\n    length = len(record.seq)\n\n    # Find ORFs, translate, etc.\n    protein = record.seq.translate()\n\n    print(f\"{record.id}: {length} bp, GC={gc:.2%}\")\n```\n\n### Pattern 3: BLAST and Fetch Top Hits\n\n```python\nfrom Bio.Blast import NCBIWWW, NCBIXML\nfrom Bio import Entrez, SeqIO\n\nEntrez.email = \"your.email@example.com\"\n\n# Run BLAST\nresult_handle = NCBIWWW.qblast(\"blastn\", \"nt\", sequence)\nblast_record = NCBIXML.read(result_handle)\n\n# Get top hit accessions\naccessions = [aln.accession for aln in blast_record.alignments[:5]]\n\n# Fetch sequences\nfor acc in accessions:\n    handle = Entrez.efetch(db=\"nucleotide\", id=acc, rettype=\"fasta\", retmode=\"text\")\n    record = SeqIO.read(handle, \"fasta\")\n    handle.close()\n    print(f\">{record.description}\")\n```\n\n### Pattern 4: Build Phylogenetic Tree from Sequences\n\n```python\nfrom Bio import AlignIO, Phylo\nfrom Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructor\n\n# Read alignment\nalignment = AlignIO.read(\"alignment.fasta\", \"fasta\")\n\n# Calculate distances\ncalculator = DistanceCalculator(\"identity\")\ndm = calculator.get_distance(alignment)\n\n# Build tree\nconstructor = DistanceTreeConstructor()\ntree = constructor.nj(dm)\n\n# Visualize\nPhylo.draw_ascii(tree)\n```\n\n## Best Practices\n\n1. **Always read relevant reference documentation** before writing code\n2. **Use grep to search reference files** for specific functions or examples\n3. **Validate file formats** before parsing\n4. **Handle missing data gracefully** - Not all records have all fields\n5. **Cache downloaded data** - Don't repeatedly download the same sequences\n6. **Respect NCBI rate limits** - Use API keys and proper delays\n7. **Test with small datasets** before processing large files\n8. **Keep Biopython updated** to get latest features and bug fixes\n9. **Use appropriate genetic code tables** for translation\n10. **Document analysis parameters** for reproducibility\n\n## Troubleshooting Common Issues\n\n### Issue: \"No handlers could be found for logger 'Bio.Entrez'\"\n**Solution:** This is just a warning. Set Entrez.email to suppress it.\n\n### Issue: \"HTTP Error 400\" from NCBI\n**Solution:** Check that IDs/accessions are valid and properly formatted.\n\n### Issue: \"ValueError: EOF\" when parsing files\n**Solution:** Verify file format matches the specified format string.\n\n### Issue: Alignment fails with \"sequences are not the same length\"\n**Solution:** Ensure sequences are aligned before using AlignIO or MultipleSeqAlignment.\n\n### Issue: BLAST searches are slow\n**Solution:** Use local BLAST for large-scale searches, or cache results.\n\n### Issue: PDB parser warnings\n**Solution:** Use `PDBParser(QUIET=True)` to suppress warnings, or investigate structure quality.\n\n## Additional Resources\n\n- **Official Documentation**: https://biopython.org/docs/latest/\n- **Tutorial**: https://biopython.org/docs/latest/Tutorial/\n- **Cookbook**: https://biopython.org/docs/latest/Tutorial/ (advanced examples)\n- **GitHub**: https://github.com/biopython/biopython\n- **Mailing List**: biopython@biopython.org\n\n## Quick Reference\n\nTo locate information in reference files, use these search patterns:\n\n```bash\n# Search for specific functions\ngrep -n \"function_name\" references/*.md\n\n# Find examples of specific tasks\ngrep -n \"example\" references/sequence_io.md\n\n# Find all occurrences of a module\ngrep -n \"Bio.Seq\" references/*.md\n```\n\n## Summary\n\nBiopython provides comprehensive tools for computational molecular biology. When using this skill:\n\n1. **Identify the task domain** (sequences, alignments, databases, BLAST, structures, phylogenetics, or advanced)\n2. **Consult the appropriate reference file** in the `references/` directory\n3. **Adapt code examples** to the specific use case\n4. **Combine multiple modules** when needed for complex workflows\n5. **Follow best practices** for file handling, error checking, and data management\n\nThe modular reference documentation ensures detailed, searchable information for every major Biopython capability.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["biopython","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity-skills"],"capabilities":["skill","source-sickn33","skill-biopython","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/biopython","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34882 github stars · SKILL.md body (13,725 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T12:50:40.890Z","embedding":null,"createdAt":"2026-04-18T21:33:35.534Z","updatedAt":"2026-04-24T12:50:40.890Z","lastSeenAt":"2026-04-24T12:50:40.890Z","tsv":"'/biopython/biopython':1493 '/docs/latest/':1479 '/docs/latest/tutorial/':1483,1487 '0':477,612,677 '1':201,351,867,954,1075,1273,1553 '1.85':76 '10':317,530,681,1361 '1crn':668 '1crn.pdb':669 '2':213,426,840,877,968,1116,1158,1282,1566 '20':684 '2025':79 '2f':690,851 '3':83,225,283,321,478,887,979,1160,1294,1576 '3d':252 '3f':757 '4':235,541,901,999,1228,1300,1585 '400':1393 '5':245,604,614,1021,1202,1311,1594 '6':255,692,1045,1322 '7':264,758,1333 '8':1342 '9':1353 'acc':1206,1214 'access':24,62,117,227,231,294,480,1063,1195,1196,1208 'accggt':473 'acggt':474 'across':504 'adapt':893,1577 'addit':1473 'address':197,299 'advanc':265,759,1488,1565 'align':136,141,214,224,427,437,446,453,456,464,466,467,471,476,601,713,942,1246,1247,1259,1421,1434,1559 'align.pairwisealigner':468 'aligner.align':472 'aligner.mode':469 'alignio':1238,1437 'alignio.read':1248 'alignment.fasta':1249 'alignment.hsps':611 'alignment.title':607 'aln':1199 'aln.accession':1197 'alpha':673 'alway':295,1274 'analysi':215,428,794,796,1118,1363 'analyz':142,158,770 'angl':636 'api':311,326,1328 'appropri':880,981,1355,1569 'area':340 'ascii':743,1269 'ask':861,1652 'assign':641 'atcgatcgatcg':591,832 'avail':9,47 'avoid':1027 'b':752 'base':872 'bash':916,1509 'batch':506 'best':987,1271,1596 'bio':305,397,462,516,731,960,1082,1122,1173,1236 'bio.align':216,429 'bio.alignio':218,430 'bio.blast':238,544,579,1168 'bio.cluster':803 'bio.entrez':228,481,1378 'bio.motifs':767 'bio.pdb':248,617,656 'bio.phylo':257,694 'bio.phylo.treeconstruction':1241 'bio.popgen':775 'bio.restriction':797 'bio.seq':204,354,827,965,1537 'bio.seqio':206,355 'bio.sequtils':786,820,1126 'bioinformat':26,31,64,69,173,199,247,616 'biolog':13,36,51,98,108,184,363,1548 'biopython':1,2,33,40,75,188,278,290,528,865,945,952,1344,1541,1617 'biopython.org':1478,1482,1486 'biopython.org/docs/latest/':1477 'biopython.org/docs/latest/tutorial/':1481,1485 'biopython@biopython.org':1496 'blast':128,132,236,243,542,550,558,561,584,592,933,1161,1180,1187,1441,1448,1561 'blast_record.alignments':603,1201 'blastn':589,1184 'blosum':450 'boundari':1660 'bp':416,1155 'bug':1351 'build':707,1229,1260 'ca':682,685 'cach':1312,1455 'calcul':161,452,634,647,670,719,745,779,1136,1251,1253 'calculator.get':1257 'capabl':187,1618 'carbon':674 'case':1584 'chain':675,680,683 'check':984,1397,1602 'clarif':1654 'clear':1627 'close':1003 'clustal':997 'cluster':802,809 'code':890,946,953,1281,1357,1578 'combin':902,1586 'common':992,1072,1368 'complement':388 'complex':1592 'comprehens':5,43,335,1543 'comput':14,34,52,182,1546 'concept':939 'consensus':723 'constructor':1262 'constructor.nj':1265 'consult':346,1567 'content':165,788,836 'context':1009 'convert':107,374,417 'cookbook':1484 'core':186 'could':1373 'count':539 'creat':148,360,722 'criteria':1663 'current':72 'custom':455 'data':179,1303,1314,1604 'databas':23,61,119,226,234,293,479,488,505,975,1560 'dataset':1337 'db':525,1060,1092,1211 'delay':1332 'describ':1631 'descript':876,1107 'detail':1611 'diagram':811 'dihedr':638 'directori':1575 'display':597 'distanc':635,671,679,688,689,710,721,746,747,755,756,1252,1258 'distancecalcul':1243,1254 'distancetreeconstructor':1244,1263 'dm':1256,1266 'dna':100,850 'document':336,350,857,1278,1362,1476,1609 'domain':200,1557 'download':494,507,1313,1318 'dssp':642 'e':568,609,1067,1071 'e-valu':567,608 'email':298,971 'ensur':1431,1610 'entrez':126,307,518,963,970,1084,1175 'entrez.api':323 'entrez.efetch':1059,1091,1210 'entrez.email':308,519,977,1086,1177,1386 'entrez.esearch':524 'entrez.read':532 'environ':1643 'environment-specif':1642 'enzym':800 'eof':1407 'error':1047,1070,1392,1601 'etc':116,124,170,373,493,1148 'eu490707':1095 'everi':1615 'everyth':1029 'exampl':394,459,513,576,653,728,817,910,927,1293,1489,1521,1527,1579 'except':1064 'expect':613 'expert':1648 'explicit':957 'extract':378,572,648,888 'f':412,536,606,687,754,834,842,1069,1106,1110,1152,1225 'fail':1055,1422 'fasta':111,370,403,410,420,425,994,1020,1038,1135,1216,1222,1250 'fastq':113,372,996 'featur':266,760,815,1349 'fetch':498,1076,1088,1163,1203 'field':1310 'file':21,59,109,147,211,369,376,382,404,627,777,882,915,982,1001,1026,1052,1288,1296,1341,1410,1413,1504,1571,1599 'file.fasta':1014 'filter':564 'find':154,501,768,798,917,926,935,1145,1520,1529 'fix':1352 'follow':947,1595 'format':110,377,983,986,993,1297,1404,1414,1418 'found':537,1375 'fraction':823,838,1129,1140 'freeli':8,46 'fst':778 'function':17,55,339,921,1291,1513,1516 'g/mol':852 'gb':1097 'gc':164,787,822,835,837,1128,1138,1139,1156,1157 'genbank':112,120,371,418,423,490,995,1079,1103 'gene':123,492 'genepop':776 'general':853 'genet':178,269,774,1356 'genom':810,814 'genomediagram':812 'get':1192,1347 'github':1490 'github.com':1492 'github.com/biopython/biopython':1491 'global':438,470 'grace':1048,1304 'grep':922,931,940,1284,1514,1525,1535 'guidelin':855 'handl':203,353,523,533,587,596,1000,1004,1016,1019,1046,1058,1090,1102,1182,1191,1209,1221,1301,1600 'handle.close':534,1104,1223 'handler':1372 'hardi':781 'hardy-weinberg':780 'hierarch':808 'hierarchi':631 'higher':314 'hit':573,599,1165,1194 'http':1391 'httperror':1065 'i/o':22,60,212 'id':1062,1094,1213 'ident':571,1255 'identifi':868,1554 'ids/accessions':1399 'import':306,398,463,517,580,657,732,821,828,955,961,966,1083,1123,1127,1169,1174,1237,1242 'inform':500,918,936,1501,1613 'input':1657 'input.gb':422 'instal':274,277,289 'instead':319 'investig':1470 'issu':1369,1370,1390,1405,1420,1440,1457 'iter':1023 'januari':78 'k':805 'k-mean':804 'keep':1343 'key':312,324,327,1329 'ladder':718 'larg':381,1025,1340,1451 'large-scal':1450 'large_file.fasta':1037 'latest':1348 'len':414,1113,1143 'length':1112,1142,1154,1429 'limit':316,511,1326,1619 'list':1495 'load':1028 'local':440,557,1447 'locat':1500 'logger':1377 'mail':1494 'major':1616 'manag':1010,1605 'mani':29,67 'manipul':20,58,149,209,261,362,715 'match':1415,1628 'matric':449,711 'md':1519,1539 'mean':806 'melt':168,789 'memori':1031 'miss':1302,1665 'mmcif':115,625 'modul':871,904,956,1534,1588 'modular':192,1607 'molecular':35,166,183,791,824,843,845,1547 'motif':156,159,267,766,771 'multipl':139,222,444,903,1587 'multipleseqalign':1439 'n':923,932,941,1515,1526,1536 'name':1517 'navig':628 'ncbi':118,233,292,302,487,553,974,1324,1395 'ncbiwww':581,1170 'ncbiwww.qblast':588,1183 'ncbixml':582,1171 'ncbixml.read':594,1189 'need':900,1590 'network':1049 'newick':704,741 'nexus':705 'nt':590,1185 'nucleotid':1061,1093,1212 'numpi':86,285 'object':392 'occurr':1531 'offici':1475 'one':1040 'open':1013 'oper':237,543,1050 'option':310 'orf':1146 'organ':190,337 'output':563,1637 'output.fasta':424 'overview':39 'packag':195 'pairwis':137,220,435,465 'pam':451 'paramet':457,1364 'pars':131,242,560,622,659,1053,1299,1409 'parser':661,1459 'parser.get':666 'pattern':160,772,891,912,1073,1074,1115,1159,1227,1508 'pdb':114,146,623,1458 'pdbparser':658,662,1463 'perform':134,171 'permiss':1658 'phylip':998 'phylo':733,1239 'phylo.draw':742,1268 'phylo.read':739 'phylogenet':27,65,152,256,259,693,702,720,1230,1563 'phyloxml':706 'pip':280,288 'pipelin':1119 'popul':177,268,773 'practic':1272,1597 'principl':949 'print':411,475,535,605,686,753,833,841,1068,1105,1109,1151,1224 'process':1039,1339 'programmat':230 'proper':509,1002,1331,1403 'protein':103,122,143,253,491,629,793,1149 'provid':16,54,334,1542 'prune':716 'public':499 'pubm':121,489,522,526 'python':10,38,48,82,282,286,303,395,460,514,577,654,729,818,958,976,991,1011,1032,1056,1080,1120,1166,1234 'qualiti':1472 'quick':393,458,512,575,652,727,816,1497 'quiet':663,1464 'rate':315,510,1325 'read':104,365,400,441,699,734,856,878,885,1245,1275 'record':406,497,503,593,1017,1034,1041,1100,1131,1188,1219,1307 'record.description':1108,1226 'record.id':413,1153 'record.seq':415,1114,1141,1144 'record.seq.translate':1150 'refer':349,356,431,482,545,618,695,761,881,914,1277,1287,1498,1503,1518,1538,1570,1574,1608 'references/advanced.md':762 'references/alignment.md':432,943 'references/blast.md':546,934 'references/databases.md':483 'references/phylogenetics.md':696 'references/sequence_io.md':357,925,1528 'references/structure.md':619 'relat':502 'releas':77 'relev':348,870,889,1276 'repeat':1317 'reproduc':1366 'req/s':318,322 'requir':85,281,300,908,1656 'reroot':717 'resourc':1474 'respect':1323 'restrict':795,799 'result':133,531,538,540,565,586,595,1181,1190,1456 'retmax':529 'retmod':1098,1217 'rettyp':1096,1215 'revers':387 'review':1649 'rmsd':646 'rna':101 'run':127,240,549,556,583,1179 'safeti':1659 'scale':1452 'scope':1630 'search':129,244,486,521,551,559,585,911,1286,1442,1453,1507,1510 'searchabl':1612 'secondari':639 'seq':829,830,831,839,847,848,967 'seqio':399,962,1085,1124,1176 'seqio.convert':421 'seqio.parse':408,924,1018,1036,1133 'seqio.read':1101,1220 'seqrecord':391 'sequenc':19,57,99,135,140,155,162,202,208,223,270,352,364,368,379,383,401,436,445,495,574,649,765,784,1077,1089,1111,1117,1186,1204,1233,1321,1424,1432,1558 'sequences.fasta':409,1134 'servic':555 'set':6,44,296,969,1385 'setup':276 'site':801 'skill':91,94,331,333,1552,1622 'skill-biopython' 'slow':1444 'small':1336 'smcra':632 'solut':1379,1396,1411,1430,1445,1461 'source-sickn33' 'speci':749,751 'specif':198,864,899,920,929,938,1290,1512,1523,1582,1644 'specifi':1417 'statist':163,454,1137 'stop':1650 'string':1419 'structur':25,63,144,172,246,254,615,626,630,640,643,651,660,665,667,676,1471,1562 'structure/model/chain/residue/atom':633 'sub':194 'sub-packag':193 'substitut':448,1640 'success':1662 'suit':988 'summari':1540 'superimposit':644 'support':81 'suppress':1388,1467 'tabl':1358 'task':32,70,174,185,345,866,875,907,930,990,1524,1556,1626 'temperatur':169,790 'term':527 'test':783,1334,1646 'text':1099,1218 'time':1044 'tool':11,49,886,1544 'top':598,1164,1193 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'transcript':385 'translat':384,1147,1360 'treat':1635 'tree':153,260,703,708,714,724,726,737,738,744,1231,1261,1264,1270 'tree.distance':748 'tree.nwk':740 'tri':1057 'troubleshoot':1367 'true':664,1465 'tutori':1480 'type':849 'updat':1345 'use':89,92,279,329,358,433,447,484,547,620,697,763,883,973,980,1006,1008,1022,1283,1327,1354,1436,1446,1462,1505,1550,1583,1620 'user':860,897 'util':271,785 'uv':287 'valid':1295,1401,1645 'valu':569,610 'valueerror':1406 'verifi':1412 'version':73 'via':125,552 'visual':151,263,725,736,813,1267 'warn':1384,1460,1468 'web':554 'weight':167,792,825,844,846 'weinberg':782 'work':96,175,250,342,389 'workflow':854,1593 'write':105,367,443,701,944,951,1280 'xml':562 'your.email@example.com':309,520,978,1087,1178 'å':691","prices":[{"id":"91401fb5-d1d6-4e3c-8101-c67b31e18fbf","listingId":"87e12122-033b-456e-9411-5ea49625c062","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:35.534Z"}],"sources":[{"listingId":"87e12122-033b-456e-9411-5ea49625c062","source":"github","sourceId":"sickn33/antigravity-awesome-skills/biopython","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/biopython","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:35.534Z","lastSeenAt":"2026-04-24T12:50:40.890Z"}],"details":{"listingId":"87e12122-033b-456e-9411-5ea49625c062","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"biopython","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34882,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"f9aa605c374d53c675307af768455b1549651ae2","skill_md_path":"skills/biopython/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/biopython"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"biopython","license":"Unknown","description":"Biopython is a comprehensive set of freely available Python tools for biological computation. It provides functionality for sequence manipulation, file I/O, database access, structural bioinformatics, phylogenetics, and many other bioinformatics tasks."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/biopython"},"updatedAt":"2026-04-24T12:50:40.890Z"}}