Comments (7)
I agree the SAM/BAM specification isn't novice-friendly, but maybe it doesn't need to be? It should be a developer centric dry technical document, but supplemented by separate user-facing documentation provided from people using SAM/BAM.
from hts-specs.
That would be acceptable, but you would still ideally want to direct people to those more user-friendly sources of documentation from the main SAM documentation.
Most people will come across the current SAM documentation from a Google search for 'SAM format'.
from hts-specs.
There is space on SEQwiki for user created format information.
On 25 Nov 2014 21:01, "Keith Bradnam" [email protected] wrote:
That would be acceptable, but you would still ideally want to direct
people to those more user-friendly sources of documentation from the main
SAM documentation.Most people will come across the current SAM documentation from a Google
search for 'SAM format'.—
Reply to this email directly or view it on GitHub
#55 (comment).
from hts-specs.
FWIW, I've always found http://broadinstitute.github.io/picard/explain-flags.html a very handy calculator for SAM flags.
from hts-specs.
The incorporation of these binary flags in an otherwise "readable" format let's me mischievously suspect that they were intended as an obstacle in the first place.
from hts-specs.
Bit flag is a succinct way to encapsulate rich information. At the time of the first draft, it was not obvious how to represent multiple info in a readable style without greatly complicating the format. In the lack of an acceptable alternative, we kept the bit flag.
A few years later, I realized that we could use one character for each bit. This was the old samtools view -X
output. In this representation, 99=0x63 becomes pP1R
. It is more readable while maintaining a simple 1-to-1 translation to the bit flag. Nonetheless, the proposal was rejected by the consensus. Most considered this change too late as SAM was fairly mature.
from hts-specs.
Thanks Heng for the comment !
I just found today the, for me, so far best explanation of these flags and some tips on how to deal with them in python and perl scripts here: http://blog.nextgenetics.net/?e=18
I spend a long time searching for this info. For a simple minded biologist a simple letter code has its advantages.
from hts-specs.
Related Issues (20)
- SA tag CIGAR format
- vcf: Handling structured header records with missing IDs in VCF 4.1/4.2 HOT 1
- bcf: First phasing indicators not set in genotype (GT) value examples
- CSI file is BGZF compressed but this is not mentioned in the CSV1 spec HOT 2
- Questions about third-party use of test data HOT 6
- VCF Draft 4.5 and Modified Bases HOT 29
- VCF4.4 SVLEN requirement across different variant representations HOT 6
- refget: v2 spec for Range header errors does not align with typical usage
- vcf: Invalid unstructured header line in VCF 4.3 example `complexfile_passed_000.vcf` HOT 2
- VCF format: correct representation of complex indels and MNPs HOT 5
- Number, type and description on FORMAT not in sync with List of changes
- FORMAT field CICN and its relation to CN field
- BED "chrom" field regex is inconsistent with existing practice HOT 5
- Using ChaCha20-Poly1305 for encryption is NOT FIPS140-3 compliant and not justified and is considered unprotected plaintext HOT 3
- vcf: VCF 4.5 gVCF example has off-by-one errors
- INFO CIPOS Number=2xA
- INFO/END should not be deprecated HOT 14
- MM tag preferred format for TAPS data HOT 1
- 0-based coordinate system error in sam spec? HOT 2
- [Improvement] BAM file format, optional strandedness field in header for RNA-seq HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hts-specs.