Skip to main content
NVIDIA
Explore
Models
Skills
Blueprints
GPUs
Docs
Help Center
Getting Started
  1. Create and verify your account to unlock full access to NVIDIA NIM APIs.
ResourcesDeveloper ForumsContact Support
FAQs
  • Terms of Use
    Privacy Policy
    Your Privacy Choices
    Contact

    Copyright © 2026 NVIDIA Corporation

    MIT

    diffdock

    Downloadable

    Predicts the 3D structure of how a molecule interacts with a protein.

    • BioNemo
    • Chemistry
    • Docking
    • nim
    • Drug Discovery
    Get API Key
    API ReferenceAPI Reference
    Accelerated by DGX Cloud
    Deploying your application in production? Get started with a 90-day evaluation of NVIDIA AI Enterprise

    Follow the steps below to download and run the NVIDIA NIM inference microservice for this model on your infrastructure of choice.

    Step 1
    Get API Key and Install the NIM Operator

    Install the NVIDIA GPU Operator

    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia \
       && helm repo update
    
    helm install nim-operator nvidia/k8s-nim-operator --create-namespace -n nim-operator
    

    Step 2
    Create a ImagePull Secrets

    kubectl create ns nim-service
    
    kubectl create secret -n nim-service docker-registry ngc-secret \
        --docker-server=nvcr.io \
        --docker-username='$oauthtoken' \
        --docker-password=<PASTE_API_KEY_HERE>
    
    kubectl create secret -n nim-service generic ngc-api-secret \
        --from-literal=NGC_API_KEY=<PASTE_API_KEY_HERE>
    

    Step 3
    Create a NIM Service

    Ensure that a default StorageClass exists in the cluster. If none is present, create an appropriate StorageClass before proceeding.

    NOTE:

    • Select model-size based on the model and GPU type as described here.
    • For example, change the nvidia.com/gpu: 1 based on the model and number of GPU requirements
    apiVersion: apps.nvidia.com/v1alpha1
    kind: NIMService
    metadata:
      name: diffdock
      namespace: nim-service
    spec:
      image:
        repository: nvcr.io/nim/mit/diffdock
        tag: latest
        pullPolicy: IfNotPresent
        pullSecrets:
          - ngc-secret
      authSecret: ngc-api-secret
      storage:
        pvc:
          create: true
          size: "model-size"
          volumeAccessMode: "ReadWriteOnce"
      replicas: 1
      resources:
        limits:
          nvidia.com/gpu: 1
      expose:
        service:
          type: ClusterIP
          port: 8000
    

    Step 4
    Test the Deployed NIM

    kubectl run --rm -it -n default curl --image=ubuntu -- bash
    
    apt update > /dev/null; apt install curl -y > /dev/null
    
    protein_bytes=`curl -s https://files.rcsb.org/download/8G43.pdb | grep -E '^ATOM' | sed -z 's/\n/\\\n/g'`; \
     ligand_bytes=`curl -s https://files.rcsb.org/ligands/download/ZU6_ideal.sdf | sed -z 's/\n/\\\n/g'`; \
     echo "{
         \"ligand\": \"${ligand_bytes}\",
         \"ligand_file_type\": \"sdf\",
         \"protein\": \"${protein_bytes}\",
         \"num_poses\": 1,
         \"time_divisions\": 20,
         \"steps\": 18,
         \"save_trajectory\": false,
         \"is_staged\": false
     }" > diffdock.json
    
    curl --header "Content-Type: application/json" \
        --request POST \
        --data @diffdock.json \
        --output output.json \
        http://diffdock.nim-service:8000/molecular-docking/diffdock/generate
    

    For more details on getting started with this NIM, visit the NVIDIA NIM Docs or NVIDIA NIM Operator Docs.