! PROGRAM FZERO. D F KOENIG 1988-DEC-12. REQUIRES AND LOADS FZERO.DAT/CR ! ! FILE WHICH IS SAME AS DISPLAYED TABLE PLUS FOUR LINES: THE FIRST TWO HAVE ! ! A LIST OF EIGHT XRAY ATOMIC SCATTERING FACTORS AT ZERO SIN(THETA) FOR ATOMS! ! H,C,N,O,S AND UNSPECIFIED XYZ; THE LAST TWO LINES ARE " HELP " AND " END ".! ! THERE IS NO WRAPAROUND PROTECTION: N > 32767 IS REPRESENTED AS N-65536. ! ERFZERO.DAT/CREYER ^U90U9 ZUE 0UF 0UR 0UW 0UH 0UC 0UN 0UO 0US 0UX 0UY 0UZ JLSS\U1SS\U2SS\U3SS\U4SS\U5SS\U6SS\U7SS\U8 !HELP!  FZERO Program FZERO computes the elemental composition, and xray F(0 0 0), for the asymmetric unit of a protein-crystal cell. For each A.A. residue type in turn, you enter the number (per asymmetric unit) and the name (1- or 3-letter code or full name) of the residue. Equivalent examples: 65 V or 65VAL or 65 VALINE where means (carriage-)return key. The residue types can be entered in any order, each followed by . If you see a mistake before ending the entry, press once and type in the correct entry. If you see a mistake in a line already entered (and processed) you can undo it by repeating it later with the negative of the number. Example: To "undo" 23 H2O, enter -23WATER or -23H2O or -23 O; then make the correct entry, e.g. 25WATER or 23 HIS as the case may be. Note that spaces are ok before number and before name, but not between - and number, nor name and . Special 'residues' are O=H2O=WATER, B=ASX=D/N, Z=GLX=E/Q, and X=UNK=UNKNOWN. To end your input and see the results, enter END. To redisplay this text and the following table, enter HELP. Now to continue, press the bar once. ^t _ELEMENTAL_COMP:S_OF_AMINO_ACIDS,_ETC._CF:_ICN_NUTRITIONAL_BIOCHEM_CATALOG. A ALA ALANINE H07.0, C03.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 B ASX D/N H07.5, C04.0, N01.5, O03.5, S00.0, X00.0, Y00.0, Z00.0 C CYS CYSTEINE H07.0, C03.0, N01.0, O02.0, S01.0, X00.0, Y00.0, Z00.0 D ASP ASPARTIC H07.0, C04.0, N01.0, O04.0, S00.0, X00.0, Y00.0, Z00.0 E GLU GLUTAMIC H09.0, C05.0, N01.0, O04.0, S00.0, X00.0, Y00.0, Z00.0 F PHE PHENYLALANINE H11.0, C09.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 G GLY GLYCINE H05.0, C02.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 H HIS HISTIDINE H09.0, C06.0, N03.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 I ILE ISOLEUCINE H13.0, C06.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 J --- H00.0, C00.0, N00.0, O00.0, S00.0, X00.0, Y00.0, Z00.0 K LYS LYSINE H14.0, C06.0, N02.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 L LEU LEUCINE H13.0, C06.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 To continue press once. ^T M MET METHIONINE H11.0, C05.0, N01.0, O02.0, S01.0, X00.0, Y00.0, Z00.0 N ASN ASPARAGINE H08.0, C04.0, N02.0, O03.0, S00.0, X00.0, Y00.0, Z00.0 O EAU H2O WATER H-2.0, C00.0, N00.0, O01.0, S00.0, X00.0, Y00.0, Z00.0 P PRO PROLINE H09.0, C05.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 Q GLN GLUTAMINE H10.0, C05.0, N02.0, O03.0, S00.0, X00.0, Y00.0, Z00.0 R ARG ARGININE H14.0, C06.0, N04.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 S SER SERINE H07.0, C03.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 T THR THREONINE H09.0, C04.0, N01.0, O03.0, S00.0, X00.0, Y00.0, Z00.0 U --- H00.0, C00.0, N00.0, O00.0, S00.0, X00.0, Y00.0, Z00.0 V VAL VALINE H11.0, C05.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 W TRP TRYPTOPHAN H12.0, C11.0, N02.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 X UNK UNKNOWN (ALA) H07.0, C03.0, N01.0, O02.0, S00.0, X00.0, Y00.0, Z00.0 Y TYR TYROSINE H11.0, C09.0, N01.0, O03.0, S00.0, X00.0, Y00.0, Z00.0 Z GLX E/Q H09.5, C05.0, N01.5, O03.5, S00.0, X00.0, Y00.0, Z00.0 The uncommitted one-letter codes J and U can be used for special residues by editing their compositions (and pet names) into a New file FZERO.DAT in exactly the same format seen there for other residues. (H09.5 means 9.5 hydrogens etc.) If J or U have atom species X,Y,Z other than H,C,N,O,S, replace the 0,0,0 dummy zero-angle scattering factors for X,Y,Z by the needed ones on FZERO.DAT line 2. To resume use of the program, press once. ^T ! CLEAR TEMP AT BOTTOM, LOOP INPUT CHARS TILL BS (RESTART) OR LF (DONE)! !NEXT! QEJ.,ZK7:^T7:^T OK ><^TI -1A-8"EONIX' -1A-10"E0;'> ! SKIPPING SPACES, PUT NR IN #T, ADD TO #R, CODE x IN QT, AS x IF ! ! 1-LETTER CODE OR AS x IF MULTI-LETTER CODE. SEARCH TABLE FOR CODE.! QEJ::SS \UTQT%R ::SS  Z-3-."E^UT |^UT ' .,Z-2:XT:^UT  0J.,QE:FBQT"U RESIDUE NAME NOT FOUND. ENTER CORRECTED LINE, OR HELP TO SEE KNOWN NAMES. ONEXT' ! CODE FOUND.  USE HACKS FOR HELP, END, ELSE PICK UP ATOMS AND CALC F(OOO). ! ! HACK FOR COUNTING WATER (KEPT APART FROM RESIDUES) IS -2 FOR ITS HYDROGEN.! ! THIS HACK (EXTENDED) OR SIMILAR CAN BE USED FOR ALCOHOLS, ETC. - SUBTRACT! ! THEM JUST AS QW(WATERS) ARE SUBTRACTED, FROM QR(RESIDUES) BELOW ENDGAME. ! QE-.-9"EOHELP' QE-.-2"EOEND' S H\U0Q0"L-Q0U0 QT%W'Q0*QTU0C\*QT/10%0 Q0%H Q1*Q0%F SA\*QTU0C\*QT/10%0 Q0%C Q2*Q0%F SA\*QTU0C\*QT/10%0 Q0%N Q3*Q0%F SA\*QTU0C\*QT/10%0 Q0%O Q4*Q0%F SA\*QTU0C\*QT/10%0 Q0%S Q5*Q0%F SA\*QTU0C\*QT/10%0 Q0%X Q6*Q0%F SA\*QTU0C\*QT/10%0 Q0%Y Q7*Q0%F SA\*QTU0C\*QT/10%0 Q0%Z Q8*Q0%F QE,Z-2:X932:^U9 !NIX! ONEXT !END! QEJG9 Here is your input: QEJ<Z-.-80"G.,.+80T 80CF>|.,ZT 0;'> ! End game - Subtract (#residues-1) (Q9) waters from F(000), fix #H,#O counts.! -QW%R 0U9 QR-1"U-(QR-1)U9' ((2*Q9)+QH)#(Q9+QW)"S You've some ODD water there haven't you?  ' Q9*2%HQ9*2%F Q9%OQ9*8%F : The QR:= entered residues, assuming a single peptide chain (-1%R"L0UR'QR:= waters removed), no disulfide bonds and QW:=: ordered (bound) waters, contribute QF:= : to F(000) per asymmetric unit. The numbers of atoms per asymmetric unit then are: QH:=: H, QC:=: C, QN:=: N, QO:=: O, QS:=: S QX:=: X, QY:=: Y, QZ:=: Z