有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java每次出现“CCTGG”时,我为DNA序列创建的字符串生成器都会停止

我为DNA序列创建的字符串生成器每次在
首次出现“CCTGG”,并将其替换为“CCTGG”。我需要它遍历整个DNA序列,用“|CCTGG”替换每个出现的“CCTGG”,并给出第一个字符的位置

 import java.io.File;

import java.util.Scanner;

/**
* Write a description of class DNA here.
* 
*
*/
public class DNA
{
  public static void main(String[] args)throws Exception {
    long EcoRI = 0;
    long EcoRII = 0;
    long HindIII=0;
    long SmaI=0;
    int line;

    File seq = new File("Sequence.txt");
    Scanner fileReader = new Scanner(seq);
    StringBuilder sequenceC = new StringBuilder();
    String sequenceS;

    while(fileReader.hasNextLine()){
        String lines = fileReader.nextLine();

        String lines1 = lines.replaceAll("\\s+",""); 
        String lines2 = lines1.replaceAll("\\d","");

        String[] sequenceR = lines2.split("\n");

        for(int i = 0; i<sequenceR.length; i++){
            sequenceC.append(sequenceR[i]+"\n");

            if(sequenceR[i].contains("GAATTC")){
                EcoRI +=1;
                String match = "GAATTC";
                int position =  sequenceC.indexOf(match);
                int previous = position;
                sequenceC.replace(position,(position+6), " G|AATTC ");

                System.out.println("A ECORI enzyme restrictor was found "       + (position) +
                "characters in on the DNA sequence");
                System.out.println();

            }


            else if(sequenceR[i].contains("CCTGG")){
                EcoRII +=1;

                String match = "CCTGG";
                int position =  sequenceC.indexOf(match);


                sequenceC.replace(position,(position+5), " |CCTGG ");

                 System.out.println("A ECORII enzyme restrictor was found " + (position-1) +
                " characters in on the DNA sequence");
                System.out.println();

            }


            else if(sequenceR[i].contains("AAGCTT")){
                HindIII +=1;
                String match = "AAGCTT";
                int position =  sequenceC.indexOf(match);
                sequenceC.replace(position,(position+6),  " A|AGCTT ");

                 System.out.println("A cut for HINDIII enzyme restrictor was found " + (position+1) +
                " characters in on the DNA sequence");
                System.out.println();

            }


            else if(sequenceR[i].contains(" CCCGGG ")){
                SmaI+=1;
                String match = "CCCGGG";
                int position =  sequenceC.indexOf(match);
                sequenceC.replace(position,(position+6), "CCC|GGG");

                 System.out.println("A SMAI enzyme restrictor was found " + position +
                " characters in on the DNA sequence");
                System.out.println();
            }

        }
    }




    System.out.println("EcoRI: " + EcoRI);
    System.out.println("EcoRII: " + EcoRII);
    System.out.println("HindIII: " + HindIII);
    System.out.println("SmaI: " + SmaI);
    System.out.println();

    System.out.println(sequenceC);
}
}

共 (0) 个答案