Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • quinlana
    Senior Member
    • Sep 2008
    • 119

    #16
    Maasha,
    This looks really promising! I'd be keen to see examples for creating biopieces with C++ and/or Python. I'm looking forward to slicing and dicing with biopieces, samtools, BEDTools, and EMBOSS. As ohoffman states, we may soon be close to a simple, well-documented shell for our day to day sausage grinding.

    Keep it rolling!
    Aaron

    Comment

    • maasha
      Senior Member
      • Apr 2009
      • 153

      #17
      @Aaron

      The creation of new Biopieces is intended to be super easy! For now I only have documented how to create Biopieces in Perl as described here. Each Biopiece's "usage" information is written in Google's wiki format, and a specific Biopiece print_wiki renders the usage information nicely in console, and thus the usage information is independent of the programming language.

      Unfortunately, I am not very strong in Ruby and C, also my Python and C++ is non-existent. Having said this, there do exists one Biopiece written in Python: lowercase_seq. You can browse the code here: http://code.google.com/p/biopieces/s...e_python/Cjung

      I hope it is pretty self-explanatory to Python coders. I would love to have this polished and then add a "Howto create a Biopiece using Python" section to the docs.

      Comment

      • maasha
        Senior Member
        • Apr 2009
        • 153

        #18
        Biopieces -> now in Ruby

        I am glad to announce, that I finally got around to writing the first Biopieces (www.biopieces.org) using Ruby (http://www.ruby-lang.org/en/). I have managed to setup a way of writing Biopieces in Ruby that is more compact and robust compared to the Perl way. Biopiece record serialization (the parsing and emitting of records), option parsing and checking, record integrity checking, logging, and error handling is all abstracted away form the main code to the 'Biopieces' class. Thus a minimalistic Biopiece consists of code like this - and nothing more!:

        Code:
        require 'biopieces'
        
        casts = []
        casts << {:long=>'compress',:short=>'Z',:type=>'flag',:mandatory=>false,:default=>nil,:allowed=>nil,:disallowed=>nil}
        
        bp = Biopieces.new
        
        options = bp.parse(ARGV,casts)
        
        bp.mktmpdir # create an optional temporary directory that is auto deleted.
        
        bp.each_record do |record|
          # do something to each record (possibly according to the options). e.g.:
          record["SEQ"].upcase! if record.has_key? "SEQ"
          bp.puts record
        end
        Read more here: http://code.google.com/p/biopieces/w...ece_using_Ruby



        Cheers,



        Martin

        Comment

        • Fatallis
          Junior Member
          • Sep 2010
          • 2

          #19
          Hello I'm working with small RNAs expressed in Glycine max. And I tried to install biopieces but I get stucked on the final part: the ~/.bashrc configuration and the creation of $BP_DATA, $BP_TMP, and $BP_LOG directories, when I use the mkdir command it says and opperand is missing.

          I wonder if the sequences can be mapped against other than human genomes using biopieces.

          I'm sorry if its not the right place to ask help, but I appreciate you help and thanks to Martin for sharing these tools.

          Comment

          • maasha
            Senior Member
            • Apr 2009
            • 153

            #20
            Sure Biopieces can be used to analyze other genomes. Currently, I am only working with prokaryotes, but I have been working on human, mouse, drosophila, and yeast.

            The "mapping" Biopieces mostly have an "indexing" Biopieces:

            Code:
            read_fasta -i test.fna | create_bowtie_index -d my_dir -i my_index -x
            read_fasta -i test.fna | create_bwa_index -d my_dir -i my_index -x
            read_fasta -i test.fna | create_blast_index -d my_dir -i my_index -x
            read_fasta -i test.fna | create_vmatch_index -d my_dir -i my_index -x
            
            etc ...
            And then a "search" Biopiece:

            Code:
            read_fasta -i query.fna | bowtie_seq -i my_dir/my_index | write_bed -x
            read_fasta -i query.fna | bwa_seq -i my_dir/my_index | write_bed -x
            read_fasta -i query.fna | blast_seq -i my_dir/my_index | write_bed -x
            read_fasta -i query.fna | vmatch_seq -i my_dir/my_index | write_bed -x
            
            etc ...
            There is also a Biopiece to format a file tree structure with indexes:

            format_genome

            And a Biopiece to show what genomes have been formatted:

            list_genomes

            These allow shortcuts to "search" Biopieces so you can use -g <my_genome> instead of -i <path_to_index>.

            For your specific problems with installation I need more details - like a copy paste of the exact error. Possibly you need to run source ~/.bashrc before mkdir $BP_DATA $BP_TMP $BP_LOG. The right forum for support would be the Biopieces Google Group:



            You need to apply for membership because I have had problems with @#%#$^ spammers.


            Cheers,



            Martin

            Comment

            • Fatallis
              Junior Member
              • Sep 2010
              • 2

              #21
              Thank you I ran source ~/.bashrc and everything went ok.

              I'm signing in on the Biopieces group..

              Comment

              • fabrice
                Member
                • Oct 2009
                • 86

                #22
                I have took 2 hours to install biopieces and fail.

                I think biopieces is too hard to install. The big problem is I do not know ruby and how to install gem and so on.

                read_fasta
                <internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- rubygems (LoadError)
                from <internal:lib/rubygems/custom_require>:29:in `require'
                from <internal:gem_prelude>:167:in `load_full_rubygems_library'
                from <internal:gem_prelude>:217:in `try_activate'
                from <internal:lib/rubygems/custom_require>:32:in `rescue in require'
                from <internal:lib/rubygems/custom_require>:29:in `require'
                from /env/ceph/home/jhuang/bin/biopieces/code_ruby/lib/maasha/biopieces.rb:27:in `<top (required)>'
                from <internal:lib/rubygems/custom_require>:29:in `require'
                from <internal:lib/rubygems/custom_require>:29:in `require'
                from ~/bin/biopieces/bp_bin/read_fasta:31:in `<main>'




                bp_test
                Testing Perl version ... OK
                Testing required Perl module - "Inline": FAIL
                Try: perl -MCPAN -e 'install Inline'




                Originally posted by maasha View Post
                www.biopieces.org

                The Biopieces are a collection of bioinformatics tools that can be pieced together in a very easy and flexible manner to perform both simple and complex tasks. The Biopieces work on a data stream in such a way that the data stream can be passed through several different Biopieces, each performing one specific task: modifying or adding records to the data stream, creating plots, or uploading data to databases and web services. The Biopieces are executed in a command line environment where the data stream is initialized by specific Biopieces which read data from files, databases, or web services, and output records to the data stream that is passed to downstream Biopieces until the data stream is terminated at the end of the analysis as outlined below:

                read_data | calculate_something | write_results

                The following example demonstrates how a Solexa deep sequencing experiment can be analyzed – including removal of adaptor sequence, determining the number of unique sequences, mapping to a specified genome, and uploading the data to the UCSC genome browser for further analysis:

                Code:
                read_solexa –i data.solexa |              #  Initialize data stream from a file. 
                remove_adaptor -a TCGTATGCC -m 2 |        #  Remove adaptor sequence allowing for 2 mismatches. 
                grab –e ‘ADAPTOR_POS > -1’ |              #  Get all entries where an adaptor sequence was found. 
                count_vals –k SEQ |                       #  Determine the occurrences of all sequences.  
                uniq_vals –k SEQ |                        #  Get all entries with a unique sequence. 
                merge_vals –k SEQ_NAME,SEQ_COUNT |        #  Append the sequence count to the sequence name. 
                vmatch_seq –g hg18 |                      #  Map the sequences to the Human genome using Vmatch. 
                upload_to_ucsc –d hg18 –t solexa_data –x  #  Upload the mapping results to the UCSC Genome Browser.
                The advantage of the Biopieces is that a user can easily solve simple and complex tasks without having any programming experience. Moreover, since the data format used to pass data between Biopieces is text based, different developers can quickly create new Biopieces in their favorite programming language - and all the Biopieces will maintain compatibility.

                There are currently ~140 Biopieces.

                Comment

                • maasha
                  Senior Member
                  • Apr 2009
                  • 153

                  #23
                  @fabrice

                  I have tried to make the installation of Biopieces as painless as possible. The installation procedure is described here:



                  If you follow this step-by-step the installation should be done with in a couple of minutes. I am very open to suggestions on how to improve this procedure.

                  I see that you have run bp_test - which is good. Now, do as bp_test suggests:

                  Try: perl -MCPAN -e 'install Inline'

                  Mind you that it is not really an option to write an installer since this would have to deal with the installation of Perl, Ruby, Python, and required modules as well as a bunch of 3rd party tools ...

                  Cheers,


                  Martin

                  Comment

                  • fabrice
                    Member
                    • Oct 2009
                    • 86

                    #24
                    bp_test
                    Testing Perl version ... OK
                    Testing required Perl module - "Inline": OK
                    Testing required Perl module - "JSON::XS": OK
                    Testing required Perl module - "SVG": OK
                    Testing required Perl module - "Bit::Vector": OK
                    Testing required Perl module - "Time::HiRes": OK
                    Testing Ruby version ... OK
                    Testing required Ruby gem - "gnuplot": `~/bin/biopieces/bp_test/lib/test.sh: line 160: gem: command not found
                    FAIL
                    Try: gem install gnuplot

                    Install a bunch of 3rd party tools is pain.


                    Originally posted by maasha View Post
                    @fabrice

                    I have tried to make the installation of Biopieces as painless as possible. The installation procedure is described here:



                    If you follow this step-by-step the installation should be done with in a couple of minutes. I am very open to suggestions on how to improve this procedure.

                    I see that you have run bp_test - which is good. Now, do as bp_test suggests:




                    Mind you that it is not really an option to write an installer since this would have to deal with the installation of Perl, Ruby, Python, and required modules as well as a bunch of 3rd party tools ...

                    Cheers,


                    Martin

                    Comment

                    • fabrice
                      Member
                      • Oct 2009
                      • 86

                      #25
                      gem install gnuplot
                      -bash: gem: command not found

                      When I download rubygems-1.8.7 and try to install. There are problem.
                      bin/ruby/rubygems-1.8.7$ ruby setup.rb
                      Segmentation fault


                      bp_test
                      Testing Perl version ... OK
                      Testing required Perl module - "Inline": OK
                      Testing required Perl module - "JSON::XS": OK
                      Testing required Perl module - "SVG": OK
                      Testing required Perl module - "Bit::Vector": OK
                      Testing required Perl module - "Time::HiRes": OK
                      Testing Ruby version ... OK
                      Testing required Ruby gem - "gnuplot": OK
                      Testing required Ruby gem - "narray": FAIL
                      Try: gem install narray



                      gem install narray
                      Building native extensions. This could take a while...
                      sh: line 1: 17222 Segmentation fault ~/bin/ruby/bin/ruby extconf.rb 2>&1
                      ERROR: Error installing narray:
                      ERROR: Failed to build gem native extension.

                      ~/bin/ruby/bin/ruby extconf.rb


                      Gem files will remain installed in ~/bin/ruby/lib/ruby/gems/1.9.1/gems/narray-0.5.9.9 for inspection.
                      Results logged to ~/bin/ruby/lib/ruby/gems/1.9.1/gems/narray-0.5.9.9/src/gem_make.out
                      Last edited by fabrice; 08-07-2011, 08:57 AM.

                      Comment

                      • maasha
                        Senior Member
                        • Apr 2009
                        • 153

                        #26
                        @fabrice,

                        Ruby comes with a number of tools including a program called "gem" for installing third party modules. Your "gem" program does not appear to be in path. That is an issue with your Ruby installation. You can manually locate the "gem" program and add to $PATH.


                        Cheers,


                        Martin

                        Comment

                        • fabrice
                          Member
                          • Oct 2009
                          • 86

                          #27
                          When I download rubygems-1.8.7 and try to install. There are problem.
                          bin/ruby/rubygems-1.8.7$ ruby setup.rb
                          Segmentation fault

                          So I just set ~/bin/ruby/rubygems-1.8.7/bin into the $PATH. Now for install gnuplot is OK. But for narray, it no.

                          bp_test
                          Testing Perl version ... OK
                          Testing required Perl module - "Inline": OK
                          Testing required Perl module - "JSON::XS": OK
                          Testing required Perl module - "SVG": OK
                          Testing required Perl module - "Bit::Vector": OK
                          Testing required Perl module - "Time::HiRes": OK
                          Testing Ruby version ... OK
                          Testing required Ruby gem - "gnuplot": OK
                          Testing required Ruby gem - "narray": FAIL
                          Try: gem install narray



                          gem install narray
                          Building native extensions. This could take a while...
                          sh: line 1: 17222 Segmentation fault ~/bin/ruby/bin/ruby extconf.rb 2>&1
                          ERROR: Error installing narray:
                          ERROR: Failed to build gem native extension.

                          ~/bin/ruby/bin/ruby extconf.rb


                          Gem files will remain installed in ~/bin/ruby/lib/ruby/gems/1.9.1/gems/narray-0.5.9.9 for inspection.
                          Results logged to ~/bin/ruby/lib/ruby/gems/1.9.1/gems/narray-0.5.9.9/src/gem_make.out

                          Originally posted by maasha View Post
                          @fabrice,

                          Ruby comes with a number of tools including a program called "gem" for installing third party modules. Your "gem" program does not appear to be in path. That is an issue with your Ruby installation. You can manually locate the "gem" program and add to $PATH.


                          Cheers,


                          Martin

                          Comment

                          • maasha
                            Senior Member
                            • Apr 2009
                            • 153

                            #28
                            It appears that you are mixing two versions of Ruby -> 1.8.7 and a 1.9.x version. We need the 1.9.x one. You don't have to download rubygem - it comes with Ruby 1.9.x. What do the following commands give?

                            which ruby
                            ruby --version
                            which gem
                            gem --version



                            Cheers


                            Martin

                            Comment

                            • fabrice
                              Member
                              • Oct 2009
                              • 86

                              #29
                              Testing Perl version ... OK
                              Testing required Perl module - "Inline": OK
                              Testing required Perl module - "JSON::XS": OK
                              Testing required Perl module - "SVG": OK
                              Testing required Perl module - "Bit::Vector": OK
                              Testing required Perl module - "Time::HiRes": OK
                              Testing Ruby version ... OK
                              Testing required Ruby gem - "gnuplot": OK
                              Testing required Ruby gem - "narray": OK
                              Testing auxiliary program - "blastall": WARNING
                              Testing auxiliary program - "blat": OK
                              Testing auxiliary program - "bwa": OK
                              Testing auxiliary program - "bowtie": OK
                              Testing auxiliary program - "formatdb": WARNING
                              Testing auxiliary program - "gnuplot": OK
                              Testing auxiliary program - "idba": WARNING
                              Testing auxiliary program - "muscle": WARNING
                              Testing auxiliary program - "mummer": WARNING
                              Testing auxiliary program - "mysql": OK
                              Testing auxiliary program - "prodigal": WARNING
                              Testing auxiliary program - "Ray": WARNING
                              Testing auxiliary program - "scan_for_matches": WARNING
                              Testing auxiliary program - "uclust": WARNING
                              Testing auxiliary program - "velveth": WARNING
                              Testing auxiliary program - "velvetg": WARNING
                              Testing auxiliary program - "vmatch": WARNING
                              Testing add_ident -I $BP_DIR/bp_test/in/add_ident.in -O $BP_TMP/add_ident.out ... OK
                              Testing add_ident -I $BP_DIR/bp_test/in/add_ident.in -k CUSTOM_KEY -O $BP_TMP/add_ident.out ... OK
                              Testing add_ident -I $BP_DIR/bp_test/in/add_ident.in -p PREFIX -O $BP_TMP/add_ident.out ... OK
                              Testing add_ident -I $BP_DIR/bp_test/in/add_ident.in -o 5 -O $BP_TMP/add_ident.out ... OK
                              Testing align_seq -I $BP_DIR/bp_test/in/align_seq.in -O $BP_TMP/align_seq.out ... FAIL
                              Testing analyze_assembly -I $BP_DIR/bp_test/in/analyze_assembly.in -O $BP_TMP/analyze_assembly.out ... OK
                              Testing analyze_assembly -I $BP_DIR/bp_test/in/analyze_assembly.in -o $BP_TMP/analyze_assembly.out -x ... OK
                              Testing analyze_gc -I $BP_DIR/bp_test/in/analyze_gc.in -O $BP_TMP/analyze_gc.out ... OK
                              Testing analyze_seq -I $BP_DIR/bp_test/in/analyze_seq.in -O $BP_TMP/analyze_seq.out ... OK
                              Testing analyze_vals -I $BP_DIR/bp_test/in/analyze_vals.in -o $BP_TMP/analyze_vals.out -x ... OK
                              Testing analyze_vals -I $BP_DIR/bp_test/in/analyze_vals.in -k V0 -o $BP_TMP/analyze_vals.out -x ... OK
                              Testing analyze_vals -I $BP_DIR/bp_test/in/analyze_vals.in -K V0 -o $BP_TMP/analyze_vals.out -x ... OK
                              Testing bin_vals -I $BP_DIR/bp_test/in/bin_vals.in -k V0 -O $BP_TMP/bin_vals.out ... OK
                              Testing bin_vals -I $BP_DIR/bp_test/in/bin_vals.in -k V0 -b 5 -O $BP_TMP/bin_vals.out ... OK
                              Testing blast_seq -I $BP_DIR/bp_test/in/blast_seq.in.2 -d $BP_TMP/test_tmp/nucleotide -O $BP_TMP/blast_seq.out ... FAIL
                              Testing blast_seq -I $BP_DIR/bp_test/in/blast_seq.in.2 -d $BP_TMP/test_tmp/protein -O $BP_TMP/blast_seq.out ... FAIL
                              Testing blast_seq -I $BP_DIR/bp_test/in/blast_seq.in.4 -d $BP_TMP/test_tmp/nucleotide -O $BP_TMP/blast_seq.out ... FAIL
                              Testing blast_seq -I $BP_DIR/bp_test/in/blast_seq.in.4 -d $BP_TMP/test_tmp/protein -O $BP_TMP/blast_seq.out ... FAIL
                              Testing blast_seq -I $BP_DIR/bp_test/in/blast_seq.in.2 -d $BP_TMP/test_tmp/nucleotide -p tblastx -O $BP_TMP/blast_seq.out ... FAIL
                              Testing blast_seq_pair -I $BP_DIR/bp_test/in/blast_seq_pair.in.1 -O $BP_TMP/blast_seq_pair.out ... FAIL
                              Testing blast_seq_pair -I $BP_DIR/bp_test/in/blast_seq_pair.in.2 -O $BP_TMP/blast_seq_pair.out ... FAIL
                              Testing blast_seq_pair -I $BP_DIR/bp_test/in/blast_seq_pair.in.3 -O $BP_TMP/blast_seq_pair.out ... FAIL
                              Testing blast_seq_pair -I $BP_DIR/bp_test/in/blast_seq_pair.in.4 -O $BP_TMP/blast_seq_pair.out ... FAIL
                              Testing blast_seq_pair -I $BP_DIR/bp_test/in/blast_seq_pair.in.1 -p tblastx -O $BP_TMP/blast_seq_pair.out ... FAIL
                              Testing calc_N50 -I $BP_DIR/bp_test/in/calc_N50.in -O $BP_TMP/calc_N50.out ... OK
                              Testing calc_N50 -I $BP_DIR/bp_test/in/calc_N50.in -o $BP_TMP/calc_N50.out -x ... OK
                              Testing calc_bit_scores -I $BP_DIR/bp_test/in/calc_bit_scores.in -O $BP_TMP/calc_bit_scores.out ... OK
                              Testing cat_seq -I $BP_DIR/bp_test/in/cat_seq.in -O $BP_TMP/cat_seq.out ... OK
                              Testing cat_seq -I $BP_DIR/bp_test/in/cat_seq.in -x -O $BP_TMP/cat_seq.out ... OK
                              Testing cat_seq -I $BP_DIR/bp_test/in/cat_seq.in -s Foobar -O $BP_TMP/cat_seq.out ... OK
                              Testing clip_adaptor -I $BP_DIR/bp_test/in/clip_adaptor.in -O $BP_TMP/clip_adaptor.out ... OK
                              Testing clip_seq -I $BP_DIR/bp_test/in/clip_seq.in -O $BP_TMP/clip_seq.out ... OK
                              Testing complement_seq -I $BP_DIR/bp_test/in/complement_seq.in -O $BP_TMP/complement_seq.out ... OK
                              Testing create_blast_index -I $BP_DIR/bp_test/in/create_blast_index.in.1 -d $BP_TMP/test_tmp -i 'index' -x ... FAIL
                              Testing create_blast_index -I $BP_DIR/bp_test/in/create_blast_index.in.2 -d $BP_TMP/test_tmp -i 'index' -x ... FAIL
                              Testing digest_seq -p GGATCC -c 1 -I $BP_DIR/bp_test/in/digest_seq.in -O $BP_TMP/digest_seq.out ... OK
                              Testing digest_seq -p GGACTT -c 1 -I $BP_DIR/bp_test/in/digest_seq.in -O $BP_TMP/digest_seq.out ... OK
                              Testing digest_seq -p GGATCC -c 1000 -I $BP_DIR/bp_test/in/digest_seq.in -O $BP_TMP/digest_seq.out ... OK
                              Testing digest_seq -p GGATCC -c -1000 -I $BP_DIR/bp_test/in/digest_seq.in -O $BP_TMP/digest_seq.out ... OK
                              Testing find_adaptor -a TCGTATGCCGTCTTCTGCTTG -m 0 -i 0 -d 0 -I $BP_DIR/bp_test/in/find_adaptor.in -O $BP_TMP/find_adaptor.out ... FAIL
                              Testing find_adaptor -a TCGTATGCCGTCTTCTGCTTG -m 0 -i 0 -d 0 -p -l 5 -I $BP_DIR/bp_test/in/find_adaptor.in -O $BP_TMP/find_adaptor.out ... FAIL
                              Testing find_adaptor -a TCGTATGCCGTCTTCTGCTTG -m 10 -i 0 -d 0 -I $BP_DIR/bp_test/in/find_adaptor.in -O $BP_TMP/find_adaptor.out ... FAIL
                              Testing find_adaptor -a TCGTATGCCGTCTTCTGCTTG -m 0 -i 10 -d 0 -I $BP_DIR/bp_test/in/find_adaptor.in -O $BP_TMP/find_adaptor.out ... FAIL
                              Testing find_adaptor -a TCGTATGCCGTCTTCTGCTTG -m 0 -i 0 -d 10 -I $BP_DIR/bp_test/in/find_adaptor.in -O $BP_TMP/find_adaptor.out ... FAIL
                              Testing find_gaps -I $BP_DIR/bp_test/in/find_gaps.in -O $BP_TMP/find_gaps.out ... OK
                              Testing find_gaps -I $BP_DIR/bp_test/in/find_gaps.in -m 3 -O $BP_TMP/find_gaps.out ... OK
                              Testing find_homopolymers -I $BP_DIR/bp_test/in/find_homopolymers.in -O $BP_TMP/find_homopolymers.out ... OK
                              Testing find_homopolymers -I $BP_DIR/bp_test/in/find_homopolymers.in -m 3 -O $BP_TMP/find_homopolymers.out ... OK
                              Testing find_mids -I $BP_DIR/bp_test/in/find_mids.in.1 -p 4 -O $BP_TMP/find_mids.out ... OK
                              Testing find_mids -I $BP_DIR/bp_test/in/find_mids.in.2 -O $BP_TMP/find_mids.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ,COUNT -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -P ~/bin/biopieces/bp_test/in/grab.in.pat -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ -i -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ -K -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ -V -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -p SEQ -k PAT -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -r a -k SEQ -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -r a -k SEQ -c -O $BP_TMP/grab.out ... OK
                              Testing grab -I $BP_DIR/bp_test/in/grab.in -e 'SEQ_LEN<10' -O $BP_TMP/grab.out ... OK
                              Testing join_seq -I $BP_DIR/bp_test/in/join_seq.in -O $BP_TMP/join_seq.out ... OK
                              Testing kmer_freq -I $BP_DIR/bp_test/in/kmer_freq.in -O $BP_TMP/kmer_freq.out ... OK
                              Testing kmer_freq -I $BP_DIR/bp_test/in/kmer_freq.in -s 2 -O $BP_TMP/kmer_freq.out ... OK
                              Testing kmer_freq -I $BP_DIR/bp_test/in/kmer_freq.in -s 2 -t rna -O $BP_TMP/kmer_freq.out ... OK
                              Testing kmer_freq -I $BP_DIR/bp_test/in/kmer_freq.in -s 2 -t protein -O $BP_TMP/kmer_freq.out ... OK
                              Testing length_seq -I $BP_DIR/bp_test/in/length_seq.in -O $BP_TMP/length_seq.out ... OK
                              Testing length_vals -I $BP_DIR/bp_test/in/length_vals.in -k V0,V1 -O $BP_TMP/length_vals.out ... OK
                              Testing lowercase_seq -I $BP_DIR/bp_test/in/lowercase_seq.in -O $BP_TMP/lowercase_seq.out ... OK
                              Testing mask_seq -I $BP_DIR/bp_test/in/mask_seq.in -c 0 -O $BP_TMP/mask_seq.out ... OK
                              Testing max_vals -I $BP_DIR/bp_test/in/max_vals.in -k V1,V2 -o $BP_TMP/max_vals.out -x ... OK
                              Testing max_vals -I $BP_DIR/bp_test/in/max_vals.in -l V3 -O $BP_TMP/max_vals.out ... OK
                              Testing mean_scores -I $BP_DIR/bp_test/in/mean_scores.in -O $BP_TMP/mean_scores.out ... OK
                              Testing mean_scores -I $BP_DIR/bp_test/in/mean_scores.in -l -O $BP_TMP/mean_scores.out ... OK
                              Testing mean_scores -I $BP_DIR/bp_test/in/mean_scores.in -l -m 2 -O $BP_TMP/mean_scores.out ... OK
                              Testing mean_scores -I $BP_DIR/bp_test/in/mean_scores.in -l -m 2 -w 10 -O $BP_TMP/mean_scores.out ... OK
                              Testing mean_vals -I $BP_DIR/bp_test/in/mean_vals.in -k V1,V2 -o $BP_TMP/mean_vals.out -x ... OK
                              Testing mean_vals -I $BP_DIR/bp_test/in/mean_vals.in -l V3 -O $BP_TMP/mean_vals.out ... OK
                              Testing median_vals -I $BP_DIR/bp_test/in/median_vals.in -k V1,V2 -o $BP_TMP/median_vals.out -x ... OK
                              Testing median_vals -I $BP_DIR/bp_test/in/median_vals.in -l V3 -O $BP_TMP/median_vals.out ... OK
                              Testing min_vals -I $BP_DIR/bp_test/in/min_vals.in -k V1,V2 -o $BP_TMP/min_vals.out -x ... OK
                              Testing min_vals -I $BP_DIR/bp_test/in/min_vals.in -l V3 -O $BP_TMP/min_vals.out ... OK
                              Testing order_pairs -I $BP_DIR/bp_test/in/order_pairs.in -O $BP_TMP/order_pairs.out ... OK
                              Testing plot_distribution -k SEQ_LEN -I $BP_DIR/bp_test/in/plot_distribution.in -o $BP_TMP/plot_distribution.out -x ... FAIL
                              Testing read_454 -i $BP_DIR/bp_test/in/read_454.in -q ~/bin/biopieces/bp_test/in/read_454.in.qual -O $BP_TMP/read_454.out ... OK
                              Testing read_454 -i $BP_DIR/bp_test/in/read_454.in.gz -q ~/bin/biopieces/bp_test/in/read_454.in.qual.gz -O $BP_TMP/read_454.out ... OK
                              Testing read_454 -i $BP_DIR/bp_test/in/read_454.in -q ~/bin/biopieces/bp_test/in/read_454.in.qual -n 1 -O $BP_TMP/read_454.out ... OK
                              Testing read_blast_tab -i $BP_DIR/bp_test/in/read_blast_tab.in -O $BP_TMP/read_blast_tab.out ... OK
                              Testing read_blast_tab -i $BP_DIR/bp_test/in/read_blast_tab.in -n 1 -O $BP_TMP/read_blast_tab.out ... OK
                              Testing read_fasta -i $BP_DIR/bp_test/in/read_fasta.in -O $BP_TMP/read_fasta.out ... OK
                              Testing read_fasta -i $BP_DIR/bp_test/in/read_fasta.in.gz -O $BP_TMP/read_fasta.out ... OK
                              Testing read_fasta -i $BP_DIR/bp_test/in/read_fasta.in -n 1 -O $BP_TMP/read_fasta.out ... OK
                              Testing read_fastq -i $BP_DIR/bp_test/in/read_fastq.in -O $BP_TMP/read_fastq.out ... OK
                              Testing read_fastq -i $BP_DIR/bp_test/in/read_fastq.in.gz -O $BP_TMP/read_fastq.out ... OK
                              Testing read_fastq -i $BP_DIR/bp_test/in/read_fastq.in -n 1 -O $BP_TMP/read_fastq.out ... OK
                              Testing read_fastq -i $BP_DIR/bp_test/in/read_fastq.in -n 1 -s -O $BP_TMP/read_fastq.out ... OK
                              Testing read_genbank -i $BP_DIR/bp_test/in/read_genbank.in -O $BP_TMP/read_genbank.out ... OK
                              Testing read_genbank -i $BP_DIR/bp_test/in/read_genbank.in.gz -O $BP_TMP/read_genbank.out ... OK
                              Testing read_genbank -i $BP_DIR/bp_test/in/read_genbank.in -k AC -O $BP_TMP/read_genbank.out ... OK
                              Testing read_genbank -i $BP_DIR/bp_test/in/read_genbank.in -k AC -f CDS -O $BP_TMP/read_genbank.out ... OK
                              Testing read_genbank -i $BP_DIR/bp_test/in/read_genbank.in -k AC -f CDS -q translation -O $BP_TMP/read_genbank.out ... OK
                              Testing read_sff -i $BP_DIR/bp_test/in/read_sff.in -O $BP_TMP/read_sff.out ... OK
                              Testing read_sff -i $BP_DIR/bp_test/in/read_sff.in -n 1 -O $BP_TMP/read_sff.out ... OK
                              Testing read_sff -i $BP_DIR/bp_test/in/read_sff.in -n 1 -m -O $BP_TMP/read_sff.out ... OK
                              Testing read_sff -i $BP_DIR/bp_test/in/read_sff.in -n 1 -c -O $BP_TMP/read_sff.out ... OK
                              Testing read_solexa -i $BP_DIR/bp_test/in/read_solexa.in -O $BP_TMP/read_solexa.out ... OK
                              Testing read_solexa -i $BP_DIR/bp_test/in/read_solexa.in -n 1 -O $BP_TMP/read_solexa.out ... OK
                              Testing read_solexa -i $BP_DIR/bp_test/in/read_solexa.in -c -O $BP_TMP/read_solexa.out ... OK
                              Testing read_solexa -i $BP_DIR/bp_test/in/read_solexa.in -s -O $BP_TMP/read_solexa.out ... OK
                              Testing read_solexa -i $BP_DIR/bp_test/in/read_solexa.in -s -C 30 -O $BP_TMP/read_solexa.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.1 -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.1 -s 1 -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.1 -s 1 -k ORGANISM,SEQ,COUNT -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.1 -s 1 -c 2,1 -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.1 -s 1 -c 2,1 -k COUNT,SEQ -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.2 -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.2 -n 1 -O $BP_TMP/read_tab.out ... OK
                              Testing read_tab -i $BP_DIR/bp_test/in/read_tab.in.3 -d ';' -O $BP_TMP/read_tab.out ... OK
                              Testing remove_indels -I $BP_DIR/bp_test/in/remove_indels.in -O $BP_TMP/remove_indels.out ... OK
                              Testing remove_keys -I $BP_DIR/bp_test/in/remove_keys.in -k SEQ_NAME,SEQ -O $BP_TMP/remove_keys.out ... OK
                              Testing remove_mids -I $BP_DIR/bp_test/in/remove_mids.in -O $BP_TMP/remove_mids.out ... OK
                              Testing remove_mids -I $BP_DIR/bp_test/in/remove_mids.in -p 4 -O $BP_TMP/remove_mids.out ... OK
                              Testing rename_keys -I $BP_DIR/bp_test/in/rename_keys.in -k SEQ,FOO -O $BP_TMP/rename_keys.out ... OK
                              Testing reverse_seq -I $BP_DIR/bp_test/in/reverse_seq.in -O $BP_TMP/reverse_seq.out ... OK
                              Testing scores_to_dec -I $BP_DIR/bp_test/in/scores_to_dec.in -O $BP_TMP/scores_to_dec.out ... OK
                              Testing shred_seq -I $BP_DIR/bp_test/in/shred_seq.in -s 18 -c 2 -O $BP_TMP/shred_seq.out ... OK
                              Testing sort_records -I $BP_DIR/bp_test/in/sort_records.in -k SEQ_LEN -O $BP_TMP/sort_records.out ... OK
                              Testing sort_records -I $BP_DIR/bp_test/in/sort_records.in -k SEQ_LENn -O $BP_TMP/sort_records.out ... OK
                              Testing sort_records -I $BP_DIR/bp_test/in/sort_records.in -k SEQ_LEN -r -O $BP_TMP/sort_records.out ... OK
                              Testing sum_vals -I $BP_DIR/bp_test/in/sum_vals.in -k V1,V2 -o $BP_TMP/sum_vals.out -x ... OK
                              Testing sum_vals -I $BP_DIR/bp_test/in/sum_vals.in -l V3 -O $BP_TMP/sum_vals.out ... OK
                              Testing swapcase_seq -I $BP_DIR/bp_test/in/swapcase_seq.in -O $BP_TMP/swapcase_seq.out ... OK
                              Testing translate_seq -I $BP_DIR/bp_test/in/translate_seq.in -O $BP_TMP/translate_seq.out ... OK
                              Testing translate_seq -I $BP_DIR/bp_test/in/translate_seq.in -f '1,-1' -O $BP_TMP/translate_seq.out ... OK
                              Testing transliterate_seq -I $BP_DIR/bp_test/in/transliterate_seq.in -s 'N' -r 'A' -O $BP_TMP/transliterate_seq.out ... OK
                              Testing transliterate_seq -I $BP_DIR/bp_test/in/transliterate_seq.in -d 'N' -O $BP_TMP/transliterate_seq.out ... OK
                              Testing transliterate_vals -I $BP_DIR/bp_test/in/transliterate_vals.in -k SEQ -s A -r n -O $BP_TMP/transliterate_vals.out ... OK
                              Testing transliterate_vals -I $BP_DIR/bp_test/in/transliterate_vals.in -k SEQ_NAME -d Tt -O $BP_TMP/transliterate_vals.out ... OK
                              Testing uniq_seq -I $BP_DIR/bp_test/in/uniq_seq.in -O $BP_TMP/uniq_seq.out ... OK
                              Testing uniq_seq -I $BP_DIR/bp_test/in/uniq_seq.in -c -O $BP_TMP/uniq_seq.out ... OK
                              Testing uniq_vals -I $BP_DIR/bp_test/in/uniq_vals.in -k SEQ -O $BP_TMP/uniq_vals.out ... OK
                              Testing uniq_vals -I $BP_DIR/bp_test/in/uniq_vals.in -k SEQ -i -O $BP_TMP/uniq_vals.out ... OK
                              Testing uppercase_seq -I $BP_DIR/bp_test/in/uppercase_seq.in -O $BP_TMP/uppercase_seq.out ... OK
                              Testing write_blast -I $BP_DIR/bp_test/in/write_blast.in -o $BP_TMP/write_blast.out -x ... OK
                              Testing write_blast -I $BP_DIR/bp_test/in/write_blast.in -c -o $BP_TMP/write_blast.out -x ... OK
                              Testing write_blast -I $BP_DIR/bp_test/in/write_blast.in -Z -o $BP_TMP/write_blast.out.gz -x ... OK
                              Testing write_fasta -I $BP_DIR/bp_test/in/write_fasta.in -o $BP_TMP/write_fasta.out -x ... OK
                              Testing write_fasta -I $BP_DIR/bp_test/in/write_fasta.in -w 4 -o $BP_TMP/write_fasta.out -x ... OK
                              Testing write_fasta -I $BP_DIR/bp_test/in/write_fasta.in -w 4 -Z -o $BP_TMP/write_fasta.out.gz -x ... OK
                              Testing write_fastq -I $BP_DIR/bp_test/in/write_fastq.in -o $BP_TMP/write_fastq.out -x ... OK
                              Testing write_fastq -I $BP_DIR/bp_test/in/write_fastq.in -Z -o $BP_TMP/write_fastq.out.gz -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -o $BP_TMP/write_tab.out -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -c -o $BP_TMP/write_tab.out -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -d ',' -o $BP_TMP/write_tab.out -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -Z -o $BP_TMP/write_tab.out.gz -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -k 'Count' -o $BP_TMP/write_tab.out -x ... OK
                              Testing write_tab -I $BP_DIR/bp_test/in/write_tab.in -K 'Count' -o $BP_TMP/write_tab.out -x ... OK
                              Biopieces tested: 63 Tests run: 182 OK: 151 FAIL: 19 WARNING: 12 Time: 32 secs

                              Comment

                              • fabrice
                                Member
                                • Oct 2009
                                • 86

                                #30
                                For analyze_gc, Biopiece do like this:
                                gc%=(g+c)/(a+c+g+t+N)

                                Can we do like this:
                                gc%=(g+c)/(a+c+g+t)
                                Not count N.

                                Comment

                                Latest Articles

                                Collapse

                                • SEQadmin2
                                  16S/ITS Profiling vs. Shotgun Metagenomics: What Changes in Your Workflow?
                                  by SEQadmin2




                                  NGS has revolutionized clinical microbiology by offering new ways to identify and surveil pathogens without prior knowledge of the target. One popular approach is 16S rRNA and ITS amplicon sequencing, which targets specific microbial markers. But studies are increasingly incorporating shotgun metagenomics, a technique that sequences all DNA from a sample without targeting specific microbial markers. This approach allows more detailed taxonomic classification, detection...
                                  Today, 06:46 AM
                                • SEQadmin2
                                  Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
                                  by SEQadmin2



                                  Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

                                  Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
                                  ...
                                  10-14-2026, 09:55 AM

                                ad_right_rmr

                                Collapse

                                News

                                Collapse

                                Topics Statistics Last Post
                                Started by SEQadmin2, 10-28-2026, 09:57 AM
                                0 responses
                                23 views
                                0 reactions
                                Last Post SEQadmin2  
                                Started by SEQadmin2, 10-28-2026, 09:51 AM
                                0 responses
                                15 views
                                0 reactions
                                Last Post SEQadmin2  
                                Started by SEQadmin2, 10-22-2026, 11:13 AM
                                0 responses
                                68 views
                                0 reactions
                                Last Post SEQadmin2  
                                Started by SEQadmin2, 10-22-2026, 10:48 AM
                                0 responses
                                48 views
                                0 reactions
                                Last Post SEQadmin2  
                                Working...