include/parameters.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define parameters_pairwise   0
#define parameters_xml   7
#define parameters_tabular   8

Functions

void parameters_processArguments (int4 argc, char *argv[])
void parameters_loadDefaults (unsigned char alphabetType)
void parameters_findScoringMatrix ()
void parameters_free ()

Variables

char * parameters_queryFile
char * parameters_subjectDatabaseFile
char * parameters_hspindexFilename
int4 parameters_numDisplayAlignments
int4 parameters_numDisplayTracebacks
int4 parameters_databaseSize
int4 parameters_numberOfSequences
char parameters_outputType
char parameters_scoringSystem
char parameters_semiGappedScoring
char parameters_restrictedInsertionScoring
char parameters_bytepackedScoring
char parameters_tableScoring
char parameters_oneHitTrigger
char parameters_getDescriptions
char parameters_ssearch
char parameters_strands
char parameters_useIndex
char parameters_filterEnabled
char parameters_allClusterMembers
char * parameters_scoringMatrix
char * parameters_scoringMatrixPath
int4 parameters_mismatchScore
int4 parameters_matchScore
char parameters_wordSize
int4 parameters_T
int4 parameters_A
char parameters_overlap
int2 parameters_startGap
int2 parameters_extendGap
int2 parameters_openGap
int4 parameters_wordTableBytes
int4 parameters_wordTableLetters
int4 parameters_wordExtraLetters
int4 parameters_wordExtraBytes
double parameters_cutoff
float parameters_ungappedNormalizedTrigger
float parameters_ungappedNormalizedDropoff
float parameters_gappedNormalizedDropoff
float parameters_gappedFinalNormalizedDropoff
float parameters_semiGappedR1
float parameters_semiGappedR2
int4 parameters_semiGappedExtensionN
int2 parameters_semiGappedStartGap
int2 parameters_semiGappedExtendGap
int2 parameters_semiGappedOpenGap
int4 parameters_semiGappedDropoffIncrease
int2 parameters_bytepackStartGap
int2 parameters_bytepackOpenGap
int2 parameters_bytepackExtendGap
int2 parameters_bytepackOpen4Gap
int2 parameters_bytepackExtend4Gap
int4 parameters_bytepackDropoffDecrease
int4 parameters_verboseDloc


Define Documentation

#define parameters_pairwise   0

Definition at line 12 of file parameters.h.

#define parameters_tabular   8

Definition at line 14 of file parameters.h.

Referenced by blast_search(), main(), print_gappedAlignmentsFull(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), search_nucleotideSsearch(), search_protein1hit(), search_protein2hit(), and search_proteinSsearch().

#define parameters_xml   7

Definition at line 13 of file parameters.h.

Referenced by blast_search(), main(), print_gappedAlignmentsFull(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), search_nucleotideSsearch(), search_protein1hit(), search_protein2hit(), and search_proteinSsearch().


Function Documentation

void parameters_findScoringMatrix (  ) 

Definition at line 582 of file parameters.c.

References global_malloc(), parameters_scoringMatrix, and parameters_scoringMatrixPath.

Referenced by main(), and parameters_loadDefaults().

00583 {
00584     FILE* matrixFile, *ncbircFile;
00585     char* homeDirectory, *ncbircFilename;
00586 
00587     // Get home user's directory
00588     homeDirectory = getenv("HOME");
00589 
00590     // Construct name of .ncbirc file
00591     ncbircFilename = (char*)global_malloc(sizeof(char) * (strlen(homeDirectory) + 9));
00592     sprintf(ncbircFilename, "%s/.ncbirc", homeDirectory);
00593 
00594     // Check for existence of NCBI file
00595         if ((ncbircFile = fopen(ncbircFilename, "r")) != NULL)
00596     {
00597         // Determine the location of the scoring matrix file by consulting the .ncbirc file
00598         parameters_scoringMatrixPath = (char*)global_malloc(sizeof(char) * 1024);
00599 
00600         if (!(fscanf(ncbircFile, "[NCBI]\nData=%s", parameters_scoringMatrixPath)))
00601         {
00602             fprintf(stderr, "Error reading scoring matrix path from %s file\n", ncbircFilename);
00603             fprintf(stderr, "BLAST requires the file .ncbirc in the user's home directory\n");
00604             fprintf(stderr, "containing the text:\n\n");
00605             fprintf(stderr, "[NCBI]\n");
00606             fprintf(stderr, "Data=/home/user/fsa-blast/data\n\n");
00607             fprintf(stderr, "Where the path specified contains scoring matrix files (ie. BLOSUM62)\n");
00608             exit(-1);
00609         }
00610         fclose(ncbircFile);
00611     }
00612     else
00613     {
00614         // If not available guess location of scoring matrix files
00615         parameters_scoringMatrixPath = (char*)global_malloc(sizeof(char) * 1024);
00616         strcpy(parameters_scoringMatrixPath, "data");
00617     }
00618 
00619     // Append scoring matrix filename then check for existance
00620     sprintf(parameters_scoringMatrixPath, "%s/%s", parameters_scoringMatrixPath,
00621             parameters_scoringMatrix);
00622     matrixFile = fopen(parameters_scoringMatrixPath, "r");
00623     if (matrixFile == NULL)
00624     {
00625         fprintf(stderr, "%s\n", strerror(errno));
00626         fprintf(stderr, "Error reading matrix file %s\n", parameters_scoringMatrixPath);
00627         fprintf(stderr, "BLAST requires the file .ncbirc in the user's home directory\n");
00628         fprintf(stderr, "containing the text:\n\n");
00629         fprintf(stderr, "[NCBI]\n");
00630         fprintf(stderr, "Data=/home/user/fsa-blast/data\n\n");
00631         fprintf(stderr, "Where the path specified contains scoring matrix files (ie. BLOSUM62)\n");
00632         exit(-1);
00633     }
00634     fclose(matrixFile);
00635     free(ncbircFilename);
00636 }

Here is the call graph for this function:

Here is the caller graph for this function:

void parameters_free (  ) 

Definition at line 688 of file parameters.c.

References encoding_alphabetType, encoding_nucleotide, parameters_scoringMatrix, and parameters_scoringMatrixPath.

Referenced by main().

Here is the caller graph for this function:

void parameters_loadDefaults ( unsigned char  alphabetType  ) 

Definition at line 364 of file parameters.c.

References encoding_nucleotide, defaultPenalties::extendGap, global_malloc(), parameters_bytepackDropoffDecrease, parameters_bytepackedScoring, parameters_bytepackExtend4Gap, parameters_bytepackExtendGap, parameters_bytepackOpen4Gap, parameters_bytepackOpenGap, parameters_bytepackStartGap, parameters_extendGap, parameters_findScoringMatrix(), parameters_gappedFinalNormalizedDropoff, parameters_gappedNormalizedDropoff, parameters_getDefaultPenalties(), parameters_matchScore, parameters_mismatchScore, parameters_openGap, parameters_restrictedInsertionScoring, parameters_scoringMatrix, parameters_scoringSystem, parameters_semiGappedExtendGap, parameters_semiGappedOpenGap, parameters_semiGappedR1, parameters_semiGappedR2, parameters_semiGappedScoring, parameters_semiGappedStartGap, parameters_setDefault, parameters_startGap, parameters_tableScoring, parameters_ungappedNormalizedDropoff, parameters_ungappedNormalizedTrigger, parameters_wordExtraBytes, parameters_wordExtraLetters, parameters_wordSize, parameters_wordTableBytes, parameters_wordTableLetters, defaultPenalties::semiGappedDifference, and defaultPenalties::startGap.

Referenced by main().

00365 {
00366         struct defaultPenalties defaultPenalties;
00367 
00368     // Decode scoring system parameter
00369     if (alphabetType == encoding_nucleotide)
00370     {
00371         // Nulceotide case
00372         if (parameters_scoringSystem == 0)
00373         {
00374                 parameters_bytepackedScoring = 1;
00375             parameters_semiGappedScoring = 0;
00376             parameters_restrictedInsertionScoring = 1;
00377         }
00378         else if (parameters_scoringSystem == 1)
00379         {
00380                 parameters_bytepackedScoring = 0;
00381             parameters_semiGappedScoring = 0;
00382             parameters_restrictedInsertionScoring = 1;
00383         }
00384         else if (parameters_scoringSystem == 2)
00385         {
00386                 parameters_bytepackedScoring = 0;
00387             parameters_semiGappedScoring = 1;
00388             parameters_restrictedInsertionScoring = 0;
00389         }
00390         else if (parameters_scoringSystem == 3)
00391         {
00392                 parameters_bytepackedScoring = 0;
00393             parameters_semiGappedScoring = 0;
00394             parameters_restrictedInsertionScoring = 0;
00395         }
00396         else if (parameters_scoringSystem == 4)
00397         {
00398             parameters_bytepackedScoring = 0;
00399             parameters_semiGappedScoring = 1;
00400             parameters_restrictedInsertionScoring = 1;
00401         }
00402         else if (parameters_scoringSystem == 5)
00403         {
00404                 parameters_tableScoring = 1;
00405                 parameters_bytepackedScoring = 0;
00406             parameters_semiGappedScoring = 0;
00407             parameters_restrictedInsertionScoring = 1;
00408         }
00409         }
00410     else
00411     {
00412         // Protein case
00413         parameters_bytepackedScoring = 0;
00414         if (parameters_scoringSystem == 0)
00415         {
00416             parameters_semiGappedScoring = 1;
00417             parameters_restrictedInsertionScoring = 1;
00418         }
00419         else if (parameters_scoringSystem == 1)
00420         {
00421             parameters_semiGappedScoring = 0;
00422             parameters_restrictedInsertionScoring = 1;
00423         }
00424         else if (parameters_scoringSystem == 2)
00425         {
00426             parameters_semiGappedScoring = 1;
00427             parameters_restrictedInsertionScoring = 0;
00428         }
00429         else if (parameters_scoringSystem == 3)
00430         {
00431             parameters_semiGappedScoring = 0;
00432             parameters_restrictedInsertionScoring = 0;
00433         }
00434         else if (parameters_scoringSystem == 4)
00435         {
00436             parameters_semiGappedScoring = 1;
00437             parameters_restrictedInsertionScoring = 1;
00438         }
00439         else if (parameters_scoringSystem == 5)
00440         {
00441             parameters_semiGappedScoring = 0;
00442             parameters_restrictedInsertionScoring = 1;
00443         }
00444     }
00445 
00446     // If a nucleotide alphabet
00447     if (alphabetType == encoding_nucleotide)
00448     {
00449         // Use default nucleotide gap penalties
00450                 defaultPenalties.startGap = 5;
00451                 defaultPenalties.extendGap = 2;
00452                 defaultPenalties.semiGappedDifference = 2;
00453 
00454         // Bytepacked alignment parameters
00455         parameters_setDefault(parameters_bytepackStartGap, 0);
00456         parameters_setDefault(parameters_bytepackExtendGap, defaultPenalties.extendGap);
00457         parameters_bytepackOpenGap = parameters_bytepackStartGap + parameters_bytepackExtendGap;
00458 
00459         parameters_bytepackExtend4Gap = 4 * parameters_bytepackExtendGap;
00460         parameters_bytepackOpen4Gap = parameters_bytepackStartGap + parameters_bytepackExtend4Gap;
00461 
00462         parameters_setDefault(parameters_bytepackDropoffDecrease, 0);
00463 
00464         // Set default word size
00465         parameters_setDefault(parameters_wordSize, 11);
00466 
00467         // Set trigger and dropoffs
00468                 parameters_setDefault(parameters_ungappedNormalizedTrigger, 25.0);
00469         parameters_setDefault(parameters_ungappedNormalizedDropoff, 20.0);
00470                 parameters_setDefault(parameters_gappedNormalizedDropoff, 30.0);
00471                 parameters_setDefault(parameters_gappedFinalNormalizedDropoff, 50.0);
00472 
00473         // Set matrix name for nucleotide search
00474                 parameters_scoringMatrix = (char*)global_malloc(sizeof(char) * 30);
00475         sprintf(parameters_scoringMatrix, "blastn matrix:%d %d",
00476                 parameters_matchScore, parameters_mismatchScore);
00477 
00478         // Set values for performing hit detection
00479         if (parameters_wordSize >= 11)
00480         {
00481             parameters_wordTableBytes = 2;
00482             parameters_wordExtraBytes = (parameters_wordSize - 11) / 4;
00483             parameters_wordExtraLetters = ((parameters_wordSize - 11) % 4) + 3;
00484         }
00485         // Current disabled word size < 11
00486 /*        else if (parameters_wordSize >= 7)
00487         {
00488             parameters_wordTableBytes = 1;
00489             parameters_wordExtraBytes = 0;
00490             parameters_wordExtraLetters = (parameters_wordSize - 4);
00491         }*/
00492         else
00493         {
00494             fprintf(stderr, "Error: Word size W=%d is too small\n", parameters_wordSize);
00495             fflush(stderr);
00496             exit(-1);
00497         }
00498 
00499         parameters_wordTableLetters = parameters_wordTableBytes * 4;
00500 
00501     }
00502     // If a protein alphabet
00503         else
00504     {
00505         // Get default penalties for selected protein scoring matrix
00506         defaultPenalties = parameters_getDefaultPenalties(parameters_scoringMatrix);
00507 
00508         // Set default word size
00509         parameters_setDefault(parameters_wordSize, 3);
00510 
00511         parameters_setDefault(parameters_ungappedNormalizedTrigger, 22.0);
00512             parameters_setDefault(parameters_ungappedNormalizedDropoff, 7.0);
00513         parameters_setDefault(parameters_gappedNormalizedDropoff, 15.0);
00514         parameters_setDefault(parameters_gappedFinalNormalizedDropoff, 25.0);
00515     }
00516 
00517     // If using byte-packed scoring instead of semi-gapped
00518     if (parameters_bytepackedScoring)
00519     {
00520         // Set byte-packed default R value
00521         parameters_setDefault(parameters_semiGappedR1, 0.85);
00522         parameters_setDefault(parameters_semiGappedR2, 1.2);
00523         }
00524     else if (parameters_tableScoring)
00525     {
00526         // Otherwise if using table driven scoring
00527         parameters_setDefault(parameters_semiGappedR1, 1.0);
00528         parameters_setDefault(parameters_semiGappedR2, 1.5);
00529     }
00530     else if (parameters_semiGappedScoring)
00531     {
00532         // Otherwise set semi-gapped default R value
00533         parameters_setDefault(parameters_semiGappedR1, 0.68);
00534         parameters_setDefault(parameters_semiGappedR2, 1.2);
00535     }
00536     else
00537     {
00538         // Regular gapped scoring
00539         parameters_setDefault(parameters_semiGappedR1, 1.0);
00540         parameters_setDefault(parameters_semiGappedR2, 1.0);
00541     }
00542 
00543     // If no open gap value given at the command line, use default
00544     parameters_setDefault(parameters_startGap, defaultPenalties.startGap);
00545 
00546     // If no extend gap value given at the command line, use default
00547     parameters_setDefault(parameters_extendGap, defaultPenalties.extendGap);
00548 
00549     // Invert sign of gap existance penalty and extend gap penalty if either is negative
00550     if (parameters_startGap < 0)
00551         parameters_startGap = -parameters_startGap;
00552     if (parameters_extendGap < 0)
00553         parameters_extendGap = -parameters_extendGap;
00554 
00555     // Calculate openGap from startGap
00556     parameters_openGap = parameters_startGap + parameters_extendGap;
00557 
00558     // If no semi-gapped open gap value given at the command line, use default difference
00559     parameters_setDefault(parameters_semiGappedStartGap,
00560         parameters_startGap - defaultPenalties.semiGappedDifference);
00561 
00562     // Use the same gap extend value for semi-gapped alignment
00563     parameters_semiGappedExtendGap = parameters_extendGap;
00564 
00565     // Invert sign of semi-gapped gap existance penalty if negative
00566     if (parameters_semiGappedStartGap < 0)
00567         parameters_semiGappedStartGap = -parameters_semiGappedStartGap;
00568 
00569     // Calculate semiGappedOpenGap from semiGappedStartGap
00570     parameters_semiGappedOpenGap = parameters_semiGappedStartGap + parameters_semiGappedExtendGap;
00571 
00572     // If not CAFE nor nucleotide search
00573     #ifndef CAFEMODE
00574     if (alphabetType != encoding_nucleotide)
00575     {
00576         parameters_findScoringMatrix();
00577         }
00578     #endif
00579 }

Here is the call graph for this function:

Here is the caller graph for this function:

void parameters_processArguments ( int4  argc,
char *  argv[] 
)

Definition at line 127 of file parameters.c.

References argument::address, argument::description, argument::flag, getFlag(), int2, int4, parameters_A, parameters_allClusterMembers, parameters_BYTE, parameters_cutoff, parameters_databaseSize, parameters_DOUBLE, parameters_extendGap, parameters_filterEnabled, parameters_FLOAT, parameters_gappedFinalNormalizedDropoff, parameters_gappedNormalizedDropoff, parameters_INT, parameters_matchScore, parameters_mismatchScore, parameters_numDisplayAlignments, parameters_numDisplayTracebacks, parameters_oneHitTrigger, parameters_outputType, parameters_printArguments(), parameters_queryFile, parameters_scoringMatrix, parameters_semiGappedStartGap, parameters_SHORTINT, parameters_startGap, parameters_strands, parameters_STRING, parameters_subjectDatabaseFile, parameters_T, parameters_ungappedNormalizedDropoff, parameters_ungappedNormalizedTrigger, parameters_wordSize, and argument::type.

Referenced by main().

00128 {
00129         int4 count = 1, value, argumentCount;
00130         float floatValue;
00131     double doubleValue;
00132         char *commandLineArgument, *nextArgument;
00133         char flag;
00134     struct argument argument;
00135 
00136     #define NUM_ARGUMENTS 24
00137     struct argument parameters_arguments[NUM_ARGUMENTS] =
00138     {
00139      {'d', parameters_STRING, &parameters_subjectDatabaseFile,
00140       "Database", ""},
00141      {'i', parameters_STRING, &parameters_queryFile,
00142       "Query File", ""},
00143      {'A', parameters_INT, &parameters_A,
00144       "Multiple Hits window size (protein only)", "40"},
00145      {'f', parameters_INT, &parameters_T,
00146       "Threshold for extending hits (protein only)", "11"},
00147      {'e', parameters_DOUBLE, &parameters_cutoff,
00148       "Expectation value (E)", "10.0"},
00149      {'m', parameters_BYTE, &parameters_outputType,
00150       "alignment view options:\n0 = pairwise,\n7 = XML Blast output,\n8 = tabular", "0"},
00151      {'y', parameters_FLOAT, &parameters_ungappedNormalizedDropoff,
00152       "Dropoff (X) for blast extensions in bits", "7.0 for protein, 20.0 for nucleotide"},
00153      {'P', parameters_BYTE, &parameters_oneHitTrigger,
00154       "0 for multiple hit, 1 for single hit", "0"},
00155      {'F', parameters_BYTE, &parameters_filterEnabled,
00156       "Filter query sequence using DUST/SEG (1=True or 0=False)", "1"},
00157      {'G', parameters_SHORTINT, &parameters_startGap,
00158       "Cost to open a gap (Matrix dependant)", "11 for protein, 5 for nucleotide"},
00159      {'E', parameters_SHORTINT, &parameters_extendGap,
00160       "Cost to extend a gap (Matrix dependant)", "1 for protein, 2 for nucleotide"},
00161      {'O', parameters_SHORTINT, &parameters_semiGappedStartGap,
00162       "Cost to open a gap (Semi-gapped alignment, Matrix dependant)", "7"},
00163      {'X', parameters_FLOAT, &parameters_gappedNormalizedDropoff,
00164       "X dropoff value for gapped alignment (in bits)", "15.0 for protein, 30.0 for nucleotide"},
00165      {'N', parameters_FLOAT, &parameters_ungappedNormalizedTrigger,
00166       "Number of bits to trigger gapping", "22.0 for protein, 25.0 for nucleotide"},
00167      {'Z', parameters_FLOAT, &parameters_gappedFinalNormalizedDropoff,
00168       "X dropoff value for final gapped alignment (in bits)",
00169       "25.0 for protein, 50.0 for nucleotide"},
00170      {'M', parameters_STRING, &parameters_scoringMatrix,
00171       "Matrix", "BLOSUM62"},
00172      {'v', parameters_INT, &parameters_numDisplayAlignments,
00173       "Number of database sequences to show one-line descriptions for (V)", "500"},
00174      {'b', parameters_INT, &parameters_numDisplayTracebacks,
00175       "Number of database sequences to show alignments for (B)", "250"},
00176      {'W', parameters_BYTE, &parameters_wordSize,
00177       "Word size", "3 for protein, 11 for nucleotide"},
00178      {'z', parameters_INT, &parameters_databaseSize,
00179       "Effective length of the database (use zero for the real size)", "0"},
00180      {'q', parameters_INT, &parameters_mismatchScore,
00181       "Penalty for a nucleotide mismatch", "-3"},
00182      {'r', parameters_INT, &parameters_matchScore,
00183       "Reward for a nucleotide match", "1"},
00184      {'S', parameters_BYTE, &parameters_strands,
00185       "Query strands to search against database (nucleotide only)\n      3 is both, 1 is top, 2 is bottom", "3"},
00186      {'a', parameters_BYTE, &parameters_allClusterMembers,
00187       "Display alignments for all members of a cluster  (1=True or 0=False)", "1"},
00188 
00189 /*     {'I', parameters_BYTE, &parameters_useIndex,
00190       "Use inverted index to perform search if available (1 or 0)", "1"},
00191      {'h', parameters_STRING, &parameters_hspindexFilename,
00192       "HSP Index File", ""},
00193      {'s', parameters_BYTE, &parameters_scoringSystem,
00194       "Scoring System (0 = Bytepacked + Semi + RI  1 = RI only  2 = Semi only  3 = Original  4 = Semi + RI  5 = Table + RI)", "0"},
00195      {'R', parameters_FLOAT, &parameters_semiGappedR1,
00196       "Ratio between semi-gapped/byte-packed and gapped cutoffs", "0.68 for semi-gapped, 0.85 for byte-packed"},
00197      {'J', parameters_INT, &parameters_semiGappedExtensionN,
00198       "Semi-gapped alignment insertion frequency", "10"},
00199      {'D', parameters_BYTE, &parameters_getDescriptions,
00200       "Get sequence descriptions when printing results (1 or 0)", "1"},
00201      {'V', parameters_BYTE, &parameters_overlap,
00202       "Maximum distance between two hits for them to be regarded as overlapping", "3"},
00203      {'l', parameters_INT, &parameters_verboseDloc,
00204       "Verbose description location (for debugging purposes)", "0"},
00205      {'B', parameters_INT, &parameters_bytepackDropoffDecrease,
00206       "Bytepacked alignment dropoff decrease", "0"},
00207      {'1', parameters_SHORTINT, &parameters_bytepackStartGap,
00208       "Bytepacked alignment cost to open a gap", "0"},
00209      {'2', parameters_SHORTINT, &parameters_bytepackExtendGap,
00210       "Bytepacked/Table-driven alignment cost to extend a gap", "2"}*/
00211     };
00212 
00213     while (count < argc)
00214         {
00215                 commandLineArgument = argv[count];
00216                 flag = getFlag(commandLineArgument);
00217                 if (flag)
00218                 {
00219                         // Get (possible) next argument
00220                         nextArgument = NULL;
00221                         count++;
00222                         if (count < argc)
00223                         {
00224                                 nextArgument = argv[count];
00225                         }
00226 
00227             // For each possible inbuild argument, check if flag matches it
00228             argumentCount = 0;
00229             while (argumentCount < NUM_ARGUMENTS)
00230             {
00231                                 argument = parameters_arguments[argumentCount];
00232                 if (argument.flag == flag)
00233                 {
00234                         // Check the next commandline argument is not also a flag
00235                     if (nextArgument == NULL)// || getFlag(nextArgument))
00236                     {
00237                         parameters_printArguments(parameters_arguments);
00238                         fprintf(stderr, "ERROR: No argument given for %s\n", argument.description);
00239                         exit(-1);
00240                     }
00241                     // If argument type is a string, get pointer
00242                     if (argument.type == parameters_STRING)
00243                     {
00244                         *((char**)argument.address) = nextArgument;
00245                     }
00246                     // If it is an integer, get value
00247                     if (argument.type == parameters_INT)
00248                     {
00249                         value = strtol(nextArgument, &nextArgument, 10);
00250                         if (nextArgument[0] != '\0')
00251                         {
00252                             parameters_printArguments(parameters_arguments);
00253                             fprintf(stderr, "ERROR: Invalid argument given for %s\n",
00254                                     argument.description);
00255                             exit(-1);
00256                         }
00257                         *((int4*)argument.address) = value;
00258                     }
00259                     // If it is a int2eger, get value
00260                     if (argument.type == parameters_SHORTINT)
00261                     {
00262                         value = strtol(nextArgument, &nextArgument, 10);
00263                         if (nextArgument[0] != '\0')
00264                         {
00265                             parameters_printArguments(parameters_arguments);
00266                             fprintf(stderr, "ERROR: Invalid argument given for %s\n",
00267                                     argument.description);
00268                             exit(-1);
00269                         }
00270                         *((int2*)argument.address) = value;
00271                     }
00272                     // If it is a byte, get value
00273                     if (argument.type == parameters_BYTE)
00274                     {
00275                         value = strtol(nextArgument, &nextArgument, 10);
00276                         if (nextArgument[0] != '\0')
00277                         {
00278                             parameters_printArguments(parameters_arguments);
00279                             fprintf(stderr, "ERROR: Invalid argument given for %s\n",
00280                                     argument.description);
00281                             exit(-1);
00282                         }
00283                         *((char*)argument.address) = value;
00284                     }
00285                     // If it is a double, get value
00286                     if (argument.type == parameters_DOUBLE)
00287                     {
00288                         doubleValue = atof(nextArgument);
00289                         if (doubleValue == 0)
00290                         {
00291                            parameters_printArguments(parameters_arguments);
00292                            fprintf(stderr, "ERROR: Invalid argument given for %s\n",
00293                                     argument.description);
00294                             exit(-1);
00295                         }
00296                         else
00297                         {
00298                             *((double*)argument.address) = doubleValue;
00299                         }
00300                     }
00301                     // If it is a float, get value
00302                     if (argument.type == parameters_FLOAT)
00303                     {
00304                         floatValue = atof(nextArgument);
00305                         if (floatValue == 0)
00306                         {
00307                             parameters_printArguments(parameters_arguments);
00308                             fprintf(stderr, "ERROR: Invalid argument given for %s\n",
00309                                     argument.description);
00310                             exit(-1);
00311                         }
00312                         else
00313                         {
00314                             *((float*)argument.address) = floatValue;
00315                         }
00316                     }
00317 
00318                     break;
00319                 }
00320 
00321                 argumentCount++;
00322             }
00323 
00324             // If we reached of list of arguments and didn't find a match
00325             // then print error
00326             if (argumentCount == NUM_ARGUMENTS)
00327             {
00328                                 parameters_printArguments(parameters_arguments);
00329                 if (flag != ' ')
00330                 {
00331                         fprintf(stderr, "ERROR: Unrecognised parameter -%c\n", flag);
00332                 }
00333                 exit(-1);
00334             }
00335                 }
00336                 count++;
00337         }
00338 
00339         // Check at least query and subject database were specified
00340         if (parameters_queryFile[0] == '\0')
00341         {
00342         parameters_printArguments(parameters_arguments);
00343                 fprintf(stderr, "ERROR: Query File not specified\n");
00344                 exit(-1);
00345         }
00346         if (parameters_subjectDatabaseFile[0] == '\0')
00347         {
00348         parameters_printArguments(parameters_arguments);
00349                 fprintf(stderr, "ERROR: Subject Database File not specified\n");
00350                 exit(-1);
00351         }
00352 
00353         if (parameters_numDisplayAlignments < parameters_numDisplayTracebacks)
00354                 parameters_numDisplayAlignments = parameters_numDisplayTracebacks;
00355 
00356     if (parameters_mismatchScore > 0)
00357         parameters_mismatchScore = -parameters_mismatchScore;
00358 }

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

int4 parameters_A

Definition at line 43 of file parameters.c.

Referenced by blast_search(), parameters_processArguments(), and search_protein2hit().

char parameters_allClusterMembers

Definition at line 34 of file parameters.c.

Referenced by parameters_processArguments(), and print_gappedAlignmentsFull().

int4 parameters_bytepackDropoffDecrease

Definition at line 74 of file parameters.c.

Referenced by bytepackGappedScoring_score(), parameters_loadDefaults(), and tableGappedScoring_score().

char parameters_bytepackedScoring

Definition at line 26 of file parameters.c.

Referenced by alignments_findGoodAlignments(), blast_search(), and parameters_loadDefaults().

int2 parameters_bytepackExtend4Gap

Definition at line 73 of file parameters.c.

Referenced by bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), fasterBytepackGappedScoring_dpAfterSeed(), fasterBytepackGappedScoring_dpBeforeSeed(), and parameters_loadDefaults().

int2 parameters_bytepackExtendGap

Definition at line 71 of file parameters.c.

Referenced by bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), fasterBytepackGappedScoring_dpAfterSeed(), fasterBytepackGappedScoring_dpBeforeSeed(), parameters_loadDefaults(), tableGappedScoring_buildTable(), tableGappedScoring_dpAfterSeed(), and tableGappedScoring_dpBeforeSeed().

int2 parameters_bytepackOpen4Gap

Definition at line 72 of file parameters.c.

Referenced by bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), and parameters_loadDefaults().

int2 parameters_bytepackOpenGap

Definition at line 70 of file parameters.c.

Referenced by bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), and parameters_loadDefaults().

int2 parameters_bytepackStartGap

Definition at line 69 of file parameters.c.

Referenced by bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), bytepackGappedScoring_score(), and parameters_loadDefaults().

double parameters_cutoff

Definition at line 54 of file parameters.c.

Referenced by blast_search(), parameters_processArguments(), and print_XMLheader().

int4 parameters_databaseSize

Definition at line 19 of file parameters.c.

Referenced by parameters_processArguments(), and statistics_initialize().

int2 parameters_extendGap

Definition at line 46 of file parameters.c.

Referenced by alignments_checkForJoin(), blast_search(), fasterBytepackGappedScoring_dpBeforeSeed(), fasterGappedExtension_dpAfterSeed(), fasterGappedExtension_dpBeforeSeed(), gappedExtension_dpAfterSeed(), gappedExtension_dpBeforeSeed(), gappedScoring_dpAfterSeed(), gappedScoring_dpBeforeSeed(), nuGappedScoring_dpAfterSeed(), nuGappedScoring_dpBeforeSeed(), oldGappedScoring_dpAfterSeed(), oldGappedScoring_dpBeforeSeed(), parameters_loadDefaults(), parameters_processArguments(), print_XMLheader(), smithWatermanScoring_dynamicProgramming(), smithWatermanTraceback_dynamicProgramming(), statistics_initialize(), and unpack_getRegions().

char parameters_filterEnabled

Definition at line 33 of file parameters.c.

Referenced by main(), parameters_processArguments(), and print_XMLheader().

float parameters_gappedFinalNormalizedDropoff

Definition at line 59 of file parameters.c.

Referenced by parameters_loadDefaults(), parameters_processArguments(), and statistics_initialize().

float parameters_gappedNormalizedDropoff

Definition at line 58 of file parameters.c.

Referenced by parameters_loadDefaults(), parameters_processArguments(), and statistics_initialize().

char parameters_getDescriptions

Definition at line 29 of file parameters.c.

Referenced by print_gappedAlignmentsBrief(), and print_gappedAlignmentsFull().

char* parameters_hspindexFilename

Definition at line 16 of file parameters.c.

int4 parameters_matchScore

Definition at line 39 of file parameters.c.

Referenced by main(), parameters_loadDefaults(), parameters_processArguments(), PSSMatrix_create(), tableGappedScoring_buildTable(), ungappedExtension_checkHit(), and ungappedExtension_initialize().

int4 parameters_mismatchScore

Definition at line 38 of file parameters.c.

Referenced by main(), parameters_loadDefaults(), parameters_processArguments(), PSSMatrix_create(), and tableGappedScoring_buildTable().

int4 parameters_numberOfSequences

Definition at line 20 of file parameters.c.

Referenced by statistics_initialize().

int4 parameters_numDisplayAlignments

Definition at line 17 of file parameters.c.

Referenced by alignments_findFinalAlignments(), alignments_findTopFinalAlignments(), alignments_getTracebacks(), alignments_isFinalAlignment(), alignments_loadSubjectsIntoMemory(), parameters_processArguments(), and print_gappedAlignmentsBrief().

int4 parameters_numDisplayTracebacks

Definition at line 18 of file parameters.c.

Referenced by alignments_getTracebacks(), parameters_processArguments(), and print_gappedAlignmentsFull().

char parameters_oneHitTrigger

Definition at line 28 of file parameters.c.

Referenced by alignments_expandCluster(), blast_search(), and parameters_processArguments().

int2 parameters_openGap

Definition at line 47 of file parameters.c.

Referenced by fasterGappedExtension_dpAfterSeed(), fasterGappedExtension_dpBeforeSeed(), gappedExtension_dpAfterSeed(), gappedExtension_dpBeforeSeed(), gappedScoring_dpAfterSeed(), gappedScoring_dpBeforeSeed(), nuGappedScoring_dpAfterSeed(), nuGappedScoring_dpBeforeSeed(), oldGappedScoring_dpAfterSeed(), oldGappedScoring_dpBeforeSeed(), parameters_loadDefaults(), smithWatermanScoring_dynamicProgramming(), and smithWatermanTraceback_dynamicProgramming().

char parameters_outputType

Definition at line 21 of file parameters.c.

Referenced by blast_search(), main(), parameters_processArguments(), print_gappedAlignmentsFull(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), search_nucleotideSsearch(), search_protein1hit(), search_protein2hit(), and search_proteinSsearch().

char parameters_overlap

Definition at line 44 of file parameters.c.

Referenced by search_protein2hit().

char* parameters_queryFile

Definition at line 14 of file parameters.c.

Referenced by main(), and parameters_processArguments().

char parameters_restrictedInsertionScoring

Definition at line 25 of file parameters.c.

Referenced by gappedScoring_score(), parameters_loadDefaults(), and semiGappedScoring_score().

char* parameters_scoringMatrix

Definition at line 36 of file parameters.c.

Referenced by blast_search(), parameters_findScoringMatrix(), parameters_free(), parameters_loadDefaults(), parameters_processArguments(), print_XMLheader(), and statistics_initialize().

char* parameters_scoringMatrixPath

Definition at line 37 of file parameters.c.

Referenced by main(), parameters_findScoringMatrix(), and parameters_free().

char parameters_scoringSystem

Definition at line 23 of file parameters.c.

Referenced by parameters_loadDefaults().

int4 parameters_semiGappedDropoffIncrease

Definition at line 67 of file parameters.c.

Referenced by oldSemiGappedScoring_score(), and semiGappedScoring_score().

int2 parameters_semiGappedExtendGap

Definition at line 65 of file parameters.c.

Referenced by blast_search(), oldSemiGappedScoring_dpAfterSeed(), oldSemiGappedScoring_dpBeforeSeed(), parameters_loadDefaults(), semiGappedScoring_dpAfterSeed(), and semiGappedScoring_dpBeforeSeed().

int4 parameters_semiGappedExtensionN

Definition at line 63 of file parameters.c.

Referenced by oldSemiGappedScoring_dpAfterSeed(), oldSemiGappedScoring_dpBeforeSeed(), semiGappedScoring_dpAfterSeed(), and semiGappedScoring_dpBeforeSeed().

int2 parameters_semiGappedOpenGap

Definition at line 66 of file parameters.c.

Referenced by oldSemiGappedScoring_dpAfterSeed(), oldSemiGappedScoring_dpBeforeSeed(), parameters_loadDefaults(), semiGappedScoring_dpAfterSeed(), and semiGappedScoring_dpBeforeSeed().

float parameters_semiGappedR1

Definition at line 61 of file parameters.c.

Referenced by alignments_findTopFinalAlignments(), alignments_loadSubjectsIntoMemory(), blast_search(), and parameters_loadDefaults().

float parameters_semiGappedR2

Definition at line 62 of file parameters.c.

Referenced by alignments_loadSubjectsIntoMemory(), blast_search(), and parameters_loadDefaults().

char parameters_semiGappedScoring

Definition at line 24 of file parameters.c.

Referenced by alignments_findGoodAlignments(), blast_search(), and parameters_loadDefaults().

int2 parameters_semiGappedStartGap

Definition at line 64 of file parameters.c.

Referenced by blast_search(), parameters_loadDefaults(), and parameters_processArguments().

char parameters_ssearch

Definition at line 30 of file parameters.c.

Referenced by blast_search(), main(), print_gappedAlignmentsFull(), unpack_free(), and unpack_unpackSubject().

int2 parameters_startGap

Definition at line 45 of file parameters.c.

Referenced by blast_search(), parameters_loadDefaults(), parameters_processArguments(), print_XMLheader(), and statistics_initialize().

char parameters_strands

Definition at line 31 of file parameters.c.

Referenced by parameters_processArguments(), and PSSMatrix_create().

char* parameters_subjectDatabaseFile

Definition at line 15 of file parameters.c.

Referenced by main(), parameters_processArguments(), and print_XMLheader().

int4 parameters_T

Definition at line 42 of file parameters.c.

Referenced by blast_search(), parameters_processArguments(), wordLookupDFA_findNeighbours(), and wordLookupDFA_getNeighbours().

char parameters_tableScoring

Definition at line 27 of file parameters.c.

Referenced by alignments_findGoodAlignments(), alignments_getTracebacks(), blast_search(), and parameters_loadDefaults().

float parameters_ungappedNormalizedDropoff

Definition at line 57 of file parameters.c.

Referenced by parameters_loadDefaults(), parameters_processArguments(), and statistics_initialize().

float parameters_ungappedNormalizedTrigger

Definition at line 56 of file parameters.c.

Referenced by blast_search(), parameters_loadDefaults(), and parameters_processArguments().

char parameters_useIndex

Definition at line 32 of file parameters.c.

Referenced by blast_search().

int4 parameters_verboseDloc

Definition at line 76 of file parameters.c.

Referenced by alignments_checkForJoin(), alignments_findFinalAlignments(), alignments_pruneRegion(), alignments_regularGappedAlignment(), alignments_unpruneRegion(), bytepackGappedScoring_dpAfterSeed(), bytepackGappedScoring_dpBeforeSeed(), bytepackGappedScoring_score(), fasterBytepackGappedScoring_dpAfterSeed(), fasterBytepackGappedScoring_dpBeforeSeed(), gappedExtension_build(), gappedScoring_dpAfterSeed(), gappedScoring_dpBeforeSeed(), gappedScoring_score(), nuGappedScoring_dpAfterSeed(), nuGappedScoring_dpBeforeSeed(), nuGappedScoring_score(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), tableGappedScoring_dpAfterSeed(), tableGappedScoring_dpBeforeSeed(), tableGappedScoring_score(), ungappedExtension_nucleotideExtend(), unpack_loadSubject(), and unpack_unpackSubject().

int4 parameters_wordExtraBytes

Definition at line 52 of file parameters.c.

Referenced by blast_search(), parameters_loadDefaults(), and search_nucleotide_longWord().

int4 parameters_wordExtraLetters

Definition at line 51 of file parameters.c.

Referenced by parameters_loadDefaults(), search_nucleotide(), search_nucleotide_largeTable(), and search_nucleotide_longWord().

char parameters_wordSize

Definition at line 41 of file parameters.c.

Referenced by hitMatrix_initialize(), hitMatrix_reinitialize(), main(), parameters_loadDefaults(), parameters_processArguments(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), search_protein1hit(), and search_protein2hit().

int4 parameters_wordTableBytes

Definition at line 49 of file parameters.c.

Referenced by main(), parameters_loadDefaults(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), and ungappedExtension_nucleotideExtend().

int4 parameters_wordTableLetters

Definition at line 50 of file parameters.c.

Referenced by parameters_loadDefaults(), search_nucleotide(), search_nucleotide_largeTable(), search_nucleotide_longWord(), ungappedExtension_initialize(), and ungappedExtension_nucleotideExtend().


Generated on Wed Dec 19 20:50:38 2007 for fsa-blast by  doxygen 1.5.2