亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? genomeimage.java

?? 實現了基因組的顯示功能
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
									send=feature.getLocation().getRangeList().get(0).getEnd();
									if(sstart > positionStart && send < positionEnd)
									{
										drawOperon(g2,sstart,send);
									}
									hasOperon = false;
								}							
							}
						}
						
					/*	if(q.getName() == "pmap")
						{
							
							pmapvalue = q.getValue(); 
							String wuzhongname;
							String pathwayname;
							String genename;
							StringTokenizer stringtokenizer = new StringTokenizer(pmapvalue,":");
							wuzhongname = stringtokenizer.nextToken();
							pathwayname = stringtokenizer.nextToken();
							genename = stringtokenizer.nextToken();
							System.out.print(genename);
							System.out.print(";");
							if(wuzhongname.equals(pathway.getOrganismName())&&pathwayname.equals(pathway.getName()))
							{
								System.out.print(wuzhongname);
								System.out.print(";");
								System.out.print(pathwayname);
								System.out.print(";");
								int x2 = findPoint(pathway,genename);
								System.out.print(x2);
								System.out.print(";");
								g2.setColor(Color.BLACK);
								//g2.drawLine(x1, y1, x2, y2)
								g2.drawLine(x1, 50, x2, 77);
							}
						}*/
						if(q.getName().equals("pmap"))
						{
							Iterator itrrrr = pathway.getNodes().iterator();
							if(itrrrr.hasNext())
							{
								pmapvalue = q.getValue();
								StringTokenizer stringtokenizer = new StringTokenizer(pmapvalue,":");
								stringtokenizer.nextToken();
								//stringtokenizer.nextToken();
								int x2 = findPoint(pathway,stringtokenizer.nextToken());
								//System.out.print(q.getValue());
								//System.out.print(";");
								//System.out.print(x2);
								//System.out.print(";");
								g2.setColor(Color.BLACK);
								//g2.drawLine(x1, y1, x2, y2)
								if((x1>positionStart)&&(x1<=positionEnd))
								{
									g2.drawLine(x1, 50, x2, 120);
								}
							}
						}
					}
				}
			if(hasOperon)
			{
				//drawOperon(g2,sstart,send);
			}
		}
		
		File f = new File(fileName);
		try {
			ImageIO.write(image, "jpg", f);
		} catch (Exception e) {
			System.out.println ("filename" + fileName);
			e.printStackTrace();
		}
		}
		return ratio;
	}
	public int findPoint(Pathway pathway,String genename)
	{
		int p = 0;
		List <PathwayNode> nodes = pathway.getNodes();
		PathwayNode node;
		Iterator itr = nodes.iterator();
		int numberofnode = 0;
		long eachlong = 0;
		while(itr.hasNext())
		{
			numberofnode++;
			itr.next();
		}
		Iterator itrr = nodes.iterator();
		if(numberofnode != 0)
		{
			eachlong = (int)(new Double(maxLength) / new Double(numberofnode));
			for(int i = 0;i<numberofnode;i++)
			{
				node = (PathwayNode)itrr.next();
				if(node.getGeneName().equals(genename))
				{
					p = (int)(i * eachlong + eachlong*3/4);
				}
			}
		}
		return p+20;
	}
	public void drawPathway(Graphics2D g,Pathway pathway,long pStart,long pEnd)
	{
		List <PathwayNode> nodes = pathway.getNodes();
		Iterator itr = nodes.iterator();
		int numberofnode = 0;
		long eachlong = 0;
		while(itr.hasNext())
		{
			numberofnode++;
			itr.next();
		}
		if(numberofnode != 0)
		{
			eachlong = (int)(new Double(pEnd) / new Double(numberofnode));
		}
		//itr = nodes.iterator();
		Font fcb25 = new Font("Courier",Font.BOLD,10);
	    g.setColor(Color.BLACK);
		g.setFont(fcb25);
		g.drawString("PathwayName:"+pathway.getName()+" OrganismName:"+pathway.getOrganismName(), pStart, 160);
		for(int i = 0;i<numberofnode;i++)
		{
			g.setColor(Color.BLACK);
			g.drawLine((int)(pStart+(long)i*eachlong), 125, (int)((pStart+(long)i*eachlong)+new Double(eachlong)/2), 125);
			g.setColor(Color.GREEN);
			g.drawRect((int)((pStart+(long)i*eachlong)+new Double(eachlong)/2), 120, (int)(eachlong/2), 10);
			g.fillRect((int)((pStart+(long)i*eachlong)+new Double(eachlong)/2), 120, (int)(eachlong/2), 10);
			Font fcb24 = new Font("Courier",Font.BOLD,10);
		    g.setColor(Color.BLACK);
			g.setFont(fcb24);
			g.drawString(pathway.getNodes().get(i).getGeneName(),(int)((pStart+(long)i*eachlong)+new Double(eachlong)/2), 140);
		}
		
		//g.drawLine((int)(pStart+20), 52, (int)(pEnd-20), 52);
	}
	public void drawOperon(Graphics2D g,long pStart,long pEnd)
	{
		g.setColor(Color.BLACK);
		g.drawRect((int)(Math.round(ratio*pStart)+20), 35, (int)(Math.abs(Math.round(ratio*pEnd)-Math.round(ratio*pStart)+1)), 20);
	}
	public void putScales (Graphics2D g, int start) {
		int numberOfIntervals = (int)Math.round(new Double(maxLength).doubleValue() / new Double(intervalLength).doubleValue());
		
		int i= 0;
		int y= 20; 
	    
		while (i <= numberOfIntervals) {
			Font fcb24 = new Font("Courier",Font.BOLD,10);
		    g.setFont(fcb24);
			g.drawString(String.valueOf(Math.round((y-20)/ratio)+start),y,10+6*(i-Math.round(i/2)*2));
			g.drawRect(y, 21, 1, 3);
			y += intervalLength;
			i++;
		}
	}
	
	public int drawFeature (Feature f, Graphics2D g, long pStart, long pEnd) {
		Location location = f.getLocation();
		//TODO handle other types of Locations (join etc.), and multiple Ranges
		Range range = location.getRangeList().get(0);
		long s = range.getStart();
		long e = range.getEnd();
		
		int x = 0;
		long numPointY = f.getFrame();
		
		if (numPointY == -1) {
			numPointY = 4;
		}
		else if (numPointY == -2) {
			numPointY = 5;
		}
		else if (numPointY == -3) {
			numPointY = 6;
		}
		
		//int direction;
		
		//if (s<e){
		if (!f.isComplement()) {
			g.setColor(Color.BLUE);
			//numPointY = (s - (int)(s/3)*3)+1;
			//direction = 1;
		}
		else{
			g.setColor(Color.RED);
			//numPointY = (s - (int)(s/3)*3)+4;
			//direction = -1;
		}
		
		// make sure feature is within the current segment
		if (isInside (s, e, pStart, pEnd)) {
			if (s < pStart) {
				//s = 0;
				s = pStart;
			}
			if (pEnd > 0 && e > pEnd) {
				//e = maxLength;
				e=pEnd;
			}
			System.out.print(s);
			System.out.print(";");
			System.out.print(e);
			System.out.print(";");
			long startPoint =Math.round(s*ratio);
			long endPoint = Math.round(e*ratio);
			long length = Math.abs(endPoint - startPoint + 1);
		//	long startPointY = 30*numPointY + 20; // for frames, put this line
			long startPointY = 40;  // no frames, put this line
			startPoint=startPoint-Math.round(pStart*ratio);
			startPoint = startPoint + 20;
			g.drawRect((int)startPoint, (int)startPointY, (int)length, 10);
			g.fillRect((int)startPoint, (int)startPointY, (int)length, 10);
			
			/*Polygon poly2= new Polygon();
			
			poly2.addPoint((int)startPoint,(int)startPointY + 5);
		    poly2.addPoint((int)startPoint + 6*direction,(int)startPointY - 2);
		    poly2.addPoint((int)startPoint + 6*direction,(int)startPointY);
		    poly2.addPoint((int)startPoint + ((int)length-7)*direction,(int)startPointY);
		    poly2.addPoint((int)startPoint + ((int)length-7)*direction,(int)startPointY + 10);
		    poly2.addPoint((int)startPoint + 6*direction,(int)startPointY + 10);
		    poly2.addPoint((int)startPoint + 6*direction,(int)startPointY + 12);
		    
		    g.drawPolygon(poly2);
		    g.fillPolygon(poly2);*/
			
			g.setFont(new Font("Serif", Font.PLAIN, 10));	
			x = (int)(startPoint+length/2);
		}		
		return x;
	}
	
	boolean isInside (long start, long end, long positionStart, long positionEnd) {
		boolean inside = true;
		/*if (positionStart > 0 || positionEnd > 0) {
			if (start < positionStart && end < positionStart) {
				inside = false;
			} else if (positionEnd != -1 && start > positionEnd) {
				inside = false;
			} else if (positionStart != -1 && end < positionStart) {
				inside = false;
			}
		}*/
		
			if (start < positionStart && end < positionStart)
			{inside = false;}
			else if(start>positionEnd && end>positionEnd)
			{inside = false;}
		
		return inside;
	}
	
	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public int getMaxLength() {
		return maxLength;
	}

	public void setMaxLength(int maxLength) {
		this.maxLength = maxLength;
	}

	public int getIntervalLength() {
		return intervalLength;
	}

	public void setIntervalLength(int intervalLength) {
		this.intervalLength = intervalLength;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区啪啪| 国产美女精品一区二区三区| 久久九九久久九九| 91精品国产手机| 欧美日韩国产综合视频在线观看| 91日韩精品一区| 91在线免费视频观看| 色呦呦国产精品| 欧美中文字幕一二三区视频| 欧美羞羞免费网站| 欧美丰满一区二区免费视频| 884aa四虎影成人精品一区| 欧美一区二区三区四区久久| 精品区一区二区| 国产欧美一区二区精品久导航 | 免费欧美日韩国产三级电影| 石原莉奈在线亚洲三区| 美女一区二区三区在线观看| 国产在线国偷精品免费看| 粉嫩久久99精品久久久久久夜 | 亚洲色图在线看| 亚洲精品网站在线观看| 亚洲三级免费观看| 首页欧美精品中文字幕| 国产在线精品一区二区三区不卡| 国产成人午夜精品影院观看视频| 亚洲一本大道在线| 欧美美女黄视频| 毛片av中文字幕一区二区| 久久精品国产久精国产| 国产综合一区二区| 91在线视频网址| 日韩欧美精品三级| 国产精品久久久久久久久久久免费看| 亚洲精品福利视频网站| 久久精品国产免费看久久精品| 国产99久久久国产精品| 欧美日韩国产片| 亚洲国产高清不卡| 日本中文字幕一区二区有限公司| 国产经典欧美精品| 欧美高清dvd| 亚洲欧美成人一区二区三区| 男人的天堂亚洲一区| 色综合久久久久综合体桃花网| 欧美一级国产精品| 亚洲激情图片一区| 国产精品一二三四五| 欧美日韩亚洲综合| 国产精品高潮呻吟| 国产在线视频一区二区| 欧美久久久久久久久中文字幕| 国产精品视频线看| 国精产品一区一区三区mba桃花 | 国产高清在线精品| 69堂成人精品免费视频| 亚洲天堂成人在线观看| 国产精品一二二区| 欧美一区二区网站| 亚洲国产精品精华液网站| 成人爽a毛片一区二区免费| 日韩一区二区三区在线| 亚洲一区二区欧美| 成人动漫av在线| 国产欧美一区二区三区沐欲| 九一久久久久久| 欧美一级日韩一级| 亚洲gay无套男同| 在线看日本不卡| 亚洲欧美在线观看| 成人一区二区视频| 国产日韩欧美精品在线| 国产麻豆成人传媒免费观看| 精品美女一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 欧美一a一片一级一片| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美电影免费观看高清完整版| 欧美精品一区二区蜜臀亚洲| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩国产一区二区三区地区| 亚洲综合999| 欧美三级欧美一级| 日韩在线一区二区| 日韩欧美一卡二卡| 国产一区二区三区av电影| 欧美精品一区二| 国产成人精品影院| 国产精品久久久久久久久果冻传媒| 国产精品伊人色| 国产精品国模大尺度视频| 91视频免费观看| 亚洲成在线观看| 日韩精品一区在线| 成人激情av网| 亚洲一区二区三区四区在线观看| 欧美日本在线观看| 国产一区二区三区四区五区美女 | 国产美女视频91| 国产精品视频看| 在线观看不卡一区| 免费高清视频精品| 国产欧美日产一区| 精品视频免费在线| 国内精品久久久久影院一蜜桃| 国产精品理论在线观看| 在线欧美日韩国产| 久久99久久久久久久久久久| 中文字幕免费一区| 欧美少妇一区二区| 国产高清在线观看免费不卡| 一区二区三区精品在线观看| 欧美一卡二卡在线| 成人开心网精品视频| 午夜电影一区二区三区| 久久精品夜夜夜夜久久| 欧美视频一区二| 成人免费毛片app| 日本欧美在线看| 国产精品成人免费| 精品电影一区二区| 在线免费观看视频一区| 韩国成人福利片在线播放| 一区二区三区日韩欧美| 国产日本欧洲亚洲| 欧美另类久久久品| 日本二三区不卡| 国产美女精品一区二区三区| 亚洲bt欧美bt精品777| 亚洲色欲色欲www在线观看| 亚洲成人免费视| 色综合久久久久综合体桃花网| 久久爱www久久做| 亚洲国产美女搞黄色| 中文字幕在线一区| 久久色视频免费观看| 欧美一级在线视频| 欧美性生交片4| 色94色欧美sute亚洲线路一久 | 精品免费日韩av| 欧美日韩高清一区| 91高清视频在线| 色哟哟在线观看一区二区三区| 国产精品一色哟哟哟| 久久99国产精品尤物| 秋霞午夜av一区二区三区| 亚洲国产sm捆绑调教视频 | 视频一区二区三区在线| 亚洲国产精品综合小说图片区| 亚洲欧美在线另类| 中文字幕字幕中文在线中不卡视频| 久久久久久夜精品精品免费| 欧美成人精品1314www| 日韩亚洲电影在线| 日韩欧美亚洲另类制服综合在线| 在线播放中文字幕一区| 欧美精品第1页| 91精品国产91热久久久做人人 | 99久久精品免费观看| 成人av午夜影院| av午夜一区麻豆| 色菇凉天天综合网| 欧美日韩国产系列| 欧美一激情一区二区三区| 欧美一卡2卡三卡4卡5免费| 亚洲精品一区二区三区在线观看| 日韩女优毛片在线| 久久久久久久久久看片| 国产精品你懂的在线欣赏| 中文字幕不卡的av| 亚洲乱码国产乱码精品精小说| 中文字幕一区二区三区视频| 亚洲色图欧美激情| 首页国产丝袜综合| 国产一区二区三区四| 一本一道久久a久久精品| 欧美四级电影网| 精品国产成人系列| 国产精品免费久久久久| 亚洲国产日韩a在线播放性色| 日韩精品一二三区| 国产大陆a不卡| 欧美在线一二三四区| 精品88久久久久88久久久| 久久亚洲春色中文字幕久久久| 成人福利视频网站| 日韩欧美国产三级电影视频| 国产视频视频一区| 夜色激情一区二区| 国内一区二区视频| 在线观看免费一区| 亚洲国产精品精华液2区45| 亚洲欧美日韩精品久久久久| 日本女人一区二区三区| 国产成人av一区二区三区在线 | 亚洲影院久久精品| 美女mm1313爽爽久久久蜜臀| 99久久国产综合精品色伊| 4438亚洲最大| 亚洲视频一二三区|