⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sequence.java

📁 emboss的linux版本的源代码
💻 JAVA
字号:
/***************************************************************** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.**  @author: Copyright (C) Tim Carver****************************************************************/package org.emboss.jemboss.editor;/**** Sequence object**/public class Sequence {  /** sequence name        */  private String name;   /** sequence as a string */    protected String seq;  /** sequence length      */  protected int length;  /** sequence weight      */  private float wt;  /** sequence id 	   */  private String id;  /** sequence type	   */  private boolean protein;  /**  *  * @param name		sequence name  * @param seq		sequence string  * @param length	sequence length  * @param weight	sequence weight  *  */  public Sequence(String name, String seq, int length,                  float wt)  {    this.name = name;    this.seq = seq;    this.length = length;    this.wt = wt;    int index = name.indexOf(" ");    if(index>0)      id = name.substring(0,index);    else      id = name;  }  /**  *  * @param name         sequence name  * @param seq          sequence string  * @param length       sequence length  *  */  public Sequence(String name, String seq, int length)  {    this(name,seq,length,1.0f);  }  /**  *  * @param name         sequence name  * @param seq          sequence string  *  */  public Sequence(String name, String seq)  {    this(name,seq,seq.length());  }  /**  *  * @param seq          sequence string  *  */  public Sequence(String seq)  {    this(new String(""),seq);  }  /**  *  * @param seq          sequence string  * @param weight       sequence weight  *  */  public Sequence(String seq, float wt)  {    this(new String(""),seq,seq.length(),wt);  }  /**  *  * Get the sequence name  * @return 	sequence name  *  */  public String getName()  {    return name;  }  /**  *  * Get the sequence id  * @return     sequence id  *  */  public String getID()  {    return id;  }  /**  *  * Get the sequence   * @return     sequence   *  */  public String getSequence()  {    return seq;  }  /**  *  * Get the residue at a position  * @return     sequence  *  */  public String getResidueAt(int p)  {    return seq.substring(p,p+1);  }  /**  *  * Get the sequence length  * @return     sequence length  *  */  public int getLength()  {    return length;  }  /**  *  * Get the sequence weight  * @return     sequence weight  *  */  public float getWeight()  {    return wt;  }  /**  *  * Get a residue in the sequence at a given position  * @param pos	sequence position  * @return     residue  *  */  public String getResidue(int pos)  {    return seq.substring(pos,pos+1);  }  /**  *  * Insert a residue into the sequence  * @param s	residue to insert  * @param pos	position to insert into sequence  *  */  public void insertResidue(String s, int pos)  {    seq = seq.substring(0,pos)+s+          seq.substring(pos);    length++;  }  /**  *  * Delete a residue from the sequence  * @param pos  position to delete the residue  *  */  public void deleteResidue(int pos)  {    seq = seq.substring(0,pos)+          seq.substring(pos+1);    length--;  }  /**  *  * Trim a sequence   * @param start	new start position  * @param end		new end position  *  */  public void trim(int start, int end)  {    seq    = seq.substring(start-1,end);    length = end-start+1;  }  /**  *  *  Append to a sequence  *  @param s	sequence to append   *  */  public void appendToSequence(String s)  {    seq = seq+s;    length+=s.length();  }  /**  *  *  Reverse the sequence order  *  */  public void reverseSequence()  {    char tmpChar[] = new char[length];    for(int i = 0; i < length; i++)      tmpChar[i] = seq.charAt(length-i-1);    seq = new String(tmpChar);  }  /**  *  *  Reverse and complement the sequence   *  */  public void reverseComplementSequence()  {    char tmpChar[] = new char[length];    for(int i = 0; i < length; i++)      tmpChar[i] = complement(seq.charAt(length-i-1));        seq = new String(tmpChar);  }    /**  *  * Set the sequence type  *  */  public void setType(boolean protein)  {    this.protein = protein;  }  /**  *  * Set the sequence weight  * @param 	sequence weight  *  */  public void setWeight(float wt)  {    this.wt = wt;  }  /**  *  * Get the sequence type  * @param 	true if protein  *  */  public boolean isProtein()  {    return protein;  }  /**  *  * Complement the sequence  *  */  public void complementSequence()  {    char tmpChar[] = new char[length];    for(int i = 0; i < length; i++)      tmpChar[i] = complement(seq.charAt(i));       seq = new String(tmpChar);  }  /**  *  * Complement a residue   * @param c	residue to complement  * @return 	complement residue (or no change if not cagt)  *  */  private char complement(char c)  {    if(c == 't')      return 'a';    else if(c == 'T')      return 'A';    else if(c == 'a')      return 't';    else if(c == 'A')      return 'T';    else if(c == 'g')      return 'c';    else if(c == 'G')      return 'C';    else if(c == 'c')      return 'g';    else if(c == 'C')      return 'G';    return c;  }  public static void main(String args[])  {    new Sequence("Seq","ACTATACAG",9);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -