Module: Minimap2::Native
- Defined in:
- ext/ruby_minimap2/ruby_minimap2.c
Defined Under Namespace
Classes: FastxReader
Class Method Summary collapse
- .execute(*args) ⇒ Object
- .resource_counts ⇒ Object
- .revcomp(sequence) ⇒ Object
- .verbose ⇒ Object
- .verbose=(value) ⇒ Object
Class Method Details
.execute(*args) ⇒ Object
1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 |
# File 'ext/ruby_minimap2/ruby_minimap2.c', line 1056
static VALUE native_execute(int argc, VALUE *argv, VALUE module)
{
execute_job_t job;
VALUE result;
int i;
(void)module;
job.argc = argc + 1;
job.allocated = 0;
job.argv = ALLOC_N(char *, (size_t)job.argc + 1);
job.argv[0] = strdup("minimap2");
if (!job.argv[0]) {
xfree(job.argv);
rb_memerror();
}
job.allocated = 1;
for (i = 0; i < argc; ++i) {
VALUE string = rb_obj_as_string(argv[i]);
job.argv[i + 1] = strdup(StringValueCStr(string));
if (!job.argv[i + 1]) {
native_execute_cleanup((VALUE)(uintptr_t)&job);
rb_memerror();
}
++job.allocated;
}
job.argv[job.argc] = NULL;
result = rb_ensure(native_execute_synchronized, (VALUE)(uintptr_t)&job,
native_execute_cleanup, (VALUE)(uintptr_t)&job);
return result;
}
|
.resource_counts ⇒ Object
1087 1088 1089 1090 1091 1092 1093 1094 1095 |
# File 'ext/ruby_minimap2/ruby_minimap2.c', line 1087
static VALUE native_resource_counts(VALUE module)
{
VALUE result = rb_hash_new();
(void)module;
rb_hash_aset(result, ID2SYM(rb_intern("indexes")), SIZET2NUM(live_indexes));
rb_hash_aset(result, ID2SYM(rb_intern("fastx_readers")), SIZET2NUM(live_fastx_readers));
rb_hash_aset(result, ID2SYM(rb_intern("pair_buffers")), SIZET2NUM(live_pair_buffers));
return result;
}
|
.revcomp(sequence) ⇒ Object
989 990 991 992 993 994 995 996 997 998 999 |
# File 'ext/ruby_minimap2/ruby_minimap2.c', line 989
static VALUE native_revcomp(VALUE module, VALUE sequence)
{
VALUE input = StringValue(sequence);
long length = RSTRING_LEN(input), i;
VALUE output = rb_str_new(NULL, length);
const unsigned char *source = (const unsigned char *)RSTRING_PTR(input);
char *target = RSTRING_PTR(output);
(void)module;
for (i = 0; i < length; ++i) target[length - i - 1] = (char)seq_comp_table[source[i]];
return output;
}
|
.verbose ⇒ Object
1001 1002 1003 1004 1005 |
# File 'ext/ruby_minimap2/ruby_minimap2.c', line 1001
static VALUE native_verbose(VALUE module)
{
(void)module;
return INT2NUM(mm_verbose);
}
|
.verbose=(value) ⇒ Object
1007 1008 1009 1010 1011 1012 |
# File 'ext/ruby_minimap2/ruby_minimap2.c', line 1007
static VALUE native_set_verbose(VALUE module, VALUE value)
{
(void)module;
mm_verbose = NUM2INT(value);
return value;
}
|