; pass to ngalign_app as the 'run' parameter, configures all of the CNgAligner stuff ; some values, like 'blastdb' path need to still be on the command-line. ; anything like filter and score on command-line override whatever is in here [query] ; NgAligner.SetQuery() type=seqidlist ; common type values are ; seqidlist ; blastdb ; uncommon values are ; seqloclist (id:start-stop) for bounded alignments ; fasta (will load fasta file into Scope, and use fasta ids as seqidlist) ; splitseqidlist : For alignment Delta-seqs by their parts, like phase-1 clones, ; splitseqloclist : then re-assembling the final alignment. [subject] ; NgAligner.SetTarget() type=blastdb ; see query [filters] ; NgAligner.AddFilter() ; there must be a 'names' names = perfect good ok terrible ; which lists the other values to pull filters from perfect = " pct_identity_ungap >= 99.0 AND pct_coverage >= 99.0 AND common_component = 1 " good = " pct_identity_ungap >= 99.0 AND pct_coverage >= 99.0 " ok = " pct_identity_ungap >= 95.0 AND pct_coverage >= 95.0 " terrible = " pct_identity_ungap >= 80.0 AND pct_coverage >= 25.0 " ; the names 'perfect', 'ok', etc are not what is important, i ; just that 'names' points to valid filter strings ; ; The filters will be uses in 'names' order [scorers] ; NgAligner.AddScorer() names = blast pctident pctcov comcomp expansion ; which scorer objects to use ; common values ; blast : all the normal scores 'blast' puts on an alignment ; pctident : puts all three percent ident scores on alignments ; pctcov : normal percent coverage, of the query side ; uncommon values ; comcomp : for determining if the delta-seqs the query and target ranges aligned are identical ; expansion : full range alignment bounds (with gaps and stuff) divided by ungapped bases in alignment ; weighted : calculated best_placements 'weighted_identity' score ; clip : calculates common scores, but only taking into account the region of the i ; : query sequence marked 'high_quality' by a region feature on the query sequence record sw_cvg = 0.04 ; provides a best_placement sw_cvg value, used by 'weighted' and 'clip', defaults to 0.04 [aligners] ; NgAligner.AddAligner() names = blast merge ; which alignment steps to use, in order. These words are used as ; [section] names below, where their section will contain more detailed config for the aligner ; the names 'blast' or 'merge' are not signifigant, that is determined by the 'type' ; value in the [section] ; example, used alignment configs here [blast] type = blast threshold = 0 params = " -word_size 32 -evalue 0.0001 -soft_masking true -best_hit_overhang 0.1 -best_hit_score_edge 0.1 " [merge] type = merge threshold = 0 mode = tree ; unused examples [dummy] type = blast ; common type values ; blast : CLocalBlast basically ; merge : either CAlignCleanup or CTreeMerger ; uncommon type values ; remote_blast : CRemoteBlast ; inversion : creates disc-seg alignments where two alignment of opposite strand seem to belong together ; split : chunks sequences into their delta-seq parts, see 'splitseqidlist' from query/target ; file : reads in a (seq-align,seq-align-set,seq-annot) asn text file, forwards them through the process ; : like debugging later steps but starting with a constant blast alignment file threshold = 0 ; all aligners have a 'threshold' value ; if a query sequence has alignments better than (>, not >=) in the filter scores, this alignment step ; will pass on that query. Usefull for skipping computationally expensive steps that aren't needed ; like when 'banded' was still used... ; type-specific parameters ; type = blast params = " -word_size 32 -evalue 0.0001 -soft_masking true " ; blastn command line string to configure CLocalBlast filter = windowmasker ; blastdb filter string (or backwards integer) ; type = merge mode = tree ; 'tree' for tree merger, 'cleanup' for CAlignCleanup ; an unused 'clip' value could be found here, has part of configuring tree merger's scoring ; but its not usable as-is. ; type = remote_blast ; none. the remote database like 'nr' is provided through the target blastdb value ; type = inversion ; none ; type = split ; none ; type = file filename = /my/path/to/align/text/file.asnt ; file it reads in and outputs to later stages