/// <summary> /// Execute a local BLAST against a sequence database. /// </summary> /// <param name="db">Name of the BLAST database (use filename only).</param> /// <param name="targetFasta">Filename of the input FASTA file.</param> public void RunLocalBlast(string db, string targetFasta) { this.Blaster = new BlastLocalHandler(); #region BLAST parameters IBlastParameters args; if (db.Equals(Resource.UniVec) || db.Equals(Resource.UniVec_Core)) { args = new UniVecParameters(); } else { args = new BlastLocalParameters(); } args.Database = db; args.Threads = Environment.ProcessorCount; string outputFilename = Path.ChangeExtension(targetFasta, Properties.Resource.BLAST_OUTPUT_SUFFIX_ASN); #endregion this.Blaster.ExecuteLocal(targetFasta, outputFilename, args); // Convert to XML string xmlFilename = Path.ChangeExtension(outputFilename, Resource.XmlExtension); BlastTools.FormatASNTo("5", outputFilename, xmlFilename); this.BlastHspCounter = BlastTools.ProcessBlastXml(xmlFilename); // Convert to CSV string csvFilename = Path.ChangeExtension(outputFilename, Resource.CsvExtension); BlastTools.FormatASNTo("10", outputFilename, csvFilename); }
/// <summary> /// Constructor for OpenFileDialog /// </summary> /// <param name="fileTypes">List of valid file types</param> public OpenFileDialog(List <string> fileTypes) { InitializeComponent(); this.btnBrowse.Focus(); #region Parser type combo box // Populate the parser type combo box ComboBoxItem defaultItem = new ComboBoxItem(); defaultItem.Content = Resource.MANUAL_CHOICE; this.comboParserType.Items.Add(defaultItem); Collection <string> validParsers = new Collection <string>(); validParsers.Add(SequenceParsers.FastQ.Name); validParsers.Add(SequenceParsers.Fasta.Name); foreach (var parserName in validParsers) { ComboBoxItem item = new ComboBoxItem(); item.Content = parserName; item.Tag = parserName; this.comboParserType.Items.Add(item); } this.comboParserType.SelectedIndex = 0; this.fileTypes = fileTypes; #endregion #region FASTQ format combo box defaultItem = new ComboBoxItem(); defaultItem.Content = Resource.MANUAL_CHOICE; this.comboFastqType.Items.Add(defaultItem); string[] validFormats = BioHelper.QueryValidFastqFormats(); foreach (var format in validFormats) { ComboBoxItem item = new ComboBoxItem(); item.Content = format; item.Tag = format; this.comboFastqType.Items.Add(item); } this.comboFastqType.SelectedIndex = 0; #endregion #region BLAST database combo box this.availableBlastDatabases = new List <string> (); // query for available BLAST databases List <string> databases = BlastTools.QueryAvailableBlastDatabases(); foreach (var db in databases) { ComboBoxItem item = new ComboBoxItem(); item.Content = db; item.Tag = db; this.comboBlastDb.Items.Add(item); } this.comboBlastDb.SelectedIndex = 0; #endregion }