@synsci/cli-darwin-x64-baseline 1.1.76 → 1.1.78
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,180 @@
|
|
|
1
|
+
# Pymoo Algorithms Reference
|
|
2
|
+
|
|
3
|
+
Comprehensive reference for optimization algorithms available in pymoo.
|
|
4
|
+
|
|
5
|
+
## Single-Objective Optimization Algorithms
|
|
6
|
+
|
|
7
|
+
### Genetic Algorithm (GA)
|
|
8
|
+
**Purpose:** General-purpose single-objective evolutionary optimization
|
|
9
|
+
**Best for:** Continuous, discrete, or mixed-variable problems
|
|
10
|
+
**Algorithm type:** (μ+λ) genetic algorithm
|
|
11
|
+
|
|
12
|
+
**Key parameters:**
|
|
13
|
+
- `pop_size`: Population size (default: 100)
|
|
14
|
+
- `sampling`: Initial population generation strategy
|
|
15
|
+
- `selection`: Parent selection mechanism (default: Tournament)
|
|
16
|
+
- `crossover`: Recombination operator (default: SBX)
|
|
17
|
+
- `mutation`: Variation operator (default: Polynomial)
|
|
18
|
+
- `eliminate_duplicates`: Remove redundant solutions (default: True)
|
|
19
|
+
- `n_offsprings`: Offspring per generation
|
|
20
|
+
|
|
21
|
+
**Usage:**
|
|
22
|
+
```python
|
|
23
|
+
from pymoo.algorithms.soo.nonconvex.ga import GA
|
|
24
|
+
algorithm = GA(pop_size=100, eliminate_duplicates=True)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Differential Evolution (DE)
|
|
28
|
+
**Purpose:** Single-objective continuous optimization
|
|
29
|
+
**Best for:** Continuous parameter optimization with good global search
|
|
30
|
+
**Algorithm type:** Population-based differential evolution
|
|
31
|
+
|
|
32
|
+
**Variants:** Multiple DE strategies available (rand/1/bin, best/1/bin, etc.)
|
|
33
|
+
|
|
34
|
+
### Particle Swarm Optimization (PSO)
|
|
35
|
+
**Purpose:** Single-objective optimization through swarm intelligence
|
|
36
|
+
**Best for:** Continuous problems, fast convergence on smooth landscapes
|
|
37
|
+
|
|
38
|
+
### CMA-ES
|
|
39
|
+
**Purpose:** Covariance Matrix Adaptation Evolution Strategy
|
|
40
|
+
**Best for:** Continuous optimization, particularly for noisy or ill-conditioned problems
|
|
41
|
+
|
|
42
|
+
### Pattern Search
|
|
43
|
+
**Purpose:** Direct search method
|
|
44
|
+
**Best for:** Problems where gradient information is unavailable
|
|
45
|
+
|
|
46
|
+
### Nelder-Mead
|
|
47
|
+
**Purpose:** Simplex-based optimization
|
|
48
|
+
**Best for:** Local optimization of continuous functions
|
|
49
|
+
|
|
50
|
+
## Multi-Objective Optimization Algorithms
|
|
51
|
+
|
|
52
|
+
### NSGA-II (Non-dominated Sorting Genetic Algorithm II)
|
|
53
|
+
**Purpose:** Multi-objective optimization with 2-3 objectives
|
|
54
|
+
**Best for:** Bi- and tri-objective problems requiring well-distributed Pareto fronts
|
|
55
|
+
**Selection strategy:** Non-dominated sorting + crowding distance
|
|
56
|
+
|
|
57
|
+
**Key features:**
|
|
58
|
+
- Fast non-dominated sorting
|
|
59
|
+
- Crowding distance for diversity
|
|
60
|
+
- Elitist approach
|
|
61
|
+
- Binary tournament mating selection
|
|
62
|
+
|
|
63
|
+
**Key parameters:**
|
|
64
|
+
- `pop_size`: Population size (default: 100)
|
|
65
|
+
- `sampling`: Initial population strategy
|
|
66
|
+
- `crossover`: Default SBX for continuous
|
|
67
|
+
- `mutation`: Default Polynomial Mutation
|
|
68
|
+
- `survival`: RankAndCrowding
|
|
69
|
+
|
|
70
|
+
**Usage:**
|
|
71
|
+
```python
|
|
72
|
+
from pymoo.algorithms.moo.nsga2 import NSGA2
|
|
73
|
+
algorithm = NSGA2(pop_size=100)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**When to use:**
|
|
77
|
+
- 2-3 objectives
|
|
78
|
+
- Need for distributed solutions across Pareto front
|
|
79
|
+
- Standard multi-objective benchmark
|
|
80
|
+
|
|
81
|
+
### NSGA-III
|
|
82
|
+
**Purpose:** Many-objective optimization (4+ objectives)
|
|
83
|
+
**Best for:** Problems with 4 or more objectives requiring uniform Pareto front coverage
|
|
84
|
+
**Selection strategy:** Reference direction-based diversity maintenance
|
|
85
|
+
|
|
86
|
+
**Key features:**
|
|
87
|
+
- Reference directions guide population
|
|
88
|
+
- Maintains diversity in high-dimensional objective spaces
|
|
89
|
+
- Niche preservation through reference points
|
|
90
|
+
- Underrepresented reference direction selection
|
|
91
|
+
|
|
92
|
+
**Key parameters:**
|
|
93
|
+
- `ref_dirs`: Reference directions (REQUIRED)
|
|
94
|
+
- `pop_size`: Defaults to number of reference directions
|
|
95
|
+
- `crossover`: Default SBX
|
|
96
|
+
- `mutation`: Default Polynomial Mutation
|
|
97
|
+
|
|
98
|
+
**Usage:**
|
|
99
|
+
```python
|
|
100
|
+
from pymoo.algorithms.moo.nsga3 import NSGA3
|
|
101
|
+
from pymoo.util.ref_dirs import get_reference_directions
|
|
102
|
+
|
|
103
|
+
ref_dirs = get_reference_directions("das-dennis", n_dim=4, n_partitions=12)
|
|
104
|
+
algorithm = NSGA3(ref_dirs=ref_dirs)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**NSGA-II vs NSGA-III:**
|
|
108
|
+
- Use NSGA-II for 2-3 objectives
|
|
109
|
+
- Use NSGA-III for 4+ objectives
|
|
110
|
+
- NSGA-III provides more uniform distribution
|
|
111
|
+
- NSGA-II has lower computational overhead
|
|
112
|
+
|
|
113
|
+
### R-NSGA-II (Reference Point Based NSGA-II)
|
|
114
|
+
**Purpose:** Multi-objective optimization with preference articulation
|
|
115
|
+
**Best for:** When decision maker has preferred regions of Pareto front
|
|
116
|
+
|
|
117
|
+
### U-NSGA-III (Unified NSGA-III)
|
|
118
|
+
**Purpose:** Improved version handling various scenarios
|
|
119
|
+
**Best for:** Many-objective problems with additional robustness
|
|
120
|
+
|
|
121
|
+
### MOEA/D (Multi-Objective Evolutionary Algorithm based on Decomposition)
|
|
122
|
+
**Purpose:** Decomposition-based multi-objective optimization
|
|
123
|
+
**Best for:** Problems where decomposition into scalar subproblems is effective
|
|
124
|
+
|
|
125
|
+
### AGE-MOEA
|
|
126
|
+
**Purpose:** Adaptive geometry estimation
|
|
127
|
+
**Best for:** Multi and many-objective problems with adaptive mechanisms
|
|
128
|
+
|
|
129
|
+
### RVEA (Reference Vector guided Evolutionary Algorithm)
|
|
130
|
+
**Purpose:** Reference vector-based many-objective optimization
|
|
131
|
+
**Best for:** Many-objective problems with adaptive reference vectors
|
|
132
|
+
|
|
133
|
+
### SMS-EMOA
|
|
134
|
+
**Purpose:** S-Metric Selection Evolutionary Multi-objective Algorithm
|
|
135
|
+
**Best for:** Problems where hypervolume indicator is critical
|
|
136
|
+
**Selection:** Uses dominated hypervolume contribution
|
|
137
|
+
|
|
138
|
+
## Dynamic Multi-Objective Algorithms
|
|
139
|
+
|
|
140
|
+
### D-NSGA-II
|
|
141
|
+
**Purpose:** Dynamic multi-objective problems
|
|
142
|
+
**Best for:** Time-varying objective functions or constraints
|
|
143
|
+
|
|
144
|
+
### KGB-DMOEA
|
|
145
|
+
**Purpose:** Knowledge-guided dynamic multi-objective optimization
|
|
146
|
+
**Best for:** Dynamic problems leveraging historical information
|
|
147
|
+
|
|
148
|
+
## Constrained Optimization
|
|
149
|
+
|
|
150
|
+
### SRES (Stochastic Ranking Evolution Strategy)
|
|
151
|
+
**Purpose:** Single-objective constrained optimization
|
|
152
|
+
**Best for:** Heavily constrained problems
|
|
153
|
+
|
|
154
|
+
### ISRES (Improved SRES)
|
|
155
|
+
**Purpose:** Enhanced constrained optimization
|
|
156
|
+
**Best for:** Complex constraint landscapes
|
|
157
|
+
|
|
158
|
+
## Algorithm Selection Guidelines
|
|
159
|
+
|
|
160
|
+
**For single-objective problems:**
|
|
161
|
+
- Start with GA for general problems
|
|
162
|
+
- Use DE for continuous optimization
|
|
163
|
+
- Try PSO for faster convergence on smooth problems
|
|
164
|
+
- Use CMA-ES for difficult/noisy landscapes
|
|
165
|
+
|
|
166
|
+
**For multi-objective problems:**
|
|
167
|
+
- 2-3 objectives: NSGA-II
|
|
168
|
+
- 4+ objectives: NSGA-III
|
|
169
|
+
- Preference articulation: R-NSGA-II
|
|
170
|
+
- Decomposition-friendly: MOEA/D
|
|
171
|
+
- Hypervolume focus: SMS-EMOA
|
|
172
|
+
|
|
173
|
+
**For constrained problems:**
|
|
174
|
+
- Feasibility-based survival selection (works with most algorithms)
|
|
175
|
+
- Heavy constraints: SRES/ISRES
|
|
176
|
+
- Penalty methods for algorithm compatibility
|
|
177
|
+
|
|
178
|
+
**For dynamic problems:**
|
|
179
|
+
- Time-varying: D-NSGA-II
|
|
180
|
+
- Historical knowledge useful: KGB-DMOEA
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
# Pymoo Constraints and Decision Making Reference
|
|
2
|
+
|
|
3
|
+
Reference for constraint handling and multi-criteria decision making in pymoo.
|
|
4
|
+
|
|
5
|
+
## Constraint Handling
|
|
6
|
+
|
|
7
|
+
### Defining Constraints
|
|
8
|
+
|
|
9
|
+
Constraints are specified in the Problem definition:
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
from pymoo.core.problem import ElementwiseProblem
|
|
13
|
+
import numpy as np
|
|
14
|
+
|
|
15
|
+
class ConstrainedProblem(ElementwiseProblem):
|
|
16
|
+
def __init__(self):
|
|
17
|
+
super().__init__(
|
|
18
|
+
n_var=2,
|
|
19
|
+
n_obj=2,
|
|
20
|
+
n_ieq_constr=2, # Number of inequality constraints
|
|
21
|
+
n_eq_constr=1, # Number of equality constraints
|
|
22
|
+
xl=np.array([0, 0]),
|
|
23
|
+
xu=np.array([5, 5])
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
def _evaluate(self, x, out, *args, **kwargs):
|
|
27
|
+
# Objectives
|
|
28
|
+
f1 = x[0]**2 + x[1]**2
|
|
29
|
+
f2 = (x[0]-1)**2 + (x[1]-1)**2
|
|
30
|
+
|
|
31
|
+
out["F"] = [f1, f2]
|
|
32
|
+
|
|
33
|
+
# Inequality constraints (formulated as g(x) <= 0)
|
|
34
|
+
g1 = x[0] + x[1] - 5 # x[0] + x[1] >= 5 → -(x[0] + x[1] - 5) <= 0
|
|
35
|
+
g2 = x[0]**2 + x[1]**2 - 25 # x[0]^2 + x[1]^2 <= 25
|
|
36
|
+
|
|
37
|
+
out["G"] = [g1, g2]
|
|
38
|
+
|
|
39
|
+
# Equality constraints (formulated as h(x) = 0)
|
|
40
|
+
h1 = x[0] - 2*x[1]
|
|
41
|
+
|
|
42
|
+
out["H"] = [h1]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Constraint formulation rules:**
|
|
46
|
+
- Inequality: `g(x) <= 0` (feasible when negative or zero)
|
|
47
|
+
- Equality: `h(x) = 0` (feasible when zero)
|
|
48
|
+
- Convert `g(x) >= 0` to `-g(x) <= 0`
|
|
49
|
+
|
|
50
|
+
### Constraint Handling Techniques
|
|
51
|
+
|
|
52
|
+
#### 1. Feasibility First (Default)
|
|
53
|
+
**Mechanism:** Always prefer feasible over infeasible solutions
|
|
54
|
+
**Comparison:**
|
|
55
|
+
1. Both feasible → compare by objective values
|
|
56
|
+
2. One feasible, one infeasible → feasible wins
|
|
57
|
+
3. Both infeasible → compare by constraint violation
|
|
58
|
+
|
|
59
|
+
**Usage:**
|
|
60
|
+
```python
|
|
61
|
+
from pymoo.algorithms.moo.nsga2 import NSGA2
|
|
62
|
+
|
|
63
|
+
# Feasibility first is default for most algorithms
|
|
64
|
+
algorithm = NSGA2(pop_size=100)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Advantages:**
|
|
68
|
+
- Works with any sorting-based algorithm
|
|
69
|
+
- Simple and effective
|
|
70
|
+
- No parameter tuning
|
|
71
|
+
|
|
72
|
+
**Disadvantages:**
|
|
73
|
+
- May struggle with small feasible regions
|
|
74
|
+
- Can ignore good infeasible solutions
|
|
75
|
+
|
|
76
|
+
#### 2. Penalty Methods
|
|
77
|
+
**Mechanism:** Add penalty to objective based on constraint violation
|
|
78
|
+
**Formula:** `F_penalized = F + penalty_factor * violation`
|
|
79
|
+
|
|
80
|
+
**Usage:**
|
|
81
|
+
```python
|
|
82
|
+
from pymoo.algorithms.soo.nonconvex.ga import GA
|
|
83
|
+
from pymoo.constraints.as_penalty import ConstraintsAsPenalty
|
|
84
|
+
|
|
85
|
+
# Wrap problem with penalty
|
|
86
|
+
problem_with_penalty = ConstraintsAsPenalty(problem, penalty=1e6)
|
|
87
|
+
|
|
88
|
+
algorithm = GA(pop_size=100)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Parameters:**
|
|
92
|
+
- `penalty`: Penalty coefficient (tune based on problem scale)
|
|
93
|
+
|
|
94
|
+
**Advantages:**
|
|
95
|
+
- Converts constrained to unconstrained problem
|
|
96
|
+
- Works with any optimization algorithm
|
|
97
|
+
|
|
98
|
+
**Disadvantages:**
|
|
99
|
+
- Penalty parameter sensitive
|
|
100
|
+
- May need problem-specific tuning
|
|
101
|
+
|
|
102
|
+
#### 3. Constraint as Objective
|
|
103
|
+
**Mechanism:** Treat constraint violation as additional objective
|
|
104
|
+
**Result:** Multi-objective problem with M+1 objectives (M original + constraint)
|
|
105
|
+
|
|
106
|
+
**Usage:**
|
|
107
|
+
```python
|
|
108
|
+
from pymoo.algorithms.moo.nsga2 import NSGA2
|
|
109
|
+
from pymoo.constraints.as_obj import ConstraintsAsObjective
|
|
110
|
+
|
|
111
|
+
# Add constraint violation as objective
|
|
112
|
+
problem_with_cv_obj = ConstraintsAsObjective(problem)
|
|
113
|
+
|
|
114
|
+
algorithm = NSGA2(pop_size=100)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Advantages:**
|
|
118
|
+
- No parameter tuning
|
|
119
|
+
- Maintains infeasible solutions that may be useful
|
|
120
|
+
- Works well when feasible region is small
|
|
121
|
+
|
|
122
|
+
**Disadvantages:**
|
|
123
|
+
- Increases problem dimensionality
|
|
124
|
+
- More complex Pareto front analysis
|
|
125
|
+
|
|
126
|
+
#### 4. Epsilon-Constraint Handling
|
|
127
|
+
**Mechanism:** Dynamic feasibility threshold
|
|
128
|
+
**Concept:** Gradually tighten constraint tolerance over generations
|
|
129
|
+
|
|
130
|
+
**Advantages:**
|
|
131
|
+
- Smooth transition to feasible region
|
|
132
|
+
- Helps with difficult constraint landscapes
|
|
133
|
+
|
|
134
|
+
**Disadvantages:**
|
|
135
|
+
- Algorithm-specific implementation
|
|
136
|
+
- Requires parameter tuning
|
|
137
|
+
|
|
138
|
+
#### 5. Repair Operators
|
|
139
|
+
**Mechanism:** Modify infeasible solutions to satisfy constraints
|
|
140
|
+
**Application:** After crossover/mutation, repair offspring
|
|
141
|
+
|
|
142
|
+
**Usage:**
|
|
143
|
+
```python
|
|
144
|
+
from pymoo.core.repair import Repair
|
|
145
|
+
|
|
146
|
+
class MyRepair(Repair):
|
|
147
|
+
def _do(self, problem, X, **kwargs):
|
|
148
|
+
# Project X onto feasible region
|
|
149
|
+
# Example: clip to bounds
|
|
150
|
+
X = np.clip(X, problem.xl, problem.xu)
|
|
151
|
+
return X
|
|
152
|
+
|
|
153
|
+
from pymoo.algorithms.soo.nonconvex.ga import GA
|
|
154
|
+
|
|
155
|
+
algorithm = GA(pop_size=100, repair=MyRepair())
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Advantages:**
|
|
159
|
+
- Maintains feasibility throughout optimization
|
|
160
|
+
- Can encode domain knowledge
|
|
161
|
+
|
|
162
|
+
**Disadvantages:**
|
|
163
|
+
- Requires problem-specific implementation
|
|
164
|
+
- May restrict search
|
|
165
|
+
|
|
166
|
+
### Constraint-Handling Algorithms
|
|
167
|
+
|
|
168
|
+
Some algorithms have built-in constraint handling:
|
|
169
|
+
|
|
170
|
+
#### SRES (Stochastic Ranking Evolution Strategy)
|
|
171
|
+
**Purpose:** Single-objective constrained optimization
|
|
172
|
+
**Mechanism:** Stochastic ranking balances objectives and constraints
|
|
173
|
+
|
|
174
|
+
**Usage:**
|
|
175
|
+
```python
|
|
176
|
+
from pymoo.algorithms.soo.nonconvex.sres import SRES
|
|
177
|
+
|
|
178
|
+
algorithm = SRES()
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### ISRES (Improved SRES)
|
|
182
|
+
**Purpose:** Enhanced constrained optimization
|
|
183
|
+
**Improvements:** Better parameter adaptation
|
|
184
|
+
|
|
185
|
+
**Usage:**
|
|
186
|
+
```python
|
|
187
|
+
from pymoo.algorithms.soo.nonconvex.isres import ISRES
|
|
188
|
+
|
|
189
|
+
algorithm = ISRES()
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Constraint Handling Guidelines
|
|
193
|
+
|
|
194
|
+
**Choose technique based on:**
|
|
195
|
+
|
|
196
|
+
| Problem Characteristic | Recommended Technique |
|
|
197
|
+
|------------------------|----------------------|
|
|
198
|
+
| Large feasible region | Feasibility First |
|
|
199
|
+
| Small feasible region | Constraint as Objective, Repair |
|
|
200
|
+
| Heavily constrained | SRES/ISRES, Epsilon-constraint |
|
|
201
|
+
| Linear constraints | Repair (projection) |
|
|
202
|
+
| Nonlinear constraints | Feasibility First, Penalty |
|
|
203
|
+
| Known feasible solutions | Biased initialization |
|
|
204
|
+
|
|
205
|
+
## Multi-Criteria Decision Making (MCDM)
|
|
206
|
+
|
|
207
|
+
After obtaining a Pareto front, MCDM helps select preferred solution(s).
|
|
208
|
+
|
|
209
|
+
### Decision Making Context
|
|
210
|
+
|
|
211
|
+
**Pareto front characteristics:**
|
|
212
|
+
- Multiple non-dominated solutions
|
|
213
|
+
- Each represents different trade-off
|
|
214
|
+
- No objectively "best" solution
|
|
215
|
+
- Requires decision maker preferences
|
|
216
|
+
|
|
217
|
+
### MCDM Methods in Pymoo
|
|
218
|
+
|
|
219
|
+
#### 1. Pseudo-Weights
|
|
220
|
+
**Concept:** Weight each objective, select solution minimizing weighted sum
|
|
221
|
+
**Formula:** `score = w1*f1 + w2*f2 + ... + wM*fM`
|
|
222
|
+
|
|
223
|
+
**Usage:**
|
|
224
|
+
```python
|
|
225
|
+
from pymoo.mcdm.pseudo_weights import PseudoWeights
|
|
226
|
+
|
|
227
|
+
# Define weights (must sum to 1)
|
|
228
|
+
weights = np.array([0.3, 0.7]) # 30% weight on f1, 70% on f2
|
|
229
|
+
|
|
230
|
+
dm = PseudoWeights(weights)
|
|
231
|
+
best_idx = dm.do(result.F)
|
|
232
|
+
best_solution = result.X[best_idx]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**When to use:**
|
|
236
|
+
- Clear preference articulation available
|
|
237
|
+
- Objectives commensurable
|
|
238
|
+
- Linear trade-offs acceptable
|
|
239
|
+
|
|
240
|
+
**Limitations:**
|
|
241
|
+
- Requires weight specification
|
|
242
|
+
- Linear assumption may not capture preferences
|
|
243
|
+
- Sensitive to objective scaling
|
|
244
|
+
|
|
245
|
+
#### 2. Compromise Programming
|
|
246
|
+
**Concept:** Select solution closest to ideal point
|
|
247
|
+
**Metric:** Distance to ideal (e.g., Euclidean, Tchebycheff)
|
|
248
|
+
|
|
249
|
+
**Usage:**
|
|
250
|
+
```python
|
|
251
|
+
from pymoo.mcdm.compromise_programming import CompromiseProgramming
|
|
252
|
+
|
|
253
|
+
dm = CompromiseProgramming()
|
|
254
|
+
best_idx = dm.do(result.F, ideal=ideal_point, nadir=nadir_point)
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**When to use:**
|
|
258
|
+
- Ideal objective values known or estimable
|
|
259
|
+
- Balanced consideration of all objectives
|
|
260
|
+
- No clear weight preferences
|
|
261
|
+
|
|
262
|
+
#### 3. Interactive Decision Making
|
|
263
|
+
**Concept:** Iterative preference refinement
|
|
264
|
+
**Process:**
|
|
265
|
+
1. Show representative solutions to decision maker
|
|
266
|
+
2. Gather feedback on preferences
|
|
267
|
+
3. Focus search on preferred regions
|
|
268
|
+
4. Repeat until satisfactory solution found
|
|
269
|
+
|
|
270
|
+
**Approaches:**
|
|
271
|
+
- Reference point methods
|
|
272
|
+
- Trade-off analysis
|
|
273
|
+
- Progressive preference articulation
|
|
274
|
+
|
|
275
|
+
### Decision Making Workflow
|
|
276
|
+
|
|
277
|
+
**Step 1: Normalize objectives**
|
|
278
|
+
```python
|
|
279
|
+
# Normalize to [0, 1] for fair comparison
|
|
280
|
+
F_norm = (result.F - result.F.min(axis=0)) / (result.F.max(axis=0) - result.F.min(axis=0))
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Step 2: Analyze trade-offs**
|
|
284
|
+
```python
|
|
285
|
+
from pymoo.visualization.scatter import Scatter
|
|
286
|
+
|
|
287
|
+
plot = Scatter()
|
|
288
|
+
plot.add(result.F)
|
|
289
|
+
plot.show()
|
|
290
|
+
|
|
291
|
+
# Identify knee points, extreme solutions
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Step 3: Apply MCDM method**
|
|
295
|
+
```python
|
|
296
|
+
from pymoo.mcdm.pseudo_weights import PseudoWeights
|
|
297
|
+
|
|
298
|
+
weights = np.array([0.4, 0.6]) # Based on preferences
|
|
299
|
+
dm = PseudoWeights(weights)
|
|
300
|
+
selected = dm.do(F_norm)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Step 4: Validate selection**
|
|
304
|
+
```python
|
|
305
|
+
# Visualize selected solution
|
|
306
|
+
from pymoo.visualization.petal import Petal
|
|
307
|
+
|
|
308
|
+
plot = Petal()
|
|
309
|
+
plot.add(result.F[selected], label="Selected")
|
|
310
|
+
# Add other candidates for comparison
|
|
311
|
+
plot.show()
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Advanced MCDM Techniques
|
|
315
|
+
|
|
316
|
+
#### Knee Point Detection
|
|
317
|
+
**Concept:** Solutions where small improvement in one objective causes large degradation in others
|
|
318
|
+
|
|
319
|
+
**Usage:**
|
|
320
|
+
```python
|
|
321
|
+
from pymoo.mcdm.knee import KneePoint
|
|
322
|
+
|
|
323
|
+
km = KneePoint()
|
|
324
|
+
knee_idx = km.do(result.F)
|
|
325
|
+
knee_solutions = result.X[knee_idx]
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**When to use:**
|
|
329
|
+
- No clear preferences
|
|
330
|
+
- Balanced trade-offs desired
|
|
331
|
+
- Convex Pareto fronts
|
|
332
|
+
|
|
333
|
+
#### Hypervolume Contribution
|
|
334
|
+
**Concept:** Select solutions contributing most to hypervolume
|
|
335
|
+
**Use case:** Maintain diverse subset of solutions
|
|
336
|
+
|
|
337
|
+
**Usage:**
|
|
338
|
+
```python
|
|
339
|
+
from pymoo.indicators.hv import HV
|
|
340
|
+
|
|
341
|
+
hv = HV(ref_point=reference_point)
|
|
342
|
+
hv_contributions = hv.calc_contributions(result.F)
|
|
343
|
+
|
|
344
|
+
# Select top contributors
|
|
345
|
+
top_k = 5
|
|
346
|
+
top_indices = np.argsort(hv_contributions)[-top_k:]
|
|
347
|
+
selected_solutions = result.X[top_indices]
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Decision Making Guidelines
|
|
351
|
+
|
|
352
|
+
**When decision maker has:**
|
|
353
|
+
|
|
354
|
+
| Preference Information | Recommended Method |
|
|
355
|
+
|------------------------|-------------------|
|
|
356
|
+
| Clear objective weights | Pseudo-Weights |
|
|
357
|
+
| Ideal target values | Compromise Programming |
|
|
358
|
+
| No prior preferences | Knee Point, Visual inspection |
|
|
359
|
+
| Conflicting criteria | Interactive methods |
|
|
360
|
+
| Need diverse subset | Hypervolume contribution |
|
|
361
|
+
|
|
362
|
+
**Best practices:**
|
|
363
|
+
1. **Normalize objectives** before MCDM
|
|
364
|
+
2. **Visualize Pareto front** to understand trade-offs
|
|
365
|
+
3. **Consider multiple methods** for robust selection
|
|
366
|
+
4. **Validate results** with domain experts
|
|
367
|
+
5. **Document assumptions** and preference sources
|
|
368
|
+
6. **Perform sensitivity analysis** on weights/parameters
|
|
369
|
+
|
|
370
|
+
### Integration Example
|
|
371
|
+
|
|
372
|
+
Complete workflow with constraint handling and decision making:
|
|
373
|
+
|
|
374
|
+
```python
|
|
375
|
+
from pymoo.algorithms.moo.nsga2 import NSGA2
|
|
376
|
+
from pymoo.optimize import minimize
|
|
377
|
+
from pymoo.mcdm.pseudo_weights import PseudoWeights
|
|
378
|
+
import numpy as np
|
|
379
|
+
|
|
380
|
+
# Define constrained problem
|
|
381
|
+
problem = MyConstrainedProblem()
|
|
382
|
+
|
|
383
|
+
# Setup algorithm with feasibility-first constraint handling
|
|
384
|
+
algorithm = NSGA2(
|
|
385
|
+
pop_size=100,
|
|
386
|
+
eliminate_duplicates=True
|
|
387
|
+
)
|
|
388
|
+
|
|
389
|
+
# Optimize
|
|
390
|
+
result = minimize(
|
|
391
|
+
problem,
|
|
392
|
+
algorithm,
|
|
393
|
+
('n_gen', 200),
|
|
394
|
+
seed=1,
|
|
395
|
+
verbose=True
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
# Filter feasible solutions only
|
|
399
|
+
feasible_mask = result.CV[:, 0] == 0 # Constraint violation = 0
|
|
400
|
+
F_feasible = result.F[feasible_mask]
|
|
401
|
+
X_feasible = result.X[feasible_mask]
|
|
402
|
+
|
|
403
|
+
# Normalize objectives
|
|
404
|
+
F_norm = (F_feasible - F_feasible.min(axis=0)) / (F_feasible.max(axis=0) - F_feasible.min(axis=0))
|
|
405
|
+
|
|
406
|
+
# Apply MCDM
|
|
407
|
+
weights = np.array([0.5, 0.5])
|
|
408
|
+
dm = PseudoWeights(weights)
|
|
409
|
+
best_idx = dm.do(F_norm)
|
|
410
|
+
|
|
411
|
+
# Get final solution
|
|
412
|
+
best_solution = X_feasible[best_idx]
|
|
413
|
+
best_objectives = F_feasible[best_idx]
|
|
414
|
+
|
|
415
|
+
print(f"Selected solution: {best_solution}")
|
|
416
|
+
print(f"Objective values: {best_objectives}")
|
|
417
|
+
```
|