Difference between revisions of "BAM Review Action Items"
From Genome Analysis Wiki
Jump to navigationJump to search (Created page with '* Move the examples from the SamFile wiki page to their own page ** include links from the main library page and the SamFile page. ** look into why the one example have two if ch…') |
m (add new name options, spelling corrections) |
||
Line 2: | Line 2: | ||
** include links from the main library page and the SamFile page. | ** include links from the main library page and the SamFile page. | ||
** look into why the one example have two if checks on SamIn status | ** look into why the one example have two if checks on SamIn status | ||
− | * Create 1 library for all of our library code rather than having libcsg, libbam, libfqf | + | * Create 1 library for all of our library code rather than having libcsg, libbam, libfqf separated. |
** What should this library be called? | ** What should this library be called? | ||
*** libdna | *** libdna | ||
*** libdna++ | *** libdna++ | ||
*** libsequence++ | *** libsequence++ | ||
+ | *** libDNA | ||
+ | *** libgenotype | ||
* Add an option by class that says whether or not to abort on failure. (or even an option on each method) | * Add an option by class that says whether or not to abort on failure. (or even an option on each method) | ||
** This allows calling code to set that option and then not have to check for failures since the code it calls would abort on a failure. | ** This allows calling code to set that option and then not have to check for failures since the code it calls would abort on a failure. | ||
Line 14: | Line 16: | ||
** Also have 2 subclasses one that opens for read, one for write: SamReadFile, SamWriteFile? Or SamFileRead, SamFileWrite? | ** Also have 2 subclasses one that opens for read, one for write: SamReadFile, SamWriteFile? Or SamFileRead, SamFileWrite? | ||
* Add a function that says: skipInvalidRecords, validateRecords, etc. | * Add a function that says: skipInvalidRecords, validateRecords, etc. | ||
− | ** That way, ReadRecord will keep reading records until a valid/ | + | ** That way, ReadRecord will keep reading records until a valid/parseable one is found. |
− | *SamFileHeader::setTag - instead of having | + | *SamFileHeader::setTag - instead of having separate ones for PG, RG, etc, have a generic one that takes as a parameter which one it is. |
** KeyID, then Value as parameters....(keyID first, then value) | ** KeyID, then Value as parameters....(keyID first, then value) | ||
* SamFileHEader::setProgramName, etc...have specific methods for setting fields so users don't need to know the specific tags, etc used for certain values in the header. | * SamFileHEader::setProgramName, etc...have specific methods for setting fields so users don't need to know the specific tags, etc used for certain values in the header. |
Revision as of 09:49, 8 June 2010
- Move the examples from the SamFile wiki page to their own page
- include links from the main library page and the SamFile page.
- look into why the one example have two if checks on SamIn status
- Create 1 library for all of our library code rather than having libcsg, libbam, libfqf separated.
- What should this library be called?
- libdna
- libdna++
- libsequence++
- libDNA
- libgenotype
- What should this library be called?
- Add an option by class that says whether or not to abort on failure. (or even an option on each method)
- This allows calling code to set that option and then not have to check for failures since the code it calls would abort on a failure.
- Could/should this be achieved using exceptions? User can decide to catch them or let them terminate the program.
- SamFile add a constructor that takes the filename.
- Also takes a flag to indicate open for read/write.
- Also have 2 subclasses one that opens for read, one for write: SamReadFile, SamWriteFile? Or SamFileRead, SamFileWrite?
- Add a function that says: skipInvalidRecords, validateRecords, etc.
- That way, ReadRecord will keep reading records until a valid/parseable one is found.
- SamFileHeader::setTag - instead of having separate ones for PG, RG, etc, have a generic one that takes as a parameter which one it is.
- KeyID, then Value as parameters....(keyID first, then value)
- SamFileHEader::setProgramName, etc...have specific methods for setting fields so users don't need to know the specific tags, etc used for certain values in the header.
- KeyID, then Value as parameters....(keyID first, then value)
- BAM write utility could add a PG field with default settings (user could specify alternate settings) when it writes a file.
- Future methods to add:
- SamFile::setReadSection(const std::string& refName) - take in the reference name by string since that is what most people will know.
- "" would indicate the ones not associated with a reference.
- SamFile::setReadSection(const std::string& refName) - take in the reference name by string since that is what most people will know.