gpt4 book ai didi

java - JAVA从文件中提取特定数据

转载 作者:行者123 更新时间:2023-12-01 04:54:04 25 4
gpt4 key购买 nike

>1A3B:H|PDBID|CHAIN|SEQUENCE
IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLLYPPWDKNFTENDLLVRIGKHSRTRYERNIEKISM
LEKIYIHPRYNWRENLDRDIALMKLKKPVAFSDYIHPVCLPDRETAASLLQAGYKGRVTGWGNLKETWTANVGKGQPSVL
QVVNLPIVERPVCKDSTRIRITDNMFCAGYKPDEGKRGDACEGDSGGPFVMKSPFNNRWYQMGIVSWGEGCDRDGKYGFY
THVFRLKKWIQKVIDQFGE
>1A3B:I|PDBID|CHAIN|SEQUENCE
GGQSHNDGDFEEIPEEYL
>1A3B:L|PDBID|CHAIN|SEQUENCE
TFGSGEADCGLRPLFEKKSLEDKTERELLESYIDGR

这是存储在文本文件中的数据。我如何严格提取

之间的数据
  ">1A3B:I|PDBID|CHAIN|SEQUENCE" and ">1A3B:L|PDBID|CHAIN|SEQUENCE", 

仅当

">1A3B:I|PDBID|CHAIN|SEQUENCE" 

是我们已知的。

此外,在这个给定的示例中,虽然要检索的数据只有一行,但它也可以变化到多行。到目前为止,我尝试将文件的全部内容写入字符串变量并使用子字符串,但该逻辑似乎存在缺陷,因为结束索引未知。请帮忙

import java.io.*; public class ReadingChainSpecificFastaSequence {

    public static void main(String[] args) {


File file = new File("1A3B.fasta.txt");
BufferedInputStream bin = null;

try
{

FileInputStream fin = new FileInputStream(file);


bin = new BufferedInputStream(fin);


byte[] contents = new byte[1024];

int bytesRead=0;
String strFileContents=null;

while( (bytesRead = bin.read(contents)) != -1){

strFileContents = new String(contents, 0, bytesRead);

}
// System.out.print(strFileContents);
String search = ">1A3B:I|PDBID|CHAIN|SEQUENCE";
int start = (strFileContents.indexOf(search))+30;
String search2= ">1A3B:L|PDBID|CHAIN|SEQUENCE";
int end= (strFileContents.indexOf(search2));
String result = strFileContents.substring(start,end);

}
catch(FileNotFoundException e)
{
System.out.println("File not found" + e);
}
catch(IOException ioe)
{
System.out.println("Exception while reading the file "+ ioe);
}
finally
{

try{
if(bin != null)
bin.close();
}catch(IOException ioe)
{
System.out.println("Error while closing thestream:"+ioe);
}

}
}
}

最佳答案

您似乎想读取每一行输入并且:

  1. 如果行中存在\,则在此字符上拆分它
  2. 查看分割字符串的第一个元素,并在 : 处将其断开以查找当前标记,将第一部分 (1A3B) 保存到变量中,并将第二部分到另一个变量
  3. 从此“开始”标记,确定您要查找的下一个标记是什么:获取第一部分并将第二部分后面的字母添加到其中(形成 1A3B:L) .
  4. 继续读取输入的每个新行,将这些行存储在某种列表或数组中,直到一行以结束标记 (1A3B:L) 开头。

关于java - JAVA从文件中提取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com