使用Beagle5.4做基因型填充一个窗口下只有一个位点报错的解决方案

java -Xmx50g -jar ./beagle.22Jul22.46e.jar gt=new_test_filter3.vcf out=output2 nthreads=20 1>add2.log 2>selfadd2.err &


Exception in thread "main" java.lang.IllegalArgumentException: Window has only one position: CHROM=chrNW_018085235.1 POS=107897

at vcf.MarkerMap.meanSingleBaseGenDist(MarkerMap.java:98)

at phase.FixedPhaseData.markerMap(FixedPhaseData.java:170)

at phase.FixedPhaseData.<init>(FixedPhaseData.java:117)

at main.Main.phaseAndImpute(Main.java:140)

at main.Main.main(Main.java:110)

解决方案

可以使用Beagle5.1版本来代替5.4版本

版本信息如下: beagle.18May20.d20.jar

下载链接:https://faculty.washington.edu/browning/beagle/bref3.18May20.d20.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用glib编写的面向对象风格的代码示例,其中体现了封装、继承、多态: ```c #include <glib.h> // 基类 Animal typedef struct _Animal { gchar *name; guint age; } Animal; // Animal 方法 void animal_set_name(Animal *animal, gchar *name) { g_free(animal->name); animal->name = g_strdup(name); } void animal_set_age(Animal *animal, guint age) { animal->age = age; } void animal_say_hello(Animal *animal) { g_print("Hello, I'm %s.\n", animal->name); } // 派生类 Dog typedef struct _Dog { Animal parent; gchar *breed; } Dog; // Dog 方法 void dog_set_breed(Dog *dog, gchar *breed) { g_free(dog->breed); dog->breed = g_strdup(breed); } void dog_say_hello(Dog *dog) { g_print("Hello, I'm a %s dog named %s.\n", dog->breed, dog->parent.name); } // Animal 构造函数 Animal *animal_new(gchar *name, guint age) { Animal *animal = g_new(Animal, 1); animal->name = g_strdup(name); animal->age = age; return animal; } // Dog 构造函数 Dog *dog_new(gchar *name, guint age, gchar *breed) { Dog *dog = g_new(Dog, 1); dog->parent.name = g_strdup(name); dog->parent.age = age; dog->breed = g_strdup(breed); return dog; } int main() { Animal *animal = animal_new("Tom", 3); animal_say_hello(animal); Dog *dog = dog_new("Snoopy", 5, "Beagle"); animal_say_hello((Animal *) dog); dog_say_hello(dog); g_free(animal->name); g_free(animal); g_free(dog->parent.name); g_free(dog->breed); g_free(dog); return 0; } ``` 在上面的代码中,Animal 是基类,Dog 是派生类。Animal 包含了 name 和 age 两个成员变量,以及 animal_set_name、animal_set_age 和 animal_say_hello 三个方法。Dog 继承了 Animal,并新增了 breed 成员变量,以及 dog_set_breed 和 dog_say_hello 两个方法。animal_new 和 dog_new 分别是 Animal 和 Dog 的构造函数,用于初始化对象。在 main 函数中,分别创建了一个 Animal 和一个 Dog 对象,并调用了相应的方法。 这个代码示例中体现了封装,Animal 和 Dog 的成员变量和方法都是私有的,外界无法直接访问。同时也体现了继承,Dog 继承了 Animal 的属性和方法。最后,dog_say_hello 方法通过多态的方式覆盖了 animal_say_hello 方法,体现了多态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值