package bicat.run_machine;

/**
 * <p>Title: BicAT Tool </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * @author Amela Prelic
 * @version 1.0
 *
 * Arguments for Iterative Signature Algorithm (2002). Arguments specific for ISA
 * are the gene and chip similarity thresholds, \t_g and \t_c.
 *
 **/

public class Arguments_AdditiveBi extends Arguments {

 
      public static final String GENE_REFERENCE_SINGLE="single";
      public static final String GENE_REFERENCE_LIST="list";
      public static final String GENE_REFERENCE_RANDOM="random";
     
      public static final String CONDITION_REFERENCE_SINGLE="single";
      public static final String CONDITION_REFERENCE_LIST="list";
      public static final String CONDITION_REFERENCE_RANDOM="random";
    
      
      
    private double alpha=0.4;
    private double beta=0.5;
    private double gamma=1.2;
    
    
    private String gene_refernce_Type=GENE_REFERENCE_SINGLE;
    private String condition_refernce_Type=CONDITION_REFERENCE_SINGLE;
    
    
    //  to save in it the assigned parameter
 private String gene_ref_passed_parameter="1";
 private String condition_ref_passed_parameter="1";
    
    
    private int gene_Ref_No=1;
 
    private String ref_gene_list_file_Path="";
    
    private int no_Of_Genes_Random_Selected=100;
    
    
    private int condition_Ref_No=1;
    
    private String ref_condition_list_file_Path="";
    
    private int no_Of_conditions_Random_Selected=100;
    
    

  // ===========================================================================
  public Arguments_AdditiveBi() { }

   
    public double getAlpha() {
        return alpha;
    }

    public void setAlpha(double alpha) {
        this.alpha = alpha;
    }

    public double getBeta() {
        return beta;
    }

    public void setBeta(double beta) {
        this.beta = beta;
    }

    public double getGamma() {
        return gamma;
    }

    public void setGamma(double gamma) {
        this.gamma = gamma;
    }

    public String getGene_refernce_Type() {
        return gene_refernce_Type;
    }

    public void setGene_refernce_Type(String gene_refernce_Type) {
        this.gene_refernce_Type = gene_refernce_Type;
        
           if(gene_refernce_Type.equalsIgnoreCase(GENE_REFERENCE_SINGLE))
               gene_ref_passed_parameter=Integer.toString( gene_Ref_No);
           else if(gene_refernce_Type.equalsIgnoreCase(GENE_REFERENCE_RANDOM))
               gene_ref_passed_parameter=Integer.toString(no_Of_Genes_Random_Selected);
           else if(gene_refernce_Type.equalsIgnoreCase(GENE_REFERENCE_LIST))
               gene_ref_passed_parameter=ref_gene_list_file_Path;
        
    }

    public int getGene_Ref_No() {
        return gene_Ref_No;
    }

    public void setGene_Ref_No(int gene_Ref_No) {
        this.gene_Ref_No = gene_Ref_No;
    }

    public String getRef_gene_list_file_Path() {
        return ref_gene_list_file_Path;
    }

    public void setRef_gene_list_file_Path(String ref_gene_list_file_Path) {
        this.ref_gene_list_file_Path = ref_gene_list_file_Path;
    }

    public int getNo_Of_Genes_Random_Selected() {
        return no_Of_Genes_Random_Selected;
    }

    public void setNo_Of_Genes_Random_Selected(int no_Of_Genes_Random_Selected) {
        this.no_Of_Genes_Random_Selected = no_Of_Genes_Random_Selected;
    }

    public int getCondition_Ref_No() {
        return condition_Ref_No;
    }

    public void setCondition_Ref_No(int condition_Ref_No) {
        this.condition_Ref_No = condition_Ref_No;
    }

    public String getRef_condition_list_file_Path() {
        return ref_condition_list_file_Path;
    }

    public void setRef_condition_list_file_Path(String ref_condition_list_file_Path) {
        this.ref_condition_list_file_Path = ref_condition_list_file_Path;
    }

    public int getNo_Of_conditions_Random_Selected() {
        return no_Of_conditions_Random_Selected;
    }

    public void setNo_Of_conditions_Random_Selected(int no_Of_conditions_Random_Selected) {
        this.no_Of_conditions_Random_Selected = no_Of_conditions_Random_Selected;
    }

    public String getGene_ref_passed_parameter() {
        return gene_ref_passed_parameter;
    }

    public void setGene_ref_passed_parameter(String gene_ref_passed_parameter) {
        this.gene_ref_passed_parameter = gene_ref_passed_parameter;
    }

    public String getCondition_ref_passed_parameter() {
        return condition_ref_passed_parameter;
    }

    public void setCondition_ref_passed_parameter(String condition_ref_passed_parameter) {
        this.condition_ref_passed_parameter = condition_ref_passed_parameter;
    }

    public String getCondition_refernce_Type() {
        return condition_refernce_Type;
    }

    public void setCondition_refernce_Type(String condition_refernce_Type) {
        this.condition_refernce_Type = condition_refernce_Type;
        
        
         if(condition_refernce_Type.equalsIgnoreCase(CONDITION_REFERENCE_SINGLE))
               condition_ref_passed_parameter=Integer.toString( condition_Ref_No);
           else if(condition_refernce_Type.equalsIgnoreCase(CONDITION_REFERENCE_RANDOM))
               condition_ref_passed_parameter=Integer.toString(no_Of_conditions_Random_Selected);
           else if(condition_refernce_Type.equalsIgnoreCase(CONDITION_REFERENCE_LIST))
               condition_ref_passed_parameter=ref_condition_list_file_Path;
        
        
    }

  
  
  
  
}