---
name: fingerprint-vector-loading-and-parsing
description: Use when when you have deposited or archived biosynfoni fingerprint vectors (such as from Zenodo 10.5281/zenodo.14822624) and need to ingest them into a Python workflow to compute distributional statistics, bit-frequency profiles, sparsity metrics, or pairwise similarity coefficients.
license: CC-BY-4.0
metadata:
  edam_operation: http://edamontology.org/operation_3436
  edam_topics:
  - http://edamontology.org/topic_0154
  - http://edamontology.org/topic_3373
  tools:
  - biosynfoni
  - pip
  - RDKit
derived_from:
- doi: 10.1186/s13321-025-01081-6
  title: biosynfoni
- doi: 10.5281/zenodo.14822624
  title: ''
evidence_spans:
- biosynfoni
- a biosynformatic molecular fingerprint tailored to natural product chem- and bioinformatic research
- pip install -e .[dev]
claims: []
provenance:
  collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1
  assembled_by: scripts/collect_metabolomics_collection.py
  sources:
  - build: coll_biosynfoni
    doi: 10.1186/s13321-025-01081-6
    title: biosynfoni
  dedup_kept_from: coll_biosynfoni
schema_version: 0.2.0
---

# fingerprint-vector-loading-and-parsing

## Summary

Load and parse molecular fingerprint vectors from biosynfoni datasets (e.g., Zenodo deposits) into memory for downstream statistical and similarity analysis. This skill enables extraction of fingerprint bit patterns and metadata required for characterizing molecular representation properties.

## When to use

When you have deposited or archived biosynfoni fingerprint vectors (such as from Zenodo 10.5281/zenodo.14822624) and need to ingest them into a Python workflow to compute distributional statistics, bit-frequency profiles, sparsity metrics, or pairwise similarity coefficients. Trigger this skill when beginning a fingerprint characterization or validation study.

## When NOT to use

- Fingerprint vectors are already loaded in memory or pre-computed in a feature matrix; use this skill only for initial ingestion from archived deposits.
- Input is a pre-processed feature table or descriptor matrix in non-fingerprint format (e.g., physicochemical properties, continuous descriptors).
- Fingerprints are in a non-biosynfoni format (e.g., Morgan, ECFP, structural keys); use format-specific parsers instead.

## Inputs

- Zenodo dataset deposit identifier (DOI or record ID)
- biosynfoni package installation
- Python 3.9+ environment

## Outputs

- In-memory fingerprint vector matrix (2D array, molecules × bits)
- Vector metadata (molecule identifiers, bit count, sparsity per vector)
- Dataset shape and integrity report

## How to apply

Install biosynfoni in development mode using `pip install -e .[dev]` from the project root. Load all fingerprint vectors from the Zenodo dataset deposit (10.5281/zenodo.14822624) using biosynfoni's data-loading API. Verify that the loaded vectors are in-memory as a 2D array or matrix structure (rows = molecules, columns = fingerprint bit positions). Confirm vector dimensionality and bit-depth match the biosynfoni specification for the dataset. Validate that no null or malformed vectors are present before proceeding to bit-frequency or similarity computations.

## Related tools

- **biosynfoni** (Fingerprint generation and vector data loading; provides API to ingest and parse molecular fingerprint vectors from archived datasets) — https://github.com/lucinamay/biosynfoni
- **pip** (Package manager for installing biosynfoni in development mode to enable local dataset loading and API access)
- **RDKit** (Dependency for biosynfoni; handles molecular parsing and structure representation required for fingerprint loading pipelines)

## Examples

```
from biosynfoni import Biosynfoni; from rdkit import Chem; mol = Chem.MolFromSmiles('C1=CC=CC=C1'); fp = Biosynfoni(mol).fingerprint
```

## Evaluation signals

- Loaded fingerprint matrix has expected shape (N molecules × M bits) matching the Zenodo deposit metadata.
- All fingerprint vectors are bit-arrays with integer or binary values; no null, NaN, or non-numeric entries present.
- Vector count matches the number of unique molecules declared in the dataset deposit.
- Bit-frequency distribution across all positions is non-zero (i.e., at least one molecule has a set bit at each position, or sparsity profile is consistent with natural product chemistry expectations).
- Spot-check: manually verify that a subset of 5–10 fingerprints can be reconstructed or re-computed from source molecules using `Biosynfoni(mol).fingerprint`.

## Limitations

- Loading performance scales linearly with deposit size; very large Zenodo datasets (>1M molecules) may require streaming or batch processing rather than full in-memory load.
- biosynfoni requires Python 3.9+; older environments may fail at installation.
- No changelog documented for biosynfoni versions; reproducibility across versions is not guaranteed without pinning a specific release.

## Evidence

- [other] Load all fingerprint vectors from the Zenodo dataset deposit (10.5281/zenodo.14822624).: "Load all fingerprint vectors from the Zenodo dataset deposit (10.5281/zenodo.14822624)."
- [other] Install biosynfoni package in development mode using pip install -e .[dev] from the project root.: "Install biosynfoni package in development mode using pip install -e .[dev] from the project root."
- [intro] biosynfoni is a molecular fingerprint resource designed for natural product chemistry and bioinformatic research, providing a dataset suitable for statistical characterization of fingerprint properties.: "biosynfoni is a molecular fingerprint resource designed for natural product chemistry and bioinformatic research, providing a dataset suitable for statistical characterization of fingerprint"
- [readme] To install the package, you can use pip: pip install biosynfoni: "To install the package, you can use pip: pip install biosynfoni"
- [readme] from biosynfoni import Biosynfoni; fp = Biosynfoni(mol).fingerprint: "from biosynfoni import Biosynfoni; fp = Biosynfoni(mol).fingerprint"
