搜索
12
返回列表 发新帖
楼主: Jimmy

生信编程直播第9题:根据指定染色体及坐标得到参考碱基

[复制链接]

0

主题

8

帖子

119

积分

注册会员

Rank: 2

积分
119
发表于 2017-6-30 11:01:00 | 显示全部楼层
用楼主给的测试数据,Python写的,亲自测试可以用,感谢楼主和dongye,学到了很多知识
[Ruby] 纯文本查看 复制代码
用楼主给的测试数据,Python写的,亲自测试可以用,感谢楼主和dongye,学到了很多知识
回复 支持 反对

使用道具 举报

0

主题

8

帖子

119

积分

注册会员

Rank: 2

积分
119
发表于 2017-6-30 11:03:24 | 显示全部楼层
下面用Python写的,感谢楼主和dongye,学到很多知识
[Python] 纯文本查看 复制代码
import sys
args=sys.argv



from collections import OrderedDict
baseDict=OrderedDict()#creat a instance
def basefind(args):
	with open(args[1]) as F_in:
		for line in F_in:
			line=line.strip('\n')
			if line.startswith('>'):
				ID=line[1:]
				baseDict[ID]=''
			else:
				baseDict[ID]+=line
	print('please input the chr and base number:\nchr:\nnumber:')
	chrnum=args[2]
	basenum=int(args[3])
	for ID,seq in baseDict.items():
		if ID==chrnum:
			print(baseDict[ID][basenum-1])
if __name__=="__main__":
	basefind(args)
回复 支持 反对

使用道具 举报

0

主题

7

帖子

95

积分

注册会员

Rank: 2

积分
95
发表于 2017-12-11 18:22:11 | 显示全部楼层
旭日早升 发表于 2017-3-20 18:44
201-python-无名
这次作业是提取特定染色体上特定位置的碱基信息,这道题有点类似第二次作业,也是对基因组 ...

你好,咨询一下,我两台电脑安装这个pysam包都会出现图中的报错,帮忙看一下问题出在哪,多谢啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

10

主题

52

帖子

559

积分

版主

Rank: 7Rank: 7Rank: 7

积分
559
QQ
发表于 2018-1-26 12:49:45 | 显示全部楼层
shujingchao 发表于 2017-12-11 18:22
你好,咨询一下,我两台电脑安装这个pysam包都会出现图中的报错,帮忙看一下问题出在哪,多谢啦
...

你这个报错的信息也不太完整,我也不好判断。其实你可以把关键的报错信息在网上搜索一下看看原因。
回复 支持 反对

使用道具 举报

0

主题

7

帖子

95

积分

注册会员

Rank: 2

积分
95
发表于 2018-2-12 13:26:02 | 显示全部楼层
旭日早升 发表于 2018-1-26 12:49
你这个报错的信息也不太完整,我也不好判断。其实你可以把关键的报错信息在网上搜索一下看看原因。 ...

谢谢,之前在windos上会报错,装不上,已经放弃啦,linux成功装上了这个包
回复 支持 反对

使用道具 举报

1

主题

55

帖子

822

积分

高级会员

Rank: 4

积分
822
发表于 2018-7-16 10:36:28 | 显示全部楼层
[Perl] 纯文本查看 复制代码
use strict;
  
  open IN1,"<",$ARGV[0] or die "Can't open file1";
  my $chrom_tab = <$ARGV[1]>;
  #print "$chrom_tab\n";
  my $num = <$ARGV[2]>;
  #print "$num";
  my ($chrom,%hash1);
  while (<IN1>){
                          chomp;
                          if (/^>.*?_(\d)/){
                                   $chrom = $1;
                                   #print "$1\n";
                          }else{
                                          $hash1{$chrom}.=$_; #must start with id
                                          #print "$hash1{$chrom}\n";
                          }        
  }
  my $base1;
  foreach my $chrom1(sort keys %hash1){
                          #print "$chrom1\n";
                          if (exists $hash1{$chrom_tab}){
                                                  #print "$chrom1\n";
                                                  $base1 = substr($hash1{$chrom_tab},$num-1,1);
                                                  #print "$chrom_tab\t$num\t$base1\n";        
                          }else{
                                                  next;
                          }
  }
  print "$chrom_tab\t$num\t$base1";
  
  close IN1;
回复 支持 反对

使用道具 举报

13

主题

44

帖子

522

积分

高级会员

Rank: 4

积分
522
发表于 2018-7-16 13:45:56 | 显示全部楼层
shujingchao 发表于 2017-12-11 18:22
你好,咨询一下,我两台电脑安装这个pysam包都会出现图中的报错,帮忙看一下问题出在哪,多谢啦
...

windows现阶段不支持pysam这个库,所以说只能在linux中使用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-9-16 15:45 , Processed in 0.034249 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.