Comments (3)
Currently there is not a plan to provide either copy constructors or copy factory methods, and clone is utilized in many places throughout that ideally would be changed as well if we went the copy constructor/factory route. The clone method there is also shallow, so a full copy method may be a nice (or needed depending on how you are planning to use it) addition.
If these copy methods are needed for SAMRecord and SAMFileHeader they could be added and a pull request made. Looking in existing code, I see clone() and copy() (for deep copy) used all over the place, and the only occurrence I can find of a copy constructor or static factory method is the copy constructor in VariantContextBuilder, so for consistency perhaps implement as a copy constructor rather than static factory method? VariantContextBuilder provides a copy() method that calls the copy constructor FWIW...
from htsjdk.
Can you at least modify the signature so that clone() returns a SAMRecord? (long time ago, return types in java were invariant (had to match superclass) but they can be covariant now (can be subtypes of what the superclass says))
from htsjdk.
also the signature says throws CloneNotSupportedException
which I think can never happen so put undue burden on the caller. I have to both type cast and handle the exception (that is never thrown so the current code in htsjdk makes me write dead code)
from htsjdk.
Related Issues (20)
- Nashorn engine removed from OpenJDK 17 causes htsjdk to throw exceptions HOT 2
- Question: how to code a GTFCodec beside of the existing GFF3Codec HOT 1
- LittleEndianInputStream EOF test is incorrect HOT 9
- EdgeReadIterator (used in Picard's CollectWgsMetrics) doesn't handle intervals correctly HOT 2
- IntervalTree.Node's methods have package visibility only HOT 1
- What is the non-deprecated replacement for acceptableAlleleBases? HOT 4
- Our FastaSequenceIndex too large to fit in memory HOT 4
- The last-but-one argument of test testQueryAlignmentStart in HtsCRAMCodec30And21QueryTest.java is long HOT 1
- CRAM files have zero-length blocks with a compression method associated with them (so cannot be decompressed). HOT 1
- VCF sorting change breaks existing VCFs HOT 1
- Race conditions accessing CRAM's reference data through ReferenceSource
- Add a better error message when the reference is too long for indexing HOT 5
- Question: Tabix index to find min(POS) and max(POS) in each contig
- Histogram class uses unsafe methods for returning min/max
- CRAM: 8-Bin Base Quality Compression HOT 1
- SamReader slower than expected on network drive HOT 1
- Escaped doublequotes in INFO descriptions result in invalid VCF file HOT 2
- Question: How to generate FAI files and TBI files HOT 5
- SamReaderFactory should use current defaults when makeDefault() is called
- Error when reading a VCF 4.3 file with spaces in INFO field values HOT 1
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 htsjdk.