Skip to content

Latest commit

 

History

History
77 lines (66 loc) · 2.67 KB

File metadata and controls

77 lines (66 loc) · 2.67 KB
flowchart TD
    %% Main Components with distinctive colors
    classDef userInput fill:#f9d5e5,stroke:#d64161,stroke-width:2px
    classDef pipelineDetection fill:#eeac99,stroke:#d64161,stroke-width:2px
    classDef ruleProcessing fill:#e06377,stroke:#c83349,stroke-width:2px
    classDef llmIntegration fill:#5b9aa0,stroke:#006699,stroke-width:2px
    classDef outputGeneration fill:#d6cbd3,stroke:#9896a4,stroke-width:2px
    classDef cacheSystem fill:#b8a9c9,stroke:#622569,stroke-width:2px
    
    %% Main Flow
    User([User Input]) --> SmartValidator[Smart Nextflow Validator]
    User:::userInput
    
    %% Core Process
    SmartValidator --> PipelineDetector[Pipeline Detector]
    PipelineDetector --> PipelineType{Pipeline Type}
    PipelineType:::pipelineDetection
    
    %% Pipeline Types
    PipelineType -->|DSL2 nf-core| NFCore[NEXTFLOW_DSL2_NFCORE]
    PipelineType -->|DSL2 Custom| NFCustom[NEXTFLOW_DSL2_CUSTOM]
    PipelineType -->|DSL1| NFDSL1[NEXTFLOW_DSL1]
    PipelineType -->|Shell| Shell[SHELL_BASED]
    PipelineType -->|Python| Python[PYTHON_BASED]
    PipelineType -->|R| R[R_BASED]
    PipelineType -->|Perl| Perl[PERL_BASED]
    
    %% Analysis & Validation
    PipelineDetector --> Analysis[Pipeline Analysis]
    Analysis --> RuleEngine[Rule Engine]
    RuleEngine:::ruleProcessing
    
    %% Rule Processing
    RuleEngine --> RuleSelection[Rule Selection]
    RuleSelection --> RuleValidation[Rule Validation]
    
    %% LLM Integration
    RuleValidation --> LLMProvider[LLM Provider]
    LLMProvider --> OpenAI[OpenAI]
    LLMProvider --> Anthropic[Anthropic]
    LLMProvider:::llmIntegration
    OpenAI:::llmIntegration
    Anthropic:::llmIntegration
    
    %% Rate Limiting
    LLMProvider --> RateLimiter[Rate Limiter]
    RateLimiter:::llmIntegration
    
    %% Results Processing
    RuleValidation --> Results[Validation Results]
    Results --> ReportGenerator[Report Generator]
    ReportGenerator:::outputGeneration
    
    %% Output Formats
    ReportGenerator --> HTML[HTML Report]
    ReportGenerator --> JSON[JSON Output]
    ReportGenerator --> CLI[CLI Output]
    HTML:::outputGeneration
    JSON:::outputGeneration
    CLI:::outputGeneration
    
    %% Caching System
    ValidationCache[Validation Cache] --> RuleValidation
    Results --> ValidationCache
    ValidationCache:::cacheSystem
    
    %% Legend
    subgraph Legend["Legend"]
        UserInput[User Input]:::userInput
        PipelineDetect[Pipeline Detection]:::pipelineDetection
        RuleProc[Rule Processing]:::ruleProcessing
        LLMInt[LLM Integration]:::llmIntegration
        OutputGen[Output Generation]:::outputGeneration
        CacheSys[Cache System]:::cacheSystem
    end
Loading