- Update to 2.0

PR:		ports/117713
Submitted by:	Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
This commit is contained in:
Pav Lucistnik 2007-12-15 18:47:00 +00:00
parent a424942460
commit 0650f5cb0f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=203771
15 changed files with 60 additions and 406 deletions

View File

@ -6,21 +6,21 @@
#
PORTNAME= clustalw
PORTVERSION= 1.83
PORTVERSION= 2.0
CATEGORIES= biology
MASTER_SITES= ftp://ftp.ebi.ac.uk/pub/software/unix/clustalw/
DISTNAME= ${PORTNAME}${PORTVERSION}.UNIX
MASTER_SITES= ftp://ftp.ebi.ac.uk/pub/software/clustalw2/
DISTNAME= ${PORTNAME}-linux-src-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= CLUSTAL W Multiple Sequence Alignment Program
WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}
MAKEFILE= makefile
ALL_TARGET= # empty
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/clustalw ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/clustalw2 ${PREFIX}/bin
${LN} -sf clustalw2 ${PREFIX}/bin/clustalw
@${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/clustalw_help ${DATADIR}

View File

@ -1,3 +1,3 @@
MD5 (clustalw1.83.UNIX.tar.gz) = dc240277e5bb14ffc106d4a5fda87752
SHA256 (clustalw1.83.UNIX.tar.gz) = 8b757e02ae95ac0a0dd37db640497aa90f7a13a11784ce2a17f41b64e3059c60
SIZE (clustalw1.83.UNIX.tar.gz) = 166863
MD5 (clustalw-linux-src-2.0.tar.gz) = 04bb7bad022dad39bafc1db8c6d64446
SHA256 (clustalw-linux-src-2.0.tar.gz) = e10c456f45f892936903069638271df6fb4bf30a84d0362ce62031f058408ded
SIZE (clustalw-linux-src-2.0.tar.gz) = 274726

View File

@ -0,0 +1,13 @@
--- Makefile.orig Wed Aug 8 18:21:23 2007
+++ Makefile Wed Oct 31 17:35:20 2007
@@ -51,8 +51,8 @@
compiledObjects/RootedClusterTree.o compiledObjects/Iteration.o \
compiledObjects/InFileStream.o compiledObjects/ClustalWResources.o
-CXX = g++
-CXXFLAGS = -c -O2
+CXX ?= g++
+CXXFLAGS += -c -DDATADIR=\"${PREFIX}/share/clustalw\"
LFLAGS = -g
clustalw2: $(OBJECTS)

View File

@ -1,11 +0,0 @@
--- clustalw.c.orig Thu Feb 13 15:17:15 2003
+++ clustalw.c Thu Feb 13 14:50:51 2003
@@ -34,7 +34,7 @@
#ifdef MSDOS
char *help_file_name = "clustalw.hlp";
#else
- char *help_file_name = "clustalw_help";
+ char *help_file_name = DATADIR "/clustalw_help";
#endif
sint max_names; /* maximum length of names in current alignment file */

View File

@ -1,24 +0,0 @@
--- makefile.orig Thu Feb 13 15:17:25 2003
+++ makefile Thu Feb 13 15:15:48 2003
@@ -4,15 +4,15 @@
rm *.o
OBJECTS = interface.o sequence.o showpair.o malign.o \
- util.o trees.o gcgcheck.o prfalign.o pairalign.o \
- calcgapcoeff.o calcprf1.o calcprf2.o calctree.o \
- readmat.o alnscore.o random.o
+ util.o trees.o gcgcheck.o prfalign.o pairalign.o \
+ calcgapcoeff.o calcprf1.o calcprf2.o calctree.o \
+ readmat.o alnscore.o random.o
HEADERS = general.h clustalw.h
-CC = cc
-CFLAGS = -c -O
-LFLAGS = -O -lm
+CC ?= cc
+CFLAGS += -c -DDATADIR=\"${PREFIX}/share/clustalw\"
+LFLAGS = -lm
clustalw : $(OBJECTS) amenu.o clustalw.o
$(CC) -o $@ $(OBJECTS) amenu.o clustalw.o $(LFLAGS)

View File

@ -1,137 +0,0 @@
--- interface.c.orig Thu Feb 13 15:17:33 2003
+++ interface.c Thu Feb 13 15:26:28 2003
@@ -1132,7 +1132,7 @@
/* added for File System Standards - Francois */
path1=(char *)ckalloc((strlen(path)+64)*sizeof(char));
strcpy(path1,path);
- strcat(path1,"/usr/share/clustalx:/usr/local/share/clustalx");
+ strcat(path1,DATADIR);
lf=(sint)strlen(fname);
deb=path1;
@@ -1224,7 +1224,7 @@
if(strstr(temp, help_marker)){
if(usemenu) {
fprintf(stdout,"\n");
- getstr("Press [RETURN] to continue",lin2);
+ getstr("Press [RETURN] to continue",lin2,MAXLINE);
}
fclose(help_file);
return;
@@ -1236,7 +1236,7 @@
if(usemenu) {
if(nlines >= PAGE_LEN) {
fprintf(stdout,"\n");
- getstr("Press [RETURN] to continue or X to stop",lin2);
+ getstr("Press [RETURN] to continue or X to stop",lin2,MAXLINE);
if(toupper(*lin2) == 'X') {
fclose(help_file);
return;
@@ -1248,7 +1248,7 @@
}
if(usemenu) {
fprintf(stdout,"\n");
- getstr("Press [RETURN] to continue",lin2);
+ getstr("Press [RETURN] to continue",lin2,MAXLINE);
}
fclose(help_file);
}
@@ -1287,7 +1287,7 @@
++nlines;
if(nlines >= PAGE_LEN) {
fprintf(stdout,"\n");
- getstr("Press [RETURN] to continue or X to stop",lin2);
+ getstr("Press [RETURN] to continue or X to stop",lin2,MAXLINE);
if(toupper(*lin2) == 'X') {
fclose(file);
return;
@@ -1298,7 +1298,7 @@
}
fclose(file);
fprintf(stdout,"\n");
- getstr("Press [RETURN] to continue",lin2);
+ getstr("Press [RETURN] to continue",lin2,MAXLINE);
}
@@ -1747,7 +1747,7 @@
FILE *infile;
if(usemenu)
- getstr("Enter name of the matrix file",lin2);
+ getstr("Enter name of the matrix file",lin2,MAXLINE);
else
strcpy(lin2,str);
@@ -1773,7 +1773,7 @@
FILE *infile;
if(usemenu)
- getstr("Enter name of the matrix file",lin2);
+ getstr("Enter name of the matrix file",lin2,MAXLINE);
else
strcpy(lin2,str);
@@ -2176,7 +2176,7 @@
strcpy(local_prompt,"\n\nEnter new name to avoid overwriting ");
strcat(local_prompt," [%s]: ");
fprintf(stdout,local_prompt,file_name);
- gets(temp);
+ fgets(temp,FILENAMELEN+1,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != EOS) strcpy(file_name,temp);
}
}
@@ -2184,7 +2184,7 @@
strcpy(local_prompt,prompt);
strcat(local_prompt," [%s]: ");
fprintf(stdout,local_prompt,file_name);
- gets(temp);
+ fgets(temp,FILENAMELEN+1,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != EOS) strcpy(file_name,temp);
}
@@ -2385,7 +2385,7 @@
if (usemenu)
fprintf(stdout,"\nUse the existing GUIDE TREE file, %s (y/n) ? [y]: ",
tree_name);
- gets(temp);
+ fgets(temp,MAXLINE,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != 'n' && *temp != 'N') {
strcpy(phylip_name,tree_name);
use_tree = TRUE;
@@ -2617,7 +2617,7 @@
fprintf(stdout,"\nEnter a name for the guide tree file [%s]: ",
phylip_name);
- gets(temp);
+ fgets(temp,MAXLINE,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != EOS)
strcpy(phylip_name,temp);
}
@@ -2719,7 +2719,7 @@
#endif
fprintf(stdout,"\nUse the existing GUIDE TREE file for Profile 1, %s (y/n) ? [y]: ",
tree_name);
- gets(temp);
+ fgets(temp,MAXLINE,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != 'n' && *temp != 'N') {
strcpy(p1_tree_name,tree_name);
use_tree1 = TRUE;
@@ -2745,7 +2745,7 @@
#endif
fprintf(stdout,"\nUse the existing GUIDE TREE file for Profile 2, %s (y/n) ? [y]: ",
tree_name);
- gets(temp);
+ fgets(temp,MAXLINE,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != 'n' && *temp != 'N') {
strcpy(p2_tree_name,tree_name);
use_tree2 = TRUE;
@@ -4203,7 +4203,7 @@
if(usemenu) {
fprintf(stdout,"\nEnter a name for the parameter output file [%s]: ",
parname);
- gets(temp);
+ fgets(temp,FILENAMELEN+1,stdin); if(*temp != EOS) temp[strlen(temp)-1]=EOS;
if(*temp != EOS)
strcpy(parname,temp);
}

View File

@ -1,138 +0,0 @@
--- amenu.c.orig Thu Feb 13 15:19:00 2003
+++ amenu.c Thu Feb 13 15:21:10 2003
@@ -13,7 +13,8 @@
static jmp_buf jmpbuf;
#ifndef VMS
#ifndef AIX
-#define BADSIG (void (*)())-1
+/* #define BADSIG (void (*)())-1 */
+#define BADSIG SIG_ERR
#endif
#endif
@@ -184,7 +185,7 @@
fprintf(stdout," H. HELP\n");
fprintf(stdout," X. EXIT (leave program)\n\n\n");
- getstr("Your choice",lin1);
+ getstr("Your choice",lin1,MAXLINE);
switch(toupper(*lin1)) {
case '1': seq_input(FALSE);
@@ -268,7 +269,7 @@
fprintf(stdout," H. HELP\n");
fprintf(stdout," or press [RETURN] to go back to main menu\n\n\n");
- getstr("Your choice",lin1);
+ getstr("Your choice",lin1,MAXLINE);
if(*lin1 == EOS) return;
switch(toupper(*lin1))
@@ -361,7 +362,7 @@
fprintf(stdout," H. HELP\n");
fprintf(stdout," or press [RETURN] to go back to main menu\n\n\n");
- getstr("Your choice",lin1);
+ getstr("Your choice",lin1,MAXLINE);
if(*lin1 == EOS) return;
switch(toupper(*lin1))
@@ -457,7 +458,7 @@
fprintf(stdout,"\n\n");
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if( *lin2 == EOS) {
return;
}
@@ -533,7 +534,7 @@
fprintf(stdout,"--\n");
- getstr("\n\nEnter number (or [RETURN] to exit)",lin2);
+ getstr("\n\nEnter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) return(output_struct_penalties);
switch(toupper(*lin2))
@@ -602,7 +603,7 @@
fprintf(stdout," H. HELP\n");
fprintf(stdout," or press [RETURN] to go back to main menu\n\n\n");
- getstr("Your choice",lin1);
+ getstr("Your choice",lin1,MAXLINE);
if(*lin1 == EOS) return;
switch(toupper(*lin1))
@@ -677,7 +678,7 @@
fprintf(stdout,"\n");
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) return;
switch(toupper(*lin2)) {
@@ -766,7 +767,7 @@
fprintf(stdout,"\n");
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) return;
switch(toupper(*lin2)) {
@@ -907,7 +908,7 @@
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if( *lin2 == EOS) {
if(dnaflag) {
dna_pw_go_penalty = pw_go_penalty;
@@ -1029,7 +1030,7 @@
fprintf(stdout," 8. Protein Gap Parameters\n\n");
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) {
if(dnaflag) {
@@ -1122,7 +1123,7 @@
fprintf(stdout," 5. Toggle End Gap Separation :%s\n\n",(!use_endgaps) ? "OFF" : "ON");
fprintf(stdout," H. HELP\n\n\n");
- getstr("Enter number (or [RETURN] to exit)",lin2);
+ getstr("Enter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) return;
@@ -1136,7 +1137,7 @@
case '3':
fprintf(stdout,"Hydrophilic Residues Currently: %s\n",hyd_residues);
- getstr("Enter residues (or [RETURN] to quit)",lin1);
+ getstr("Enter residues (or [RETURN] to quit)",lin1,MAXLINE);
if (*lin1 != EOS) {
for (i=0;i<strlen(hyd_residues) && i<26;i++) {
c = lin1[i];
@@ -1188,7 +1189,7 @@
fprintf(stdout,"--\n");
- getstr("\n\nEnter number (or [RETURN] to exit)",lin2);
+ getstr("\n\nEnter number (or [RETURN] to exit)",lin2,MAXLINE);
if(*lin2 == EOS) return(matn);
i=toupper(*lin2)-'0';
@@ -1223,7 +1224,7 @@
fprintf(stdout,"\n%s\n",title);
strcpy(line,prompt);
strcat(line, "(y/n) ? [y]");
- getstr(line,lin2);
+ getstr(line,lin2,80);
if ((*lin2 != 'n') && (*lin2 != 'N'))
return('y');
else

View File

@ -1,11 +0,0 @@
--- clustalw.h.orig Thu Feb 13 15:21:45 2003
+++ clustalw.h Thu Feb 13 15:21:57 2003
@@ -238,7 +238,7 @@
char *blank_to_(char *str);
char *upstr(char *str);
char *lowstr(char *str);
-void getstr(char *instr, char *outstr);
+void getstr(char *instr, char *outstr, int len);
double getreal(char *instr, double minx, double maxx, double def);
int getint(char *instr, int minx, int maxx, int def);
void do_system(void);

View File

@ -1,11 +0,0 @@
--- sequence.c.orig Thu Feb 13 15:27:06 2003
+++ sequence.c Thu Feb 13 15:27:37 2003
@@ -924,7 +924,7 @@
static Boolean dnaflag1;
if(usemenu)
- getstr("Enter the name of the sequence file",line);
+ getstr("Enter the name of the sequence file",line,FILENAMELEN+1);
else
strcpy(line,seqname);
if(*line == EOS) return -1;

View File

@ -1,11 +0,0 @@
--- trees.c.orig Thu Feb 13 15:52:06 2003
+++ trees.c Thu Feb 13 16:19:08 2003
@@ -1497,7 +1497,7 @@
fprintf(stdout,"\n or 3) use the PHYLIP package.");
fprintf(stdout,"\n\n");
if (usemenu)
- getstr("Press [RETURN] to continue",dummy);
+ getstr("Press [RETURN] to continue",dummy,10);
}

View File

@ -1,43 +0,0 @@
--- util.c.orig Thu Feb 13 16:19:35 2003
+++ util.c Thu Feb 13 16:21:40 2003
@@ -171,10 +171,11 @@
return str;
}
-void getstr(char *instr,char *outstr)
+void getstr(char *instr,char *outstr, int len)
{
fprintf(stdout,"%s: ",instr);
- gets(outstr);
+ fgets(outstr, len, stdin);
+ outstr[strlen(outstr)-1] = '\0';
}
double getreal(char *instr,double minx,double maxx,double def)
@@ -185,7 +186,7 @@
while(TRUE) {
fprintf(stdout,"%s (%.1f-%.1f) [%.1f]: ",instr,minx,maxx,def);
- gets(line);
+ fgets(line, MAXLINE, stdin);
status=sscanf(line,"%f",&ret);
if(status == EOF) return def;
if(ret>maxx) {
@@ -210,7 +211,7 @@
while(TRUE) {
fprintf(stdout,"%s (%d..%d) [%d]: ",
instr,(pint)minx,(pint)maxx,(pint)def);
- gets(line);
+ fgets(line, MAXLINE, stdin);
status=sscanf(line,"%d",&ret);
if(status == EOF) return def;
if(ret>maxx) {
@@ -230,7 +231,7 @@
{
char line[MAXLINE];
- getstr("\n\nEnter system command",line);
+ getstr("\n\nEnter system command",line,MAXLINE);
if(*line != EOS)
system(line);
fprintf(stdout,"\n\n");

View File

@ -0,0 +1,11 @@
--- general/ClustalWResources.cpp.orig Thu Jul 19 18:44:22 2007
+++ general/ClustalWResources.cpp Wed Oct 31 17:39:01 2007
@@ -33,7 +33,7 @@
executablePath = ".";
//installPath
- installPath = ".";
+ installPath = DATADIR;
char *env;
if ((env = getenv(CLUW_INSTALL_DIR)) != 0)
{

View File

@ -0,0 +1,20 @@
--- general/Utility.cpp.orig Wed May 23 22:47:41 2007
+++ general/Utility.cpp Wed Oct 31 17:19:21 2007
@@ -144,7 +144,7 @@
while (true)
{
fprintf(stdout, "%s (%.1f-%.1f) [%.1f]: ", instr, minx, maxx, def);
- gets(line);
+ fgets(line, 1024, stdin);
status = sscanf(line, "%f", &ret);
if (status == EOF)
{
@@ -181,7 +181,7 @@
while (true)
{
fprintf(stdout, "%s (%d..%d) [%d]: ", instr, minx, maxx, def);
- gets(line);
+ fgets(line, 1024, stdin);
status = sscanf(line, "%d", &ret);
if (status == EOF)
{

View File

@ -1,24 +1,19 @@
CLUSTAL W Multiple Sequence Alignment Program
ClustalW was written by Des Higgins (now at University College, Cork,
Ireland) (des@chah.ucc.ie), Julie Thompson (julie@IGBMC.u-strasbg.fr),
Toby Gibson, (Gibson@EMBL-Heidelberg.DE), and Franc'ois Jeanmougin
(pingouin@igbmc.u-strasbg.fr). It is a complete rewrite and upgrade of
the Clustal and ClustalV packages. which were developed by Des
Higgins. New features include the ability to detect read different
input formats (NBRF/PIR, Fasta, EMBL/Swissprot); align old alignments;
produce phylogenetic trees after alignment (Neighbor Joining trees
with a bootstrap option); write different alignment formats (Clustal,
NBRF/PIR, GCG, PHYLIP); full command line interface. It is described
in the following papers:
Clustal W is a multiple alignment program for DNA or proteins.
Clustal W was written by Des Higgins (des@chah.ucc.ie), Julie Thompson
(julie@IGBMC.u-strasbg.fr), and Toby Gibson (Gibson@EMBL-Heidelberg.DE).
Version 2.0 has been completely rewritten in C++.
Original Paper:
Thompson, J.D., D. G. Higgins and T. J. Gibson. 1994. CLUSTAL W:
improving the sensitivity of progressive multiple sequence alignment
through sequence weighting, positions-specific gap penalties and
weight matrix choice. Nucleic Acids Research 22: 4673-4680.
Tips:
Higgins, D. G., J. D. Thompson, and T. J. Gibson. 1996. Using
CLUSTAL for multiple sequence alignments. Methods in Enzymology 266:
383-402.
WWW: http://www-igbmc.u-strasbg.fr/BioInfo/ClustalX/Top.html
WWW: http://bips.u-strasbg.fr/fr/Documentation/ClustalX/

View File

@ -1,3 +1,4 @@
bin/clustalw
bin/clustalw2
share/clustalw/clustalw_help
@dirrm share/clustalw