188 lines
5.3 KiB
Fortran
188 lines
5.3 KiB
Fortran
SUBROUTINE DBMENT(MENU,NOPT,MAXOPT,
|
|
+IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
CHARACTER HELPF*(*)
|
|
INTEGER IHELPS(0:MAXOPT),IHELPE(0:MAXOPT)
|
|
1 CONTINUE
|
|
IF(MENU.EQ.0) THEN
|
|
WRITE(KBOUT,5000)
|
|
5000 FORMAT(' Menus and their numbers are',/,
|
|
+ ' m0 = This menu',/,
|
|
+ ' m1 = General',/,
|
|
+ ' m2 = Screen control',/,
|
|
+ ' m3 = Modification',/,
|
|
+ ' ? = Help',/,
|
|
+ ' ! = Quit')
|
|
ELSE IF(MENU.EQ.-1) THEN
|
|
WRITE(KBOUT,1001)
|
|
1001 FORMAT(' General menu',/,
|
|
+' 0 = List of menus',/,
|
|
+' ? = Help',/,
|
|
+' ! = Quit',/,
|
|
+' 3 = Open a database',/,
|
|
+' 5 = Display a contig',/,
|
|
+' 6 = List a text file',/,
|
|
+' 7 = Redirect output',/,
|
|
+' 8 = Calculate a consensus',/,
|
|
+' 17 = Screen against restriction enzymes',/,
|
|
+' 18 = Screen against vector',/,
|
|
+' 19 = Check database',/,
|
|
+' 24 = Copy database',/,
|
|
+' 25 = Show relationships',/,
|
|
+' 27 = Set parameters',/,
|
|
+' 28 = Highlight disagreements',/,
|
|
+' 29 = Examine quality',/,
|
|
+' 35 = Find internal joins')
|
|
ELSE IF(MENU.EQ.-2) THEN
|
|
WRITE(KBOUT,1002)
|
|
1002 FORMAT(' Screen control menu',/,
|
|
+' 0 = List of menus',/,
|
|
+' ? = Help',/,
|
|
+' ! = Quit',/,
|
|
+' 10 = Clear graphics',/,
|
|
+' 11 = Clear text',/,
|
|
+' 12 = Draw ruler',/,
|
|
+' 13 = Use cross hair',/,
|
|
+' 14 = Change margins',/,
|
|
+' 15 = Label diagram',/,
|
|
+' 16 = Plot map',/,
|
|
+' 33 = Plot single contig',/,
|
|
+' 34 = Plot all contigs')
|
|
ELSE IF(MENU.EQ.-3) THEN
|
|
WRITE(KBOUT,1003)
|
|
1003 FORMAT(' Modification menu',/,
|
|
+' 0 = List of menus',/,
|
|
+' ? = Help',/,
|
|
+' ! = Quit',/,
|
|
+' 4 = Edit contig',/,
|
|
+' 9 = Screen edit',/,
|
|
+' 20 = Auto assemble',/,
|
|
+' 21 = Enter new gel reading',/,
|
|
+' 22 = Join contigs',/,
|
|
+' 23 = Complement a contig',/,
|
|
+' 26 = Alter relationships',/,
|
|
+' 30 = Auto edit a contig',/,
|
|
+' 31 = Type in gel readings',/,
|
|
+' 32 = Extract gel readings')
|
|
END IF
|
|
WRITE(KBOUT,1010)
|
|
CALL GETOPT(KBIN,KOPT,NOPT)
|
|
IF((NOPT.LT.-3).OR.(NOPT.GT.MAXOPT).OR.(KOPT.GT.2)) THEN
|
|
MENU = 0
|
|
GO TO 1
|
|
END IF
|
|
IF((KOPT.EQ.2).AND.(NOPT.GE.0))THEN
|
|
CALL HELP2(IHELPS(NOPT),IHELPE(NOPT),HELPF,IDEVH,KBIN,KBOUT)
|
|
GO TO 1
|
|
END IF
|
|
IF(NOPT.EQ.0) THEN
|
|
MENU = 0
|
|
GO TO 1
|
|
END IF
|
|
IF(NOPT.LT.0) THEN
|
|
MENU = NOPT
|
|
GO TO 1
|
|
END IF
|
|
1010 FORMAT(
|
|
+' ? Option number=',$)
|
|
RETURN
|
|
END
|
|
SUBROUTINE DBMENU(MENU,NOPT,IHELPS,IHELPE,HELPF,IDEVH,
|
|
+KBIN,KBOUT)
|
|
CHARACTER HELPF*(*)
|
|
INTEGER IHELPS,IHELPE
|
|
1 CONTINUE
|
|
IF(MENU.EQ.2)THEN
|
|
20 CONTINUE
|
|
CALL BPAUSE(KBIN,KBOUT,IOK)
|
|
WRITE(KBOUT,1002)
|
|
1002 FORMAT( ' Enter menu options are:',/,
|
|
+' ? = Help',/,
|
|
+' ! = Give up',/,
|
|
+' 3 = Complete entry',/,
|
|
+' 4 = Edit contig',/,
|
|
+' 5 = Display',/,
|
|
+' 6 = Edit new gel reading')
|
|
WRITE(KBOUT,1010)
|
|
CALL GETOPT(KBIN,KOPT,NOPT)
|
|
MAXOPT = 6
|
|
IF((NOPT.LT.0).OR.(NOPT.GT.MAXOPT).OR.(KOPT.GT.2)) THEN
|
|
GO TO 20
|
|
END IF
|
|
IF((KOPT.EQ.2).AND.(NOPT.GE.0))THEN
|
|
CALL HELP2(IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
GO TO 20
|
|
END IF
|
|
ELSE IF(MENU.EQ.3)THEN
|
|
30 CONTINUE
|
|
CALL BPAUSE(KBIN,KBOUT,IOK)
|
|
WRITE(KBOUT,1003)
|
|
1003 FORMAT( ' Join menu options are:'/
|
|
+' ? = Help',/,
|
|
+' ! = Give up',/,
|
|
+' 3 = Complete join',/,
|
|
+' 4 = Edit left contig',/,
|
|
+' 5 = Display join',/,
|
|
+' 6 = Edit right contig',/,
|
|
+' 7 = Move join')
|
|
WRITE(KBOUT,1010)
|
|
CALL GETOPT(KBIN,KOPT,NOPT)
|
|
MAXOPT = 7
|
|
IF((NOPT.LT.0).OR.(NOPT.GT.MAXOPT).OR.(KOPT.GT.2)) THEN
|
|
GO TO 30
|
|
END IF
|
|
IF((KOPT.EQ.2).AND.(NOPT.GE.0))THEN
|
|
CALL HELP2(IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
GO TO 30
|
|
END IF
|
|
ELSE IF(MENU.EQ.4)THEN
|
|
40 CONTINUE
|
|
CALL BPAUSE(KBIN,KBOUT,IOK)
|
|
WRITE(KBOUT,1004)
|
|
1004 FORMAT(' Alter relationships menu options are:'/
|
|
+' ? = Help',/,
|
|
+' ! = Quit',/,
|
|
+' 3 = Line change',/,
|
|
+' 4 = Edit gel reading',/,
|
|
+' 5 = Delete contig line',/,
|
|
+' 6 = Shift',/,
|
|
+' 7 = Move gel reading',/,
|
|
+' 8 = Rename gel reading',/,
|
|
+' 9 = Break a contig',/,
|
|
+' 10 = Remove a gel reading')
|
|
WRITE(KBOUT,1010)
|
|
CALL GETOPT(KBIN,KOPT,NOPT)
|
|
MAXOPT = 10
|
|
IF((NOPT.LT.0).OR.(NOPT.GT.MAXOPT).OR.(KOPT.GT.2)) THEN
|
|
GO TO 40
|
|
END IF
|
|
IF((KOPT.EQ.2).AND.(NOPT.GE.0))THEN
|
|
CALL HELP2(IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
GO TO 40
|
|
END IF
|
|
ELSE IF(MENU.EQ.5)THEN
|
|
50 CONTINUE
|
|
CALL BPAUSE(KBIN,KBOUT,IOK)
|
|
WRITE(KBOUT,1005)
|
|
1005 FORMAT(
|
|
+' Edit options are:',/,
|
|
+' ? = Help',/,
|
|
+' ! = Quit',/,
|
|
+' 3 = Insert',/,
|
|
+' 4 = Delete',/,
|
|
+' 5 = Change')
|
|
WRITE(KBOUT,1010)
|
|
CALL GETOPT(KBIN,KOPT,NOPT)
|
|
MAXOPT = 5
|
|
IF((NOPT.LT.0).OR.(NOPT.GT.MAXOPT).OR.(KOPT.GT.2)) THEN
|
|
GO TO 50
|
|
END IF
|
|
IF((KOPT.EQ.2).AND.(NOPT.GE.0))THEN
|
|
CALL HELP2(IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
GO TO 50
|
|
END IF
|
|
END IF
|
|
1010 FORMAT(
|
|
+' ? Option number=',$)
|
|
IF(NOPT.LE.0) GO TO 1
|
|
RETURN
|
|
END
|