SITE_TYPE= QUERYDIR=target02-query-1276014743-7187 EMAIL=servers@predictioncenter.org SUBJECTLINE= ROOTDIR:=/projects/compbio/experiments/protein-predict/SAM_T02${SITE_TYPE} SCRIPTSDIR:= ${ROOTDIR}/scripts HTMLDIR := /projects/compbio/.html/SAM_T02${SITE_TYPE} LOGDIR := ${HTMLDIR}/log LOGFILE := ${LOGDIR}/logfile WORKDIR:= ${HTMLDIR}/results/${QUERYDIR} BASEURL := http://www.soe.ucsc.edu/projects/compbio/SAM_T02${SITE_TYPE}/results/${QUERYDIR} #home for frozen versions of the programs and scripts we need #note: these are also set in BIN-SCRIPTS2K/sam-t2k.conf BIN := ${ROOTDIR}/bin_freeze BIN-SAM := ${BIN}/sam PCB := /projects/compbio/bin PCPR := /projects/compbio/programs MAKE := /usr/bin/gmake CONVERSION_DIR := ${ROOTDIR}/casp_convert #size of the template library (t2k.ids) LIBSIZE := 17000 A2M2HTML := ${SCRIPTSDIR}/a2m2html PCEM := /projects/compbio/experiments/models.97 PCEM-INDEXES := /projects/compbio/experiments/models.97/indexes TARG_AL:= ${TARGET}.t2k HOST ?= $(shell hostname) ifneq "$(findstring kilokluster,${HOST})" "" CLUSTER_HEAD ?= moai-10 else ifneq "$(findstring bmecluster,${HOST})" "" CLUSTER_HEAD ?= bmecluster endif endif ################## # pseudo targets # ################## default: \ log_user summary_create summary_inputs clean receipt_ack \ build_t2k_alignment build_pretty_alignment build_mod w0.5_logo \ 1.end_section \ summary_2track 2track \ 2.end_section \ summary_target_mod_scores \ ${TARG_AL}.100-30-dssp-ebghstl.target-scores \ ${TARG_AL}.100-30-stride-ebghtl.target-scores \ ${TARG_AL}.100-30-str.target-scores \ 1track_target_mod_scores \ 3.end_section \ summary_template_mod_scores template_mod_scores \ 4.end_section \ summary_top_hits top_hits \ 5.end_section \ summary_top_alignments simple_seed_mod build_top_alignments final_predictions \ 6.end_section \ summary_end log_user: ${TARGET}.log_user summary_create: ${TARGET}.summary_create summary_inputs: ${TARGET}.summary_inputs clean: ${TARGET}.a2m receipt_ack: ${TARGET}.receipt_ack build_t2k_alignment: ${TARG_AL}.a2m.gz build_pretty_alignment: ${TARG_AL}.pa.html build_mod: ${TARG_AL}.w0.5.mod \ ${TARGET}.mod_report w0.5_logo: ${TARG_AL}.w0.5-logo.eps \ ${TARG_AL}.w0.5-logo.pdf ${SCRIPTSDIR}/add_summary_multiple_formats \ "SAM_T02 multiple alignment---sequence logo" \ ${TARG_AL}.w0.5-logo \ eps pdf >> summary.html dssp_logo: ${TARG_AL}.dssp-ebghstl-logo.eps ${TARG_AL}.dssp-ebghstl-logo.pdf ${SCRIPTSDIR}/add_summary_multiple_formats \ "DSSP EBGHSTL prediction---sequence logo" \ ${TARG_AL}.dssp-ebghstl-logo \ eps pdf \ >> summary.html echo '
' >> summary.html stride_logo: ${TARG_AL}.stride-ebghtl-logo.eps ${TARG_AL}.stride-ebghtl-logo.pdf ${SCRIPTSDIR}/add_summary_multiple_formats \ "Stride EBGHTL prediction---sequence logo" \ ${TARG_AL}.stride-ebghtl-logo \ eps pdf \ >> summary.html echo '
' >> summary.html str_logo: ${TARG_AL}.str-logo.eps ${TARG_AL}.str-logo.pdf ${SCRIPTSDIR}/add_summary_multiple_formats \ "Str prediction---sequence logo" \ ${TARG_AL}.str-logo \ eps pdf >> summary.html echo '
' >> summary.html dssp-ehl2_logo: ${TARG_AL}.dssp-ehl2-logo.eps ${TARG_AL}.dssp-ehl2-logo.pdf ${SCRIPTSDIR}/add_summary_multiple_formats \ "DSSP 3-value prediction---sequence logo" \ ${TARG_AL}.dssp-ehl2-logo \ eps pdf \ >> summary.html summary_2track: ${SCRIPTSDIR}/add_section_head_summary_html \ ' \ Secondary Structure Prediction \ \ (Explanation of secondary-structure predictions) \ ' \ >> summary.html 2track: ${TARG_AL}-thin90.a2m.gz \ do_str str_logo \ do_dssp dssp_logo \ do_stride stride_logo \ do_dssp-ehl2 dssp-ehl2_logo do_dssp: ${TARG_AL}.dssp-ebghstl.rdb \ ${TARG_AL}.dssp-ebghstl.seq \ ${TARG_AL}.dssp-ebghstl.mod \ ${TARG_AL}.dssp-color.rasmol ${SCRIPTSDIR}/add_summary_multiple_formats \ "DSSP EBGHSTL structure prediction" \ ${TARG_AL}.dssp-ebghstl \ rdb seq \ >> summary.html do_stride: ${TARG_AL}.stride-ebghtl.rdb \ ${TARG_AL}.stride-ebghtl.seq \ ${TARG_AL}.stride-ebghtl.mod \ ${TARG_AL}.stride-color.rasmol ${SCRIPTSDIR}/add_summary_multiple_formats \ "Stride EBGHTL structure prediction" \ ${TARG_AL}.stride-ebghtl \ rdb seq \ >> summary.html do_str: ${TARG_AL}.str.rdb \ ${TARG_AL}.str.seq \ ${TARG_AL}.str.mod \ ${TARG_AL}.str-color.rasmol ${SCRIPTSDIR}/add_summary_multiple_formats \ "Str structure prediction" \ ${TARG_AL}.str \ rdb seq \ >> summary.html do_dssp-ehl2: ${TARG_AL}.dssp-ehl2.rdb \ ${TARG_AL}.dssp-ehl2 \ ${TARG_AL}.dssp-ehl2.mod ${SCRIPTSDIR}/add_summary_multiple_formats \ "DSSP 3-value prediction" \ ${TARG_AL}.dssp-ehl2 \ rdb seq \ >> summary.html summary_target_mod_scores: ${TARGET}.summary_target_mod_scores %.target-scores: ${MAKE} TARGET=${TARGET} $*.mlib \ $*.dist \ $*-target-scores.rdb \ $*-target-scores.html \ $*-target-scores.report # target with action but dummy file name, to force report to summary.html ${TARG_AL}.%-target-scores.report: ${TARG_AL}.%-target-scores.rdb \ ${TARG_AL}.%-target-scores.html ${SCRIPTSDIR}/add_summary_html \ "Annotated amino acid/$* two-track target model scores" \ ${TARG_AL}.$*-target-scores.html >> summary.html 1track_target_mod_scores: ${TARG_AL}.w0.5.mlib \ ${TARG_AL}.w0.5.dist \ ${TARG_AL}.w0.5-target-scores.rdb \ ${TARG_AL}.w0.5-target-scores.html ${SCRIPTSDIR}/add_summary_html \ "Annotated amino acid single-track target model scores of PDB" \ ${TARG_AL}.w0.5-target-scores.html >> summary.html summary_template_mod_scores: ${TARGET}.summary_template_mod_scores template_mod_scores: ${TARGET}.template-lib-scores.rdb \ ${TARGET}.template-lib-scores.html \ ${TARGET}.template-lib-scores.print ${TARGET}.template-lib-scores.print: ${TARGET}.template-lib-scores.html ${SCRIPTSDIR}/add_summary_html "Annotated template model scores" $^ >> summary.html summary_top_hits: ${TARGET}.summary_top_hits top_hits: ${TARGET}.best-scores.rdb \ ${TARGET}.best-scores.html summary_top_alignments: ${TARGET}.summary_top_alignments simple_seed_mod: ${TARGET}.mod #top_alignments: ${TARGET}.top_hits_pwise_alignments.rdb build_top_alignments: ${TARGET}.best-scores.rdb ${TARGET}.mod ${SCRIPTSDIR}/make-alignments ${TARGET} < $< final_predictions: many-alignments top-alignments many-alignments: ${TARGET}.predicted_alignments.rdb \ ${TARGET}.many_alignments.html ${SCRIPTSDIR}/add_summary_html \ "T02 Many Alignments Summary" \ ${TARGET}.many_alignments.html \ >> summary.html top-alignments: ${TARGET}.top_reported_alignments.rdb \ ${TARGET}.top_reported_alignments.html ${SCRIPTSDIR}/add_summary_html \ "T02 Top Models Summary" \ ${TARGET}.top_reported_alignments.html \ >> summary.html summary_end: ${TARGET}.summary_end ################# # web-interface # ################# %.log_user: ${SCRIPTSDIR}/log_user ${EMAIL} ${WORKDIR}/$*.a2m ${QUERYDIR} >> ${LOGFILE} #create html results page %.summary_create: ${SCRIPTSDIR}/create_summary_html $* ${BASEURL} > summary.html chgrp protein summary.html #start the inputs section %.summary_inputs: ${SCRIPTSDIR}/add_section_head_summary_html "Inputs and Multiple Alignments" >> summary.html #start the two-track section %.summary_2track: ${SCRIPTSDIR}/add_section_head_summary_html "Secondary Structure Prediction" >> summary.html #start the target model scores section %.summary_target_mod_scores: ${SCRIPTSDIR}/add_section_head_summary_html "Target model scores" >> summary.html #start the template model scores section %.summary_template_mod_scores: ${SCRIPTSDIR}/add_section_head_summary_html "Template model scores" >> summary.html #start the top hits section %.summary_top_hits: ${SCRIPTSDIR}/add_section_head_summary_html "Top Hits" >> summary.html #start the top alignments section %.summary_top_alignments: ${SCRIPTSDIR}/add_section_head_summary_html "Alignments for Top Hits" >> summary.html #sequence cleaning %.a2m: %.raw if !(${SCRIPTSDIR}/clean_a2m $*.raw > $@); \ then echo "

" >> summary.html; \ echo "Error: The submitted sequence was longer than 500 amino acids \ , or else was not an amino acid sequence. We suggest breaking long protein chains into different domains \ with blast or psiblast and submitting the domains separately. Alternatively, you can split long \ proteins into overlapping sections of less than 500 amino acids and submit them separately. Please \ do not submit DNA sequences - our server is not set up to handle them." >> summary.html; \ echo "



" >> summary.html; \ fi #to come: format checking and conversion if necessary in the clean_a2m script #acknowledge sequence receipt #add pointer to sequence file to the html results page %.receipt_ack: %.a2m echo Received sequence $*.a2m ${SCRIPTSDIR}/add_summary_html "Submitted sequence(s)" \ $*.a2m >> summary.html %.end_section: ${SCRIPTSDIR}/end_section_summary_html >> summary.html #end html results page %.summary_end: ${SCRIPTSDIR}/end_summary_html >> summary.html ######################################## # Building a T2K alignment from a seed # ######################################## ifndef A2M A2M := t2k.a2m.gz endif TARGET-A2M := ${TARGET}.${A2M} #frozen versions of these programs BIN-SCRIPTS2K := ${BIN}/scripts2k TARGET2K := ${BIN-SCRIPTS2K}/target2k #build a model (somewhat) quickly for web-page testing TARGET2KTEST := ${BIN-SCRIPTS2K}/target2k -iter 1 HMMSCORE := ${BIN-SAM}/hmmscore HMMSCORE_NEW := ${BIN-SAM}/hmmscore NR:=/scratch/data/nrp/nr ifeq ($(wildcard ${NR}.*),) NR:=/var/tmp/nrp/nr endif ifeq ($(wildcard ${NR}.*),) NR:=/projects/compbio/data/nrp/nr endif %.t2k.a2m.gz: %.a2m ${TARGET2K} -out $*.t2k \ -seed $^ \ -db ${NR} \ -tmp_dir /tmp \ -keep_temporary -1 \ -blast_max_report 2000 gzip -f $*.t2k.a2m ${SCRIPTSDIR}/add_summary_html "SAM_T02 multiple alignment in a2m format" \ $@ >> summary.html #thin the alignment to 90% sequence identity for use with the neural nets #(which were trained on thinned alignments) %-thin90.a2m.gz: %.a2m.gz sleep 10 # wait a bit to prevent problems with file-system synchronization ${BIN-SAM}/uniqueseq unique-tmp -alignfile $^ -percent_id 0.90 gzip -9f unique-tmp.a2m mv unique-tmp.a2m.gz $@ sleep 50 # wait a bit to prevent problems with file-system synchronization %.mod_report: %.t2k.w0.5.mod ${SCRIPTSDIR}/add_summary_html "SAM_T02 target hidden Markov model" \ $^ >> summary.html #convert an a2m.gz alignment to a human-readable model %.w0.5.mod: %.a2m.gz ${BIN-SCRIPTS2K}/w0.5 $^ $@.tmp ${BIN-SAM}/hmmconvert $*.w0.5 -model_file $@.tmp -rm -f $@.tmp #compress a file %.gz: % gzip -f $^ #make a pretty-aligned alignment from a compressed a2m alignment %.pa: %.a2m.gz ${BIN-SAM}/prettyalign $^ -m8 -i -n -L3333 > $@ %.pa.html: %.a2m.gz gunzip -c $^ > tmp.a2m ifneq (${CLUSTER_HEAD},) ssh ${CLUSTER_HEAD} 'cd ${WORKDIR}; ${A2M2HTML} -a2m_in tmp.a2m > $@' else ${A2M2HTML} -a2m_in tmp.a2m > $@ endif rm tmp.a2m ${SCRIPTSDIR}/add_summary_html \ "SAM_T02 multiple alignment in pretty html format" \ $@ >> summary.html ################################## # ANNOTATING A TARGET # ################################## # secondary structure prediction # ################################## CASP5-2D-ID := UCSC-SAM_T02-server CASP6-2D-ID := 'SAM-T02' CASP8-ID := SAM-T02-server BIN-PREDICT2ND := ${BIN}/predict_2nd LIB:= /projects/compbio/lib PREDICT-2ND := ${BIN-PREDICT2ND}/predict-2nd EBGHTL-TWOTRACKDBS := ${PCEM-INDEXES}/t2k.x-seqs,${PCEM-INDEXES}/t2k.2ds EBGHSTL-TWOTRACKDBS := ${PCEM-INDEXES}/t2k.x-seqs,${PCEM-INDEXES}/t2k.dssps STR-TWOTRACKDBS := ${PCEM-INDEXES}/t2k.x-seqs,${PCEM-INDEXES}/t2k.strs MIXTURE := ${LIB}/recode3.20comp TRANS-REG := ${LIB}/fssp-trained.regularizer EBGHSTL-NET := ${BIN-PREDICT2ND}/networks/t2k-5740-IDaaHr-5-15-7-15-9-15-13-ebghstl-seeded.net EBGHTL-NET:= ${BIN-PREDICT2ND}/networks/t2k-5651-IDaaHr-5-15-7-15-9-15-13-ebghtl-stride-seeded.net STR-NET := ${BIN-PREDICT2ND}/networks/t2k-5651-IDaaHr-5-15-7-15-9-15-13-str-seeded.net T2K-DB-MLIBS := ${PCEM-INDEXES}/t2k-w0.5-db.mlib %.report_dssp : %.t2k.dssp-ebghstl %.t2k.dssp-ebghstl.rdb %.t2k.dssp-ebghstl.seq %.t2k.dssp-ebghstl.mod ${SCRIPTSDIR}/add_summary_html "DSSP EBGHSTL structure prediction CASP format" \ $*.t2k.dssp-ebghstl >> summary.html ${SCRIPTSDIR}/add_summary_html "DSSP EBGHSTL structure prediction RDB format" \ $*.t2k.dssp-ebghstl.rdb >> summary.html ${SCRIPTSDIR}/add_summary_html "DSSP EBGHSTL structure prediction sequence format" \ $*.t2k.dssp-ebghstl.seq >> summary.html ${SCRIPTSDIR}/add_summary_html "SAM_T02 DSSP EBGHSTL target HMM" \ $*.t2k.dssp-ebghstl.mod >> summary.html %.dssp-ebghstl %.dssp-ebghstl.rdb %.dssp-ebghstl.seq : %-thin90.a2m.gz ${EBGHSTL-NET} echo ReadAlphabet /projects/compbio/lib/alphabet/DSSP.alphabet > tmp.script echo ReadNeuralNet ${EBGHSTL-NET} >> tmp.script echo ReadA2M $< >> tmp.script echo PrintPrediction $*.dssp-ebghstl ${CASP8-ID} >> tmp.script echo PrintPredictionFasta $*.dssp-ebghstl.seq >> tmp.script echo PrintRDB $*.dssp-ebghstl.rdb >> tmp.script ${PREDICT-2ND} < tmp.script rm tmp.script %.dssp-color.rasmol: %.dssp-ebghstl.seq ${SCRIPTSDIR}/rasmol_color_from_burial -pdb ${TARGET}.blank.pdb < $^ > $@ %.report_stride : %.t2k.stride-ebghtl %.t2k.stride-ebghtl.rdb %.t2k.stride-ebghtl.seq %.t2k.stride-ebghtl.mod ${SCRIPTSDIR}/add_summary_html "Stride EBGHTL structure prediction CASP format" \ $*.t2k.stride-ebghtl >> summary.html ${SCRIPTSDIR}/add_summary_html "Stride EBGHTL structure prediction RDB format" \ $*.t2k.stride-ebghtl.rdb >> summary.html ${SCRIPTSDIR}/add_summary_html "Stride EBGHTL structure prediction sequence format" \ $*.t2k.stride-ebghtl.seq >> summary.html ${SCRIPTSDIR}/add_summary_html "SAM_T02 Stride EBGHTL target HMM" \ $*.t2k.stride-ebghtl.mod >> summary.html %.stride-ebghtl %.stride-ebghtl.rdb %.stride-ebghtl.seq : %-thin90.a2m.gz ${EBGHTL-NET} echo ReadAlphabet /projects/compbio/lib/alphabet/DSSP.alphabet > tmp.script echo ReadNeuralNet ${EBGHTL-NET} >> tmp.script echo ReadA2M $< >> tmp.script echo PrintPrediction $*.stride-ebghtl >> tmp.script echo PrintPredictionFasta $*.stride-ebghtl.seq >> tmp.script echo PrintRDB $*.stride-ebghtl.rdb >> tmp.script ${PREDICT-2ND} < tmp.script rm tmp.script %.stride-color.rasmol: %.stride-ebghtl.seq ${SCRIPTSDIR}/rasmol_color_from_burial -pdb ${TARGET}.blank.pdb < $^ > $@ %.report_str : %.t2k.str %.t2k.str.rdb %.t2k.str.seq %.t2k.str.mod ${SCRIPTSDIR}/add_summary_html "STR structure prediction CASP format" \ $*.t2k.str >> summary.html ${SCRIPTSDIR}/add_summary_html "STR structure prediction RDB format" \ $*.t2k.str.rdb >> summary.html ${SCRIPTSDIR}/add_summary_html "STR structure prediction sequence format" \ $*.t2k.str.seq >> summary.html ${SCRIPTSDIR}/add_summary_html "SAM_T02 STR target HMM" \ $*.t2k.str.mod >> summary.html %.str %.str.rdb %.str.seq : %-thin90.a2m.gz ${STR-NET} echo ReadAlphabet /projects/compbio/lib/alphabet/str.alphabet > tmp.script echo ReadNeuralNet ${STR-NET} >> tmp.script echo ReadA2M $< >> tmp.script echo PrintPrediction $*.str >> tmp.script echo PrintPredictionFasta $*.str.seq >> tmp.script echo PrintRDB $*.str.rdb >> tmp.script ${PREDICT-2ND} < tmp.script rm tmp.script %.str-color.rasmol: %.str.seq ${SCRIPTSDIR}/rasmol_color_from_burial -pdb ${TARGET}.blank.pdb < $^ > $@ %.dssp-ebghstl.mod: %.dssp-ebghstl.rdb ${SCRIPTSDIR}/2nd-rdb-to-sam-model -alphabet EBGHSTL $^ $@ %.stride-ebghtl.mod: %.stride-ebghtl.rdb ${SCRIPTSDIR}/2nd-rdb-to-sam-model -alphabet EBGHTL $^ $@ %.str.mod: %.str.rdb ${SCRIPTSDIR}/2nd-rdb-to-sam-model -alphabet STR $^ $@ %.dssp-ehl2.mod: %.dssp-ehl2.rdb ${SCRIPTSDIR}/2nd-rdb-to-sam-model -alphabet EHL2 $^ $@ #reduce our predictions to standard EHL alphabet %.dssp-ehl2.rdb: %.dssp-ebghstl.rdb %.stride-ebghtl.rdb %.str.rdb ${SCRIPTSDIR}/RDBCombine $^ -a ${CASP8-ID} > $@ %.report_dssp_ehl2: %.t2k.dssp-ehl2 ${SCRIPTSDIR}/add_summary_html "DSSP EHL structure prediction CASP format" \ $*.t2k.dssp-ehl2 >> summary.html ${SCRIPTSDIR}/add_summary_html "DSSP EHL structure prediction RDB format" \ $*.t2k.dssp-ehl2.rdb >> summary.html #also add the predictions to the Secondary Structure Prediction section #in the same ordering as the other alphabet predictions %.dssp-ehl2: %.dssp-ehl2.rdb ${SCRIPTSDIR}/rdb2casp $^ ${CASP8-ID}> $@ # BUG: don't have rdb->seq format conversion for dssp-ehl2 # %.dssp-ehl2-color.rasmol: %.dssp-ehl2.seq # ${SCRIPTSDIR}/rasmol_color_from_burial -pdb ${TARGET}.blank.pdb < $^ > $@ #this target creates the mlib and dist file with no scores # we then remove the dist file so it will be created when # %.100-30-dssp-ebghstl.dist is called %.100-30-dssp-ebghstl.mlib: %.w0.5.mod %.dssp-ebghstl.mod ${HMMSCORE} $*.100-30-dssp-ebghstl \ -calibrate 1 \ -alphabet protein,EBGHSTL \ -trackmod $*.w0.5.mod,$*.dssp-ebghstl.mod \ -db ${EBGHSTL-TWOTRACKDBS} \ -trackcoeff 1.0,0.3 \ -sw 2 -dpstyle 0 -subtract_null 4 \ -select_score 0 \ -trackprior rsdb-comp2.32comp,t99-2d-comp.9comp -rm -f ${@:.mlib=.dist} %.100-30-dssp-ebghstl.dist: %.100-30-dssp-ebghstl.mlib ${HMMSCORE} $*.100-30-dssp-ebghstl \ -modellibrary $^ \ -db ${EBGHSTL-TWOTRACKDBS} \ -db_size ${LIBSIZE} \ -select_score 4 -Emax 40. mv ${@:.dist=.1}.$@ $@ #this target creates the mlib and dist file with no scores # we then remove the dist file so it will be created when # %.100-30-stride-ebghtl.dist is called %.100-30-stride-ebghtl.mlib: %.w0.5.mod %.stride-ebghtl.mod ${HMMSCORE} $*.100-30-stride-ebghtl \ -calibrate 1 \ -alphabet protein,EBGHTL \ -trackmod $*.w0.5.mod,$*.stride-ebghtl.mod \ -db ${EBGHTL-TWOTRACKDBS} \ -trackcoeff 1.0,0.3 \ -sw 2 -dpstyle 0 -subtract_null 4 \ -select_score 0 \ -trackprior rsdb-comp2.32comp,t99-ebghtl-comp.6comp -rm -f ${@:.mlib=.dist} # this target creates mlib and distfile in one step but then it's awkward # to get the distfile printed to the web page in a separate section #%.100-30-stride-ebghtl.mlib: %.w0.5.mod %.stride-ebghtl.mod # ${HMMSCORE} $*.100-30-stride-ebghtl \ # -calibrate 1 \ # -alphabet protein,EBGHTL \ # -trackmod $*.w0.5.mod,$*.stride-ebghtl.mod \ # -db ${EBGHTL-TWOTRACKDBS} \ # -trackcoeff 1.0,0.3 \ # -sw 2 -dpstyle 0 -subtract_null 4 \ # -select_score 8 \ # -trackprior rsdb-comp2.32comp,t99-ebghtl-comp.6comp # ${SCRIPTSDIR}/add_summary_html "Calibration results for amino acid/STRIDE EBGHTL two-track target model" $@ >> summary.html %.100-30-stride-ebghtl.dist: %.100-30-stride-ebghtl.mlib ${HMMSCORE} $*.100-30-stride-ebghtl \ -modellibrary $^ \ -db ${EBGHTL-TWOTRACKDBS} \ -db_size ${LIBSIZE} \ -select_score 4 -Emax 40. mv ${@:.dist=.1}.$@ $@ #this target creates the mlib and dist file with no scores # we then remove the dist file so it will be created when # %.100-30-str.dist is called %.100-30-str.mlib: %.w0.5.mod %.str.mod ${HMMSCORE} $*.100-30-str \ -calibrate 1 \ -alphabet protein,STR \ -trackmod $*.w0.5.mod,$*.str.mod \ -db ${STR-TWOTRACKDBS} \ -trackcoeff 1.0,0.3 \ -sw 2 -dpstyle 0 -subtract_null 4 \ -select_score 0 \ -trackprior rsdb-comp2.32comp,t99-2d-comp.9comp -rm -f ${@:.mlib=.dist} %.100-30-str.dist: %.100-30-str.mlib ${HMMSCORE} $*.100-30-str \ -modellibrary $^ \ -db ${STR-TWOTRACKDBS} \ -db_size ${LIBSIZE} \ -select_score 4 -Emax 40. mv ${@:.dist=.1}.$@ $@ %.100-30-dssp-ebghstl-target-scores.rdb: %.100-30-dssp-ebghstl.dist ${SCRIPTSDIR}/annotate_target_scores t2k.100-30-dssp-ebghstl < $^ > $@ %.100-30-stride-ebghtl-target-scores.rdb: %.100-30-stride-ebghtl.dist ${SCRIPTSDIR}/annotate_target_scores t2k.100-30-stride-ebghtl < $^ > $@ %.100-30-str-target-scores.rdb: %.100-30-str.dist ${SCRIPTSDIR}/annotate_target_scores t2k.100-30-str < $^ > $@ %-target-scores.html: %-target-scores.rdb ${SCRIPTSDIR}/oneway_hits_rdb2html ${@:-target-scores.html=} < $^ > $@ #HMMSCORE generates a lot of trash to stderr in scoring a template library # should I redirect stderr to /dev/null? %.template-lib-scores.rdb: ${TEMPLATE-LIB-DEPEND} ${TARGET}.a2m ${HMMSCORE_NEW} $*.template-lib \ -modellibrary ${T2K-DB-MLIBS} \ -db_size ${LIBSIZE} \ -db ${TARGET}.a2m -rdb 1 \ -select_score 4 -Emax 40 grep -v '^[#]' < $*.template-lib.dist-rdb \ | ${SCRIPTSDIR}/shorten_mod_names \ | ${PCB}/row SEQID eq ${TARGET} \ | ${PCB}/sorttbl EVALUE \ | ${SCRIPTSDIR}/annotate_template_scores \ > $@ -rm $*.template-lib.dist-rdb %.template-lib-scores.html: %.template-lib-scores.rdb head -n 520 < $^ \ | ${SCRIPTSDIR}/oneway_hits_rdb2html $*.template-lib \ > $@ # single-track model pdb scoring #PDB_DB := /projects/compbio/data/pdb/all-protein #PDB_DB := /projects/compbio/data/pdb/dunbrack-pdbaa PDB_DB := ${ROOTDIR}/data/pdbaa #calibrate the single track model #this target creates the mlib and dist file with no scores # we then remove the dist file so it will be created when # %.w0.5.dist is called %.w0.5.mlib: %.w0.5.mod ${HMMSCORE} $*.w0.5 \ -calibrate 1 \ -i $*.w0.5.mod \ -db ${PCEM-INDEXES}/t2k.seqs \ -sw 2 -dpstyle 0 -subtract_null 4 \ -select_score 0 \ -trackprior rsdb-comp2.32comp -rm -f ${@:.mlib=.dist} %.w0.5.dist: %.w0.5.mlib ${HMMSCORE} $*.w0.5 \ -modellibrary $^ \ -db ${PDB_DB} \ -dbsize ${LIBSIZE} \ -select_score 4 -Emax 40. mv ${@:.dist=.1}.${@:.dist=.mod}.dist $@ %.w0.5-target-scores.rdb: %.w0.5.dist ${SCRIPTSDIR}/annotate_target_scores t2k.w0.5 < $^ > $@ ############# # LOGOS # ############# #what is the target.seq if an alignment is submitted ? %.w0.5-logo.eps: %.w0.5.mod %.dssp-ebghstl.seq ${BIN-SAM}/makelogo $*.w0.5-logo -i $< \ -logo_rel_entropy 1 \ -logo_bars_per_line 50 -logo_title "$* w0.5" \ -logo_caption_f $*.dssp-ebghstl.seq \ -logo_under_file ${TARGET}.a2m %.stride-ebghtl-logo.eps: %.stride-ebghtl.mod ${BIN-SAM}/makelogo $*.stride-ebghtl-logo -i $^ \ -logo_rel_entropy 1 \ -logo_bars_per_line 50 -logo_title "$* EBGHTL" \ -logo_caption_f $*.stride-ebghtl.seq \ -logo_under_file ${TARGET}.a2m \ -logo_color_file /projects/compbio/lib/stride.colors %.dssp-ebghstl-logo.eps: %.dssp-ebghstl.mod ${BIN-SAM}/makelogo $*.dssp-ebghstl-logo -i $^ \ -logo_rel_entropy 1 \ -logo_bars_per_line 50 -logo_title "$* EBGHSTL" \ -logo_caption_f $*.dssp-ebghstl.seq \ -logo_under_file ${TARGET}.a2m \ -logo_color_file /projects/compbio/lib/stride.colors %.str-logo.eps: %.str.mod ${BIN-SAM}/makelogo $*.str-logo -i $^ \ -logo_rel_entropy 1 \ -logo_bars_per_line 50 -logo_title "$* STR" \ -logo_caption_f $*.str.seq \ -logo_under_file ${TARGET}.a2m \ -logo_color_file /projects/compbio/lib/str.colors # BUG: don't have dssp-ehl2.seq, so using dssp-ebghstl.seq %.dssp-ehl2-logo.eps: %.dssp-ehl2.mod %.dssp-ebghstl.seq ${BIN-SAM}/makelogo $*.dssp-ehl2-logo -i $< \ -logo_rel_entropy 1 \ -logo_bars_per_line 50 -logo_title "$* DSSP-EHL2" \ -logo_caption_f $*.dssp-ebghstl.seq \ -logo_under_file ${TARGET}.a2m \ -logo_color_file /projects/compbio/lib/dssp.colors ############### # TOP HITS # ############### # define the threshold below which you want hits reported. # If ANY of the methods reports a hit this good, it will be included # in ${TARGET}.best_scores.rdb ifndef NUM_BEST NUM_BEST := 15 endif ifndef BEST_EVALUE BEST_EVALUE := 1.e-5 endif #find the best hits (include dupes) %.best-scores.rdb: \ %.t2k.w0.5-target-scores.rdb \ %.template-lib-scores.rdb \ %.t2k.100-30-dssp-ebghstl-target-scores.rdb \ %.t2k.100-30-stride-ebghtl-target-scores.rdb \ %.t2k.100-30-str-target-scores.rdb ${SCRIPTSDIR}/best_scores -num ${NUM_BEST} -E ${BEST_EVALUE} $^ > $@ %.best-scores.html: %.best-scores.rdb ${PCB}/column Sequence_ID Length Evalue FSSP-rep SCOP_domain SCOP_suid < $^ > best.tmp ${SCRIPTSDIR}/oneway_hits_rdb2html $*.best_hits < best.tmp > $@ rm -rf best.tmp ${SCRIPTSDIR}/add_summary_html "Best scoring hits from all models" $@ >> summary.html ########################################### # ALIGNMENTS # ########################################### #track models to be used in pairwise alignments EBGHSTL_TRACKMOD := ${TARG_AL}.dssp-ebghstl.mod EBGHTL_TRACKMOD := ${TARG_AL}.stride-ebghtl.mod STR_TRACKMOD := ${TARG_AL}.str.mod T2K_MLIB := ${TARG_AL}.w0.5.mlib EBGHSTL_MLIB := ${TARG_AL}.100-30-dssp-ebghstl.mlib EBGHTL_MLIB := ${TARG_AL}.100-30-stride-ebghtl.mlib STR_MLIB := ${TARG_AL}.100-30-str.mlib #settings of how many templates to predict vs. number of #alignments to convert to CASP format must be done carefully # need to add error checking so these numbers don't conflict #with each other # how many alignments to select from best templates NUM_ALIGNMENTS := 150 #top alignments we report for CASP NUM_TOP := 10 #make links to the casp alignments? LINKS := 1 NO_LINKS := 0 #to come: transfer activity from the pairwise_alignments script #back to this Makefile. #the script has dependencies on some of Mark D.'s tcl scripts #which in turn depend on various scripts which are in various #locations in /projects/compbio. #to come: transfer the Diekhans scripts and all dependencies #into the SAM_T02/scripts directory #build an HMM from target sequence only to produce alignments #similar to simple Smith-Waterman. We observe that the #T2K HMMs are so general that they may drift away from the #original seed sequence %.mod: %.a2m ${BIN-SAM}/modelfromalign ${TARGET} \ -alignfile $^ \ -insert /projects/compbio/lib/fssp-trained.regularizer \ -aweight_bits 0.8 \ -fimtrans -1 \ -fimstrength 1 \ -ins_jump_conf 1 \ -match_jump_conf 1 \ -del_jump_conf 1 \ -binary_output 1 \ -prior_library /projects/compbio/lib/recode3.20comp \ -a2mdots 0 \ -a protein \ -sw 2 -jump_in_prob 0.2 -jump_out_prob 1 \ -aweight_method 1 \ -aweight_exponent 10 %.top_hits_t2k: %.best-scores.rdb ${SCRIPTSDIR}/get_t2k_lib_hits < $^ > $@ %.top_hits_non_t2k: %.best-scores.rdb ${SCRIPTSDIR}/get_t2k_lib_hits -negate < $^ > $@ #report sorted list of the pairwise alignments ## BUG: NEEDS TO DEPEND ON SOMETHING PRODUCED BY COMPLETION OF THE ## ALIGNMENT PROCESS %.predicted_alignments.rdb: %.best-scores.rdb ${SCRIPTSDIR}/gather_best_align_scores ${NUM_ALIGNMENTS} ${WORKDIR} ${TARGET} < $^ > $@ # Get the top ${NUM_TOP} reported alignments %.top_reported_alignments.rdb: %.predicted_alignments.rdb %.best-scores.rdb ${SCRIPTSDIR}/top_reported_alignments ${NUM_TOP} $^ > $@ #convert this to html and add to the summary page # create CASP alignments # pass in number of best alignments to be converted, directory where # conversion program is located and working directory %.many_alignments.rdb: %.predicted_alignments.rdb ${SCRIPTSDIR}/format_casp_alignments ${NUM_ALIGNMENTS} ${CONVERSION_DIR} ${WORKDIR} ${TARGET} ${NO_LINKS} ${CASP8-ID} < $^ > $@ #if WARNING=1, print an explanation and warning message about #top alignment selection WARNING := 1 NOWARNING := 0 %.many_alignments.html: %.predicted_alignments.rdb %.best-scores.rdb ${SCRIPTSDIR}/casp_summary_report_html \ --align $*.predicted_alignments.rdb \ --best $*.best-scores.rdb \ --target ${TARGET} \ --author ${CASP8-ID} \ > $@ %.top_reported_alignments.html: %.top_reported_alignments.rdb %.best-scores.rdb ${SCRIPTSDIR}/casp_summary_report_html \ --align $*.top_reported_alignments.rdb \ --best $*.best-scores.rdb \ --target ${TARGET} --make_al \ --author ${CASP8-ID} \ > $@ ifdef PRED ifdef PRED2 PRED-NOSTRUCT := ${PCEM}/pdb/${PRED2}/${PRED}/nostruct-align PRED-INFO := ${PCEM}/pdb/${PRED2}/${PRED}/info ifdef ALIGN-TYPE ifeq (${ALIGN-TYPE},local) SW:=2 endif ifeq (${ALIGN-TYPE},global) SW:=0 endif ifeq (${ALIGN-TYPE},simplesw) SW:=2 endif endif ifeq (${MASTER},target) ifeq (${ALIGN-TYPE},local) ALIGN-MODEL:=${TARG_AL}.w0.5.mod endif ifeq (${ALIGN-TYPE},global) ALIGN-MODEL:=${TARG_AL}.w0.5.mod endif ifeq (${ALIGN-TYPE},simplesw) ALIGN-MODEL:=${TARGET}.mod endif ALIGN-NAME := ${PRED}/${TARGET}-${PRED}-${ALIGN-TYPE}-adpstyle${ADP} endif ifeq (${MASTER},template) ALIGN-MODEL := ${PRED-NOSTRUCT}/${PRED}.t2k-w0.5.mod ALIGN-NAME := ${PRED}/${PRED}-${TARGET}-${ALIGN-TYPE}-adpstyle${ADP} endif ifeq (${MASTER},fssp) FSSP-STRUCT := ${PCEM}/pdb/${FSSP2}/${FSSP}/struct-align ALIGN-MODEL := ${FSSP-STRUCT}/${FSSP}.fssp-fw0.5.mod ALIGN-NAME := ${PRED}/${FSSP}-${TARGET}-fssp-${ALIGN-TYPE}-adpstyle${ADP} endif ifdef ALIGN-NAME single-track-alignment: ${ALIGN-NAME}.a2m echo $^ made. ${ALIGN-NAME}.a2m: ${ALIGN-MODEL} ${PRED}/${PRED}.seq ${HMMSCORE} ${ALIGN-NAME} \ -alphabet protein -i $< -db ${TARGET}.a2m \ -db ${PRED}/${PRED}.seq \ -db_size ${LIBSIZE} \ -simple_threshold 10000 \ -sw ${SW} -dpstyle 0 -subtract_null 4 \ -adpstyle ${ADP} \ -select_align 8 gzip -f ${ALIGN-NAME}.dist endif single-track-target-alignments: -mkdir ${PRED} -chmod 775 ${PRED} test -e ${PRED}/${PRED}.seq -o '!' -e ${PRED-INFO}/${PRED}.stride-mixed.seq \ || cp -p ${PRED-INFO}/${PRED}.stride-mixed.seq ${PRED}/${PRED}.seq test -e ${PRED}/${PRED}.seq \ || ${SCRIPTSDIR}/extract-one-seq ${PRED} < ${PDB_DB} > ${PRED}/${PRED}.seq \ || { echo removing rm ${PRED}/${PRED}.seq; rm ${PRED}/${PRED}.seq ;} -make -k ALIGN-TYPE=simplesw \ PRED=${PRED} PRED2=${PRED2} \ ADP=1 MASTER=target single-track-alignment -make -k ALIGN-TYPE=simplesw \ PRED=${PRED} PRED2=${PRED2} \ ADP=5 MASTER=target single-track-alignment -make -k ALIGN-TYPE=local \ PRED=${PRED} PRED2=${PRED2} \ ADP=1 MASTER=target single-track-alignment -make -k ALIGN-TYPE=local \ PRED=${PRED} PRED2=${PRED2} \ ADP=5 MASTER=target single-track-alignment -make -k ALIGN-TYPE=global \ PRED=${PRED} PRED2=${PRED2} \ ADP=1 MASTER=target single-track-alignment -make -k ALIGN-TYPE=global \ PRED=${PRED} PRED2=${PRED2} \ ADP=5 MASTER=target single-track-alignment -chmod 664 ${PRED}/* template-alignments: -mkdir ${PRED} -chmod 775 ${PRED} -make -k ALIGN-TYPE=local \ PRED=${PRED} PRED2=${PRED2} ADP=1 MASTER=template single-track-alignment -make -k ALIGN-TYPE=local \ PRED=${PRED} PRED2=${PRED2} ADP=5 MASTER=template single-track-alignment -make -k ALIGN-TYPE=global \ PRED=${PRED} PRED2=${PRED2} ADP=1 MASTER=template single-track-alignment -make -k ALIGN-TYPE=global \ PRED=${PRED} PRED2=${PRED2} ADP=5 MASTER=template single-track-alignment -chmod 664 ${PRED}/* ######################################## # FSSP-based alignments ######################################## ifdef FSSP ifdef FSSP2 fssp-template-alignments: -mkdir ${PRED} -chmod 775 ${PRED} -make -k ALIGN-TYPE=local \ PRED=${PRED} PRED2=${PRED2} ADP=5 \ MASTER=fssp FSSP=${FSSP} FSSP2=${FSSP2} single-track-alignment -make -k ALIGN-TYPE=global \ PRED=${PRED} PRED2=${PRED2} ADP=5 \ MASTER=fssp FSSP=${FSSP} FSSP2=${FSSP2} single-track-alignment -chmod 664 ${PRED}/* endif endif ######################################## # Two-track target alignments ######################################## ifndef STRUCT-WEIGHT STRUCT-WEIGHT:=0.3 endif ifdef STRUCT-ALPH # copy local structure alphabet name to HMMSCORE-ALPH, renaming as needed to # match HMMSCORE alphabet names HMMSCORE-ALPH := ${STRUCT-ALPH} ifeq (${STRUCT-ALPH},stride-ebghtl) HMMSCORE-ALPH := EBGHTL endif ifeq (${STRUCT-ALPH},dssp-ebghstl) HMMSCORE-ALPH := EBGHSTL endif ifeq (${STRUCT-ALPH},dssp-ehl2) HMMSCORE-ALPH := EHL2 endif # copy local structure alphabet name to SEQ-ALPH, renaming as needed to # match sequence names in info directories INFO-ALPH := ${STRUCT-ALPH} ifeq (${STRUCT-ALPH},stride-ebghtl) INFO-ALPH := 2d endif ifeq (${STRUCT-ALPH},dssp-ebghstl) INFO-ALPH := dssp endif ifeq (${STRUCT-ALPH},dssp-ehl2) INFO-ALPH := dssp endif TWO-ALIGN-NAME := ${PRED}/${TARGET}-${PRED}-${ALIGN-TYPE}-${STRUCT-ALPH}-${STRUCT-WEIGHT}-adpstyle${ADP} two-track-alignment: ${TWO-ALIGN-NAME}.a2m echo $^ made. ${TWO-ALIGN-NAME}.a2m: ${TARG_AL}.w0.5.mod ${TARG_AL}.${STRUCT-ALPH}.mod -mkdir ${PRED} -chmod 775 ${PRED} ${HMMSCORE} ${TWO-ALIGN-NAME} \ -alphabet protein,${HMMSCORE-ALPH} \ -trackmod ${TARG_AL}.w0.5.mod,${TARG_AL}.${STRUCT-ALPH}.mod \ -trackcoeff 1.0,${STRUCT-WEIGHT} \ -db ${TARGET}.a2m,${TARG_AL}.${STRUCT-ALPH}.seq \ -db ${PRED-INFO}/${PRED}.stride-mixed.seq,${PRED-INFO}/${PRED}.stride-mixed.${INFO-ALPH} \ -db_size ${LIBSIZE} \ -simple_threshold 10000 \ -sw ${SW} -dpstyle 0 -subtract_null 4 \ -adpstyle ${ADP} \ -select_align 8 gzip -f ${TWO-ALIGN-NAME}.dist -chmod 664 ${PRED}/* endif # Note: no two-track alignment for dssp-ehl2, since we aren't creating # a sequence for that alphabet yet. two-track-alignments: -mkdir ${PRED} -chmod 775 ${PRED} -make -k ALIGN-TYPE=local ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=str \ two-track-alignment -make -k ALIGN-TYPE=global ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=str \ two-track-alignment -make -k ALIGN-TYPE=local ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=stride-ebghtl \ two-track-alignment -make -k ALIGN-TYPE=global ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=stride-ebghtl \ two-track-alignment -make -k ALIGN-TYPE=local ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=dssp-ebghstl \ two-track-alignment -make -k ALIGN-TYPE=global ADP=5 \ PRED=${PRED} PRED2=${PRED2} \ MASTER=target STRUCT-ALPH=dssp-ebghstl \ two-track-alignment -chmod 664 ${PRED}/* ######################################## # Three-track target alignments ######################################## ifndef BURIAL-WEIGHT BURIAL-WEIGHT:=0.4 endif ifndef BURIAL-ALPH BURIAL-ALPH := CB_burial_14_7 endif BURIAL-INFO-ALPH := ${BURIAL-ALPH} ifeq (${BURIAL-ALPH},CB_burial_14_7) BURIAL-INFO-ALPH := CB-burial-14-7 endif THREE-ALIGN-NAME := ${PRED}/${TARGET}-${PRED}-${ALIGN-TYPE}-${STRUCT-ALPH}+${BURIAL-ALPH}-${STRUCT-WEIGHT}+${BURIAL-WEIGHT}-adpstyle${ADP} three-track-alignment: ${THREE-ALIGN-NAME}.a2m echo $^ made. ${THREE-ALIGN-NAME}.a2m: ${TARG_AL}.w0.5.mod \ ${TARG_AL}.${STRUCT-ALPH}.mod \ ${TARG_AL}.${BURIAL-ALPH}.mod -mkdir ${PRED} ${HMMSCORE} ${THREE-ALIGN-NAME} \ -alphabet protein,${HMMSCORE-ALPH},${BURIAL-ALPH} \ -trackmod ${TARG_AL}.w0.5.mod,${TARG_AL}.${STRUCT-ALPH}.mod,${TARG_AL}.${BURIAL-ALPH}.mod \ -trackcoeff 1.0,${STRUCT-WEIGHT},${BURIAL-WEIGHT} \ -db ${TARGET}.a2m,${TARG_AL}.${STRUCT-ALPH}.seq,${TARG_AL}.${BURIAL-ALPH}.seq \ -db ${PRED-INFO}/${PRED}.stride-mixed.seq,${PRED-INFO}/${PRED}.stride-mixed.${INFO-ALPH},${PRED-INFO}/${PRED}.stride-mixed.${BURIAL-INFO-ALPH} \ -db_size ${LIBSIZE} \ -simple_threshold 10000 \ -sw ${SW} -dpstyle 0 -subtract_null 4 \ -adpstyle ${ADP} \ -select_align 8 gzip -f ${THREE-ALIGN-NAME}.dist ifdef ALIGN_VITERBI THREE_TRACK_ADP:=1 else THREE_TRACK_ADP:=5 endif # SAM-T02 doesn't use 3-track alignments, but SAM-T04 will. three-track-alignments: -mkdir ${PRED} # -make -k ALIGN-TYPE=local ADP=${THREE_TRACK_ADP} \ # PRED=${PRED} PRED2=${PRED2} \ # MASTER=target STRUCT-ALPH=str2 BURIAL-ALPH=CB_burial_14_7 \ # STRUCT-WEIGHT=0.4 BURIAL-WEIGHT=0.4 \ # three-track-alignment endif #if PRED2 endif #if PRED PSTILL_PATH ?= /usr/local/pstill_dist ifeq ($(wildcard ${PSTILL_PATH}*),) PSTILL_PATH:= ${PCPR}/pstill_dist endif %.pdf: %.eps set PSTILL_PATH=${PSTILL_PATH} ; ${PSTILL_PATH}/pstill -gip -o $@ $^ ### # WARNING: DISTILL is not installed on most SoE computers, ### # but ps2pdf produces very verbose pdf files. ### # Using the "pdf-logos" in Makefile will make all the PDF files ### # on apache. ### %.pdf: %.eps ### ssh apache 'cd ${WORKDIR}; distill $^' ### sleep 50 # wait to avoid file-system synchronization problems .PRECIOUS: \ ${TARGET}.a2m ${TARG_AL}.a2m.gz \ ${TARG_AL}-thin90.a2m.gz \ ${TARG_AL}-thin62.a2m.gz \ ${TARG_AL}.100-30-dssp-ebghstl-target-scores.rdb \ ${TARG_AL}.100-30-dssp-ebghstl-target-scores.html \ ${TARG_AL}.100-30-stride-ebghtl-target-scores.rdb \ ${TARG_AL}.100-30-stride-ebghtl-target-scores.html \ ${TARG_AL}.100-30-str-target-scores.rdb \ ${TARG_AL}.100-30-str-target-scores.html \ ${TARG_AL}.100-30-dssp-ehl2-target-scores.rdb \ ${TARG_AL}.100-30-dssp-ehl2-target-scores.html \ ${TARG_AL}.dssp-ebghstl.seq \ ${TARG_AL}.stride-ebghtl.seq \ ${TARG_AL}.str2.seq \ ${TARG_AL}.alpha.seq \ ${TARG_AL}.dssp-ebghstl.seq \ ${TARG_AL}.dssp-ebghstl.seq \ ${TARGET}.mod \ ${TARG_AL}.frag.gz