Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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
        }