@synsci/cli-darwin-arm64 1.1.77 → 1.1.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/skills/adaptyv/SKILL.md +114 -0
- package/bin/skills/adaptyv/reference/api_reference.md +308 -0
- package/bin/skills/adaptyv/reference/examples.md +913 -0
- package/bin/skills/adaptyv/reference/experiments.md +360 -0
- package/bin/skills/adaptyv/reference/protein_optimization.md +637 -0
- package/bin/skills/aeon/SKILL.md +374 -0
- package/bin/skills/aeon/references/anomaly_detection.md +154 -0
- package/bin/skills/aeon/references/classification.md +144 -0
- package/bin/skills/aeon/references/clustering.md +123 -0
- package/bin/skills/aeon/references/datasets_benchmarking.md +387 -0
- package/bin/skills/aeon/references/distances.md +256 -0
- package/bin/skills/aeon/references/forecasting.md +140 -0
- package/bin/skills/aeon/references/networks.md +289 -0
- package/bin/skills/aeon/references/regression.md +118 -0
- package/bin/skills/aeon/references/segmentation.md +163 -0
- package/bin/skills/aeon/references/similarity_search.md +187 -0
- package/bin/skills/aeon/references/transformations.md +246 -0
- package/bin/skills/alphafold-database/SKILL.md +513 -0
- package/bin/skills/alphafold-database/references/api_reference.md +423 -0
- package/bin/skills/anndata/SKILL.md +400 -0
- package/bin/skills/anndata/references/best_practices.md +525 -0
- package/bin/skills/anndata/references/concatenation.md +396 -0
- package/bin/skills/anndata/references/data_structure.md +314 -0
- package/bin/skills/anndata/references/io_operations.md +404 -0
- package/bin/skills/anndata/references/manipulation.md +516 -0
- package/bin/skills/arboreto/SKILL.md +243 -0
- package/bin/skills/arboreto/references/algorithms.md +138 -0
- package/bin/skills/arboreto/references/basic_inference.md +151 -0
- package/bin/skills/arboreto/references/distributed_computing.md +242 -0
- package/bin/skills/arboreto/scripts/basic_grn_inference.py +97 -0
- package/bin/skills/astropy/SKILL.md +331 -0
- package/bin/skills/astropy/references/coordinates.md +273 -0
- package/bin/skills/astropy/references/cosmology.md +307 -0
- package/bin/skills/astropy/references/fits.md +396 -0
- package/bin/skills/astropy/references/tables.md +489 -0
- package/bin/skills/astropy/references/time.md +404 -0
- package/bin/skills/astropy/references/units.md +178 -0
- package/bin/skills/astropy/references/wcs_and_other_modules.md +373 -0
- package/bin/skills/benchling-integration/SKILL.md +480 -0
- package/bin/skills/benchling-integration/references/api_endpoints.md +883 -0
- package/bin/skills/benchling-integration/references/authentication.md +379 -0
- package/bin/skills/benchling-integration/references/sdk_reference.md +774 -0
- package/bin/skills/biopython/SKILL.md +443 -0
- package/bin/skills/biopython/references/advanced.md +577 -0
- package/bin/skills/biopython/references/alignment.md +362 -0
- package/bin/skills/biopython/references/blast.md +455 -0
- package/bin/skills/biopython/references/databases.md +484 -0
- package/bin/skills/biopython/references/phylogenetics.md +566 -0
- package/bin/skills/biopython/references/sequence_io.md +285 -0
- package/bin/skills/biopython/references/structure.md +564 -0
- package/bin/skills/biorxiv-database/SKILL.md +483 -0
- package/bin/skills/biorxiv-database/references/api_reference.md +280 -0
- package/bin/skills/biorxiv-database/scripts/biorxiv_search.py +445 -0
- package/bin/skills/bioservices/SKILL.md +361 -0
- package/bin/skills/bioservices/references/identifier_mapping.md +685 -0
- package/bin/skills/bioservices/references/services_reference.md +636 -0
- package/bin/skills/bioservices/references/workflow_patterns.md +811 -0
- package/bin/skills/bioservices/scripts/batch_id_converter.py +347 -0
- package/bin/skills/bioservices/scripts/compound_cross_reference.py +378 -0
- package/bin/skills/bioservices/scripts/pathway_analysis.py +309 -0
- package/bin/skills/bioservices/scripts/protein_analysis_workflow.py +408 -0
- package/bin/skills/brenda-database/SKILL.md +719 -0
- package/bin/skills/brenda-database/references/api_reference.md +537 -0
- package/bin/skills/brenda-database/scripts/brenda_queries.py +844 -0
- package/bin/skills/brenda-database/scripts/brenda_visualization.py +772 -0
- package/bin/skills/brenda-database/scripts/enzyme_pathway_builder.py +1053 -0
- package/bin/skills/cellxgene-census/SKILL.md +511 -0
- package/bin/skills/cellxgene-census/references/census_schema.md +182 -0
- package/bin/skills/cellxgene-census/references/common_patterns.md +351 -0
- package/bin/skills/chembl-database/SKILL.md +389 -0
- package/bin/skills/chembl-database/references/api_reference.md +272 -0
- package/bin/skills/chembl-database/scripts/example_queries.py +278 -0
- package/bin/skills/cirq/SKILL.md +346 -0
- package/bin/skills/cirq/references/building.md +307 -0
- package/bin/skills/cirq/references/experiments.md +572 -0
- package/bin/skills/cirq/references/hardware.md +515 -0
- package/bin/skills/cirq/references/noise.md +515 -0
- package/bin/skills/cirq/references/simulation.md +350 -0
- package/bin/skills/cirq/references/transformation.md +416 -0
- package/bin/skills/clinicaltrials-database/SKILL.md +507 -0
- package/bin/skills/clinicaltrials-database/references/api_reference.md +358 -0
- package/bin/skills/clinicaltrials-database/scripts/query_clinicaltrials.py +215 -0
- package/bin/skills/clinpgx-database/SKILL.md +638 -0
- package/bin/skills/clinpgx-database/references/api_reference.md +757 -0
- package/bin/skills/clinpgx-database/scripts/query_clinpgx.py +518 -0
- package/bin/skills/clinvar-database/SKILL.md +362 -0
- package/bin/skills/clinvar-database/references/api_reference.md +227 -0
- package/bin/skills/clinvar-database/references/clinical_significance.md +218 -0
- package/bin/skills/clinvar-database/references/data_formats.md +358 -0
- package/bin/skills/cobrapy/SKILL.md +463 -0
- package/bin/skills/cobrapy/references/api_quick_reference.md +655 -0
- package/bin/skills/cobrapy/references/workflows.md +593 -0
- package/bin/skills/cosmic-database/SKILL.md +336 -0
- package/bin/skills/cosmic-database/references/cosmic_data_reference.md +220 -0
- package/bin/skills/cosmic-database/scripts/download_cosmic.py +231 -0
- package/bin/skills/dask/SKILL.md +456 -0
- package/bin/skills/dask/references/arrays.md +497 -0
- package/bin/skills/dask/references/bags.md +468 -0
- package/bin/skills/dask/references/best-practices.md +277 -0
- package/bin/skills/dask/references/dataframes.md +368 -0
- package/bin/skills/dask/references/futures.md +541 -0
- package/bin/skills/dask/references/schedulers.md +504 -0
- package/bin/skills/datacommons-client/SKILL.md +255 -0
- package/bin/skills/datacommons-client/references/getting_started.md +417 -0
- package/bin/skills/datacommons-client/references/node.md +250 -0
- package/bin/skills/datacommons-client/references/observation.md +185 -0
- package/bin/skills/datacommons-client/references/resolve.md +246 -0
- package/bin/skills/datamol/SKILL.md +706 -0
- package/bin/skills/datamol/references/conformers_module.md +131 -0
- package/bin/skills/datamol/references/core_api.md +130 -0
- package/bin/skills/datamol/references/descriptors_viz.md +195 -0
- package/bin/skills/datamol/references/fragments_scaffolds.md +174 -0
- package/bin/skills/datamol/references/io_module.md +109 -0
- package/bin/skills/datamol/references/reactions_data.md +218 -0
- package/bin/skills/deepchem/SKILL.md +597 -0
- package/bin/skills/deepchem/references/api_reference.md +303 -0
- package/bin/skills/deepchem/references/workflows.md +491 -0
- package/bin/skills/deepchem/scripts/graph_neural_network.py +338 -0
- package/bin/skills/deepchem/scripts/predict_solubility.py +224 -0
- package/bin/skills/deepchem/scripts/transfer_learning.py +375 -0
- package/bin/skills/deeptools/SKILL.md +531 -0
- package/bin/skills/deeptools/assets/quick_reference.md +58 -0
- package/bin/skills/deeptools/references/effective_genome_sizes.md +116 -0
- package/bin/skills/deeptools/references/normalization_methods.md +410 -0
- package/bin/skills/deeptools/references/tools_reference.md +533 -0
- package/bin/skills/deeptools/references/workflows.md +474 -0
- package/bin/skills/deeptools/scripts/validate_files.py +195 -0
- package/bin/skills/deeptools/scripts/workflow_generator.py +454 -0
- package/bin/skills/denario/SKILL.md +215 -0
- package/bin/skills/denario/references/examples.md +494 -0
- package/bin/skills/denario/references/installation.md +213 -0
- package/bin/skills/denario/references/llm_configuration.md +265 -0
- package/bin/skills/denario/references/research_pipeline.md +471 -0
- package/bin/skills/diffdock/SKILL.md +483 -0
- package/bin/skills/diffdock/assets/batch_template.csv +4 -0
- package/bin/skills/diffdock/assets/custom_inference_config.yaml +90 -0
- package/bin/skills/diffdock/references/confidence_and_limitations.md +182 -0
- package/bin/skills/diffdock/references/parameters_reference.md +163 -0
- package/bin/skills/diffdock/references/workflows_examples.md +392 -0
- package/bin/skills/diffdock/scripts/analyze_results.py +334 -0
- package/bin/skills/diffdock/scripts/prepare_batch_csv.py +254 -0
- package/bin/skills/diffdock/scripts/setup_check.py +278 -0
- package/bin/skills/dnanexus-integration/SKILL.md +383 -0
- package/bin/skills/dnanexus-integration/references/app-development.md +247 -0
- package/bin/skills/dnanexus-integration/references/configuration.md +646 -0
- package/bin/skills/dnanexus-integration/references/data-operations.md +400 -0
- package/bin/skills/dnanexus-integration/references/job-execution.md +412 -0
- package/bin/skills/dnanexus-integration/references/python-sdk.md +523 -0
- package/bin/skills/document-skills/docx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/docx/SKILL.md +233 -0
- package/bin/skills/document-skills/docx/docx-js.md +350 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/bin/skills/document-skills/docx/ooxml.md +610 -0
- package/bin/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/bin/skills/document-skills/docx/scripts/document.py +1276 -0
- package/bin/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/bin/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/bin/skills/document-skills/pdf/SKILL.md +330 -0
- package/bin/skills/document-skills/pdf/forms.md +205 -0
- package/bin/skills/document-skills/pdf/reference.md +612 -0
- package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/bin/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/bin/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/bin/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/bin/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/bin/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/bin/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/bin/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/pptx/SKILL.md +520 -0
- package/bin/skills/document-skills/pptx/html2pptx.md +625 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/bin/skills/document-skills/pptx/ooxml.md +427 -0
- package/bin/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/bin/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/bin/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/bin/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/bin/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/bin/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/xlsx/SKILL.md +325 -0
- package/bin/skills/document-skills/xlsx/recalc.py +178 -0
- package/bin/skills/drugbank-database/SKILL.md +190 -0
- package/bin/skills/drugbank-database/references/chemical-analysis.md +590 -0
- package/bin/skills/drugbank-database/references/data-access.md +242 -0
- package/bin/skills/drugbank-database/references/drug-queries.md +386 -0
- package/bin/skills/drugbank-database/references/interactions.md +425 -0
- package/bin/skills/drugbank-database/references/targets-pathways.md +518 -0
- package/bin/skills/drugbank-database/scripts/drugbank_helper.py +350 -0
- package/bin/skills/ena-database/SKILL.md +204 -0
- package/bin/skills/ena-database/references/api_reference.md +490 -0
- package/bin/skills/ensembl-database/SKILL.md +311 -0
- package/bin/skills/ensembl-database/references/api_endpoints.md +346 -0
- package/bin/skills/ensembl-database/scripts/ensembl_query.py +427 -0
- package/bin/skills/esm/SKILL.md +306 -0
- package/bin/skills/esm/references/esm-c-api.md +583 -0
- package/bin/skills/esm/references/esm3-api.md +452 -0
- package/bin/skills/esm/references/forge-api.md +657 -0
- package/bin/skills/esm/references/workflows.md +685 -0
- package/bin/skills/etetoolkit/SKILL.md +623 -0
- package/bin/skills/etetoolkit/references/api_reference.md +583 -0
- package/bin/skills/etetoolkit/references/visualization.md +783 -0
- package/bin/skills/etetoolkit/references/workflows.md +774 -0
- package/bin/skills/etetoolkit/scripts/quick_visualize.py +214 -0
- package/bin/skills/etetoolkit/scripts/tree_operations.py +229 -0
- package/bin/skills/exploratory-data-analysis/SKILL.md +446 -0
- package/bin/skills/exploratory-data-analysis/assets/report_template.md +196 -0
- package/bin/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +664 -0
- package/bin/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +664 -0
- package/bin/skills/exploratory-data-analysis/references/general_scientific_formats.md +518 -0
- package/bin/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +620 -0
- package/bin/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +517 -0
- package/bin/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +633 -0
- package/bin/skills/exploratory-data-analysis/scripts/eda_analyzer.py +547 -0
- package/bin/skills/fda-database/SKILL.md +518 -0
- package/bin/skills/fda-database/references/animal_veterinary.md +377 -0
- package/bin/skills/fda-database/references/api_basics.md +687 -0
- package/bin/skills/fda-database/references/devices.md +632 -0
- package/bin/skills/fda-database/references/drugs.md +468 -0
- package/bin/skills/fda-database/references/foods.md +374 -0
- package/bin/skills/fda-database/references/other.md +472 -0
- package/bin/skills/fda-database/scripts/fda_examples.py +335 -0
- package/bin/skills/fda-database/scripts/fda_query.py +440 -0
- package/bin/skills/flowio/SKILL.md +608 -0
- package/bin/skills/flowio/references/api_reference.md +372 -0
- package/bin/skills/fluidsim/SKILL.md +349 -0
- package/bin/skills/fluidsim/references/advanced_features.md +398 -0
- package/bin/skills/fluidsim/references/installation.md +68 -0
- package/bin/skills/fluidsim/references/output_analysis.md +283 -0
- package/bin/skills/fluidsim/references/parameters.md +198 -0
- package/bin/skills/fluidsim/references/simulation_workflow.md +172 -0
- package/bin/skills/fluidsim/references/solvers.md +94 -0
- package/bin/skills/fred-economic-data/SKILL.md +433 -0
- package/bin/skills/fred-economic-data/references/api_basics.md +212 -0
- package/bin/skills/fred-economic-data/references/categories.md +442 -0
- package/bin/skills/fred-economic-data/references/geofred.md +588 -0
- package/bin/skills/fred-economic-data/references/releases.md +642 -0
- package/bin/skills/fred-economic-data/references/series.md +584 -0
- package/bin/skills/fred-economic-data/references/sources.md +423 -0
- package/bin/skills/fred-economic-data/references/tags.md +485 -0
- package/bin/skills/fred-economic-data/scripts/fred_examples.py +354 -0
- package/bin/skills/fred-economic-data/scripts/fred_query.py +590 -0
- package/bin/skills/gene-database/SKILL.md +179 -0
- package/bin/skills/gene-database/references/api_reference.md +404 -0
- package/bin/skills/gene-database/references/common_workflows.md +428 -0
- package/bin/skills/gene-database/scripts/batch_gene_lookup.py +298 -0
- package/bin/skills/gene-database/scripts/fetch_gene_data.py +277 -0
- package/bin/skills/gene-database/scripts/query_gene.py +251 -0
- package/bin/skills/geniml/SKILL.md +318 -0
- package/bin/skills/geniml/references/bedspace.md +127 -0
- package/bin/skills/geniml/references/consensus_peaks.md +238 -0
- package/bin/skills/geniml/references/region2vec.md +90 -0
- package/bin/skills/geniml/references/scembed.md +197 -0
- package/bin/skills/geniml/references/utilities.md +385 -0
- package/bin/skills/geo-database/SKILL.md +815 -0
- package/bin/skills/geo-database/references/geo_reference.md +829 -0
- package/bin/skills/geopandas/SKILL.md +251 -0
- package/bin/skills/geopandas/references/crs-management.md +243 -0
- package/bin/skills/geopandas/references/data-io.md +165 -0
- package/bin/skills/geopandas/references/data-structures.md +70 -0
- package/bin/skills/geopandas/references/geometric-operations.md +221 -0
- package/bin/skills/geopandas/references/spatial-analysis.md +184 -0
- package/bin/skills/geopandas/references/visualization.md +243 -0
- package/bin/skills/get-available-resources/SKILL.md +277 -0
- package/bin/skills/get-available-resources/scripts/detect_resources.py +401 -0
- package/bin/skills/gget/SKILL.md +871 -0
- package/bin/skills/gget/references/database_info.md +300 -0
- package/bin/skills/gget/references/module_reference.md +467 -0
- package/bin/skills/gget/references/workflows.md +814 -0
- package/bin/skills/gget/scripts/batch_sequence_analysis.py +191 -0
- package/bin/skills/gget/scripts/enrichment_pipeline.py +235 -0
- package/bin/skills/gget/scripts/gene_analysis.py +161 -0
- package/bin/skills/gtars/SKILL.md +285 -0
- package/bin/skills/gtars/references/cli.md +222 -0
- package/bin/skills/gtars/references/coverage.md +172 -0
- package/bin/skills/gtars/references/overlap.md +156 -0
- package/bin/skills/gtars/references/python-api.md +211 -0
- package/bin/skills/gtars/references/refget.md +147 -0
- package/bin/skills/gtars/references/tokenizers.md +103 -0
- package/bin/skills/gwas-database/SKILL.md +608 -0
- package/bin/skills/gwas-database/references/api_reference.md +793 -0
- package/bin/skills/histolab/SKILL.md +678 -0
- package/bin/skills/histolab/references/filters_preprocessing.md +514 -0
- package/bin/skills/histolab/references/slide_management.md +172 -0
- package/bin/skills/histolab/references/tile_extraction.md +421 -0
- package/bin/skills/histolab/references/tissue_masks.md +251 -0
- package/bin/skills/histolab/references/visualization.md +547 -0
- package/bin/skills/hmdb-database/SKILL.md +196 -0
- package/bin/skills/hmdb-database/references/hmdb_data_fields.md +267 -0
- package/bin/skills/hypogenic/SKILL.md +655 -0
- package/bin/skills/hypogenic/references/config_template.yaml +150 -0
- package/bin/skills/imaging-data-commons/SKILL.md +1182 -0
- package/bin/skills/imaging-data-commons/references/bigquery_guide.md +556 -0
- package/bin/skills/imaging-data-commons/references/cli_guide.md +272 -0
- package/bin/skills/imaging-data-commons/references/cloud_storage_guide.md +333 -0
- package/bin/skills/imaging-data-commons/references/dicomweb_guide.md +399 -0
- package/bin/skills/infographics/SKILL.md +563 -0
- package/bin/skills/infographics/references/color_palettes.md +496 -0
- package/bin/skills/infographics/references/design_principles.md +636 -0
- package/bin/skills/infographics/references/infographic_types.md +907 -0
- package/bin/skills/infographics/scripts/generate_infographic.py +234 -0
- package/bin/skills/infographics/scripts/generate_infographic_ai.py +1290 -0
- package/bin/skills/iso-13485-certification/SKILL.md +680 -0
- package/bin/skills/iso-13485-certification/assets/templates/procedures/CAPA-procedure-template.md +453 -0
- package/bin/skills/iso-13485-certification/assets/templates/procedures/document-control-procedure-template.md +567 -0
- package/bin/skills/iso-13485-certification/assets/templates/quality-manual-template.md +521 -0
- package/bin/skills/iso-13485-certification/references/gap-analysis-checklist.md +568 -0
- package/bin/skills/iso-13485-certification/references/iso-13485-requirements.md +610 -0
- package/bin/skills/iso-13485-certification/references/mandatory-documents.md +606 -0
- package/bin/skills/iso-13485-certification/references/quality-manual-guide.md +688 -0
- package/bin/skills/iso-13485-certification/scripts/gap_analyzer.py +440 -0
- package/bin/skills/kegg-database/SKILL.md +377 -0
- package/bin/skills/kegg-database/references/kegg_reference.md +326 -0
- package/bin/skills/kegg-database/scripts/kegg_api.py +251 -0
- package/bin/skills/labarchive-integration/SKILL.md +268 -0
- package/bin/skills/labarchive-integration/references/api_reference.md +342 -0
- package/bin/skills/labarchive-integration/references/authentication_guide.md +357 -0
- package/bin/skills/labarchive-integration/references/integrations.md +425 -0
- package/bin/skills/labarchive-integration/scripts/entry_operations.py +334 -0
- package/bin/skills/labarchive-integration/scripts/notebook_operations.py +269 -0
- package/bin/skills/labarchive-integration/scripts/setup_config.py +205 -0
- package/bin/skills/lamindb/SKILL.md +390 -0
- package/bin/skills/lamindb/references/annotation-validation.md +513 -0
- package/bin/skills/lamindb/references/core-concepts.md +380 -0
- package/bin/skills/lamindb/references/data-management.md +433 -0
- package/bin/skills/lamindb/references/integrations.md +642 -0
- package/bin/skills/lamindb/references/ontologies.md +497 -0
- package/bin/skills/lamindb/references/setup-deployment.md +733 -0
- package/bin/skills/latchbio-integration/SKILL.md +353 -0
- package/bin/skills/latchbio-integration/references/data-management.md +427 -0
- package/bin/skills/latchbio-integration/references/resource-configuration.md +429 -0
- package/bin/skills/latchbio-integration/references/verified-workflows.md +487 -0
- package/bin/skills/latchbio-integration/references/workflow-creation.md +254 -0
- package/bin/skills/matchms/SKILL.md +203 -0
- package/bin/skills/matchms/references/filtering.md +288 -0
- package/bin/skills/matchms/references/importing_exporting.md +416 -0
- package/bin/skills/matchms/references/similarity.md +380 -0
- package/bin/skills/matchms/references/workflows.md +647 -0
- package/bin/skills/matlab/SKILL.md +376 -0
- package/bin/skills/matlab/references/data-import-export.md +479 -0
- package/bin/skills/matlab/references/executing-scripts.md +444 -0
- package/bin/skills/matlab/references/graphics-visualization.md +579 -0
- package/bin/skills/matlab/references/mathematics.md +553 -0
- package/bin/skills/matlab/references/matrices-arrays.md +349 -0
- package/bin/skills/matlab/references/octave-compatibility.md +544 -0
- package/bin/skills/matlab/references/programming.md +672 -0
- package/bin/skills/matlab/references/python-integration.md +433 -0
- package/bin/skills/matplotlib/SKILL.md +361 -0
- package/bin/skills/matplotlib/references/api_reference.md +412 -0
- package/bin/skills/matplotlib/references/common_issues.md +563 -0
- package/bin/skills/matplotlib/references/plot_types.md +476 -0
- package/bin/skills/matplotlib/references/styling_guide.md +589 -0
- package/bin/skills/matplotlib/scripts/plot_template.py +401 -0
- package/bin/skills/matplotlib/scripts/style_configurator.py +409 -0
- package/bin/skills/medchem/SKILL.md +406 -0
- package/bin/skills/medchem/references/api_guide.md +600 -0
- package/bin/skills/medchem/references/rules_catalog.md +604 -0
- package/bin/skills/medchem/scripts/filter_molecules.py +418 -0
- package/bin/skills/metabolomics-workbench-database/SKILL.md +259 -0
- package/bin/skills/metabolomics-workbench-database/references/api_reference.md +494 -0
- package/bin/skills/modal-research-gpu/SKILL.md +238 -0
- package/bin/skills/molfeat/SKILL.md +511 -0
- package/bin/skills/molfeat/references/api_reference.md +428 -0
- package/bin/skills/molfeat/references/available_featurizers.md +333 -0
- package/bin/skills/molfeat/references/examples.md +723 -0
- package/bin/skills/networkx/SKILL.md +437 -0
- package/bin/skills/networkx/references/algorithms.md +383 -0
- package/bin/skills/networkx/references/generators.md +378 -0
- package/bin/skills/networkx/references/graph-basics.md +283 -0
- package/bin/skills/networkx/references/io.md +441 -0
- package/bin/skills/networkx/references/visualization.md +529 -0
- package/bin/skills/neurokit2/SKILL.md +356 -0
- package/bin/skills/neurokit2/references/bio_module.md +417 -0
- package/bin/skills/neurokit2/references/complexity.md +715 -0
- package/bin/skills/neurokit2/references/ecg_cardiac.md +355 -0
- package/bin/skills/neurokit2/references/eda.md +497 -0
- package/bin/skills/neurokit2/references/eeg.md +506 -0
- package/bin/skills/neurokit2/references/emg.md +408 -0
- package/bin/skills/neurokit2/references/eog.md +407 -0
- package/bin/skills/neurokit2/references/epochs_events.md +471 -0
- package/bin/skills/neurokit2/references/hrv.md +480 -0
- package/bin/skills/neurokit2/references/ppg.md +413 -0
- package/bin/skills/neurokit2/references/rsp.md +510 -0
- package/bin/skills/neurokit2/references/signal_processing.md +648 -0
- package/bin/skills/neuropixels-analysis/SKILL.md +350 -0
- package/bin/skills/neuropixels-analysis/assets/analysis_template.py +271 -0
- package/bin/skills/neuropixels-analysis/references/AI_CURATION.md +345 -0
- package/bin/skills/neuropixels-analysis/references/ANALYSIS.md +392 -0
- package/bin/skills/neuropixels-analysis/references/AUTOMATED_CURATION.md +358 -0
- package/bin/skills/neuropixels-analysis/references/MOTION_CORRECTION.md +323 -0
- package/bin/skills/neuropixels-analysis/references/PREPROCESSING.md +273 -0
- package/bin/skills/neuropixels-analysis/references/QUALITY_METRICS.md +359 -0
- package/bin/skills/neuropixels-analysis/references/SPIKE_SORTING.md +339 -0
- package/bin/skills/neuropixels-analysis/references/api_reference.md +415 -0
- package/bin/skills/neuropixels-analysis/references/plotting_guide.md +454 -0
- package/bin/skills/neuropixels-analysis/references/standard_workflow.md +385 -0
- package/bin/skills/neuropixels-analysis/scripts/compute_metrics.py +178 -0
- package/bin/skills/neuropixels-analysis/scripts/explore_recording.py +168 -0
- package/bin/skills/neuropixels-analysis/scripts/export_to_phy.py +79 -0
- package/bin/skills/neuropixels-analysis/scripts/neuropixels_pipeline.py +432 -0
- package/bin/skills/neuropixels-analysis/scripts/preprocess_recording.py +122 -0
- package/bin/skills/neuropixels-analysis/scripts/run_sorting.py +98 -0
- package/bin/skills/offer-k-dense-web/SKILL.md +21 -0
- package/bin/skills/omero-integration/SKILL.md +251 -0
- package/bin/skills/omero-integration/references/advanced.md +631 -0
- package/bin/skills/omero-integration/references/connection.md +369 -0
- package/bin/skills/omero-integration/references/data_access.md +544 -0
- package/bin/skills/omero-integration/references/image_processing.md +665 -0
- package/bin/skills/omero-integration/references/metadata.md +688 -0
- package/bin/skills/omero-integration/references/rois.md +648 -0
- package/bin/skills/omero-integration/references/scripts.md +637 -0
- package/bin/skills/omero-integration/references/tables.md +532 -0
- package/bin/skills/openalex-database/SKILL.md +494 -0
- package/bin/skills/openalex-database/references/api_guide.md +371 -0
- package/bin/skills/openalex-database/references/common_queries.md +381 -0
- package/bin/skills/openalex-database/scripts/openalex_client.py +337 -0
- package/bin/skills/openalex-database/scripts/query_helpers.py +306 -0
- package/bin/skills/opentargets-database/SKILL.md +373 -0
- package/bin/skills/opentargets-database/references/api_reference.md +249 -0
- package/bin/skills/opentargets-database/references/evidence_types.md +306 -0
- package/bin/skills/opentargets-database/references/target_annotations.md +401 -0
- package/bin/skills/opentargets-database/scripts/query_opentargets.py +403 -0
- package/bin/skills/opentrons-integration/SKILL.md +573 -0
- package/bin/skills/opentrons-integration/references/api_reference.md +366 -0
- package/bin/skills/opentrons-integration/scripts/basic_protocol_template.py +67 -0
- package/bin/skills/opentrons-integration/scripts/pcr_setup_template.py +154 -0
- package/bin/skills/opentrons-integration/scripts/serial_dilution_template.py +96 -0
- package/bin/skills/pathml/SKILL.md +166 -0
- package/bin/skills/pathml/references/data_management.md +742 -0
- package/bin/skills/pathml/references/graphs.md +653 -0
- package/bin/skills/pathml/references/image_loading.md +448 -0
- package/bin/skills/pathml/references/machine_learning.md +725 -0
- package/bin/skills/pathml/references/multiparametric.md +686 -0
- package/bin/skills/pathml/references/preprocessing.md +722 -0
- package/bin/skills/pdb-database/SKILL.md +309 -0
- package/bin/skills/pdb-database/references/api_reference.md +617 -0
- package/bin/skills/pennylane/SKILL.md +226 -0
- package/bin/skills/pennylane/references/advanced_features.md +667 -0
- package/bin/skills/pennylane/references/devices_backends.md +596 -0
- package/bin/skills/pennylane/references/getting_started.md +227 -0
- package/bin/skills/pennylane/references/optimization.md +671 -0
- package/bin/skills/pennylane/references/quantum_chemistry.md +567 -0
- package/bin/skills/pennylane/references/quantum_circuits.md +437 -0
- package/bin/skills/pennylane/references/quantum_ml.md +571 -0
- package/bin/skills/perplexity-search/SKILL.md +448 -0
- package/bin/skills/perplexity-search/assets/.env.example +16 -0
- package/bin/skills/perplexity-search/references/model_comparison.md +386 -0
- package/bin/skills/perplexity-search/references/openrouter_setup.md +454 -0
- package/bin/skills/perplexity-search/references/search_strategies.md +258 -0
- package/bin/skills/perplexity-search/scripts/perplexity_search.py +277 -0
- package/bin/skills/perplexity-search/scripts/setup_env.py +171 -0
- package/bin/skills/plotly/SKILL.md +267 -0
- package/bin/skills/plotly/references/chart-types.md +488 -0
- package/bin/skills/plotly/references/export-interactivity.md +453 -0
- package/bin/skills/plotly/references/graph-objects.md +302 -0
- package/bin/skills/plotly/references/layouts-styling.md +457 -0
- package/bin/skills/plotly/references/plotly-express.md +213 -0
- package/bin/skills/polars/SKILL.md +387 -0
- package/bin/skills/polars/references/best_practices.md +649 -0
- package/bin/skills/polars/references/core_concepts.md +378 -0
- package/bin/skills/polars/references/io_guide.md +557 -0
- package/bin/skills/polars/references/operations.md +602 -0
- package/bin/skills/polars/references/pandas_migration.md +417 -0
- package/bin/skills/polars/references/transformations.md +549 -0
- package/bin/skills/protocolsio-integration/SKILL.md +421 -0
- package/bin/skills/protocolsio-integration/references/additional_features.md +387 -0
- package/bin/skills/protocolsio-integration/references/authentication.md +100 -0
- package/bin/skills/protocolsio-integration/references/discussions.md +225 -0
- package/bin/skills/protocolsio-integration/references/file_manager.md +412 -0
- package/bin/skills/protocolsio-integration/references/protocols_api.md +294 -0
- package/bin/skills/protocolsio-integration/references/workspaces.md +293 -0
- package/bin/skills/pubchem-database/SKILL.md +574 -0
- package/bin/skills/pubchem-database/references/api_reference.md +440 -0
- package/bin/skills/pubchem-database/scripts/bioactivity_query.py +367 -0
- package/bin/skills/pubchem-database/scripts/compound_search.py +297 -0
- package/bin/skills/pubmed-database/SKILL.md +460 -0
- package/bin/skills/pubmed-database/references/api_reference.md +298 -0
- package/bin/skills/pubmed-database/references/common_queries.md +453 -0
- package/bin/skills/pubmed-database/references/search_syntax.md +436 -0
- package/bin/skills/pufferlib/SKILL.md +436 -0
- package/bin/skills/pufferlib/references/environments.md +508 -0
- package/bin/skills/pufferlib/references/integration.md +621 -0
- package/bin/skills/pufferlib/references/policies.md +653 -0
- package/bin/skills/pufferlib/references/training.md +360 -0
- package/bin/skills/pufferlib/references/vectorization.md +557 -0
- package/bin/skills/pufferlib/scripts/env_template.py +340 -0
- package/bin/skills/pufferlib/scripts/train_template.py +239 -0
- package/bin/skills/pydeseq2/SKILL.md +559 -0
- package/bin/skills/pydeseq2/references/api_reference.md +228 -0
- package/bin/skills/pydeseq2/references/workflow_guide.md +582 -0
- package/bin/skills/pydeseq2/scripts/run_deseq2_analysis.py +353 -0
- package/bin/skills/pydicom/SKILL.md +434 -0
- package/bin/skills/pydicom/references/common_tags.md +228 -0
- package/bin/skills/pydicom/references/transfer_syntaxes.md +352 -0
- package/bin/skills/pydicom/scripts/anonymize_dicom.py +137 -0
- package/bin/skills/pydicom/scripts/dicom_to_image.py +172 -0
- package/bin/skills/pydicom/scripts/extract_metadata.py +173 -0
- package/bin/skills/pyhealth/SKILL.md +491 -0
- package/bin/skills/pyhealth/references/datasets.md +178 -0
- package/bin/skills/pyhealth/references/medical_coding.md +284 -0
- package/bin/skills/pyhealth/references/models.md +594 -0
- package/bin/skills/pyhealth/references/preprocessing.md +638 -0
- package/bin/skills/pyhealth/references/tasks.md +379 -0
- package/bin/skills/pyhealth/references/training_evaluation.md +648 -0
- package/bin/skills/pylabrobot/SKILL.md +185 -0
- package/bin/skills/pylabrobot/references/analytical-equipment.md +464 -0
- package/bin/skills/pylabrobot/references/hardware-backends.md +480 -0
- package/bin/skills/pylabrobot/references/liquid-handling.md +403 -0
- package/bin/skills/pylabrobot/references/material-handling.md +620 -0
- package/bin/skills/pylabrobot/references/resources.md +489 -0
- package/bin/skills/pylabrobot/references/visualization.md +532 -0
- package/bin/skills/pymatgen/SKILL.md +691 -0
- package/bin/skills/pymatgen/references/analysis_modules.md +530 -0
- package/bin/skills/pymatgen/references/core_classes.md +318 -0
- package/bin/skills/pymatgen/references/io_formats.md +469 -0
- package/bin/skills/pymatgen/references/materials_project_api.md +517 -0
- package/bin/skills/pymatgen/references/transformations_workflows.md +591 -0
- package/bin/skills/pymatgen/scripts/phase_diagram_generator.py +233 -0
- package/bin/skills/pymatgen/scripts/structure_analyzer.py +266 -0
- package/bin/skills/pymatgen/scripts/structure_converter.py +169 -0
- package/bin/skills/pymc/SKILL.md +572 -0
- package/bin/skills/pymc/assets/hierarchical_model_template.py +333 -0
- package/bin/skills/pymc/assets/linear_regression_template.py +241 -0
- package/bin/skills/pymc/references/distributions.md +320 -0
- package/bin/skills/pymc/references/sampling_inference.md +424 -0
- package/bin/skills/pymc/references/workflows.md +526 -0
- package/bin/skills/pymc/scripts/model_comparison.py +387 -0
- package/bin/skills/pymc/scripts/model_diagnostics.py +350 -0
- package/bin/skills/pymoo/SKILL.md +571 -0
- package/bin/skills/pymoo/references/algorithms.md +180 -0
- package/bin/skills/pymoo/references/constraints_mcdm.md +417 -0
- package/bin/skills/pymoo/references/operators.md +345 -0
- package/bin/skills/pymoo/references/problems.md +265 -0
- package/bin/skills/pymoo/references/visualization.md +353 -0
- package/bin/skills/pymoo/scripts/custom_problem_example.py +181 -0
- package/bin/skills/pymoo/scripts/decision_making_example.py +161 -0
- package/bin/skills/pymoo/scripts/many_objective_example.py +72 -0
- package/bin/skills/pymoo/scripts/multi_objective_example.py +63 -0
- package/bin/skills/pymoo/scripts/single_objective_example.py +59 -0
- package/bin/skills/pyopenms/SKILL.md +217 -0
- package/bin/skills/pyopenms/references/data_structures.md +497 -0
- package/bin/skills/pyopenms/references/feature_detection.md +410 -0
- package/bin/skills/pyopenms/references/file_io.md +349 -0
- package/bin/skills/pyopenms/references/identification.md +422 -0
- package/bin/skills/pyopenms/references/metabolomics.md +482 -0
- package/bin/skills/pyopenms/references/signal_processing.md +433 -0
- package/bin/skills/pysam/SKILL.md +265 -0
- package/bin/skills/pysam/references/alignment_files.md +280 -0
- package/bin/skills/pysam/references/common_workflows.md +520 -0
- package/bin/skills/pysam/references/sequence_files.md +407 -0
- package/bin/skills/pysam/references/variant_files.md +365 -0
- package/bin/skills/pytdc/SKILL.md +460 -0
- package/bin/skills/pytdc/references/datasets.md +246 -0
- package/bin/skills/pytdc/references/oracles.md +400 -0
- package/bin/skills/pytdc/references/utilities.md +684 -0
- package/bin/skills/pytdc/scripts/benchmark_evaluation.py +327 -0
- package/bin/skills/pytdc/scripts/load_and_split_data.py +214 -0
- package/bin/skills/pytdc/scripts/molecular_generation.py +404 -0
- package/bin/skills/qiskit/SKILL.md +275 -0
- package/bin/skills/qiskit/references/algorithms.md +607 -0
- package/bin/skills/qiskit/references/backends.md +433 -0
- package/bin/skills/qiskit/references/circuits.md +197 -0
- package/bin/skills/qiskit/references/patterns.md +533 -0
- package/bin/skills/qiskit/references/primitives.md +277 -0
- package/bin/skills/qiskit/references/setup.md +99 -0
- package/bin/skills/qiskit/references/transpilation.md +286 -0
- package/bin/skills/qiskit/references/visualization.md +415 -0
- package/bin/skills/qutip/SKILL.md +318 -0
- package/bin/skills/qutip/references/advanced.md +555 -0
- package/bin/skills/qutip/references/analysis.md +523 -0
- package/bin/skills/qutip/references/core_concepts.md +293 -0
- package/bin/skills/qutip/references/time_evolution.md +348 -0
- package/bin/skills/qutip/references/visualization.md +431 -0
- package/bin/skills/rdkit/SKILL.md +780 -0
- package/bin/skills/rdkit/references/api_reference.md +432 -0
- package/bin/skills/rdkit/references/descriptors_reference.md +595 -0
- package/bin/skills/rdkit/references/smarts_patterns.md +668 -0
- package/bin/skills/rdkit/scripts/molecular_properties.py +243 -0
- package/bin/skills/rdkit/scripts/similarity_search.py +297 -0
- package/bin/skills/rdkit/scripts/substructure_filter.py +386 -0
- package/bin/skills/reactome-database/SKILL.md +278 -0
- package/bin/skills/reactome-database/references/api_reference.md +465 -0
- package/bin/skills/reactome-database/scripts/reactome_query.py +286 -0
- package/bin/skills/rowan/SKILL.md +427 -0
- package/bin/skills/rowan/references/api_reference.md +413 -0
- package/bin/skills/rowan/references/molecule_handling.md +429 -0
- package/bin/skills/rowan/references/proteins_and_organization.md +499 -0
- package/bin/skills/rowan/references/rdkit_native.md +438 -0
- package/bin/skills/rowan/references/results_interpretation.md +481 -0
- package/bin/skills/rowan/references/workflow_types.md +591 -0
- package/bin/skills/scanpy/SKILL.md +386 -0
- package/bin/skills/scanpy/assets/analysis_template.py +295 -0
- package/bin/skills/scanpy/references/api_reference.md +251 -0
- package/bin/skills/scanpy/references/plotting_guide.md +352 -0
- package/bin/skills/scanpy/references/standard_workflow.md +206 -0
- package/bin/skills/scanpy/scripts/qc_analysis.py +200 -0
- package/bin/skills/scientific-brainstorming/SKILL.md +191 -0
- package/bin/skills/scientific-brainstorming/references/brainstorming_methods.md +326 -0
- package/bin/skills/scientific-visualization/SKILL.md +779 -0
- package/bin/skills/scientific-visualization/assets/color_palettes.py +197 -0
- package/bin/skills/scientific-visualization/assets/nature.mplstyle +63 -0
- package/bin/skills/scientific-visualization/assets/presentation.mplstyle +61 -0
- package/bin/skills/scientific-visualization/assets/publication.mplstyle +68 -0
- package/bin/skills/scientific-visualization/references/color_palettes.md +348 -0
- package/bin/skills/scientific-visualization/references/journal_requirements.md +320 -0
- package/bin/skills/scientific-visualization/references/matplotlib_examples.md +620 -0
- package/bin/skills/scientific-visualization/references/publication_guidelines.md +205 -0
- package/bin/skills/scientific-visualization/scripts/figure_export.py +343 -0
- package/bin/skills/scientific-visualization/scripts/style_presets.py +416 -0
- package/bin/skills/scikit-bio/SKILL.md +437 -0
- package/bin/skills/scikit-bio/references/api_reference.md +749 -0
- package/bin/skills/scikit-learn/SKILL.md +521 -0
- package/bin/skills/scikit-learn/references/model_evaluation.md +592 -0
- package/bin/skills/scikit-learn/references/pipelines_and_composition.md +612 -0
- package/bin/skills/scikit-learn/references/preprocessing.md +606 -0
- package/bin/skills/scikit-learn/references/quick_reference.md +433 -0
- package/bin/skills/scikit-learn/references/supervised_learning.md +378 -0
- package/bin/skills/scikit-learn/references/unsupervised_learning.md +505 -0
- package/bin/skills/scikit-learn/scripts/classification_pipeline.py +257 -0
- package/bin/skills/scikit-learn/scripts/clustering_analysis.py +386 -0
- package/bin/skills/scikit-survival/SKILL.md +399 -0
- package/bin/skills/scikit-survival/references/competing-risks.md +397 -0
- package/bin/skills/scikit-survival/references/cox-models.md +182 -0
- package/bin/skills/scikit-survival/references/data-handling.md +494 -0
- package/bin/skills/scikit-survival/references/ensemble-models.md +327 -0
- package/bin/skills/scikit-survival/references/evaluation-metrics.md +378 -0
- package/bin/skills/scikit-survival/references/svm-models.md +411 -0
- package/bin/skills/scvi-tools/SKILL.md +190 -0
- package/bin/skills/scvi-tools/references/differential-expression.md +581 -0
- package/bin/skills/scvi-tools/references/models-atac-seq.md +321 -0
- package/bin/skills/scvi-tools/references/models-multimodal.md +367 -0
- package/bin/skills/scvi-tools/references/models-scrna-seq.md +330 -0
- package/bin/skills/scvi-tools/references/models-spatial.md +438 -0
- package/bin/skills/scvi-tools/references/models-specialized.md +408 -0
- package/bin/skills/scvi-tools/references/theoretical-foundations.md +438 -0
- package/bin/skills/scvi-tools/references/workflows.md +546 -0
- package/bin/skills/seaborn/SKILL.md +673 -0
- package/bin/skills/seaborn/references/examples.md +822 -0
- package/bin/skills/seaborn/references/function_reference.md +770 -0
- package/bin/skills/seaborn/references/objects_interface.md +964 -0
- package/bin/skills/shap/SKILL.md +566 -0
- package/bin/skills/shap/references/explainers.md +339 -0
- package/bin/skills/shap/references/plots.md +507 -0
- package/bin/skills/shap/references/theory.md +449 -0
- package/bin/skills/shap/references/workflows.md +605 -0
- package/bin/skills/simpy/SKILL.md +429 -0
- package/bin/skills/simpy/references/events.md +374 -0
- package/bin/skills/simpy/references/monitoring.md +475 -0
- package/bin/skills/simpy/references/process-interaction.md +424 -0
- package/bin/skills/simpy/references/real-time.md +395 -0
- package/bin/skills/simpy/references/resources.md +275 -0
- package/bin/skills/simpy/scripts/basic_simulation_template.py +193 -0
- package/bin/skills/simpy/scripts/resource_monitor.py +345 -0
- package/bin/skills/stable-baselines3/SKILL.md +299 -0
- package/bin/skills/stable-baselines3/references/algorithms.md +333 -0
- package/bin/skills/stable-baselines3/references/callbacks.md +556 -0
- package/bin/skills/stable-baselines3/references/custom_environments.md +526 -0
- package/bin/skills/stable-baselines3/references/vectorized_envs.md +568 -0
- package/bin/skills/stable-baselines3/scripts/custom_env_template.py +314 -0
- package/bin/skills/stable-baselines3/scripts/evaluate_agent.py +245 -0
- package/bin/skills/stable-baselines3/scripts/train_rl_agent.py +165 -0
- package/bin/skills/statistical-analysis/SKILL.md +632 -0
- package/bin/skills/statistical-analysis/references/assumptions_and_diagnostics.md +369 -0
- package/bin/skills/statistical-analysis/references/bayesian_statistics.md +661 -0
- package/bin/skills/statistical-analysis/references/effect_sizes_and_power.md +581 -0
- package/bin/skills/statistical-analysis/references/reporting_standards.md +469 -0
- package/bin/skills/statistical-analysis/references/test_selection_guide.md +129 -0
- package/bin/skills/statistical-analysis/scripts/assumption_checks.py +539 -0
- package/bin/skills/statsmodels/SKILL.md +614 -0
- package/bin/skills/statsmodels/references/discrete_choice.md +669 -0
- package/bin/skills/statsmodels/references/glm.md +619 -0
- package/bin/skills/statsmodels/references/linear_models.md +447 -0
- package/bin/skills/statsmodels/references/stats_diagnostics.md +859 -0
- package/bin/skills/statsmodels/references/time_series.md +716 -0
- package/bin/skills/string-database/SKILL.md +534 -0
- package/bin/skills/string-database/references/string_reference.md +455 -0
- package/bin/skills/string-database/scripts/string_api.py +369 -0
- package/bin/skills/sympy/SKILL.md +500 -0
- package/bin/skills/sympy/references/advanced-topics.md +635 -0
- package/bin/skills/sympy/references/code-generation-printing.md +599 -0
- package/bin/skills/sympy/references/core-capabilities.md +348 -0
- package/bin/skills/sympy/references/matrices-linear-algebra.md +526 -0
- package/bin/skills/sympy/references/physics-mechanics.md +592 -0
- package/bin/skills/torch_geometric/SKILL.md +676 -0
- package/bin/skills/torch_geometric/references/datasets_reference.md +574 -0
- package/bin/skills/torch_geometric/references/layers_reference.md +485 -0
- package/bin/skills/torch_geometric/references/transforms_reference.md +679 -0
- package/bin/skills/torch_geometric/scripts/benchmark_model.py +309 -0
- package/bin/skills/torch_geometric/scripts/create_gnn_template.py +529 -0
- package/bin/skills/torch_geometric/scripts/visualize_graph.py +313 -0
- package/bin/skills/torchdrug/SKILL.md +450 -0
- package/bin/skills/torchdrug/references/core_concepts.md +565 -0
- package/bin/skills/torchdrug/references/datasets.md +380 -0
- package/bin/skills/torchdrug/references/knowledge_graphs.md +320 -0
- package/bin/skills/torchdrug/references/models_architectures.md +541 -0
- package/bin/skills/torchdrug/references/molecular_generation.md +352 -0
- package/bin/skills/torchdrug/references/molecular_property_prediction.md +169 -0
- package/bin/skills/torchdrug/references/protein_modeling.md +272 -0
- package/bin/skills/torchdrug/references/retrosynthesis.md +436 -0
- package/bin/skills/transformers/SKILL.md +164 -0
- package/bin/skills/transformers/references/generation.md +467 -0
- package/bin/skills/transformers/references/models.md +361 -0
- package/bin/skills/transformers/references/pipelines.md +335 -0
- package/bin/skills/transformers/references/tokenizers.md +447 -0
- package/bin/skills/transformers/references/training.md +500 -0
- package/bin/skills/umap-learn/SKILL.md +479 -0
- package/bin/skills/umap-learn/references/api_reference.md +532 -0
- package/bin/skills/uniprot-database/SKILL.md +195 -0
- package/bin/skills/uniprot-database/references/api_examples.md +413 -0
- package/bin/skills/uniprot-database/references/api_fields.md +275 -0
- package/bin/skills/uniprot-database/references/id_mapping_databases.md +285 -0
- package/bin/skills/uniprot-database/references/query_syntax.md +256 -0
- package/bin/skills/uniprot-database/scripts/uniprot_client.py +341 -0
- package/bin/skills/uspto-database/SKILL.md +607 -0
- package/bin/skills/uspto-database/references/additional_apis.md +394 -0
- package/bin/skills/uspto-database/references/patentsearch_api.md +266 -0
- package/bin/skills/uspto-database/references/peds_api.md +212 -0
- package/bin/skills/uspto-database/references/trademark_api.md +358 -0
- package/bin/skills/uspto-database/scripts/patent_search.py +290 -0
- package/bin/skills/uspto-database/scripts/peds_client.py +285 -0
- package/bin/skills/uspto-database/scripts/trademark_client.py +311 -0
- package/bin/skills/vaex/SKILL.md +182 -0
- package/bin/skills/vaex/references/core_dataframes.md +367 -0
- package/bin/skills/vaex/references/data_processing.md +555 -0
- package/bin/skills/vaex/references/io_operations.md +703 -0
- package/bin/skills/vaex/references/machine_learning.md +728 -0
- package/bin/skills/vaex/references/performance.md +571 -0
- package/bin/skills/vaex/references/visualization.md +613 -0
- package/bin/skills/zarr-python/SKILL.md +779 -0
- package/bin/skills/zarr-python/references/api_reference.md +515 -0
- package/bin/skills/zinc-database/SKILL.md +404 -0
- package/bin/skills/zinc-database/references/api_reference.md +692 -0
- package/bin/synsc +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,637 @@
|
|
|
1
|
+
# Protein Sequence Optimization
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Before submitting protein sequences for experimental testing, use computational tools to optimize sequences for improved expression, solubility, and stability. This pre-screening reduces experimental costs and increases success rates.
|
|
6
|
+
|
|
7
|
+
## Common Protein Expression Problems
|
|
8
|
+
|
|
9
|
+
### 1. Unpaired Cysteines
|
|
10
|
+
|
|
11
|
+
**Problem:**
|
|
12
|
+
- Unpaired cysteines form unwanted disulfide bonds
|
|
13
|
+
- Leads to aggregation and misfolding
|
|
14
|
+
- Reduces expression yield and stability
|
|
15
|
+
|
|
16
|
+
**Solution:**
|
|
17
|
+
- Remove unpaired cysteines unless functionally necessary
|
|
18
|
+
- Pair cysteines appropriately for structural disulfides
|
|
19
|
+
- Replace with serine or alanine in non-critical positions
|
|
20
|
+
|
|
21
|
+
**Example:**
|
|
22
|
+
```python
|
|
23
|
+
# Check for cysteine pairs
|
|
24
|
+
from Bio.Seq import Seq
|
|
25
|
+
|
|
26
|
+
def check_cysteines(sequence):
|
|
27
|
+
cys_count = sequence.count('C')
|
|
28
|
+
if cys_count % 2 != 0:
|
|
29
|
+
print(f"Warning: Odd number of cysteines ({cys_count})")
|
|
30
|
+
return cys_count
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Excessive Hydrophobicity
|
|
34
|
+
|
|
35
|
+
**Problem:**
|
|
36
|
+
- Long hydrophobic patches promote aggregation
|
|
37
|
+
- Exposed hydrophobic residues drive protein clumping
|
|
38
|
+
- Poor solubility in aqueous buffers
|
|
39
|
+
|
|
40
|
+
**Solution:**
|
|
41
|
+
- Maintain balanced hydropathy profiles
|
|
42
|
+
- Use short, flexible linkers between domains
|
|
43
|
+
- Reduce surface-exposed hydrophobic residues
|
|
44
|
+
|
|
45
|
+
**Metrics:**
|
|
46
|
+
- Kyte-Doolittle hydropathy plots
|
|
47
|
+
- GRAVY score (Grand Average of Hydropathy)
|
|
48
|
+
- pSAE (percent Solvent-Accessible hydrophobic residues)
|
|
49
|
+
|
|
50
|
+
### 3. Low Solubility
|
|
51
|
+
|
|
52
|
+
**Problem:**
|
|
53
|
+
- Proteins precipitate during expression or purification
|
|
54
|
+
- Inclusion body formation
|
|
55
|
+
- Difficult downstream processing
|
|
56
|
+
|
|
57
|
+
**Solution:**
|
|
58
|
+
- Use solubility prediction tools for pre-screening
|
|
59
|
+
- Apply sequence optimization algorithms
|
|
60
|
+
- Add solubilizing tags if needed
|
|
61
|
+
|
|
62
|
+
## Computational Tools for Optimization
|
|
63
|
+
|
|
64
|
+
### NetSolP - Initial Solubility Screening
|
|
65
|
+
|
|
66
|
+
**Purpose:** Fast solubility prediction for filtering sequences.
|
|
67
|
+
|
|
68
|
+
**Method:** Machine learning model trained on E. coli expression data.
|
|
69
|
+
|
|
70
|
+
**Usage:**
|
|
71
|
+
```python
|
|
72
|
+
# Install: uv pip install requests
|
|
73
|
+
import requests
|
|
74
|
+
|
|
75
|
+
def predict_solubility_netsolp(sequence):
|
|
76
|
+
"""Predict protein solubility using NetSolP web service"""
|
|
77
|
+
url = "https://services.healthtech.dtu.dk/services/NetSolP-1.0/api/predict"
|
|
78
|
+
|
|
79
|
+
data = {
|
|
80
|
+
"sequence": sequence,
|
|
81
|
+
"format": "fasta"
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
response = requests.post(url, data=data)
|
|
85
|
+
return response.json()
|
|
86
|
+
|
|
87
|
+
# Example
|
|
88
|
+
sequence = "MKVLWAALLGLLGAAA..."
|
|
89
|
+
result = predict_solubility_netsolp(sequence)
|
|
90
|
+
print(f"Solubility score: {result['score']}")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Interpretation:**
|
|
94
|
+
- Score > 0.5: Likely soluble
|
|
95
|
+
- Score < 0.5: Likely insoluble
|
|
96
|
+
- Use for initial filtering before more expensive predictions
|
|
97
|
+
|
|
98
|
+
**When to use:**
|
|
99
|
+
- First-pass filtering of large libraries
|
|
100
|
+
- Quick validation of designed sequences
|
|
101
|
+
- Prioritizing sequences for experimental testing
|
|
102
|
+
|
|
103
|
+
### SoluProt - Comprehensive Solubility Prediction
|
|
104
|
+
|
|
105
|
+
**Purpose:** Advanced solubility prediction with higher accuracy.
|
|
106
|
+
|
|
107
|
+
**Method:** Deep learning model incorporating sequence and structural features.
|
|
108
|
+
|
|
109
|
+
**Usage:**
|
|
110
|
+
```python
|
|
111
|
+
# Install: uv pip install soluprot
|
|
112
|
+
from soluprot import predict_solubility
|
|
113
|
+
|
|
114
|
+
def screen_variants_soluprot(sequences):
|
|
115
|
+
"""Screen multiple sequences for solubility"""
|
|
116
|
+
results = []
|
|
117
|
+
for name, seq in sequences.items():
|
|
118
|
+
score = predict_solubility(seq)
|
|
119
|
+
results.append({
|
|
120
|
+
'name': name,
|
|
121
|
+
'sequence': seq,
|
|
122
|
+
'solubility_score': score,
|
|
123
|
+
'predicted_soluble': score > 0.6
|
|
124
|
+
})
|
|
125
|
+
return results
|
|
126
|
+
|
|
127
|
+
# Example
|
|
128
|
+
sequences = {
|
|
129
|
+
'variant_1': 'MKVLW...',
|
|
130
|
+
'variant_2': 'MATGV...'
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
results = screen_variants_soluprot(sequences)
|
|
134
|
+
soluble_variants = [r for r in results if r['predicted_soluble']]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Interpretation:**
|
|
138
|
+
- Score > 0.6: High solubility confidence
|
|
139
|
+
- Score 0.4-0.6: Uncertain, may need optimization
|
|
140
|
+
- Score < 0.4: Likely problematic
|
|
141
|
+
|
|
142
|
+
**When to use:**
|
|
143
|
+
- After initial NetSolP filtering
|
|
144
|
+
- When higher prediction accuracy is needed
|
|
145
|
+
- Before committing to expensive synthesis/testing
|
|
146
|
+
|
|
147
|
+
### SolubleMPNN - Sequence Redesign
|
|
148
|
+
|
|
149
|
+
**Purpose:** Redesign protein sequences to improve solubility while maintaining function.
|
|
150
|
+
|
|
151
|
+
**Method:** Graph neural network that suggests mutations to increase solubility.
|
|
152
|
+
|
|
153
|
+
**Usage:**
|
|
154
|
+
```python
|
|
155
|
+
# Install: uv pip install soluble-mpnn
|
|
156
|
+
from soluble_mpnn import optimize_sequence
|
|
157
|
+
|
|
158
|
+
def optimize_for_solubility(sequence, structure_pdb=None):
|
|
159
|
+
"""
|
|
160
|
+
Redesign sequence for improved solubility
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
sequence: Original amino acid sequence
|
|
164
|
+
structure_pdb: Optional PDB file for structure-aware design
|
|
165
|
+
|
|
166
|
+
Returns:
|
|
167
|
+
Optimized sequence variants ranked by predicted solubility
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
variants = optimize_sequence(
|
|
171
|
+
sequence=sequence,
|
|
172
|
+
structure=structure_pdb,
|
|
173
|
+
num_variants=10,
|
|
174
|
+
temperature=0.1 # Lower = more conservative mutations
|
|
175
|
+
)
|
|
176
|
+
|
|
177
|
+
return variants
|
|
178
|
+
|
|
179
|
+
# Example
|
|
180
|
+
original_seq = "MKVLWAALLGLLGAAA..."
|
|
181
|
+
optimized_variants = optimize_for_solubility(original_seq)
|
|
182
|
+
|
|
183
|
+
for i, variant in enumerate(optimized_variants):
|
|
184
|
+
print(f"Variant {i+1}:")
|
|
185
|
+
print(f" Sequence: {variant['sequence']}")
|
|
186
|
+
print(f" Solubility score: {variant['solubility_score']}")
|
|
187
|
+
print(f" Mutations: {variant['mutations']}")
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Design strategy:**
|
|
191
|
+
- **Conservative** (temperature=0.1): Minimal changes, safer
|
|
192
|
+
- **Moderate** (temperature=0.3): Balance between change and safety
|
|
193
|
+
- **Aggressive** (temperature=0.5): More mutations, higher risk
|
|
194
|
+
|
|
195
|
+
**When to use:**
|
|
196
|
+
- Primary tool for sequence optimization
|
|
197
|
+
- Default starting point for improving problematic sequences
|
|
198
|
+
- Generating diverse soluble variants
|
|
199
|
+
|
|
200
|
+
**Best practices:**
|
|
201
|
+
- Generate 10-50 variants per sequence
|
|
202
|
+
- Use structure information when available (improves accuracy)
|
|
203
|
+
- Validate key functional residues are preserved
|
|
204
|
+
- Test multiple temperature settings
|
|
205
|
+
|
|
206
|
+
### ESM (Evolutionary Scale Modeling) - Sequence Likelihood
|
|
207
|
+
|
|
208
|
+
**Purpose:** Assess how "natural" a protein sequence appears based on evolutionary patterns.
|
|
209
|
+
|
|
210
|
+
**Method:** Protein language model trained on millions of natural sequences.
|
|
211
|
+
|
|
212
|
+
**Usage:**
|
|
213
|
+
```python
|
|
214
|
+
# Install: uv pip install fair-esm
|
|
215
|
+
import torch
|
|
216
|
+
from esm import pretrained
|
|
217
|
+
|
|
218
|
+
def score_sequence_esm(sequence):
|
|
219
|
+
"""
|
|
220
|
+
Calculate ESM likelihood score for sequence
|
|
221
|
+
Higher scores indicate more natural/stable sequences
|
|
222
|
+
"""
|
|
223
|
+
|
|
224
|
+
model, alphabet = pretrained.esm2_t33_650M_UR50D()
|
|
225
|
+
batch_converter = alphabet.get_batch_converter()
|
|
226
|
+
|
|
227
|
+
data = [("protein", sequence)]
|
|
228
|
+
_, _, batch_tokens = batch_converter(data)
|
|
229
|
+
|
|
230
|
+
with torch.no_grad():
|
|
231
|
+
results = model(batch_tokens, repr_layers=[33])
|
|
232
|
+
token_logprobs = results["logits"].log_softmax(dim=-1)
|
|
233
|
+
|
|
234
|
+
# Calculate perplexity as sequence quality metric
|
|
235
|
+
sequence_score = token_logprobs.mean().item()
|
|
236
|
+
|
|
237
|
+
return sequence_score
|
|
238
|
+
|
|
239
|
+
# Example - Compare variants
|
|
240
|
+
sequences = {
|
|
241
|
+
'original': 'MKVLW...',
|
|
242
|
+
'optimized_1': 'MKVLS...',
|
|
243
|
+
'optimized_2': 'MKVLA...'
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
for name, seq in sequences.items():
|
|
247
|
+
score = score_sequence_esm(seq)
|
|
248
|
+
print(f"{name}: ESM score = {score:.3f}")
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Interpretation:**
|
|
252
|
+
- Higher scores → More "natural" sequence
|
|
253
|
+
- Use to avoid unlikely mutations
|
|
254
|
+
- Balance with functional requirements
|
|
255
|
+
|
|
256
|
+
**When to use:**
|
|
257
|
+
- Filtering synthetic designs
|
|
258
|
+
- Comparing SolubleMPNN variants
|
|
259
|
+
- Ensuring sequences aren't too artificial
|
|
260
|
+
- Avoiding expression bottlenecks
|
|
261
|
+
|
|
262
|
+
**Integration with design:**
|
|
263
|
+
```python
|
|
264
|
+
def rank_variants_by_esm(variants):
|
|
265
|
+
"""Rank protein variants by ESM likelihood"""
|
|
266
|
+
scored = []
|
|
267
|
+
for v in variants:
|
|
268
|
+
esm_score = score_sequence_esm(v['sequence'])
|
|
269
|
+
v['esm_score'] = esm_score
|
|
270
|
+
scored.append(v)
|
|
271
|
+
|
|
272
|
+
# Sort by combined solubility and ESM score
|
|
273
|
+
scored.sort(
|
|
274
|
+
key=lambda x: x['solubility_score'] * x['esm_score'],
|
|
275
|
+
reverse=True
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
return scored
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### ipTM - Interface Stability (AlphaFold-Multimer)
|
|
282
|
+
|
|
283
|
+
**Purpose:** Assess protein-protein interface stability and binding confidence.
|
|
284
|
+
|
|
285
|
+
**Method:** Interface predicted TM-score from AlphaFold-Multimer predictions.
|
|
286
|
+
|
|
287
|
+
**Usage:**
|
|
288
|
+
```python
|
|
289
|
+
# Requires AlphaFold-Multimer installation
|
|
290
|
+
# Or use ColabFold for easier access
|
|
291
|
+
|
|
292
|
+
def predict_interface_stability(protein_a_seq, protein_b_seq):
|
|
293
|
+
"""
|
|
294
|
+
Predict interface stability using AlphaFold-Multimer
|
|
295
|
+
|
|
296
|
+
Returns ipTM score: higher = more stable interface
|
|
297
|
+
"""
|
|
298
|
+
from colabfold import run_alphafold_multimer
|
|
299
|
+
|
|
300
|
+
sequences = {
|
|
301
|
+
'chainA': protein_a_seq,
|
|
302
|
+
'chainB': protein_b_seq
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
result = run_alphafold_multimer(sequences)
|
|
306
|
+
|
|
307
|
+
return {
|
|
308
|
+
'ipTM': result['iptm'],
|
|
309
|
+
'pTM': result['ptm'],
|
|
310
|
+
'pLDDT': result['plddt']
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
# Example for antibody-antigen binding
|
|
314
|
+
antibody_seq = "EVQLVESGGGLVQPGG..."
|
|
315
|
+
antigen_seq = "MKVLWAALLGLLGAAA..."
|
|
316
|
+
|
|
317
|
+
stability = predict_interface_stability(antibody_seq, antigen_seq)
|
|
318
|
+
print(f"Interface pTM: {stability['ipTM']:.3f}")
|
|
319
|
+
|
|
320
|
+
# Interpretation
|
|
321
|
+
if stability['ipTM'] > 0.7:
|
|
322
|
+
print("High confidence interface")
|
|
323
|
+
elif stability['ipTM'] > 0.5:
|
|
324
|
+
print("Moderate confidence interface")
|
|
325
|
+
else:
|
|
326
|
+
print("Low confidence interface - may need redesign")
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Interpretation:**
|
|
330
|
+
- ipTM > 0.7: Strong predicted interface
|
|
331
|
+
- ipTM 0.5-0.7: Moderate interface confidence
|
|
332
|
+
- ipTM < 0.5: Weak interface, consider redesign
|
|
333
|
+
|
|
334
|
+
**When to use:**
|
|
335
|
+
- Antibody-antigen design
|
|
336
|
+
- Protein-protein interaction engineering
|
|
337
|
+
- Validating binding interfaces
|
|
338
|
+
- Comparing interface variants
|
|
339
|
+
|
|
340
|
+
### pSAE - Solvent-Accessible Hydrophobic Residues
|
|
341
|
+
|
|
342
|
+
**Purpose:** Quantify exposed hydrophobic residues that promote aggregation.
|
|
343
|
+
|
|
344
|
+
**Method:** Calculates percentage of solvent-accessible surface area (SASA) occupied by hydrophobic residues.
|
|
345
|
+
|
|
346
|
+
**Usage:**
|
|
347
|
+
```python
|
|
348
|
+
# Requires structure (PDB file or AlphaFold prediction)
|
|
349
|
+
# Install: uv pip install biopython
|
|
350
|
+
|
|
351
|
+
from Bio.PDB import PDBParser, DSSP
|
|
352
|
+
import numpy as np
|
|
353
|
+
|
|
354
|
+
def calculate_psae(pdb_file):
|
|
355
|
+
"""
|
|
356
|
+
Calculate percent Solvent-Accessible hydrophobic residues (pSAE)
|
|
357
|
+
|
|
358
|
+
Lower pSAE = better solubility
|
|
359
|
+
"""
|
|
360
|
+
|
|
361
|
+
parser = PDBParser(QUIET=True)
|
|
362
|
+
structure = parser.get_structure('protein', pdb_file)
|
|
363
|
+
|
|
364
|
+
# Run DSSP to get solvent accessibility
|
|
365
|
+
model = structure[0]
|
|
366
|
+
dssp = DSSP(model, pdb_file, acc_array='Wilke')
|
|
367
|
+
|
|
368
|
+
hydrophobic = ['ALA', 'VAL', 'ILE', 'LEU', 'MET', 'PHE', 'TRP', 'PRO']
|
|
369
|
+
|
|
370
|
+
total_sasa = 0
|
|
371
|
+
hydrophobic_sasa = 0
|
|
372
|
+
|
|
373
|
+
for residue in dssp:
|
|
374
|
+
res_name = residue[1]
|
|
375
|
+
rel_accessibility = residue[3]
|
|
376
|
+
|
|
377
|
+
total_sasa += rel_accessibility
|
|
378
|
+
if res_name in hydrophobic:
|
|
379
|
+
hydrophobic_sasa += rel_accessibility
|
|
380
|
+
|
|
381
|
+
psae = (hydrophobic_sasa / total_sasa) * 100
|
|
382
|
+
|
|
383
|
+
return psae
|
|
384
|
+
|
|
385
|
+
# Example
|
|
386
|
+
pdb_file = "protein_structure.pdb"
|
|
387
|
+
psae_score = calculate_psae(pdb_file)
|
|
388
|
+
print(f"pSAE: {psae_score:.2f}%")
|
|
389
|
+
|
|
390
|
+
# Interpretation
|
|
391
|
+
if psae_score < 25:
|
|
392
|
+
print("Good solubility expected")
|
|
393
|
+
elif psae_score < 35:
|
|
394
|
+
print("Moderate solubility")
|
|
395
|
+
else:
|
|
396
|
+
print("High aggregation risk")
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
**Interpretation:**
|
|
400
|
+
- pSAE < 25%: Low aggregation risk
|
|
401
|
+
- pSAE 25-35%: Moderate risk
|
|
402
|
+
- pSAE > 35%: High aggregation risk
|
|
403
|
+
|
|
404
|
+
**When to use:**
|
|
405
|
+
- Analyzing designed structures
|
|
406
|
+
- Post-AlphaFold validation
|
|
407
|
+
- Identifying aggregation hotspots
|
|
408
|
+
- Guiding surface mutations
|
|
409
|
+
|
|
410
|
+
## Recommended Optimization Workflow
|
|
411
|
+
|
|
412
|
+
### Step 1: Initial Screening (Fast)
|
|
413
|
+
|
|
414
|
+
```python
|
|
415
|
+
def initial_screening(sequences):
|
|
416
|
+
"""
|
|
417
|
+
Quick first-pass filtering using NetSolP
|
|
418
|
+
Filters out obviously problematic sequences
|
|
419
|
+
"""
|
|
420
|
+
passed = []
|
|
421
|
+
for name, seq in sequences.items():
|
|
422
|
+
netsolp_score = predict_solubility_netsolp(seq)
|
|
423
|
+
if netsolp_score > 0.5:
|
|
424
|
+
passed.append((name, seq))
|
|
425
|
+
|
|
426
|
+
return passed
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Step 2: Detailed Assessment (Moderate)
|
|
430
|
+
|
|
431
|
+
```python
|
|
432
|
+
def detailed_assessment(filtered_sequences):
|
|
433
|
+
"""
|
|
434
|
+
More thorough analysis with SoluProt and ESM
|
|
435
|
+
Ranks sequences by multiple criteria
|
|
436
|
+
"""
|
|
437
|
+
results = []
|
|
438
|
+
for name, seq in filtered_sequences:
|
|
439
|
+
soluprot_score = predict_solubility(seq)
|
|
440
|
+
esm_score = score_sequence_esm(seq)
|
|
441
|
+
|
|
442
|
+
combined_score = soluprot_score * 0.7 + esm_score * 0.3
|
|
443
|
+
|
|
444
|
+
results.append({
|
|
445
|
+
'name': name,
|
|
446
|
+
'sequence': seq,
|
|
447
|
+
'soluprot': soluprot_score,
|
|
448
|
+
'esm': esm_score,
|
|
449
|
+
'combined': combined_score
|
|
450
|
+
})
|
|
451
|
+
|
|
452
|
+
results.sort(key=lambda x: x['combined'], reverse=True)
|
|
453
|
+
return results
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### Step 3: Sequence Optimization (If needed)
|
|
457
|
+
|
|
458
|
+
```python
|
|
459
|
+
def optimize_problematic_sequences(sequences_needing_optimization):
|
|
460
|
+
"""
|
|
461
|
+
Use SolubleMPNN to redesign problematic sequences
|
|
462
|
+
Returns improved variants
|
|
463
|
+
"""
|
|
464
|
+
optimized = []
|
|
465
|
+
for name, seq in sequences_needing_optimization:
|
|
466
|
+
# Generate multiple variants
|
|
467
|
+
variants = optimize_sequence(
|
|
468
|
+
sequence=seq,
|
|
469
|
+
num_variants=10,
|
|
470
|
+
temperature=0.2
|
|
471
|
+
)
|
|
472
|
+
|
|
473
|
+
# Score variants with ESM
|
|
474
|
+
for variant in variants:
|
|
475
|
+
variant['esm_score'] = score_sequence_esm(variant['sequence'])
|
|
476
|
+
|
|
477
|
+
# Keep best variants
|
|
478
|
+
variants.sort(
|
|
479
|
+
key=lambda x: x['solubility_score'] * x['esm_score'],
|
|
480
|
+
reverse=True
|
|
481
|
+
)
|
|
482
|
+
|
|
483
|
+
optimized.extend(variants[:3]) # Top 3 variants per sequence
|
|
484
|
+
|
|
485
|
+
return optimized
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
### Step 4: Structure-Based Validation (For critical sequences)
|
|
489
|
+
|
|
490
|
+
```python
|
|
491
|
+
def structure_validation(top_candidates):
|
|
492
|
+
"""
|
|
493
|
+
Predict structures and calculate pSAE for top candidates
|
|
494
|
+
Final validation before experimental testing
|
|
495
|
+
"""
|
|
496
|
+
validated = []
|
|
497
|
+
for candidate in top_candidates:
|
|
498
|
+
# Predict structure with AlphaFold
|
|
499
|
+
structure_pdb = predict_structure_alphafold(candidate['sequence'])
|
|
500
|
+
|
|
501
|
+
# Calculate pSAE
|
|
502
|
+
psae = calculate_psae(structure_pdb)
|
|
503
|
+
|
|
504
|
+
candidate['psae'] = psae
|
|
505
|
+
candidate['pass_structure_check'] = psae < 30
|
|
506
|
+
|
|
507
|
+
validated.append(candidate)
|
|
508
|
+
|
|
509
|
+
return validated
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### Complete Workflow Example
|
|
513
|
+
|
|
514
|
+
```python
|
|
515
|
+
def complete_optimization_pipeline(initial_sequences):
|
|
516
|
+
"""
|
|
517
|
+
End-to-end optimization pipeline
|
|
518
|
+
|
|
519
|
+
Input: Dictionary of {name: sequence}
|
|
520
|
+
Output: Ranked list of optimized, validated sequences
|
|
521
|
+
"""
|
|
522
|
+
|
|
523
|
+
print("Step 1: Initial screening with NetSolP...")
|
|
524
|
+
filtered = initial_screening(initial_sequences)
|
|
525
|
+
print(f" Passed: {len(filtered)}/{len(initial_sequences)}")
|
|
526
|
+
|
|
527
|
+
print("Step 2: Detailed assessment with SoluProt and ESM...")
|
|
528
|
+
assessed = detailed_assessment(filtered)
|
|
529
|
+
|
|
530
|
+
# Split into good and needs-optimization
|
|
531
|
+
good_sequences = [s for s in assessed if s['soluprot'] > 0.6]
|
|
532
|
+
needs_optimization = [s for s in assessed if s['soluprot'] <= 0.6]
|
|
533
|
+
|
|
534
|
+
print(f" Good sequences: {len(good_sequences)}")
|
|
535
|
+
print(f" Need optimization: {len(needs_optimization)}")
|
|
536
|
+
|
|
537
|
+
if needs_optimization:
|
|
538
|
+
print("Step 3: Optimizing problematic sequences with SolubleMPNN...")
|
|
539
|
+
optimized = optimize_problematic_sequences(needs_optimization)
|
|
540
|
+
all_sequences = good_sequences + optimized
|
|
541
|
+
else:
|
|
542
|
+
all_sequences = good_sequences
|
|
543
|
+
|
|
544
|
+
print("Step 4: Structure-based validation for top candidates...")
|
|
545
|
+
top_20 = all_sequences[:20]
|
|
546
|
+
final_validated = structure_validation(top_20)
|
|
547
|
+
|
|
548
|
+
# Final ranking
|
|
549
|
+
final_validated.sort(
|
|
550
|
+
key=lambda x: (
|
|
551
|
+
x['pass_structure_check'],
|
|
552
|
+
x['combined'],
|
|
553
|
+
-x['psae']
|
|
554
|
+
),
|
|
555
|
+
reverse=True
|
|
556
|
+
)
|
|
557
|
+
|
|
558
|
+
return final_validated
|
|
559
|
+
|
|
560
|
+
# Usage
|
|
561
|
+
initial_library = {
|
|
562
|
+
'variant_1': 'MKVLWAALLGLLGAAA...',
|
|
563
|
+
'variant_2': 'MATGVLWAALLGLLGA...',
|
|
564
|
+
# ... more sequences
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
optimized_library = complete_optimization_pipeline(initial_library)
|
|
568
|
+
|
|
569
|
+
# Submit top sequences to Adaptyv
|
|
570
|
+
top_sequences_for_testing = optimized_library[:50]
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
## Best Practices Summary
|
|
574
|
+
|
|
575
|
+
1. **Always pre-screen** before experimental testing
|
|
576
|
+
2. **Use NetSolP first** for fast filtering of large libraries
|
|
577
|
+
3. **Apply SolubleMPNN** as default optimization tool
|
|
578
|
+
4. **Validate with ESM** to avoid unnatural sequences
|
|
579
|
+
5. **Calculate pSAE** for structure-based validation
|
|
580
|
+
6. **Test multiple variants** per design to account for prediction uncertainty
|
|
581
|
+
7. **Keep controls** - include wild-type or known-good sequences
|
|
582
|
+
8. **Iterate** - use experimental results to refine predictions
|
|
583
|
+
|
|
584
|
+
## Integration with Adaptyv
|
|
585
|
+
|
|
586
|
+
After computational optimization, submit sequences to Adaptyv:
|
|
587
|
+
|
|
588
|
+
```python
|
|
589
|
+
# After optimization pipeline
|
|
590
|
+
optimized_sequences = complete_optimization_pipeline(initial_library)
|
|
591
|
+
|
|
592
|
+
# Prepare FASTA format
|
|
593
|
+
fasta_content = ""
|
|
594
|
+
for seq_data in optimized_sequences[:50]: # Top 50
|
|
595
|
+
fasta_content += f">{seq_data['name']}\n{seq_data['sequence']}\n"
|
|
596
|
+
|
|
597
|
+
# Submit to Adaptyv
|
|
598
|
+
import requests
|
|
599
|
+
response = requests.post(
|
|
600
|
+
"https://kq5jp7qj7wdqklhsxmovkzn4l40obksv.lambda-url.eu-central-1.on.aws/experiments",
|
|
601
|
+
headers={"Authorization": f"Bearer {api_key}"},
|
|
602
|
+
json={
|
|
603
|
+
"sequences": fasta_content,
|
|
604
|
+
"experiment_type": "expression",
|
|
605
|
+
"metadata": {
|
|
606
|
+
"optimization_method": "SolubleMPNN_ESM_pipeline",
|
|
607
|
+
"computational_scores": [s['combined'] for s in optimized_sequences[:50]]
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
)
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
## Troubleshooting
|
|
614
|
+
|
|
615
|
+
**Issue: All sequences score poorly on solubility predictions**
|
|
616
|
+
- Check if sequences contain unusual amino acids
|
|
617
|
+
- Verify FASTA format is correct
|
|
618
|
+
- Consider if protein family is naturally low-solubility
|
|
619
|
+
- May need experimental validation despite predictions
|
|
620
|
+
|
|
621
|
+
**Issue: SolubleMPNN changes functionally important residues**
|
|
622
|
+
- Provide structure file to preserve spatial constraints
|
|
623
|
+
- Mask critical residues from mutation
|
|
624
|
+
- Lower temperature parameter for conservative changes
|
|
625
|
+
- Manually revert problematic mutations
|
|
626
|
+
|
|
627
|
+
**Issue: ESM scores are low after optimization**
|
|
628
|
+
- Optimization may be too aggressive
|
|
629
|
+
- Try lower temperature in SolubleMPNN
|
|
630
|
+
- Balance between solubility and naturalness
|
|
631
|
+
- Consider that some optimization may require non-natural mutations
|
|
632
|
+
|
|
633
|
+
**Issue: Predictions don't match experimental results**
|
|
634
|
+
- Predictions are probabilistic, not deterministic
|
|
635
|
+
- Host system and conditions affect expression
|
|
636
|
+
- Some proteins may need experimental validation
|
|
637
|
+
- Use predictions as enrichment, not absolute filters
|