@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,412 @@
|
|
|
1
|
+
# File Manager API
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The File Manager API enables file operations within protocols.io workspaces, including uploading files, organizing folders, searching content, and managing file lifecycle. This is useful for attaching data files, images, documents, and other resources to protocols.
|
|
6
|
+
|
|
7
|
+
## Base URL
|
|
8
|
+
|
|
9
|
+
All file manager endpoints use the base URL: `https://protocols.io/api/v3`
|
|
10
|
+
|
|
11
|
+
## Search and Browse
|
|
12
|
+
|
|
13
|
+
### Search Workspace Files
|
|
14
|
+
|
|
15
|
+
Search for files and folders within a workspace.
|
|
16
|
+
|
|
17
|
+
**Endpoint:** `GET /workspaces/{workspace_id}/files/search`
|
|
18
|
+
|
|
19
|
+
**Path Parameters:**
|
|
20
|
+
- `workspace_id`: The workspace's unique identifier
|
|
21
|
+
|
|
22
|
+
**Query Parameters:**
|
|
23
|
+
- `query`: Search keywords (searches filenames and metadata)
|
|
24
|
+
- `type`: Filter by type
|
|
25
|
+
- `file`: Files only
|
|
26
|
+
- `folder`: Folders only
|
|
27
|
+
- `all`: Both files and folders (default)
|
|
28
|
+
- `folder_id`: Limit search to specific folder
|
|
29
|
+
- `page_size`: Number of results per page (default: 20, max: 100)
|
|
30
|
+
- `page_id`: Page number for pagination (starts at 0)
|
|
31
|
+
|
|
32
|
+
**Response includes:**
|
|
33
|
+
- File/folder ID and name
|
|
34
|
+
- File size and type
|
|
35
|
+
- Creation and modification dates
|
|
36
|
+
- File path in workspace
|
|
37
|
+
- Download URL (for files)
|
|
38
|
+
|
|
39
|
+
**Example Request:**
|
|
40
|
+
```bash
|
|
41
|
+
curl -H "Authorization: Bearer YOUR_TOKEN" \
|
|
42
|
+
"https://protocols.io/api/v3/workspaces/12345/files/search?query=microscopy&type=file"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### List Folder Contents
|
|
46
|
+
|
|
47
|
+
Browse files and folders within a specific folder.
|
|
48
|
+
|
|
49
|
+
**Endpoint:** `GET /workspaces/{workspace_id}/folders/{folder_id}`
|
|
50
|
+
|
|
51
|
+
**Path Parameters:**
|
|
52
|
+
- `workspace_id`: The workspace's unique identifier
|
|
53
|
+
- `folder_id`: The folder's unique identifier (use `root` for workspace root)
|
|
54
|
+
|
|
55
|
+
**Query Parameters:**
|
|
56
|
+
- `order_by`: Sort field (`name`, `size`, `created`, `modified`)
|
|
57
|
+
- `order_dir`: Sort direction (`asc`, `desc`)
|
|
58
|
+
- `page_size`: Number of results per page
|
|
59
|
+
- `page_id`: Page number for pagination
|
|
60
|
+
|
|
61
|
+
**Example Request:**
|
|
62
|
+
```bash
|
|
63
|
+
curl -H "Authorization: Bearer YOUR_TOKEN" \
|
|
64
|
+
"https://protocols.io/api/v3/workspaces/12345/folders/root?order_by=modified&order_dir=desc"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## File Upload
|
|
68
|
+
|
|
69
|
+
### Upload File
|
|
70
|
+
|
|
71
|
+
Upload a file to a workspace folder.
|
|
72
|
+
|
|
73
|
+
**Endpoint:** `POST /workspaces/{workspace_id}/files/upload`
|
|
74
|
+
|
|
75
|
+
**Request Format**: `multipart/form-data`
|
|
76
|
+
|
|
77
|
+
**Form Parameters:**
|
|
78
|
+
- `file` (required): The file to upload
|
|
79
|
+
- `folder_id`: Target folder ID (omit or use `root` for workspace root)
|
|
80
|
+
- `name`: Custom filename (optional, uses original filename if omitted)
|
|
81
|
+
- `description`: File description
|
|
82
|
+
- `tags`: Comma-separated tags
|
|
83
|
+
|
|
84
|
+
**Example Request:**
|
|
85
|
+
```bash
|
|
86
|
+
curl -X POST \
|
|
87
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
88
|
+
-F "file=@/path/to/local/data.xlsx" \
|
|
89
|
+
-F "folder_id=67890" \
|
|
90
|
+
-F "description=Experimental results from trial #3" \
|
|
91
|
+
-F "tags=experiment,data,2025" \
|
|
92
|
+
"https://protocols.io/api/v3/workspaces/12345/files/upload"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Upload Verification
|
|
96
|
+
|
|
97
|
+
After upload, verify the file was processed correctly.
|
|
98
|
+
|
|
99
|
+
**Endpoint:** `GET /workspaces/{workspace_id}/files/{file_id}/status`
|
|
100
|
+
|
|
101
|
+
**Response includes:**
|
|
102
|
+
- Upload status (`processing`, `complete`, `failed`)
|
|
103
|
+
- File metadata
|
|
104
|
+
- Any processing errors
|
|
105
|
+
|
|
106
|
+
## File Operations
|
|
107
|
+
|
|
108
|
+
### Download File
|
|
109
|
+
|
|
110
|
+
Download a file from the workspace.
|
|
111
|
+
|
|
112
|
+
**Endpoint:** `GET /workspaces/{workspace_id}/files/{file_id}/download`
|
|
113
|
+
|
|
114
|
+
**Path Parameters:**
|
|
115
|
+
- `workspace_id`: The workspace's unique identifier
|
|
116
|
+
- `file_id`: The file's unique identifier
|
|
117
|
+
|
|
118
|
+
**Response**: Binary file data with appropriate Content-Type header
|
|
119
|
+
|
|
120
|
+
**Example Request:**
|
|
121
|
+
```bash
|
|
122
|
+
curl -H "Authorization: Bearer YOUR_TOKEN" \
|
|
123
|
+
-o "downloaded_file.xlsx" \
|
|
124
|
+
"https://protocols.io/api/v3/workspaces/12345/files/67890/download"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Get File Metadata
|
|
128
|
+
|
|
129
|
+
Retrieve file information without downloading.
|
|
130
|
+
|
|
131
|
+
**Endpoint:** `GET /workspaces/{workspace_id}/files/{file_id}`
|
|
132
|
+
|
|
133
|
+
**Response includes:**
|
|
134
|
+
- File name, size, and type
|
|
135
|
+
- Upload date and author
|
|
136
|
+
- Description and tags
|
|
137
|
+
- File path and location
|
|
138
|
+
- Download URL
|
|
139
|
+
- Sharing permissions
|
|
140
|
+
|
|
141
|
+
### Update File Metadata
|
|
142
|
+
|
|
143
|
+
Update file description, tags, or other metadata.
|
|
144
|
+
|
|
145
|
+
**Endpoint:** `PATCH /workspaces/{workspace_id}/files/{file_id}`
|
|
146
|
+
|
|
147
|
+
**Request Body:**
|
|
148
|
+
- `name`: New filename
|
|
149
|
+
- `description`: Updated description
|
|
150
|
+
- `tags`: Updated tags (comma-separated)
|
|
151
|
+
- `folder_id`: Move to different folder
|
|
152
|
+
|
|
153
|
+
**Example Request:**
|
|
154
|
+
```bash
|
|
155
|
+
curl -X PATCH \
|
|
156
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
157
|
+
-H "Content-Type: application/json" \
|
|
158
|
+
-d '{
|
|
159
|
+
"description": "Experimental results from trial #3 - REVISED",
|
|
160
|
+
"tags": "experiment,data,2025,revised"
|
|
161
|
+
}' \
|
|
162
|
+
"https://protocols.io/api/v3/workspaces/12345/files/67890"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Delete File
|
|
166
|
+
|
|
167
|
+
Move a file to trash (soft delete).
|
|
168
|
+
|
|
169
|
+
**Endpoint:** `DELETE /workspaces/{workspace_id}/files/{file_id}`
|
|
170
|
+
|
|
171
|
+
**Note**: Deleted files may be recoverable from trash for a limited time
|
|
172
|
+
|
|
173
|
+
### Restore File
|
|
174
|
+
|
|
175
|
+
Restore a deleted file from trash.
|
|
176
|
+
|
|
177
|
+
**Endpoint:** `POST /workspaces/{workspace_id}/files/{file_id}/restore`
|
|
178
|
+
|
|
179
|
+
## Folder Operations
|
|
180
|
+
|
|
181
|
+
### Create Folder
|
|
182
|
+
|
|
183
|
+
Create a new folder in the workspace.
|
|
184
|
+
|
|
185
|
+
**Endpoint:** `POST /workspaces/{workspace_id}/folders`
|
|
186
|
+
|
|
187
|
+
**Request Body:**
|
|
188
|
+
- `name` (required): Folder name
|
|
189
|
+
- `parent_folder_id`: Parent folder ID (omit for workspace root)
|
|
190
|
+
- `description`: Folder description
|
|
191
|
+
|
|
192
|
+
**Example Request:**
|
|
193
|
+
```bash
|
|
194
|
+
curl -X POST \
|
|
195
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
196
|
+
-H "Content-Type: application/json" \
|
|
197
|
+
-d '{
|
|
198
|
+
"name": "2025 Experiments",
|
|
199
|
+
"parent_folder_id": "root",
|
|
200
|
+
"description": "All experimental data from 2025"
|
|
201
|
+
}' \
|
|
202
|
+
"https://protocols.io/api/v3/workspaces/12345/folders"
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Rename Folder
|
|
206
|
+
|
|
207
|
+
**Endpoint:** `PATCH /workspaces/{workspace_id}/folders/{folder_id}`
|
|
208
|
+
|
|
209
|
+
**Request Body:**
|
|
210
|
+
- `name`: New folder name
|
|
211
|
+
- `description`: Updated description
|
|
212
|
+
|
|
213
|
+
### Delete Folder
|
|
214
|
+
|
|
215
|
+
Delete a folder and optionally its contents.
|
|
216
|
+
|
|
217
|
+
**Endpoint:** `DELETE /workspaces/{workspace_id}/folders/{folder_id}`
|
|
218
|
+
|
|
219
|
+
**Query Parameters:**
|
|
220
|
+
- `recursive`: Set to `true` to delete folder and all contents (default: `false`)
|
|
221
|
+
|
|
222
|
+
**Warning**: Recursive deletion cannot be easily undone
|
|
223
|
+
|
|
224
|
+
## Common Use Cases
|
|
225
|
+
|
|
226
|
+
### 1. Protocol Data Attachment
|
|
227
|
+
|
|
228
|
+
Attach experimental data files to protocols:
|
|
229
|
+
|
|
230
|
+
1. Upload data files: `POST /workspaces/{id}/files/upload`
|
|
231
|
+
2. Verify upload completion
|
|
232
|
+
3. Reference file IDs in protocol steps
|
|
233
|
+
4. Include download links in protocol description
|
|
234
|
+
|
|
235
|
+
**Example Workflow:**
|
|
236
|
+
```bash
|
|
237
|
+
# Upload the data file
|
|
238
|
+
curl -X POST \
|
|
239
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
240
|
+
-F "file=@results.csv" \
|
|
241
|
+
-F "description=Results from protocol execution" \
|
|
242
|
+
"https://protocols.io/api/v3/workspaces/12345/files/upload"
|
|
243
|
+
|
|
244
|
+
# Note the file_id from response, then reference in protocol
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### 2. Workspace Organization
|
|
248
|
+
|
|
249
|
+
Organize files into logical folder structures:
|
|
250
|
+
|
|
251
|
+
1. Create folder hierarchy: `POST /workspaces/{id}/folders`
|
|
252
|
+
2. Upload files to appropriate folders
|
|
253
|
+
3. Use consistent naming conventions
|
|
254
|
+
4. Tag files for easy search
|
|
255
|
+
|
|
256
|
+
**Example Structure:**
|
|
257
|
+
```
|
|
258
|
+
Workspace Root
|
|
259
|
+
├── Protocols
|
|
260
|
+
│ ├── Published
|
|
261
|
+
│ └── Drafts
|
|
262
|
+
├── Data
|
|
263
|
+
│ ├── Raw
|
|
264
|
+
│ └── Processed
|
|
265
|
+
├── Images
|
|
266
|
+
│ ├── Microscopy
|
|
267
|
+
│ └── Gels
|
|
268
|
+
└── Documents
|
|
269
|
+
├── Papers
|
|
270
|
+
└── Presentations
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### 3. File Search and Discovery
|
|
274
|
+
|
|
275
|
+
Find files across workspace:
|
|
276
|
+
|
|
277
|
+
1. Search by keywords: `GET /workspaces/{id}/files/search?query=keywords`
|
|
278
|
+
2. Filter by type and date
|
|
279
|
+
3. Download relevant files
|
|
280
|
+
4. Update metadata for better organization
|
|
281
|
+
|
|
282
|
+
### 4. Batch File Upload
|
|
283
|
+
|
|
284
|
+
Upload multiple related files:
|
|
285
|
+
|
|
286
|
+
1. Create target folder
|
|
287
|
+
2. For each file:
|
|
288
|
+
- Upload file
|
|
289
|
+
- Verify upload status
|
|
290
|
+
- Add consistent tags
|
|
291
|
+
3. Create index or manifest file listing all uploads
|
|
292
|
+
|
|
293
|
+
### 5. Data Backup and Export
|
|
294
|
+
|
|
295
|
+
Export workspace files for backup:
|
|
296
|
+
|
|
297
|
+
1. List all folders: `GET /workspaces/{id}/folders/root`
|
|
298
|
+
2. For each folder, list files
|
|
299
|
+
3. Download all files: `GET /workspaces/{id}/files/{file_id}/download`
|
|
300
|
+
4. Maintain folder structure locally
|
|
301
|
+
5. Store metadata separately for restoration
|
|
302
|
+
|
|
303
|
+
### 6. File Versioning
|
|
304
|
+
|
|
305
|
+
Manage file versions manually:
|
|
306
|
+
|
|
307
|
+
1. Upload new version with versioned name (e.g., `data_v2.csv`)
|
|
308
|
+
2. Update previous version metadata to indicate superseded
|
|
309
|
+
3. Maintain version history in folder structure
|
|
310
|
+
4. Reference specific versions in protocols
|
|
311
|
+
|
|
312
|
+
## Supported File Types
|
|
313
|
+
|
|
314
|
+
Protocols.io supports various file types:
|
|
315
|
+
|
|
316
|
+
**Data Files:**
|
|
317
|
+
- Spreadsheets: `.xlsx`, `.xls`, `.csv`, `.tsv`
|
|
318
|
+
- Statistical data: `.rds`, `.rdata`, `.sav`, `.dta`
|
|
319
|
+
- Plain text: `.txt`, `.log`, `.json`, `.xml`
|
|
320
|
+
|
|
321
|
+
**Images:**
|
|
322
|
+
- Common formats: `.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.tif`, `.tiff`
|
|
323
|
+
- Scientific: `.czi`, `.nd2`, `.lsm` (may require special handling)
|
|
324
|
+
|
|
325
|
+
**Documents:**
|
|
326
|
+
- PDF: `.pdf`
|
|
327
|
+
- Word: `.docx`, `.doc`
|
|
328
|
+
- PowerPoint: `.pptx`, `.ppt`
|
|
329
|
+
|
|
330
|
+
**Code and Scripts:**
|
|
331
|
+
- Python: `.py`, `.ipynb`
|
|
332
|
+
- R: `.r`, `.rmd`
|
|
333
|
+
- Shell: `.sh`, `.bash`
|
|
334
|
+
|
|
335
|
+
**Multimedia:**
|
|
336
|
+
- Video: `.mp4`, `.avi`, `.mov`
|
|
337
|
+
- Audio: `.mp3`, `.wav`
|
|
338
|
+
|
|
339
|
+
**Archives:**
|
|
340
|
+
- Compressed: `.zip`, `.tar.gz`, `.7z`
|
|
341
|
+
|
|
342
|
+
**File Size Limits:**
|
|
343
|
+
- Standard files: Check workspace limits (typically 100 MB - 1 GB)
|
|
344
|
+
- Large files: May require chunked upload or special handling
|
|
345
|
+
|
|
346
|
+
## Best Practices
|
|
347
|
+
|
|
348
|
+
1. **File Naming**
|
|
349
|
+
- Use descriptive, consistent naming conventions
|
|
350
|
+
- Include dates in ISO format (YYYY-MM-DD)
|
|
351
|
+
- Avoid special characters and spaces (use underscores)
|
|
352
|
+
- Example: `experiment_results_2025-10-26.csv`
|
|
353
|
+
|
|
354
|
+
2. **Organization**
|
|
355
|
+
- Create logical folder hierarchy
|
|
356
|
+
- Group related files together
|
|
357
|
+
- Separate raw data from processed results
|
|
358
|
+
- Keep protocol-specific files in dedicated folders
|
|
359
|
+
|
|
360
|
+
3. **Metadata**
|
|
361
|
+
- Add detailed descriptions
|
|
362
|
+
- Tag files consistently
|
|
363
|
+
- Include version information
|
|
364
|
+
- Document processing steps
|
|
365
|
+
|
|
366
|
+
4. **Storage Management**
|
|
367
|
+
- Regularly review and archive old files
|
|
368
|
+
- Delete unnecessary duplicates
|
|
369
|
+
- Compress large datasets
|
|
370
|
+
- Monitor workspace storage limits
|
|
371
|
+
|
|
372
|
+
5. **Collaboration**
|
|
373
|
+
- Use clear file names for team members
|
|
374
|
+
- Document file purposes in descriptions
|
|
375
|
+
- Maintain consistent folder structures
|
|
376
|
+
- Communicate major organizational changes
|
|
377
|
+
|
|
378
|
+
6. **Security**
|
|
379
|
+
- Avoid uploading sensitive data without proper permissions
|
|
380
|
+
- Be aware of workspace visibility settings
|
|
381
|
+
- Use appropriate access controls
|
|
382
|
+
- Regularly audit file access
|
|
383
|
+
|
|
384
|
+
## Error Handling
|
|
385
|
+
|
|
386
|
+
Common error responses:
|
|
387
|
+
|
|
388
|
+
- `400 Bad Request`: Invalid file format or parameters
|
|
389
|
+
- `401 Unauthorized`: Missing or invalid access token
|
|
390
|
+
- `403 Forbidden`: Insufficient workspace permissions
|
|
391
|
+
- `404 Not Found`: File or folder not found
|
|
392
|
+
- `413 Payload Too Large`: File exceeds size limit
|
|
393
|
+
- `422 Unprocessable Entity`: File validation failed
|
|
394
|
+
- `429 Too Many Requests`: Rate limit exceeded
|
|
395
|
+
- `507 Insufficient Storage`: Workspace storage limit reached
|
|
396
|
+
|
|
397
|
+
## Performance Considerations
|
|
398
|
+
|
|
399
|
+
1. **Large Files**
|
|
400
|
+
- Consider chunked upload for files > 100 MB
|
|
401
|
+
- Use compression for large datasets
|
|
402
|
+
- Upload during off-peak hours if possible
|
|
403
|
+
|
|
404
|
+
2. **Batch Operations**
|
|
405
|
+
- Implement retry logic for failed uploads
|
|
406
|
+
- Use exponential backoff for rate limits
|
|
407
|
+
- Process uploads in parallel where possible
|
|
408
|
+
|
|
409
|
+
3. **Download Optimization**
|
|
410
|
+
- Cache frequently accessed files locally
|
|
411
|
+
- Use streaming for large file downloads
|
|
412
|
+
- Implement resume capability for interrupted downloads
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Protocols API
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The Protocols API is the core functionality of protocols.io, supporting the complete protocol lifecycle from creation to publication. This includes searching, creating, updating, managing steps, handling materials, bookmarking, and generating PDFs.
|
|
6
|
+
|
|
7
|
+
## Base URL
|
|
8
|
+
|
|
9
|
+
All protocol endpoints use the base URL: `https://protocols.io/api/v3`
|
|
10
|
+
|
|
11
|
+
## Content Format Parameter
|
|
12
|
+
|
|
13
|
+
Many endpoints support a `content_format` parameter to specify how content is returned:
|
|
14
|
+
|
|
15
|
+
- `json`: Draft.js JSON format (default)
|
|
16
|
+
- `html`: HTML format
|
|
17
|
+
- `markdown`: Markdown format
|
|
18
|
+
|
|
19
|
+
Include this as a query parameter: `?content_format=html`
|
|
20
|
+
|
|
21
|
+
## List and Search Operations
|
|
22
|
+
|
|
23
|
+
### List Protocols
|
|
24
|
+
|
|
25
|
+
Retrieve protocols with filtering and pagination.
|
|
26
|
+
|
|
27
|
+
**Endpoint:** `GET /protocols`
|
|
28
|
+
|
|
29
|
+
**Query Parameters:**
|
|
30
|
+
- `filter`: Filter type
|
|
31
|
+
- `public`: Public protocols only
|
|
32
|
+
- `private`: Your private protocols
|
|
33
|
+
- `shared`: Protocols shared with you
|
|
34
|
+
- `user_public`: Another user's public protocols
|
|
35
|
+
- `key`: Search keywords in protocol title, description, and content
|
|
36
|
+
- `order_field`: Sort field (`activity`, `created_on`, `modified_on`, `name`, `id`)
|
|
37
|
+
- `order_dir`: Sort direction (`desc`, `asc`)
|
|
38
|
+
- `page_size`: Number of results per page (default: 10, max: 50)
|
|
39
|
+
- `page_id`: Page number for pagination (starts at 0)
|
|
40
|
+
- `fields`: Comma-separated list of fields to return
|
|
41
|
+
- `content_format`: Content format (`json`, `html`, `markdown`)
|
|
42
|
+
|
|
43
|
+
**Example Request:**
|
|
44
|
+
```bash
|
|
45
|
+
curl -H "Authorization: Bearer YOUR_TOKEN" \
|
|
46
|
+
"https://protocols.io/api/v3/protocols?filter=public&key=CRISPR&page_size=20&content_format=html"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Search by DOI
|
|
50
|
+
|
|
51
|
+
Retrieve a protocol by its DOI.
|
|
52
|
+
|
|
53
|
+
**Endpoint:** `GET /protocols/{doi}`
|
|
54
|
+
|
|
55
|
+
**Path Parameters:**
|
|
56
|
+
- `doi`: The protocol DOI (e.g., `dx.doi.org/10.17504/protocols.io.xxxxx`)
|
|
57
|
+
|
|
58
|
+
## Retrieve Protocol Details
|
|
59
|
+
|
|
60
|
+
### Get Protocol by ID
|
|
61
|
+
|
|
62
|
+
**Endpoint:** `GET /protocols/{protocol_id}`
|
|
63
|
+
|
|
64
|
+
**Path Parameters:**
|
|
65
|
+
- `protocol_id`: The protocol's unique identifier
|
|
66
|
+
|
|
67
|
+
**Query Parameters:**
|
|
68
|
+
- `content_format`: Content format (`json`, `html`, `markdown`)
|
|
69
|
+
|
|
70
|
+
**Response includes:**
|
|
71
|
+
- Protocol metadata (title, authors, description, DOI)
|
|
72
|
+
- All protocol steps with content
|
|
73
|
+
- Materials and reagents
|
|
74
|
+
- Guidelines and warnings
|
|
75
|
+
- Version information
|
|
76
|
+
- Publication status
|
|
77
|
+
|
|
78
|
+
## Create and Update Protocols
|
|
79
|
+
|
|
80
|
+
### Create New Protocol
|
|
81
|
+
|
|
82
|
+
**Endpoint:** `POST /protocols`
|
|
83
|
+
|
|
84
|
+
**Request Body Parameters:**
|
|
85
|
+
- `title` (required): Protocol title
|
|
86
|
+
- `description`: Protocol description
|
|
87
|
+
- `tags`: Array of tag strings
|
|
88
|
+
- `vendor_name`: Vendor/company name
|
|
89
|
+
- `vendor_link`: Vendor website URL
|
|
90
|
+
- `warning`: Warning or safety message
|
|
91
|
+
- `guidelines`: Usage guidelines
|
|
92
|
+
- `manuscript_citation`: Citation for related manuscript
|
|
93
|
+
- `link`: External link to related resource
|
|
94
|
+
|
|
95
|
+
**Example Request:**
|
|
96
|
+
```bash
|
|
97
|
+
curl -X POST \
|
|
98
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
99
|
+
-H "Content-Type: application/json" \
|
|
100
|
+
-d '{
|
|
101
|
+
"title": "CRISPR Gene Editing Protocol",
|
|
102
|
+
"description": "Comprehensive protocol for CRISPR-Cas9 mediated gene editing",
|
|
103
|
+
"tags": ["CRISPR", "gene editing", "molecular biology"]
|
|
104
|
+
}' \
|
|
105
|
+
"https://protocols.io/api/v3/protocols"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Update Protocol
|
|
109
|
+
|
|
110
|
+
**Endpoint:** `PATCH /protocols/{protocol_id}`
|
|
111
|
+
|
|
112
|
+
**Path Parameters:**
|
|
113
|
+
- `protocol_id`: The protocol's unique identifier
|
|
114
|
+
|
|
115
|
+
**Request Body**: Same parameters as create, all optional
|
|
116
|
+
|
|
117
|
+
## Protocol Steps Management
|
|
118
|
+
|
|
119
|
+
### Create Protocol Step
|
|
120
|
+
|
|
121
|
+
**Endpoint:** `POST /protocols/{protocol_id}/steps`
|
|
122
|
+
|
|
123
|
+
**Request Body Parameters:**
|
|
124
|
+
- `title` (required): Step title
|
|
125
|
+
- `description`: Step description (HTML, Markdown, or Draft.js JSON)
|
|
126
|
+
- `duration`: Step duration in seconds
|
|
127
|
+
- `temperature`: Temperature setting
|
|
128
|
+
- `components`: Array of materials/reagents used
|
|
129
|
+
- `software`: Software or tools required
|
|
130
|
+
- `commands`: Commands to execute
|
|
131
|
+
- `expected_result`: Expected outcome description
|
|
132
|
+
|
|
133
|
+
**Example Request:**
|
|
134
|
+
```bash
|
|
135
|
+
curl -X POST \
|
|
136
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
137
|
+
-H "Content-Type: application/json" \
|
|
138
|
+
-d '{
|
|
139
|
+
"title": "Prepare sgRNA",
|
|
140
|
+
"description": "Design and synthesize single guide RNA (sgRNA) targeting your gene of interest",
|
|
141
|
+
"duration": 3600,
|
|
142
|
+
"temperature": 25
|
|
143
|
+
}' \
|
|
144
|
+
"https://protocols.io/api/v3/protocols/12345/steps"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Update Protocol Step
|
|
148
|
+
|
|
149
|
+
**Endpoint:** `PATCH /protocols/{protocol_id}/steps/{step_id}`
|
|
150
|
+
|
|
151
|
+
**Parameters**: Same as create step, all optional
|
|
152
|
+
|
|
153
|
+
### Delete Protocol Step
|
|
154
|
+
|
|
155
|
+
**Endpoint:** `DELETE /protocols/{protocol_id}/steps/{step_id}`
|
|
156
|
+
|
|
157
|
+
### Reorder Steps
|
|
158
|
+
|
|
159
|
+
**Endpoint:** `POST /protocols/{protocol_id}/steps/reorder`
|
|
160
|
+
|
|
161
|
+
**Request Body:**
|
|
162
|
+
- `step_order`: Array of step IDs in desired order
|
|
163
|
+
|
|
164
|
+
## Materials and Reagents
|
|
165
|
+
|
|
166
|
+
### Get Protocol Materials
|
|
167
|
+
|
|
168
|
+
Retrieve all materials and reagents used in a protocol.
|
|
169
|
+
|
|
170
|
+
**Endpoint:** `GET /protocols/{protocol_id}/materials`
|
|
171
|
+
|
|
172
|
+
**Response includes:**
|
|
173
|
+
- Reagent names and descriptions
|
|
174
|
+
- Catalog numbers
|
|
175
|
+
- Vendor information
|
|
176
|
+
- Concentrations and amounts
|
|
177
|
+
- Links to product pages
|
|
178
|
+
|
|
179
|
+
## Publishing and DOI
|
|
180
|
+
|
|
181
|
+
### Publish Protocol
|
|
182
|
+
|
|
183
|
+
Issue a DOI and make the protocol publicly available.
|
|
184
|
+
|
|
185
|
+
**Endpoint:** `POST /protocols/{protocol_id}/publish`
|
|
186
|
+
|
|
187
|
+
**Request Body Parameters:**
|
|
188
|
+
- `version_notes`: Description of changes in this version
|
|
189
|
+
- `publish_type`: Publication type
|
|
190
|
+
- `new`: First publication
|
|
191
|
+
- `update`: Update to existing published protocol
|
|
192
|
+
|
|
193
|
+
**Important Notes:**
|
|
194
|
+
- Once published, protocols receive a permanent DOI
|
|
195
|
+
- Published protocols cannot be deleted, only updated with new versions
|
|
196
|
+
- Published protocols are publicly accessible
|
|
197
|
+
|
|
198
|
+
**Example Request:**
|
|
199
|
+
```bash
|
|
200
|
+
curl -X POST \
|
|
201
|
+
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
202
|
+
-H "Content-Type: application/json" \
|
|
203
|
+
-d '{
|
|
204
|
+
"version_notes": "Initial publication",
|
|
205
|
+
"publish_type": "new"
|
|
206
|
+
}' \
|
|
207
|
+
"https://protocols.io/api/v3/protocols/12345/publish"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Bookmarks
|
|
211
|
+
|
|
212
|
+
### Add Bookmark
|
|
213
|
+
|
|
214
|
+
Add a protocol to your bookmarks for quick access.
|
|
215
|
+
|
|
216
|
+
**Endpoint:** `POST /protocols/{protocol_id}/bookmarks`
|
|
217
|
+
|
|
218
|
+
### Remove Bookmark
|
|
219
|
+
|
|
220
|
+
**Endpoint:** `DELETE /protocols/{protocol_id}/bookmarks`
|
|
221
|
+
|
|
222
|
+
### List Bookmarked Protocols
|
|
223
|
+
|
|
224
|
+
**Endpoint:** `GET /bookmarks`
|
|
225
|
+
|
|
226
|
+
## PDF Export
|
|
227
|
+
|
|
228
|
+
### Generate Protocol PDF
|
|
229
|
+
|
|
230
|
+
Generate a formatted PDF version of a protocol.
|
|
231
|
+
|
|
232
|
+
**Endpoint:** `GET /view/{protocol_uri}.pdf`
|
|
233
|
+
|
|
234
|
+
**Query Parameters:**
|
|
235
|
+
- `compact`: Set to `1` for compact view without large spacing
|
|
236
|
+
|
|
237
|
+
**Rate Limits:**
|
|
238
|
+
- Signed-in users: 5 requests per minute
|
|
239
|
+
- Unsigned users: 3 requests per minute
|
|
240
|
+
|
|
241
|
+
**Example:**
|
|
242
|
+
```
|
|
243
|
+
https://protocols.io/api/v3/view/crispr-protocol-abc123.pdf?compact=1
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Common Use Cases
|
|
247
|
+
|
|
248
|
+
### 1. Import Existing Protocol
|
|
249
|
+
|
|
250
|
+
To import and work with an existing protocol:
|
|
251
|
+
|
|
252
|
+
1. Search for the protocol using keywords or DOI
|
|
253
|
+
2. Retrieve full protocol details with `/protocols/{protocol_id}`
|
|
254
|
+
3. Extract steps, materials, and metadata for local use
|
|
255
|
+
|
|
256
|
+
### 2. Create New Protocol from Scratch
|
|
257
|
+
|
|
258
|
+
To create a new protocol:
|
|
259
|
+
|
|
260
|
+
1. Create protocol with title and description: `POST /protocols`
|
|
261
|
+
2. Add steps sequentially: `POST /protocols/{id}/steps`
|
|
262
|
+
3. Review and test the protocol
|
|
263
|
+
4. Publish when ready: `POST /protocols/{id}/publish`
|
|
264
|
+
|
|
265
|
+
### 3. Update Published Protocol
|
|
266
|
+
|
|
267
|
+
To update an already-published protocol:
|
|
268
|
+
|
|
269
|
+
1. Retrieve current version: `GET /protocols/{protocol_id}`
|
|
270
|
+
2. Make necessary updates: `PATCH /protocols/{protocol_id}`
|
|
271
|
+
3. Update or add steps as needed
|
|
272
|
+
4. Publish new version: `POST /protocols/{protocol_id}/publish` with `publish_type: "update"`
|
|
273
|
+
|
|
274
|
+
### 4. Clone and Modify Protocol
|
|
275
|
+
|
|
276
|
+
To create a modified version of an existing protocol:
|
|
277
|
+
|
|
278
|
+
1. Retrieve original protocol details
|
|
279
|
+
2. Create new protocol with modified metadata
|
|
280
|
+
3. Copy and modify steps from original
|
|
281
|
+
4. Publish as new protocol
|
|
282
|
+
|
|
283
|
+
## Error Handling
|
|
284
|
+
|
|
285
|
+
Common error responses:
|
|
286
|
+
|
|
287
|
+
- `400 Bad Request`: Invalid parameters or request format
|
|
288
|
+
- `401 Unauthorized`: Missing or invalid access token
|
|
289
|
+
- `403 Forbidden`: Insufficient permissions for the operation
|
|
290
|
+
- `404 Not Found`: Protocol or resource not found
|
|
291
|
+
- `429 Too Many Requests`: Rate limit exceeded
|
|
292
|
+
- `500 Internal Server Error`: Server-side error
|
|
293
|
+
|
|
294
|
+
Implement retry logic with exponential backoff for `429` and `500` errors.
|