Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by Coyk View Post
    Hello,
    I've been trying to get any basic command to work on my windows 7 machine. I've installed bbmap in the C:\Users\me directory. My .fastq.gz files are in the bbmap folder. When I type the command
    C:\Users\me>java -ea -Xmx1g -cp \bbmap\current\jgi.BBDukF in1=inputR1.fastq.gz in2=inputR2.fastq.gz out1=test1.fastq out2=test2.fastq ktrim=r mink=8 k=15

    I get "could not find or load main class in1=inputR1.fastq.gz"

    I've messed with the type of slash, putting the infiles in the current directory, and taking away parts of the directory names. I even truncated the argument after -cp to just jgi.BBDukF, which I know is wrong, and it still wants the main class of in1. I don't know a thing about java and when I read instructions about paths, classpaths, path environments, etc, I get confused quickly. When I type "echo %CLASSPATH% into the command prompt, I get CLASSPATH back so that's not set. I tried using Git Bash but when I typed "bbduk.sh" I got "command not found" so I'm stuck, but I would really like to use this tool on my windows machine. Anyone willing to give me very basic instructions on the exact commands that get bbduk to run on a windows machine?
    Try the following. Make sure you change /path/to/ to a real value on your computer.
    Code:
    java -ea -Xmx200m -cp /path/to/bbmap/current/ jgi.BBDukF in=reads.fq out=processed.fq

    Comment


    • bbmap SAM output question

      Hi,

      I don't quite understand the SAM output of bbmap.sh

      here is my line:

      bbmap.sh ref=ref.fasta ambig=all nodisk=t nzo=t mappedonly=t outu=unmapped.fasta scafstats=stats.map in=reads.fastq out=mapped.sam

      I usually just use the stats file to get read counts per feature using a ref with features as a multifasta, but I need to annotate from a .gff3 file using a draft genome ref and the only way I can see to do that is from the sam (to get the mapping coordinate. However, the sam seems to have low quality mappings too (MAPQ=3)..

      What is the threshold actually used for mapping quality? I can see that in the options, and how can I get the sam to only contain the mapped reads above that threshold?

      Thanks,

      S.

      Comment


      • Since you are using ambig=all you are going to get multi-mappers with their MAPQ being set to a small value (3). You could post filter your sam file or set ambig=toss (or ambig=random/best to get only one alignment).

        Comment


        • Originally posted by GenoMax View Post
          Since you are using ambig=all you are going to get multi-mappers with their MAPQ being set to a small value (3). You could post filter your sam file or set ambig=toss (or ambig=random/best to get only one alignment).
          ambig=best worked, Thanks.

          S.

          Comment


          • Ok I thought this was solved, but see below, still getting sam file alignments with MAPQ=3, even though they actually look like good alignments. Is '3' given because you can't calculate a perfect hit MAPQ? i.e. MAPQ=-10*log10(zero)

            @PG ID:BBMap PN:BBMap VN:37.93 CL:java -Djava.library.path=/bin/bbmap/jni/ -ea -Xmx43986m align2.BBMap build=1 overwrite=true fastareadlen=500 ref=genome/genome.fasta ambig=best vslow perfectmode maxsites=10000 nzo=t mappedonly=t outu=test/unmapped/testKT45.unmapped.fasta scafstats=test/mapped/testKT45.map in=testKT45.fastq out=test/mapped/testKT45.sam -idfilter=0.9
            700666F:325:CCC50ANXX:6:2211:7729:2233 1:N:0:GTCGAG 0 ctg3849_RHIMB__RM170330.3849 Backbone_3849|arrow|pilon 111580 3 31= * 0 0 GCATTGGTGGTTCAGTGGTAGAATTCTCGCC CCCCCGGGGGGGGGGGGGGGGGGGGGGGGGG XT:A:R NM:i:0 AM:i:3
            700666F:325:CCC50ANXX:6:2211:7914:2047 1:N:0:GTAGAG 16 ctg18961_RHIMB__RM170330.18961 Backbone_18961|arrow|pilon 20097 3 31= * 0 0 TCACAATGATAGGAAGAGCCGACATCGAAGG GGGGGGGGGGGGGGGGGGGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3
            700666F:325:CCC50ANXX:6:2211:7905:2066 1:N:0:GTCGAG 16 ctg18961_RHIMB__RM170330.18961 Backbone_18961|arrow|pilon 34735 3 31= * 0 0 GGTAGGCGCAGAAAGTACCATCGAAAGTTGA GGGGGFGGGGGGGGGGGGGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3
            700666F:325:CCC50ANXX:6:2211:7970:2099 1:N:0:GTCGAG 0 ctg16585_RHIMB__RM170330.16585 Backbone_16585|arrow|pilon 33974 3 23= * 0 0 GGGAATACCAGGTGCTGTAGGCT CCCCCGEGGGGGGGGGGGGGGGG XT:A:R NM:i:0 AM:i:3
            700666F:325:CCC50ANXX:6:2211:7937:2145 1:N:0:GTCGAG 16 ctg13544_RHIMB__RM170330.13544 Backbone_13544|arrow|pilon 7627 3 39= * 0 0 GGTGAGAGCGCCGAATCCTAACCACTAGACCACCAGGGA GGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3

            Comment


            • Hi Brian - Is there a bbtool that will keep only mapped reads and if the mate doesn't map output the unmapped also from sam/bam files?

              Thanks

              Comment


              • Originally posted by susanklein View Post
                Ok I thought this was solved, but see below, still getting sam file alignments with MAPQ=3, even though they actually look like good alignments. Is '3' given because you can't calculate a perfect hit MAPQ? i.e. MAPQ=-10*log10(zero)

                @PG ID:BBMap PN:BBMap VN:37.93 CL:java -Djava.library.path=/bin/bbmap/jni/ -ea -Xmx43986m align2.BBMap build=1 overwrite=true fastareadlen=500 ref=genome/genome.fasta ambig=best vslow perfectmode maxsites=10000 nzo=t mappedonly=t outu=test/unmapped/testKT45.unmapped.fasta scafstats=test/mapped/testKT45.map in=testKT45.fastq out=test/mapped/testKT45.sam -idfilter=0.9
                700666F:325:CCC50ANXX:6:2211:7729:2233 1:N:0:GTCGAG 0 ctg3849_RHIMB__RM170330.3849 Backbone_3849|arrow|pilon 111580 3 31= * 0 0 GCATTGGTGGTTCAGTGGTAGAATTCTCGCC CCCCCGGGGGGGGGGGGGGGGGGGGGGGGGG XT:A:R NM:i:0 AM:i:3
                700666F:325:CCC50ANXX:6:2211:7914:2047 1:N:0:GTAGAG 16 ctg18961_RHIMB__RM170330.18961 Backbone_18961|arrow|pilon 20097 3 31= * 0 0 TCACAATGATAGGAAGAGCCGACATCGAAGG GGGGGGGGGGGGGGGGGGGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3
                700666F:325:CCC50ANXX:6:2211:7905:2066 1:N:0:GTCGAG 16 ctg18961_RHIMB__RM170330.18961 Backbone_18961|arrow|pilon 34735 3 31= * 0 0 GGTAGGCGCAGAAAGTACCATCGAAAGTTGA GGGGGFGGGGGGGGGGGGGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3
                700666F:325:CCC50ANXX:6:2211:7970:2099 1:N:0:GTCGAG 0 ctg16585_RHIMB__RM170330.16585 Backbone_16585|arrow|pilon 33974 3 23= * 0 0 GGGAATACCAGGTGCTGTAGGCT CCCCCGEGGGGGGGGGGGGGGGG XT:A:R NM:i:0 AM:i:3
                700666F:325:CCC50ANXX:6:2211:7937:2145 1:N:0:GTCGAG 16 ctg13544_RHIMB__RM170330.13544 Backbone_13544|arrow|pilon 7627 3 39= * 0 0 GGTGAGAGCGCCGAATCCTAACCACTAGACCACCAGGGA GGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGCCCCC XT:A:R NM:i:0 AM:i:3
                MAPQ is a measure of the probability (estimate) that the mapping location is correct. This can factor in various things, including the number of mismatches... but, for example, with these very short sequences, even though they are perfect matches, the specificity is low. MAPQ=3 specifically means that there is at most a 50% chance that the mapping is correct, and thus, there's at least one other perfect alignment for each of these.

                Comment


                • Originally posted by darthsequencer View Post
                  Hi Brian - Is there a bbtool that will keep only mapped reads and if the mate doesn't map output the unmapped also from sam/bam files?

                  Thanks
                  Not exactly. reformat.sh has a "mappedonly" flag, but that would only keep the mapped reads. However, you can use requiredbits and filterbits in 2 passes, like this:

                  Code:
                  reformat.sh in=data.sam out=mapped.sam mappedonly
                  reformat.sh in=data.sam out=unmapped_mates_of_mapped_reads.sam requiredbits=4 filterbits=8
                  Then merge the two output files. Alternatively:
                  Code:
                  reformat.sh in=data.sam out=mapped.sam mappedonly
                  filterbyname.sh in=data.sam names=mapped.sam include=t out=mapped_or_mate_mapped.sam
                  The second solution takes more memory but it keeps the reads in the input order and is generally more convenient.

                  Comment


                  • optical duplicates

                    Hi Brian! Hope I'm posting this in the right place.

                    I've been using clumpify for a while. Great tool! I was totally blown away by how fast it is...

                    Simple question. I noticed that you make the following recommendations for detection of optical duplicates:

                    dupedist=40 (dist) Max distance to consider for optical duplicates.
                    Higher removes more duplicates but is more likely to
                    remove PCR rather than optical duplicates.
                    This is platform-specific; recommendations:
                    NextSeq 40 (and spany=t)
                    HiSeq 1T 40
                    HiSeq 2500 40
                    HiSeq 3k/4k 2500
                    Novaseq 12000

                    I was surprised to see that NovaSeq has such a big distance. Is this something you have measured? I have only been able to find the Picard recommendation which groups all the patterned flowcells with the same distance (2500).

                    Thanks!

                    Comment


                    • The coordinate system varies across platforms; the physical distance of 1 pixel is much larger on HiSeq 2500 than HiSeq 3000/4000m for example.

                      NovaSeq has unique problems, though. The distance of 12000 is not really to catch optical duplicates, but rather, clonal colonies that presumably form when a molecule breaks off from a colony and forms a new colony nearby (typically downstream). These have a high degree of positional correlation but are not actually adjacent; they can be fairly distant. They are not even necessarily on the same tile, so Clumpify won't catch all of them when it is restricted to looking for duplicates only within a tile.

                      And yes, the 12000 comes from empirical testing. That catches most of the duplicates formed by this mechanism. I think I posted the approximate amount somewhere... maybe it was around 85%? You can't get all of them unless you completely disregard position and remove all duplicates.

                      Comment


                      • We had a discussion about what the x:y coordinates mean on Biostars.

                        Short take home from poster of that thread was:

                        Contacted illumina support and they said the information I needed, such as dimension of the tile viewing area or zoom of the microscope, was "considered proprietary," which is frustrating.

                        Comment


                        • Originally posted by Brian Bushnell View Post
                          MAPQ is a measure of the probability (estimate) that the mapping location is correct. This can factor in various things, including the number of mismatches... but, for example, with these very short sequences, even though they are perfect matches, the specificity is low. MAPQ=3 specifically means that there is at most a 50% chance that the mapping is correct, and thus, there's at least one other perfect alignment for each of these.
                          ah I see, thanks. So they are good alignments, but to multiple sites. I'll have to rethink my strategy because I really should be keeping all alignments.

                          Thanks,

                          S.

                          Comment


                          • Originally posted by susanklein View Post
                            ah I see, thanks. So they are good alignments, but to multiple sites. I'll have to rethink my strategy because I really should be keeping all alignments.

                            Thanks,

                            S.
                            Consider http://seqanswers.com/forums/showthread.php?p=214346 (posts 204-206). BBMap does not seem to report ALL alignments in output file. @Brian may seen this and comment.

                            Comment


                            • Possible bug with bitflags in SAM alignments with ambig=all option

                              (Apologies if this shows up more than once, my posts keep disappearing...)
                              Hello Brian et al.,

                              The bitflags don't seem to be assigned correctly when the ambig=all option is used. The renaming of read pairs with keepnames=f also appears to be affected.

                              I am mapping Illumina paired reads with ambig=all to report all ambiguous alignments. From what I understand, the secondary alignments are indicated with the bitflag 0x100. For paired input, the alignments appear to be reported in the following order for each read pair:
                              • read F primary alignment
                              • read F secondary alignment(s)
                              • read R primary alignment
                              • read R secondary alignment(s)


                              I observed that with keepnames=f, there are two bugs (example below):
                              • Reverse read is renamed to match the forward read only for the primary alignment. The original name (e.g. with the tag 2:N in the example below) is retained in the secondary alignment(s)
                              • Secondary alignments of the reverse read are erroneously given bitflag 0x40 (first segment in the template, i.e. forward read) instead of 0x80 (last segment of the template, i.e. reverse read)


                              With keepnames=t, the original names are retained for both forward and reverse reads in both primary and secondary alignments, but the second bug above (misassignment of bitflags 0x40 and 0x80) is still there.

                              I first noticed the problem with bbmap v37.76 but it still occurs in v37.99.

                              Maybe I'm overlooking something, but this seems to be a bug. Has anyone else encountered this before? My apologies if this has been posted to this thread before. I didn't find anything relevant with search keywords 'keepnames' and 'ambiguous'.

                              Thank you!

                              ** Examples **

                              Alignment columns QNAME and FLAG from SAM file with keepnames=f for a read pair showing the error
                              Code:
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	99
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	147
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              Alignment columns QNAME and FLAG from SAM file with keepnames=t for the same read pair as above
                              Code:
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	99
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 1:N:0:AAGGGAAT	353
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	147
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337
                              HWI-ST863:279:H03F7ADXX:1:1107:5049:39482 2:N:0:AAGGGAAT	337

                              Comment


                              • Dear BBMap programmers/users,

                                First of all, I want to thank you for your work. This set of tools is very pleasant to use and very well documented. Moreover, the pipeline are very useful and very well explained. This is very easy easy to adapt them.

                                Nevertheless, as this is the first time I am using BBMap, on a really specific problem, I have few questions (you can find an explanation of my problem here: http://seqanswers.com/forums/showthread.php?t=81997).
                                I used the variantPipeline.sh pipeline adapted for multiple paired non-covering amplicon data files:
                                - Does BBMap support IUPAC nucleotide code for building the reference genome index?
                                - As I will map distant (or polymorph) reads on my reference, I used "k=8" for building the index. is it possible to lower this value and is it useful?
                                - filterbytile.sh, for trimming the adaptater does not take input file describing my adapters (Nextera...)? Is it normal?
                                - bbduk.sh, removing the sequencing artifact, take default files (ref=${BBMAPRESSOURCES}/sequencing_artifacts.fa.gz,${BBMAPRESSOURCES}/phix174_ill.ref.fa.gz). Is it commonly found artefacts? Could I use these files or must I create mine? I didn't change k=27, must I change the value due to the poor quality of my reads?
                                - bbmap.sh, for mapping step, I used "vslow k=8 maxindel=200 minratio=0.1" parameters, as described in the online documentation (https://jgi.doe.gov/data-and-tools/b...e/bbmap-guide/). Is it a good idea with distant reference genome and poor quality data?
                                - callvariants.sh, for the variants call step, I let the ploidy=1. I'm working on various plants and I don't really know the ploidy. Must I let this parameter to 1? I'm only looking for SNPs, Is it possible to specify it to the scripts?
                                - Finally, is it really useful to add optional error-correction and recalibration step of my reads, before performing the mapping? Will I lose some important data?

                                I know some questions are trivial, but I'm still reading the manual and the different scripts documentations...

                                Thanks in advance for your help.

                                Denis

                                Comment

                                Latest Articles

                                Collapse

                                • seqadmin
                                  Essential Discoveries and Tools in Epitranscriptomics
                                  by seqadmin


                                  The field of epigenetics has traditionally concentrated more on DNA and how changes like methylation and phosphorylation of histones impact gene expression and regulation. However, our increased understanding of RNA modifications and their importance in cellular processes has led to a rise in epitranscriptomics research. “Epitranscriptomics brings together the concepts of epigenetics and gene expression,” explained Adrien Leger, PhD, Principal Research Scientist on Modified Bases...
                                  Yesterday, 07:01 AM
                                • seqadmin
                                  Current Approaches to Protein Sequencing
                                  by seqadmin


                                  Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
                                  04-04-2024, 04:25 PM

                                ad_right_rmr

                                Collapse

                                News

                                Collapse

                                Topics Statistics Last Post
                                Started by seqadmin, 04-11-2024, 12:08 PM
                                0 responses
                                40 views
                                0 likes
                                Last Post seqadmin  
                                Started by seqadmin, 04-10-2024, 10:19 PM
                                0 responses
                                41 views
                                0 likes
                                Last Post seqadmin  
                                Started by seqadmin, 04-10-2024, 09:21 AM
                                0 responses
                                36 views
                                0 likes
                                Last Post seqadmin  
                                Started by seqadmin, 04-04-2024, 09:00 AM
                                0 responses
                                55 views
                                0 likes
                                Last Post seqadmin  
                                Working...
                                X