static int dev_target(struct device *dev, unsigned long *freq, u32 flags) { struct dev_data *d = dev_get_drvdata(dev); find_freq(&d->profile, freq, flags); return clk_set_rate(d->clk, *freq * 1000); }
int cpubw_target(struct device *dev, unsigned long *freq, u32 flags) { find_freq(&cpubw_profile, freq, flags); if (!gov_ab) return set_bw(*freq, find_ab(&cpubw_profile, freq)); else return set_bw(*freq, gov_ab); }
static int devbw_target(struct device *dev, unsigned long *freq, u32 flags) { struct dev_data *d = dev_get_drvdata(dev); find_freq(&d->dp, freq, flags); if (!d->gov_ab) return set_bw(dev, *freq, find_ab(d, &d->dp, freq)); else return set_bw(dev, *freq, d->gov_ab); }
//input first the fasta file, then the sample_1000.out file run on the fasta, then options int main(int argc, char *argv[]) { int i,total,notcommon,most; char **mostfreq; FILE *fp; OUTPUT = DEF_OUTPUT; INPUT = NULL; NATIVE = NULL; FILTER = 0; NOISE = DEF_NOISE; MIN_HEL_LEN = DEF_MIN_HEL_LEN; // THRESH_FREQ = DEF_THRESH_FREQ; THRESH_FREQ = 0; THRESH_COMMON = DEF_THRESH_COMMON; VERBOSE = 0; NUMFREQ = 0; NUMPROF = 0; PROF_FREQ = 0; // PROF_FREQ = DEF_PROF_FREQ; NUMSTRUCTS = 0; THRESH_STRUCT = DEF_THRESH_STRUCT; LENGTH = 0; STATS = 0; GRAPH = 1; REP_STRUCT = 0; if (argc < 3) { fprintf(stderr,"Not enough arguments\n"); exit(EXIT_FAILURE); } //OUTPUT = malloc(strlen(argv[1])+5); //sprintf(OUTPUT,"%s.dot",argv[1]); for (i = 3; i < argc; i++) { //printf("argv[%d] is %s\n",i,argv[i]); if (!strcmp(argv[i],"-f")) { FILTER = 1; if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&NUMFREQ)) { // sscanf(argv[i+1],"%s",val); //printf("val is %s and argv %s\n",val,argv[i+1]); NUMFREQ = atoi(argv[i+1]); i++; } else NUMFREQ = DEF_NUMFREQ; } else if (!strcmp(argv[i],"-z")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&NOISE)) { NOISE = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-h")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&THRESH_FREQ)) { THRESH_FREQ = atof(argv[i+1]); if (THRESH_FREQ < 0 || THRESH_FREQ > 100) { fprintf(stderr,"Error: invalid input %f for frequency threshold\n",THRESH_FREQ); THRESH_FREQ = DEF_THRESH_FREQ; } i++; } } else if (!strcmp(argv[i],"-c")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&THRESH_COMMON)) { THRESH_COMMON = atof(argv[i+1]); if (THRESH_COMMON < 0.0 || THRESH_COMMON > 100.0) { fprintf(stderr,"Error: invalid input %f for common threshold\n",THRESH_COMMON); THRESH_COMMON = DEF_THRESH_COMMON; } i++; } } else if (!strcmp(argv[i],"-q")) { //PRUNE = 1; if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&NUMPROF)) { NUMPROF = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-p")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&PROF_FREQ)) { PROF_FREQ = atof(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-l")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&MIN_HEL_LEN)) { MIN_HEL_LEN = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-s")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&NUMSTRUCTS)) { NUMSTRUCTS = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-t")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&THRESH_STRUCT)) { THRESH_STRUCT = atof(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-o")) { if (i + 1 <= argc - 1) { OUTPUT = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-i")) { if (i + 1 <= argc - 1) { INPUT = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-n")) { if (i + 1 <= argc - 1) { NATIVE = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-v")) VERBOSE = 1; else if (!strcmp(argv[i],"-a")) STATS = 1; else if (!strcmp(argv[i],"-g")) GRAPH = 0; else if (!strcmp(argv[i],"-r")) REP_STRUCT = 1; } if (!(bp = hashtbl_create(HASHSIZE,NULL))) { fprintf(stderr, "ERROR: hashtbl_create() for bp failed"); exit(EXIT_FAILURE); } if (!(marginals = hashtbl_create(HASHSIZE,NULL))) { fprintf(stderr, "ERROR: hashtbl_create() for marginals failed"); exit(EXIT_FAILURE); } if (!(idhash = hashtbl_create(HASHSIZE,NULL))) { fprintf(stderr, "ERROR: hashtbl_create() for idhash failed"); exit(EXIT_FAILURE); } if (!(binary = hashtbl_create(HASHSIZE,NULL))) { fprintf(stderr, "ERROR: hashtbl_create() for binary failed"); exit(EXIT_FAILURE); } total = process_structs(argv[1],argv[2]); if (THRESH_FREQ==0) THRESH_FREQ = set_h_dropoff(marginals, H_START); if (VERBOSE) { printf("Threshold to find frequent helices: %.1f\%\n",THRESH_FREQ); printf("Maximum number of frequent helices: "); if (NUMFREQ == 0) puts("no limit"); else printf("%d\n",NUMFREQ); /* printf("Threshold to select frequent profiles: %.1f\%\n",PROF_FREQ); printf("Maximum number of profiles: "); if (NUMPROF == 0) puts("no limit"); else printf("%d\n",NUMPROF); */ printf("Number of structures processed: %d\n",NUMSTRUCTS); } printf("Total number of equivalence helix classes: %d\n",total-1); if (VERBOSE) print_all_helices(total); // make_graph(marginals,max,id,total,argv[1],fp); mostfreq = find_freq(total); printf("Total number of selected helices: %d\n",hashtbl_numkeys(freq)); notcommon = make_profiles(argv[2]); printf("Total number of profiles: %d\n",hashtbl_numkeys(cluster)); print_profiles(); if (PROF_FREQ == 0) { PROF_FREQ = set_h_dropoff(cluster,P_START); if (VERBOSE) printf("setting p to %.1f\n",PROF_FREQ); } most = select_profiles(mostfreq,notcommon)-1; printf("Total number of selected profiles: %d\n",hashtbl_numkeys(cluster)); if (hashtbl_numkeys(cluster) == 0) GRAPH = 0; if (hashtbl_numkeys(cluster) > 23 && GRAPH) { GRAPH = 0; printf("Total number of profiles above threshold %.1f is %d: disabling graph\n",PROF_FREQ,hashtbl_numkeys(cluster)); } if (REP_STRUCT) { //fp = fopen("structures.out","w"); //fprintf(fp,"Processing %s\n",argv[2]); find_consensus(); print_consensus(argv[1]); //print_cluster(argv[1]); //fclose(fp); } if (GRAPH) { fp = fopen(OUTPUT,"w"); insert_graph(fp,argv[1],most); fputs("}",fp); fclose(fp); } hashtbl_destroy(bp); hashtbl_destroy(marginals); hashtbl_destroy(idhash); hashtbl_destroy(binary); hashtbl_destroy(freq); hashtbl_destroy(cluster); hashtbl_destroy(bracket); hashtbl_destroy(infreq); return 0; }
//input first the fasta file, then the sample_1000.out file run on the fasta, then options int main(int argc, char *argv[]) { int i, h, minh,p; HASHTBL *deleteHash; FILE *fp; Set *set; Options *opt; if (argc < 3) { fprintf(stderr,"Not enough arguments\n"); exit(EXIT_FAILURE); } set = make_Set(argv[2]); opt = set->opt; for (i = 3; i < argc; i++) { //printf("argv[%d] is %s\n",i,argv[i]); if (!strcmp(argv[i],"-h")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&(opt->HC_FREQ))) { opt->HC_FREQ = atof(argv[i+1]); if (opt->HC_FREQ < 0 || opt->HC_FREQ > 100) { fprintf(stderr,"Error: invalid input %f for frequency threshold\n",opt->HC_FREQ); opt->HC_FREQ = 0; } i++; } } else if (!strcmp(argv[i],"-p")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&(opt->PROF_FREQ))) { opt->PROF_FREQ = atof(argv[i+1]); if (opt->PROF_FREQ < 0 || opt->PROF_FREQ > 100) { fprintf(stderr,"Error: invalid input %f for frequency threshold\n",opt->PROF_FREQ); opt->PROF_FREQ = 0; } i++; } } else if (!strcmp(argv[i],"-c")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%f",&(opt->COVERAGE))) { opt->COVERAGE = atof(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-f")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&(opt->NUM_FHC))) { opt->NUM_FHC = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-s")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&(opt->NUM_SPROF))) { opt->NUM_SPROF = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-l")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&(opt->MIN_HEL_LEN))) { opt->MIN_HEL_LEN = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-u")) { if ((i + 1 <= argc - 1) && sscanf(argv[i+1],"%d",&(opt->NUMSTRUCTS))) { opt->NUMSTRUCTS = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-m")) { if (i + 1 <= argc - 1) { opt->PNOISE = atoi(argv[i+1]); i++; } } else if (!strcmp(argv[i],"-o")) { if (i + 1 <= argc - 1) { opt->OUTPUT = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-i")) { if (i + 1 <= argc - 1) { opt->INPUT = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-n")) { if (i + 1 <= argc - 1) { opt->NATIVE = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-k")) { if (i + 1 <= argc - 1) { opt->CYCLES = argv[i+1]; i++; } } else if (!strcmp(argv[i],"-v")) opt->VERBOSE = 1; else if (!strcmp(argv[i],"-g")) opt->GRAPH = 0; else if (!strcmp(argv[i],"-r")) opt->REP_STRUCT = 1; else if (!strcmp(argv[i],"-t")) opt->TOPDOWN = 1; else if (!strcmp(argv[i],"-a")) opt->ALTTHRESH = 0; } input_seq(set,argv[1]); process_structs(set); reorder_helices(set); minh = print_all_helices(set); printf("Total number of helix classes: %d\n",set->hc_num); if (set->opt->TOPDOWN) { printf("Total number of extended profiles: %d\n",set->prof_num); h = top_down_h(set,minh); //if (set->opt->VERBOSE) printf("Number of featured helix classes: %d\n",h+1); find_freq(set); p = top_down_p(set,h); //if (set->opt->VERBOSE) printf("Number of selected profiles: %d\n",p+1); print_topdown_prof(set,h,p); } else { if (set->opt->NUM_FHC) set->opt->HC_FREQ = set_num_fhc(set); else if (set->opt->HC_FREQ==0) set->opt->HC_FREQ = set_threshold(set,H_START); if (set->opt->VERBOSE) { printf("Threshold to find frequent helices: %.1f\%\n",set->opt->HC_FREQ); printf("Number of structures processed: %d\n",set->opt->NUMSTRUCTS); } find_freq(set); printf("Total number of featured helix classes: %d\n",set->num_fhc); make_profiles(set); printf("Total number of profiles: %d\n",set->prof_num); print_profiles(set); if (set->opt->NUM_SPROF) set->opt->PROF_FREQ = set_num_sprof(set); else if (set->opt->PROF_FREQ == 0) { set->opt->PROF_FREQ = set_p_threshold(set,P_START); } if (set->opt->VERBOSE) printf("setting p to %.1f\n",set->opt->PROF_FREQ); select_profiles(set); printf("Total number of selected profiles: %d\n",set->num_sprof); }