Does anyone have a suggested best practice utility for this?
Unconfigured Ad
Collapse
X
-
What are you trying to do?
Do you want to pull out the reads as FASTQ records?
Do you care about the strand used for reads which mapped to the reverse stand?
Do you care about how paired end reads are named?
You could try seqret from EMBOSS 6.3.0,
-
That is no problem. It's also some point that confused me, btw is still confusing me.
The experince I made, ist that the aligned quality values (qv) in the sam files from e.g. bowtie are different from the ones in the original file. I think the values you get after the alignment are the qv from the alignment and not the one from the original file.
Comment
-
Assuming I have understood your aim, that is not entirely possible.Originally posted by dcfargo View PostI do care about recovery of all of the information.
I'd like to essentially recover all the initial text information that went into making the BAM file.
e.g. Support you had some paired FASTQ reads like this:
All that will be stored in SAM/BAM is the pair name without the suffix, here SRR001666.1, the sequence and quality. You lose any description from the FASTQ lines after the ID. Potentially the alignment tool may hard clip the reads so you don't even get the full sequence and quality.Code:@SRR001666.1/1 071112_SLXA-EAS1_s_7:5:1:817:345 length=36 GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC + IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC @SRR001666.1/2 071112_SLXA-EAS1_s_7:5:1:817:345 length=36 AAGTTACCCTTAACAACTTAAGGGTTTTCAAATAGA + IIIIIIIIIIIIIIIIIIIIDIIIIIII>IIIIII/ ...
If on converting SAM/BAM back to FASTQ you specify suffixes of /1 and /2, the best you can hope to recover is:
This may or may not suffice for your needs.Code:@SRR001666.1/1 GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC + IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC @SRR001666.1/2 AAGTTACCCTTAACAACTTAAGGGTTTTCAAATAGA + IIIIIIIIIIIIIIIIIIIIDIIIIIII>IIIIII/ ...
Comment
-
Well you don't have to think that complicated. There are two libraries you can use, and than you have your converter. I e.g. prefer Java and use biojava to read/write FastQ (http://www.biojava.org/wiki/BioJava
ownload_1.7.1) and use samtools (http://sourceforge.net/projects/picard/files/) to read BAM/SAM files (it's the same).
Then you only have to transform from a SAM Object to a FastQBuilder:
public FastqBuilder convert(SAMRecord element2) {
FastqBuilder builder = new FastqBuilder();
builder.withDescription(element2.getReadName());
builder.withQuality(element2.getBaseQualityString());
builder.withSequence(element2.getReadString());
return builder;
}
that's the easiest way.
good luck
Comment
-
Not necessarily.Originally posted by dcfargo View PostThanks so much.
Given some information may be lost and we'll just have to accept that would the best model for conversion be 2 steps such as:
1) SAMtools for BAM -> SAM
2) followed by a home made script for SAM -> FASTQ
As mentioned above, EMBOSS 6.3.x can do SAM/BAM direct to FASTQ, although it may not do exactly what you want it to do.
You could also write a script to go from BAM to FASTQ, for example using pysam to access the samtools C API from Python.
Personally I've been doing with SAM/BAM to FASTQ in Biopython (to recover reads to redo a mapping), but this is with an experimental branch and is not ready for general use.
Comment
-
Plus potentially add code to append /1 and /2 if dealing with paired end data.Originally posted by Martin R View PostWell you don't have to think that complicated. There are two libraries you can use, and than you have your converter. I e.g. prefer Java and use biojava to read/write FastQ (http://www.biojava.org/wiki/BioJava
ownload_1.7.1) and use samtools (http://sourceforge.net/projects/picard/files/) to read BAM/SAM files (it's the same).
Then you only have to transform from a SAM Object to a FastQBuilder:
public FastqBuilder convert(SAMRecord element2) {
FastqBuilder builder = new FastqBuilder();
builder.withDescription(element2.getReadName());
builder.withQuality(element2.getBaseQualityString());
builder.withSequence(element2.getReadString());
return builder;
}
that's the easiest way.
good luck
Also I would reverse complement any reads mapped to the reverse strand to recover them in their original orientation pre-mapping.
Comment
-
Well, EMBOSS 6.3.1 isn't doing what I want it to doOriginally posted by maubp View PostAs mentioned above, EMBOSS 6.3.x can do SAM/BAM direct to FASTQ, although it may not do exactly what you want it to do.
This should be resolved in the next patch or point release though
Peter
Comment
-
For the sake of completeness, I will just mention that you can also achieve this with my Genozip program:
genozip file.bam <---- compresses the BAM file
genocat file.bam.genozip --output file.fq.gz <---- converts it to FASTQ
See documentation here: https://genozip.com/sam2fq.html
Paper here: https://www.researchgate.net/publica...ata_Compressor
Comment
-
Latest Articles
Collapse
-
by SEQadmin2
CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).
Despite this, “CRISPR helped turn genome editing from a specialized technique into...-
Channel: Articles
07-31-2026, 11:01 AM -
ad_right_rmr
Collapse
News
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by SEQadmin2, 08-24-2026, 10:32 AM
|
0 responses
10 views
0 reactions
|
Last Post
by SEQadmin2
08-24-2026, 10:32 AM
|
||
|
Started by SEQadmin2, 08-20-2026, 11:17 AM
|
0 responses
33 views
0 reactions
|
Last Post
by SEQadmin2
08-20-2026, 11:17 AM
|
||
|
Started by SEQadmin2, 08-18-2026, 10:05 AM
|
0 responses
36 views
0 reactions
|
Last Post
by SEQadmin2
08-18-2026, 10:05 AM
|
||
|
Started by SEQadmin2, 08-13-2026, 12:22 PM
|
0 responses
46 views
0 reactions
|
Last Post
by SEQadmin2
08-13-2026, 12:22 PM
|
Comment